收藏 分享(赏)

飞思卡尔s12单片机-动态数码管显示与键盘模块.ppt

上传人:无敌 文档编号:970808 上传时间:2018-05-10 格式:PPT 页数:22 大小:1.46MB
下载 相关 举报
飞思卡尔s12单片机-动态数码管显示与键盘模块.ppt_第1页
第1页 / 共22页
飞思卡尔s12单片机-动态数码管显示与键盘模块.ppt_第2页
第2页 / 共22页
飞思卡尔s12单片机-动态数码管显示与键盘模块.ppt_第3页
第3页 / 共22页
飞思卡尔s12单片机-动态数码管显示与键盘模块.ppt_第4页
第4页 / 共22页
飞思卡尔s12单片机-动态数码管显示与键盘模块.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、第十四章 数码管的显示与键盘识别,14.1 数码管的显示 14.1.1 7段数码管原理与结构 14.1.2 7段数码管编码 14.1.3 数码管动态扫描 14.1.4 数码管显示硬件设计 14.1.5 数码管显示软件设计14.2 键盘识别 14.2.1 开关与键盘 14.2.2 键盘的消抖问题 14.2.3 键盘的识别功能 14.2.4 键盘的硬件设计 14.2.5 键盘扫描法软件设计 14.2.6 键盘的扫描策略,Page 1,Page 2,第十四章数码管的显示与键盘识别数码管的显示,14.1.1 7段数码管原理与结构把7个细长的LED排成日字型8个LED,使用一个公用端,共阳型:所有LED

2、的阳极连在一起, 共阴型:所有LED的阴极连在一起单独控制每个段的亮灭,可以表示出数字 09使用多个数码管表示数字应用非常广泛多种颜色,多种尺寸,Page 3,第十四章数码管的显示与键盘识别数码管的显示,14.1.2 7段数码管编码,b,c,d,e,f,g,a,共阴型:1 表示点亮 0 表示熄灭共阳型:取反,DP,Page 4,第十四章数码管的显示与键盘识别数码管的显示,14.1.3 数码管动态扫描通过段控制信息确定数码管显示的数字(多位复用)通过位控制信号使得任意时刻只有一位数码管处于显示状态利用视觉暂留现象,定时更改位控制信息和段控制信息,得到稳定的数字显示多个LED同时点亮的电流都经过公

3、共端,MCU的IO无法承受,必须使用三极管为了减小MCU的灌入电流,段控制端都连接了输出驱动器74LS07,段控制,位控制,注:所有引脚都是低电平有效,Page 5,第十四章数码管的显示与键盘识别数码管的显示,14.1.4 数码管显示硬件设计实验板上有4位数码管,共阳极结构,引出12根连线,8根段控制,4根位控制,对应关系如下:实验中可将段控制连接到P口,将位控制连接到T口,连线关系如下:,Page 6,第十四章数码管的显示与键盘识别数码管的显示,14.1.4 数码管显示软件设计显示一位数字:const unsigned char DisplayDecode=0x3f,0x06,0x5b,0x

4、4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /0-9 ABCDEF DDRP|=0XFF; DDRT|=0XFF;/点亮一个数码管,显示2 PTP=DisplayDecode2;PTT=0xfe;LED动态显示时,按人眼的反应,刷新频率得大于80Hz,即所有LED在12ms内必须刷新一次。现有4组LED,即每段显示3ms。这个3ms可以用软件延迟实现,但为提高CPU效率,一般使用定时器。,Page 7,第十四章数码管的显示与键盘识别数码管的显示,示例程序 /unsigned char showdata4; vo

5、id Show() unsigned char DisplayNumber; PTT=0x0f;for(DisplayNumber=0;DisplayNumber4;DisplayNumber+) PTP=DisplayDecodeshowdataDisplayNumber; if(DisplayNumber=2) PTP,Page 8,第十四章数码管的显示与键盘识别数码管的显示,示例程序 /unsigned char showdata4; void delay(unsigned int countert) /3ms unsigned int i,j; for(i=0;icountert;i+

6、) for(j=0;j4000;) j+;,123/1,晶振16M,总线时钟8M,延时为:4000*(1+2+3)/(8*106)s=3ms,LED显示应用实例实验11任务:(1) 在8位数码管上显示班级和学号,之间用小数点分隔。 (2) 在4个数码管上实现“0”字符跑马灯 (3) 编制实验一中的已知年月,求天数的C程序,将天数显示在数码管中间两位上,前后放上分隔符“。 -” 例如: (4) 利用实验一中的已知年月,求天数的汇编程序作子程序,实现混合编程。 (5) 利用DIP开关实现上述功能的菜单,Page 9,第十四章数码管的显示与键盘识别实验11,第十章 单片机片内外模块并行I/O,硬件连

