《动态数码管显示与键盘显.ppt》由会员分享,可在线阅读,更多相关《动态数码管显示与键盘显.ppt(12页珍藏版)》请在三一办公上搜索。
1、College of Communication Engineering,Jilin University,第14章 动态数码管显示与键盘识别,College of Communication Engineering,Jilin University,本章提要,14.1 数码管显示 14.1.1 七段数码管原理与结构 14.1.2 七段数码管编码 14.1.3 数码管动态扫描 14.1.4 数码管显示硬件设计 14.1.5 数码管显示软件设计 14.1.6 LED显示应用实例 14.2 键盘识别 14.2.1 开关与键盘 14.2.2 键盘的消抖问题 14.2.3 键盘的识别功能 14.2.4
2、 键盘的硬件设计 14.2.5 键盘扫描法软件设计 14.2.6 键盘的扫描策略 14.2.7 键盘识别应用实例,College of Communication Engineering,Jilin University,本章提要,14.1 数码管显示 14.1.1 七段数码管原理与结构 14.1.2 七段数码管编码 14.1.3 数码管动态扫描 14.1.4 数码管显示硬件设计 14.1.5 数码管显示软件设计 14.1.6 LED显示应用实例 14.2 键盘识别 14.2.1 开关与键盘 14.2.2 键盘的消抖问题 14.2.3 键盘的识别功能 14.2.4 键盘的硬件设计 14.2.5
3、 键盘扫描法软件设计 14.2.6 键盘的扫描策略 14.2.7 键盘识别应用实例,College of Communication Engineering,Jilin University,14.1 数码管显示,14.1.1 七段数码管原理与结构把7个细长的LED排成 字型8个LED,使用一个公用端 共阳型:所有LED的阳极连在一起 共阴型:所有LED的阴极连在一起单独控制每个段的亮灭,可以表示出数字 09使用多个数码管表示数字应用非常广泛多种颜色,多种尺寸,College of Communication Engineering,Jilin University,14.1 数码管显示,14
4、.1.2 七段数码管编码,共阴型:1 表示点亮 0 表示熄灭共阳型:取反,College of Communication Engineering,Jilin University,14.1 数码管显示,14.1.3 数码管动态扫描通过段控制信息确定数码管显示的数字(多位复用)通过位控制信号使得任意时刻只有一位数码管处于显示状态利用视觉暂留现象,定时更改位控制信息和段控制信息,得到稳定的数字显示多个LED同时点亮的电流都经过公共端,MCU的IO无法承受,必须使用三极管为了减小MCU的灌入电流,段控制端都连接了输出驱动器74LS07,College of Communication Engine
5、ering,Jilin University,14.1 数码管显示,14.1.4 数码管显示硬件设计,实验中可将段控制连接到P口,将位控制连接到T口,连线关系如下:,实验板上有4位数码管,共阳极结构,引出12根连线,8根段控制,4根位控制,对应关系如下:,College of Communication Engineering,Jilin University,14.1 数码管显示,14.1.5 数码管显示软件设计,LED动态显示:按人眼的反应,刷新频率得大于80Hz,即所有LED在12ms内必须刷新一次。现有4组LED,即每段显示3ms。这个3ms可以用软件延迟实现,但为提高CPU效率,一般
6、使用定时器。,显示一位数字:const unsigned char DisplayDecode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/0-9 ABCDEF DDRP|=0 xFF;DDRT|=0 xFF;/点亮一个数码管,显示2 PTP=DisplayDecode2;PTT=0 xFE;,College of Communication Engineering,Jilin University,14.1 数码管显示,14.1.5 数码管显示
7、软件设计,示例程序/unsigned char showdata4;void Show()unsigned char DisplayNumber;PTT=0 x0f;for(DisplayNumber=0;DisplayNumber4;DisplayNumber+)PTP=DisplayDecodeshowdataDisplayNumber;if(DisplayNumber=2)PTP,College of Communication Engineering,Jilin University,14.1 数码管显示,14.1.5 数码管显示软件设计,示例程序void delay(unsigned
8、 int countert)/3ms unsigned int i,j;for(i=0;icountert;i+)for(j=0;j4000;)j+;,123/1,晶振16M,总线时钟8M,延时为:4000*(1+2+3)/(8*106)s=3ms,College of Communication Engineering,Jilin University,14.1 数码管显示,14.1.6 LED显示应用实例(实验11)任务:(1)在8位数码管上显示班级和学号,之间用小数点分隔(2)在4个数码管上实现“0”字符跑马灯(3)编制实验1中的已知年月,求天数的C程序,将天数显示在数码管中间两位上,前后放上分隔符“-”例如:(4)利用实验1中的已知年月,求天数的汇编程序作子程序,实现混合编程。(5)利用DIP开关实现上述功能的菜单(中断控制),College of Communication Engineering,Jilin University,14.3 显示与键盘应用实例,14.1.6 LED显示应用实例(实验11)硬件连线:,数码管12线连P口和T口,