当前位置: 首页 > news >正文

建设网站英文网站开发的基本条件

建设网站英文,网站开发的基本条件,app是网站吗,注册城乡规划师报名时间目录 一:动态数码管模块 1:介绍 2:共阴极和共阳极 A:共阴极 B:共阳极 C:转化表 3:74HC138译码器 4:74HC138译码器控制动态数码管 5:数码管显示完整代码 二:矩阵按键模块 1:介绍 2:原理图 3:矩阵按键代码 一:动态数码管模块 1:介绍 LED数码管:数码管是一种…

目录

一:动态数码管模块

1:介绍

 2:共阴极和共阳极

A:共阴极

B:共阳极

C:转化表

 3:74HC138译码器

4:74HC138译码器控制动态数码管

5:数码管显示完整代码

二:矩阵按键模块

1:介绍

2:原理图

 3:矩阵按键代码


一:动态数码管模块

1:介绍

        LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件;

        我们的51单片机的1个数码管就相当于由8个发光二极管封装在一起, 所以我们只需要控制8个发光二极管封就可以实现数码管的显示,这款单片机是共阴极连接

        数码管扫描(输出扫描)     原理:显示第1位→显示第2位→显示第3位→……,然后快速循环这个过程,最终实现所有数码管同时显示的效果,节省I/O口

 2:共阴极和共阳极

我们这款单片机是共阴极所以我们主要介绍共阳极连接

A:共阴极

1.LED共阴极是指LED灯中的二极管的阴极有一个共同的接点,并且该接点连接在GND端,即处于低电平状态。      我们只需要给它一个高电频(1)就可以点亮他

 从高位到低位读取

eg:让第一个数码管显示0

数码管段码表对应的0,1,2,3,4,5,6,7,8,9

unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

B:共阳极

        LED共阳极是指LED灯中的二极管的阳极有一个共同的接点,并且该接点连接在VCC端,即处于高电平状态。  我们只需要给它一个低电频(0)就可以点亮他

 

    数码管段码表对应的0,1,2,3,4,5,6,7,8,9

unsigned char LED7Code[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82,0xf8, 0x80, 0x90};

C:转化表

 3:74HC138译码器

        概述 D74HC138D 是一种三通道输入、八通道输出译码器,主要应用于消费类电子产品

        3个io口控制8位,因为单片机上面的资源有限

 

 

 通过A0~A2数据的输入来控制Y0~Y7数据的输出;实现 3个io口控制8位,

4:74HC138译码器控制动态数码管

 eg:点亮LED8

        EDL1对应的是Y7的输出端口,所以只需要控制A,B,C输出Y7即可

        从高位到低位读和写;   (只需要将二进制转化位10进制的7即可)

P2_4=1;P2_3=1;P2_2=1;//二进制111转化十机制为:7,输出Y7;当用户选择1时点亮LED8

5:数码管显示完整代码