7、线,Page 10,数码管12线连P口和T口,第十四章数码管的显示与键盘识别键盘识别,14.2.1 开关与键盘开关(Switch)开关有两种状态闭合和断开船形开关,拨位开关按键:带有自恢复装置的开关,常开常闭型各种形状,各种尺寸耐高压,轻触式,带指示键盘:由多个按键组合而成为了区分按键,给每个按键安排了一个代码,称键码。编码键盘和非编码键盘前者较复杂,较贵。后者较简单,极便宜。非编码键盘分为独立式键盘和行列式键盘,Page 11,第十四章数码管的显示与键盘识别键盘识别,14.2.2 键盘的消抖问题按键用于产生一个脉冲,1个MCU的IO口可以检查一个按键的状态按下和释放的时刻会有抖动需要设计硬件

8、消抖电路或软件消抖硬件消抖:阻容滤波或双稳态触发器软件消抖:延时等待(12ms),Page 12,void delay(void) unsigned int i,j; for(i=0;i4;i+) for(j=0;j4;if(Input!=0x0F) delay(4); Input=PORTA4; if(Input!=0x0F) Output=0x01; for(i=0;i4; if(Input!=0x0F) switch(Input) case 0x0E: Keynumber=0; break; case 0x0D: Keynumber=1; break; case 0x0B: Keynum

9、ber=2; break; case 0x07: Keynumber=3; break; Keynumber=Keynumber+i*ColumnSize; Keyvalue1=KeyDecodeKeynumber; break; else Output=1; return(Keyvalue1);,第十四章数码管的显示与键盘识别键盘识别,Page 17,5V,Y1(PA0),X1(PA4),Y2(PA1),Y3(PA2),Y4(PA3),X2(PA5),X3(PA6),X4(PA7),0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,第十四章数码管的显示与键盘识别键盘识别,Pag

10、e 18,键值表:const unsigned char KeyDecode= 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x00,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f;,行端口输出,Y1,X1,Y2,Y3,Y4,X2,X3,X4,列端口输入,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,第十四章数码管的显示与键盘识别键盘识别,14.2.6 键盘的扫描策略循环扫描:可行、可靠,占用CPU时间;定时扫描:可能丢失按键动作,需要确定扫描频率,触点接触时间在几十到几百ms量级;键盘中断:发现有任何按键按下时启动

11、键盘扫描,需要设计相应的硬件电路,Page 19,示例程序:void main(void) /* put your own code here */ unsigned char Keyresult; showdata0=1; showdata1=2; showdata2=3; showdata3=4;EnableInterrupts;Init_PORT(); Show(); for(;) Keyresult=KeyScan(); /键盘扫描 if(Keyresult!=0xFF) showdata0=Keyresult; Show(); /显示 ,第十四章数码管的显示与键盘识别键盘识别,14.

12、2.6 键盘的扫描策略循环扫描:可行、可靠,占用CPU时间;定时扫描:可能丢失按键动作,需要确定扫描频率,触点接触时间在几十到几百ms量级;键盘中断:发现有任何按键按下时启动键盘扫描,需要设计相应的硬件电路,Page 20,示例程序:void main(void) /* put your own code here */ unsigned char Keyresult; showdata0=1; showdata1=2; showdata2=3; showdata3=4;EnableInterrupts;Init_PORT(); Show(); for(;) Keyresult=KeyScan(); /键盘扫描 if(Keyresult!=0xFF) showdata0=Keyresult; Show(); /显示 ,键盘应用实例实验10任务:(1) 延续前边的实验,键盘输入年和月,在数码管上显示对应的天数。 (2) 延续前边的实验,从键盘输入班级和学号,并在8位数码管上显示。 (3) 自由发挥,如:组合键:F+1,显示班级;F+2,显示学号反转法识别键盘编制函数y=3*x+4,x由键盘输入,y用数码管显示菜单,Page 21,第十四章数码管的显示与键盘识别键盘识别,第十章 单片机片内外模块并行I/O,硬件连线,Page 22,数码管12线连P口和T口,键盘8线连A口,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报