9hong-实验0+-动态数码管显示与键盘课件.ppt
文本预览下载声明
第十四章 数码管的显示与键盘识别 1694年,德国数学家Gottfried Wilhemvon Leibniz(1646-1716)改进了Pascaline,使之可以计算乘法。 1854年,George Boole 出版 An Investigation of the Laws of Thought”,是讲述符号及逻辑理由,它后来成为计算机设计的基本概念 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 * Page * 第十四章数码管的显示与键盘识别—数码管的显示 14.1.1 7段数码管原理与结构 把7个细长的LED排成‘日’字型 8个LED,使用一个公用端,共阳型:所有LED的阳极连在一起, 共阴型:所有LED的阴极连在一起 单独控制每个段的亮灭,可以表示出数字 0~9 使用多个数码管表示数字 应用非常广泛 多种颜色,多种尺寸 Page * 第十四章数码管的显示与键盘识别—数码管的显示 14.1.2 7段数码管编码 b c d e f g a 1 1 1 1 1 1 1 1 a 6F 7F 07 7D 6D 66 4F 5B 06 3F 1 1 1 1 1 1 1 g 1 1 1 1 1 1 f 1 1 1 1 1 1 1 d 1 1 1 1 1 1 1 1 1 c 1 1 1 1 1 1 1 1 b e N 9 1 8 7 1 6 5 4 3 1 2 1 1 0 共阴型:1 – 表示点亮 0 – 表示熄灭 共阳型:取反 DP Page * 第十四章数码管的显示与键盘识别—数码管的显示 14.1.3 数码管动态扫描 通过段控制信息确定数码管显示的数字(多位复用) 通过位控制信号使得任意时刻只有一位数码管处于显示状态 利用视觉暂留现象,定时更改位控制信息和段控制信息,得到稳定的数字显示 多个LED同时点亮的电流都经过公共端,MCU的IO无法承受,必须使用三极管 为了减小MCU的灌入电流,段控制端都连接了输出驱动器74LS07 段控制 位控制 注:所有引脚都是低电平有效 Page * 第十四章数码管的显示与键盘识别—数码管的显示 14.1.4 数码管显示硬件设计 实验板上有4位数码管,共阳极结构,引出12根连线,8根段控制,4根位控制,对应关系如下: 实验中可将段控制连接到P口,将位控制连接到T口,连线关系如下: dp 3 g 5 b 7 C3 9 a 11 e d c C1 C2 f C4 1 2 4 6 8 10 12 P7 3 P6 5 P1 7 T2 9 P0 11 P4 P3 P2 T0 T1 P5 T3 1 2 4 6 8 10 12 Page * 第十四章数码管的显示与键盘识别—数码管的显示 14.1.4 数码管显示软件设计 显示一位数字: const unsigned char DisplayDecode[]={~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,~0x6f,~0x77,~0x7c,~0x39,~0x5e,~0x79,~0x71}; //0-9 ABCDEF DDRP|=0XFF; DDRT|=0XFF; //点亮一个数码管,显示2 PTP=DisplayDecode[2]; PTT=0xfe; LED动态显示时,按人眼的反应,刷新频率得大于80Hz,即所有LED在12ms内必须刷新一次。现有4组LED,即每段显示3ms。这个3ms可以用软件延迟实现,但为提高CPU效率,一般使用定时器。 Page * 第十四章数码管的显示与键盘识别—数码管的显示 示例程序 //unsigned char showdata[4];
显示全部