#include <REGX52.H>
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//延时函数的声明
void Delay(unsigned int xms);
/*** @brief  数码管的选择和读取* @param  Location:选择那一个数码管; Number:选择显示那个数字(0~9)* @retval 无*/
void Nixie(unsigned char Location,Number)
{switch (Location)  {case 1:P2_4=1;P2_3=1;P2_2=1;break;//二进制111转化十机制为:7,当用户选择1时点亮LED8case 2:P2_4=1;P2_3=1;P2_2=0;break;//二进制110转化十机制为:6,当用户选择2时点亮LED7case 3:P2_4=1;P2_3=0;P2_2=1;break;//二进制101转化十机制为:5,当用户选择3时点亮LED6case 4:P2_4=1;P2_3=0;P2_2=0;break;//二进制100转化十机制为:4,当用户选择4时点亮LED5case 5:P2_4=0;P2_3=1;P2_2=1;break;//二进制11(高位补零)转化十机制为:3,当用户选择5时点亮LED4case 6:P2_4=0;P2_3=1;P2_2=0;break;//二进制10(高位补零)转化十机制为:2,当用户选择6时点亮LED3case 7:P2_4=0;P2_3=0;P2_2=1;break;//二进制1(高位补零)转化十机制为:1,当用户选择7时点亮LED2case 8:P2_4=0;P2_3=0;P2_2=0;break;//二进制0(高位补零)转化十机制为:0,当用户选择3时点亮LED1 }  P0=NixieTable[Number];	//段码输出Delay(1);				//显示一段时间P0=0x00;				//段码清0,消影  
}void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}
void main()
{while(1){Nixie(1,1);		//在数码管的第1位置显示1Delay(20);Nixie(2,2);		//在数码管的第2位置显示2Delay(20);Nixie(3,3);		//在数码管的第3位置显示3Delay(20);}
}

二:矩阵按键模块

1:介绍

        矩阵键盘扫描(输入扫描)     原理:读取第1行(列)→读取第2行(列) →读取第3行(列) → ……,然后快速循环这个过程,最终实现所有按键同时检测的效果,节省I/O口

2:原理图

 按下为0;我们使用列扫描,

eg:按下1,5,9,13

1:使他P1端口全部为1

2:1,5,9,13为一列,他们的共同端口为P1^3,显示共同端口为P1^3为0;

3:依次使P1_7,  P1_6,  P1_5, P1_4为0,

 3:矩阵按键代码

#include <REGX52.H>//声明
void Delay(unsigned int xms)
/*** @brief  矩阵键盘读取按键键码* @param  无* @retval KeyNumber 按下按键的键码值如果按键按下不放,程序会停留在此函数,松手的一瞬间,返回按键键码,没有按键按下时,返回0*/
unsigned char MatrixKey()
{unsigned char KeyNumber=0;P1=0xFF;P1_3=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=1;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=5;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=9;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=13;}P1=0xFF;P1_2=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=2;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=6;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=10;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=14;}P1=0xFF;P1_1=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=3;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=7;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=11;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=15;}P1=0xFF;P1_0=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=4;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=8;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=12;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=16;}return KeyNumber;
}
void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}

http://www.yayakq.cn/news/882266/

相关文章:

  • php与mysql网站开发...邯郸网站设计报价
  • pc网站建设哪个好什么网站程序好
  • dedecms 音乐网站模板wordpress 侧边栏样式
  • 使用pycharm网站开发wordpress配置邮件服务器
  • 毕业设计网站做几个页面怎么做企业营销型网站
  • 网站本地建设教程南京软件开发公司有哪些
  • 做红木家具推广哪个网站比较好wordpress开启ssl变慢
  • 购买网站模版可以自己做吗贵州新农村建设专业网站
  • 深圳住房和建设局网站官网打不开合肥网站搭建
  • 电子商务网站建设体会与收获校友网站建设方案
  • 建设银行温州支行官方网站绵阳做手机网站
  • 用dw怎么做用户登录页面的网站素材网下载
  • 免费室内设计素材网站wordpress站点迁移
  • 浙江网站建设网北京网站开开发公司电话
  • 深圳市坪山新区建设局网站如何让网站免费
  • 网站虚拟空间过期sem工具是什么
  • 国内有哪些响应式网站网站开发找哪个
  • 广州网站seo地址wordpress雄欲
  • 棋牌室的网站怎么做网站搭建免费
  • 西安公司网站开发上海徐汇做网站
  • 中国风网站欣赏备案关闭网站
  • 排名优化工具宁波网站搜索优化
  • 创建自己的免费网站网站导航栏一般有什么内容
  • dede网站地图位置我想做一个网站
  • 网站设计优缺点wordpress 用户组
  • 英孚做网络作业的网站网站和网店的区别
  • 专业门户网站的规划与建设石家庄网站设计工作室
  • 镇江网站制作哪家便宜服务器租用哪家好而且便宜
  • 简单静态网站模板抖音搜索推广首选帝搜软件平台
  • 建设班级网站过程泰州做网站哪家好