《动态数码管显示与键盘显.ppt》由会员分享,可在线阅读,更多相关《动态数码管显示与键盘显.ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理与应用单片机原理与应用 第第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 开关与键盘开
2、关与键盘 14.2.2 键盘的消抖问题键盘的消抖问题 14.2.3 键盘的识别功能键盘的识别功能 14.2.4 键盘的硬件设计键盘的硬件设计 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 数
3、码管显示硬件设计数码管显示硬件设计 14.1.5 数码管显示软件设计数码管显示软件设计 14.1.6 LED显示应用实例显示应用实例 14.2 键盘识别键盘识别 14.2.1 开关与键盘开关与键盘 14.2.2 键盘的消抖问题键盘的消抖问题 14.2.3 键盘的识别功能键盘的识别功能 14.2.4 键盘的硬件设计键盘的硬件设计 14.2.5 键盘扫描法软件设计键盘扫描法软件设计 14.2.6 键盘的扫描策略键盘的扫描策略 14.2.7 键盘识别应用实例键盘识别应用实例College of Communication Engineering,Jilin University14.1 数码管显示数
4、码管显示14.1.1 七段数码管原理与结构七段数码管原理与结构把把7个细长的个细长的LED排成排成 字型字型8个个LED,使用一个公用端,使用一个公用端 共阳型:所有共阳型:所有LED的阳极连在一起的阳极连在一起 共阴型:所有共阴型:所有LED的阴极连在一起的阴极连在一起单独控制每个段的亮灭,可以表示出数字单独控制每个段的亮灭,可以表示出数字 09使用多个数码管表示数字使用多个数码管表示数字应用非常广泛应用非常广泛多种颜色,多种尺寸多种颜色,多种尺寸College of Communication Engineering,Jilin University14.1 数码管显示数码管显示14.1.
5、2 七段数码管编码七段数码管编码共阴型:共阴型:1 表示点亮表示点亮 0 表示熄灭表示熄灭共阳型:取反共阳型:取反Ngfedcba01111113F111062111115B3111114F41111665111116D61111117D711107811111117F91111116FbcdefgaDPCollege of Communication Engineering,Jilin University14.1 数码管显示数码管显示14.1.3 数码管动态扫描数码管动态扫描通过段控制信息确定数码管显通过段控制信息确定数码管显示的数字(多位复用)示的数字(多位复用)通过位控制信号使得任意时
6、刻通过位控制信号使得任意时刻只有一位数码管处于显示状态只有一位数码管处于显示状态利用视觉暂留现象,定时更改利用视觉暂留现象,定时更改位控制信息和段控制信息,得位控制信息和段控制信息,得到稳定的数字显示到稳定的数字显示多个多个LED同时点亮的电流都经同时点亮的电流都经过公共端,过公共端,MCU的的IO无法承受,无法承受,必须使用三极管必须使用三极管为了减小为了减小MCU的灌入电流,段的灌入电流,段控制端都连接了输出驱动器控制端都连接了输出驱动器74LS07段控制段控制位控制 注:共阳极,所有引脚低电平有效注:共阳极,所有引脚低电平有效College of Communication Engine
7、ering,Jilin University14.1 数码管显示数码管显示14.1.4 数码管显示硬件设计数码管显示硬件设计12 1110987654321C4 afC3 C2 bC1 gcdpde121110987654321T3 P0 P5 T2 T1 P1 T0 P6 P2 P7 P3 P4实验中可将段控制连接到实验中可将段控制连接到P口,将位控制连接到口,将位控制连接到T口,连线关系如下:口,连线关系如下:实验板上有实验板上有4位数码管,共阳极结构,引出位数码管,共阳极结构,引出12根连线,根连线,8根段控制,根段控制,4根位控制,对应关系如下:根位控制,对应关系如下:College
8、of Communication Engineering,Jilin University14.1 数码管显示数码管显示14.1.5 数码管显示软件设计数码管显示软件设计LED动态显示:动态显示:按人眼的反应,刷新频率得大于按人眼的反应,刷新频率得大于80Hz,即所有,即所有LED在在12ms内必须刷新内必须刷新一次。现有一次。现有4组组LED,即每段显示,即每段显示3ms。这个。这个3ms可以用软件延迟实现,可以用软件延迟实现,但为提高但为提高CPU效率,一般使用定时器。效率,一般使用定时器。显示一位数字:显示一位数字:const unsigned char DisplayDecode=0
9、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 University14.1 数码管显示数码管显示14.1.5 数码管显示软件设计数码管显示软件设计示例程序示例程序 /unsigned char s
10、howdata4;void Show()unsigned char DisplayNumber;PTT=0 x0f;for(DisplayNumber=0;DisplayNumber4;DisplayNumber+)PTP=DisplayDecodeshowdataDisplayNumber;if(DisplayNumber=2)PTP&=0 x7f;switch(DisplayNumber)case 0:PTT=0 xfe;break;case 1:PTT=0 xfd;break;case 2:PTT=0 xfb;break;default:PTT=0 xf7;break;delay(1);
11、College of Communication Engineering,Jilin University14.1 数码管显示数码管显示14.1.5 数码管显示软件设计数码管显示软件设计示例程序示例程序void delay(unsigned int countert)/3ms unsigned int i,j;for(i=0;icountert;i+)for(j=0;j4000;)j+;1 12 23/13/1晶振晶振16M,总线时钟,总线时钟8M,延时为:,延时为:4000*(1+2+3)/(8*106)s=3msCollege of Communication Engineering,Ji
12、lin University14.1 数码管显示数码管显示14.1.6 LED显示应用实例(实验显示应用实例(实验11)任务:任务:(1)在在8位数码管上显示班级和学号,之间用小数点分隔位数码管上显示班级和学号,之间用小数点分隔(2)在在4个数码管上实现个数码管上实现“0”字符跑马灯字符跑马灯(3)编制实验编制实验1中的已知年月,求天数的中的已知年月,求天数的C程序,将天数显示在程序,将天数显示在数码管中间两位上,前后放上分隔符数码管中间两位上,前后放上分隔符“-”例如例如:(4)利用实验利用实验1中的已知年月,求天数的汇编程序作子程序,实中的已知年月,求天数的汇编程序作子程序,实现混合编程。现混合编程。(5)利用利用DIP开关实现上述功能的菜单(中断控制)开关实现上述功能的菜单(中断控制)College of Communication Engineering,Jilin University14.3 显示与键盘应用实例显示与键盘应用实例14.1.6 LED显示应用实例(实验显示应用实例(实验11)硬件连线:硬件连线:数码管12线连P口和T口College of Communication Engineering,Jilin University