《第六讲 MCU的键盘与显示接口教学教案》由会员分享,可在线阅读,更多相关《第六讲 MCU的键盘与显示接口教学教案(22页珍藏版)》请在金锄头文库上搜索。
1、2011年春,第六讲 MCU的键盘与显示接口,一、键盘扫描 二、数码管显示 三、实训,2011年春,人机对话,MCU,输入设备,输出设备,键盘,扫描仪,麦克风,摄像头,数码管,LCD,LED点阵,音箱,2011年春,一、键盘扫描,1、键盘的分类 根据识别方式 编码键盘 非编码键盘。,编码键盘: 键盘上闭合键的识别由专用硬件实现。,非编码键盘:键盘上闭合键的识别由软件实现。,例如:计算机的通用键盘,2011年春,2、按键的特性(四脚按键) (1)外形,实验室常见,2011年春,2、按键的特性(四脚按键) (2)对角连通 PCB安装时要注意,2011年春,2、按键的特性(四脚按键) (3)按下瞬间
2、电气特性 机械抖动,抖动时间长短和开关机械特性有关,一般为1-10ms,为了保证CPU对键的闭合作一次仅一次处理,在软件中必须设置去除抖动。,2011年春,3、键盘扫描程序设计,2011年春,在键盘扫描子程序中完成下述几个功能: (1)判断键盘上有无键按下 (2)去键的机械抖动影响 (3)求按下键的键号 (4)键闭合一次仅进行一次键功能操作,2011年春,(1)main函数,void main ( ) /主函数 while(1) P3=0 xFF; if(P3!=0 xFF) delay(5); P3=0 xFF; if(P3!=0 xFF) scan_key( ); ,2011年春,(2)
3、scan_key函数,void scan_key( ) if(RXD=0) model_one( ); if(TXD=0) while(TXD=0);/等待按键释放 model_two( ); ,2011年春,(3) model_one函数,void model_one( ) uchar i,x,y; /定义变量 x=0 x01; /第一个灯赋初值 y=0 xFE; while(1) /大循环 for(i=0;i7;i+) /循环七次 delay(2000); /延时500毫秒 P1=x; /P1端口第一个灯亮 P2=y; x=_crol_(x,1); /左移一位, 第二个灯亮 y=_crol
4、_(y,1); x=0 x01; y=0 xFE; ,2011年春,讨论:单片机对非编码键盘的控制方式,(1)编程扫描方式: 当单片机空闲时,才调用键盘扫描子程序,响应键盘的输入要求。 (2)定时扫描方式: 每隔一定时间对键盘扫描一次。通常利用单片机内的定时器,产生10MS的定时中断,CPU响应定时器溢出中断请求,对键盘扫描。,缺点:对键盘扫描是随机的。,优点:及时响应键入的命令或数据,便于用户对正在执行的程序进行干预。,缺点:不管键盘上有无键闭合,CPU总是定时的关心键盘状态,由于用户可能对正在运行的系统很少甚至不干预,所以大多数情况下都是空扫描。,2011年春,优点: CPU 效率较高。,
5、一般而论:键盘工作方式的选取应该根据实际应用系统中CPU工作的忙、闲情况而定。其原则是既要保证能及时响应按键操作,又不要过多占用CPU 的工作时间。,(3)中断扫描方式 当键盘上有键闭合时产生中断请求,CPU响应中断,执行中断服务程序,判别键号,并作相应的处理。,2011年春,二、数码管显示,1、LED显示器结构 LED显示器是单片机应用系统中常用的输出器件。它是由若干个发光二极管组成的。 原理:当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。,2011年春,7段LED结构图,(a)共阴极 (b)共阳极 (c)管脚配置,共阳极LED显示器的发光二极
6、管的阴极为低电平时,二极管被点亮。 共阴极LED显示器的发光二极管的阳极为高电平时,二极管被点亮。,2011年春,a, b, c, d, e, f被点亮,共阴极段选码(高电平点亮):3FH,Dp g f e d c b a 0 0 1 1 1 1 1 1,共阳极段选码(低点平点亮): C0H,Dp g f e d c b a 1 1 0 0 0 0 0 0,C语言共阴极的段码表: Unsigned char segments7 =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
7、,0 x79,0 x71,0 x00; P2= segments7x或P2= segments7x,2011年春,“米”字段结构及外型图,2011年春,2 LED显示器原理 LED显示器有两种方式: (1)LED静态显示方式 (2)LED动态显示方式,静态显示:显示器显示某一个字符时,相应的 发光二极管恒定的导通或截至。,动态显示:显示器的各位轮流被点亮,对于显示器的每一位来说,每隔一段时间点亮一次。,2011年春,(1)LED静态显示方式,四位静态LED显示器电路,缺点:每一位都需要一个8位输出口控制。当显示器位数比较少时,采用静态显示的方法是合适的。,优点:静态显示时,较小的电流就能得到较高的亮度且字符不闪烁。,2011年春,(2)LED动态显示方式,八位LED动态显示器电路,原理:动态显示利用了LED显示器的余晖和人眼的视觉暂留功能可以达到各位同时显示的效果,但是必须保证扫描的速度足够快,否则字符会闪烁。,显示器的亮度相关的两个因素:1.导通电流;2.点亮时间和间隔时间的比例。,动态显示的位数增多,将会占用大量CPU时间,因此动态显示的实质是以牺牲CPU时间来换取器件的减少。,2011年春,三、实训,1、尝试不同键盘扫描算法; 2、确定不同的延时时间,观察现象。 1、确定显示器类型,共阳或共阴,确定码表。 2、确定延时时间。,