单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计

上传人:aa****6 文档编号:57188129 上传时间:2018-10-19 格式:PPT 页数:62 大小:1.89MB
返回 下载 相关 举报
单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计_第1页
第1页 / 共62页
单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计_第2页
第2页 / 共62页
单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计_第3页
第3页 / 共62页
单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计_第4页
第4页 / 共62页
单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计》由会员分享,可在线阅读,更多相关《单片机原理及应用ppt教学课件第9章mcs51与键盘显示器拨盘打印机的接口设计(62页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用,第9章 MCS-51与键盘、 显示器的接口设计,光华学院 信息工程系 王 超,PC机除了主机以外还需要哪些部分呢?,单片机电路有时候也需要键盘、显示等外设。,9.1 键盘接口,按键的特点及输入原理 独立式按键 矩阵式按键,按键的特点及输入原理,按键的分类:触点式:机械;无触点式:电气 键输入原理:通过按键的接通与断开,产生两种相反的逻辑状态低电平“0”与高电平“1”。 键功能的实现:对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器A,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关

2、输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。,键盘接口需要解决的问题,是否有键按下,按键识别:,键抖动及消除:,机械按键抖动时间在5ms10ms之间,硬件方案双稳态去抖电路 软件方案延时10ms20ms后再次判断,消除方法:,求键号,独立式按键,接口电路:,特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。,例1:用P1口检测三个按键的状态并完成相应的功能,解:,资源分配: 用P1口的低3位检测3个按键的输入,为1则表示按键没有按下,为0则表示相应按键被按下。,流程图:,ORG 0000H KB: MOV P1,#0FFH ;想从P

3、1口取数时要先;将初始值FF装入P1,再准备去取数!MOV A,P1 ;读出P1口内容到A中CPL A ;将A取反ANL A,#07H ;将A的内容与07相与JZ KB ;判断A是否是0,是0无键按下 ;跳转到KBLCALL D10MS ;由按键按下延时10msMOV A,P1 ;读出P1口内容到A中CPL A ;将A取反ANL A,#07H ;将A的内容与07相与JZ KB ;判断A是否是0,是0无键按下 ;跳转到KBCJNE A,#01H,KB01;是1按键按下吗?;不是跳转到KB01LCALL PGM1 ;是,则调用PGM1SJMP KB ;返回KB KB01:CJNE A,#02H,K

4、B02;是2按键按下吗?;不是跳转到KB02LCALL PGM2 ;是,则调用PGM2SJMP KB ;返回KB KB02:CJNE A,#04H,KB ;是1按键按下吗?;不是跳转到KB01LCALL PGM3 ;是,则调用PGM3SJMP KB ;返回KBEND,编程:按三个按键中的任一键都对应一个特定功能。,矩阵式按键,关键:如何判断键号?,接口电路:,特点:按键识别应采用扫描法或线路反转法 编程较为复杂,节省口资源,8键以上使用,键盘扫描子程序一般包括以下内容:1.判别有无键按下;2.扫描获取闭合键的行、列值;3.用计算法或查表法得到键值;4.判断闭合键释放否,如没释放则继续等待;5.

5、保存闭合键号。,键按下/释放判断,KS: MOV A,#00H ; 将00放入A中 MOV P1,A ;全扫描字#00H送P1口MOV P1,#0FH ; 为保证取P1口低4位,先应将其置高电平 MOV A,P1 ;读入P1口状态CPL A ;变正逻辑,高电平表示有键按下ANL A,#0FH ;取低4位RET ;返回,A0表示有键按下 MAIN: LCALL KSJNZ xxx,如果按下“2”号键,那么P1.0-P1.7的值从原来的 0000,1111(0F)变化为0000,0111(0E),因此,A 的值变为0000,0111(0E)。取反,1111 1000(F8) 再与0000,1111

6、(0F)相与,则为0000,1000(08) 不为0,有按键按下。,有按下情况的进一步处理程序,按键识别扫描法,流程:当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。键号=行首键号(0、4、8、12)+列号(0、1、2、3),原理:在某一时刻只让一条列线处于低电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。,例2:键盘扫描程序,SERCH: MOV R2,#0EFH ;扫描初值1110 1111MOV R3,

7、#00H ;列号为0LINE0: MOV A,R2 ;将R2,1110 1111送入AMOV P1,A ;将A,1110 1111送入P1MOV A,P1 ;读P1口内容到AJB ACC.3,LINE1;判断0行选中?MOV A,#00H ;行首号送累加器A=00AJMP TRYK ;跳转到TRYK LINE1: JB ACC.2,LINE2;判断1行选中?MOV A,#04H ;行首号送累加器A=04AJMP TRYK ;跳转到TRYK LINE2: JB ACC.1,LINE3 ;判断2行选中?MOV A,#08H ;行首号送累加器A=08,AJMP TRYK ;跳转到TRYK LINE3

8、: JB ACC.0,LINE4 ;判断3行选中? MOV A,#0CH ;行首号送累加器A=12 AJMP TRYK ;跳转到TRYK LINE4: INC R3 ;R3列号加1 MOV A,R2 ;将R2,1110 1111送入A RL A ;循环左移1位1101 1111 JNB ACC.0,BACK ;4列都没查到,应该重新开始 MOV R2,A ;赋扫描初值 AJMP LINE0 ;跳转到LINE0 TRYK: ADD A,R3 ;列号+行号=键号 BACK: RET,例2:键盘扫描程序,定时扫描方式,定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(

9、例如10 ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。,;将100放入R1 ;定时器1方式2, ;装入初值,定时100us;启动定时器,;判断TF1位是否为1, ;直到1跳转到TM1,;R1减1不等0,则跳转到LK ;调用KEY测试,出口为A ;判断A是否为0?跳转到TM,;延时10MS ;调用KEY测试,出口为A ;判断A是否为0?跳转到TM;调用按键搜索程序,;开全局中断,开定时器1中断 ;设置定时中断循环次数为100 ;设置定时器1工作方式2 ;计算并装入初值,;启动定时器,;等待,;R1减1不等于0,则

10、跳转到TM1,;关全局中断,关定时器1中断,;调用KEY测试,出口为A ;判断A是否为0?跳转到TM1,;延时10MS ;调用KEY测试,出口为A ;判断A是否为0?跳转到TM1 ;调用按键搜索程序,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,中断扫描方式,为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。,;向P1口写入F0 ;开全局中断,开外部中断0中断 ;等待,;调用KEY测试,出口为A ;判断A是否为0?跳转到TM1,;延时10MS ;调用

11、KEY测试,出口为A ;判断A是否为0?跳转到TM1 ;调用按键搜索程序,1H,9.2 显示器接口技术,LED的结构和显示原理 静态显示方式 动态显示方式 动态显示的实现,动态显示方式,问题引入:,LED显示器如何显示出指定数字/字符?,为使LED显示不同的符号或数字,要为LED提供段码(或称字型码)。 提供给LED显示器的段码(字型码)正好是一个字节(8段)。 各段与字节中各位对应关系如下:,表1只列出了部分段码,可根据实际情况选用。 另外,段码是相对的,它由各字段在字节中所处的位决定。 例如表中8段LED段码是按格式:,而形成的,“0”的段码为3FH(共阴)。,8段LED的段码如表所示:,

12、例:模拟产品计数显示电路,要想显示“2”,怎么办?,编 程,ORG 1000H STAR:MOV TMOD,#60H ;T1计数方式2模式MOV TH1,#00H ;T1置初值00MOV TL1,#00H MAIN:MOV P1,#0C0H ;数码管显示0DISP:JB P3.3,DISP ;监测按键信号ACALL DELAY ;消抖延时JB P3.3,DISP ;确认低电平信号 DISP1:JNB P3.3,DISP1 ;监测按键信号松手?ACALL DELAY ;消抖延时JNB P3.3,DISP1 ;确认高电平信号SETB TR1 ;启动计数器 DISP2:MOV A,TL1 ;TL1值

13、放入A中MOVC A,A+DPTR ;查表获取数码管显示值MOV P1,A ;数码管显示计数值CJNE A,#8E,DISP2 ;显示的数到没到F LJMP STAR ;跳转到ATARTAB:0C0H,0F9H,0A4H ;表 DELAY:MOV R2,#14H ;延时 DELAY1:MOV R3,#10H ;延时DJNZ R3,$DJNZ R2,DELAY1RETEND,静态显示方式,连接所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。特点原理简单;显示亮度强,无闪烁;占用I/O资源较多。,动态显示方式,连接所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号