版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1键盘和显示器键盘和显示器是计算机常用的输入输出设备,用于输入数据和命令,显示计算机的运行状态、命令和计算结果。考虑到简化结构,降低成本,单片机系统中经常采用简单键盘和数码管显示器,本节介绍它们与单片机的接口电路。第1页,共41页。210.1 LED显示器接口原理LED(Light Emitting Diode)数码管共阳极数码管共阴极数码管每个显示字形对应一个二进制数码,称为段码、字形码或显示代码 公共端称为位码第2页,共41页。3电路图第3页,共41页。4字型表 h g f e d c b a0 0 1 1 1 1 1 1 3FH1 1 0 0 0 0 0 0 C0H显示字符共阴极段码共阳
2、极段码显示字符共阴极段码共阳极段码03FHC0Hc39HC6H106HF9Hd5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8Hy6EH91H87FH80HH76H89H96FH90HL38HC7HA77H88H“灭”00HFFHb7CH83H第4页,共41页。5工作方式数码与显示码之间要有转换方法:硬件法:使用译码集成电路软件法:使用查表法得到显示码静态方式:恒定点亮动态方式:每个一段时间点亮一次即轮流点亮注意:导通电流和点亮时间比例。第5页,共41页。6静态显示工作方法第6页
3、,共41页。7下面是将显示缓冲区78H一7FH中的8个BCD码送数码管显示器的程序。 DIR:MOV R0,#78H ;置首地址 MOV R2,#00H ;初始化位计数器 MOV R7,#08H ;置循环次数 SETB P1.7 LOOP: MOV A,R2 SWAP A ADD A,R0 ;显示数据送低4位 MOV P1,A ;输出显示数据和位地址 INC R0 ;指向下一个数 INC R2 ;指向下一位 DJNZ R7,LOOP CLR P1.7 RET第7页,共41页。8动态显示工作方法硬件: 段码控制线来控制显示字形(段码) 公共极COM端(位码)软件: 查段码表 实现各位轮流点亮 注
4、意 要根据数码管的大小,确定驱动电路,包括位码驱动和段码驱动第8页,共41页。96位动态显示器的接口电路图第9页,共41页。106位动态显示器的显示程序框图第10页,共41页。116位动态显示器的显示程序程序如下(其中DLT为延时2ms子程序): DIR: MOV R0,#79H ;置显示缓冲区首地址 MOV R3,#0lH ;置位选码初值 MOV A,R3 LOOP: MOV DPTR,#7F01H ;DPTRPA口地址 MOVX DPTR,A ;输出位选码 INC DPTR ;指向PB口 MOV A,Ro ;取被显示的数据 ADD A,#12H ;形成查表的偏移地址 MOVC A,A十PC
5、 ;求出显示代码 JNB PSW.5,DIR1 ;判断是否显示小数点 SETB ACC.7 ;显示小数点第11页,共41页。12DIR1: MOVX DPTR,A ;输出显示代码 ACALL DLT ;延时 INC R0 ;指向下一个显示数据 MOV A,R3 JB ACC5,LOOPl ;判断6位是否显示完毕 RL A ;形成下一个位代码 MOV R3,A AJMP LOOP LOOP1: RET DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71HDLF: MOV R7,#04HDLT1: MOV
6、R6,#0FFHDLT2: DJNZ R6,DIT2 DJNZ R7,DLT1 RET第12页,共41页。13第13页,共41页。14键盘由一组常开的按键开关组成,每个按键都被赋予一个代码,称为键码。键盘可以分为二种,即编码键盘和非编码键盘。编码键盘是通过一个编码电路来识别闭合键的键码,非编码键盘是通过软件来识别键码。由于非编码键盘的硬件电路简单,用户可以方便地增减键的数量,因此在单片机系统中应用广泛。这里着重介绍非编码键盘的接口电路。10.2 键盘接口电路第14页,共41页。151.按键电路和消除抖动组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。在下图左中,当开
7、关S未被按下时,P1.7输入为高电平,S闭合后,P1.7输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1.7输入端的波形如图右所示。第15页,共41页。16按键电路和消除抖动抖动持续时间的长短与开关的机械特性有关,一般在5一l0ms之间。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。我们在做单片机应用系统时会遇到这样个问题,就是说按键有时灵,有时不灵,其实就是这个原因,你只按了一次按键,可是计算机却已执行了多次中断的过程,如果执行的次数正好是
8、奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。为使CPU能正确地读出P1口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动.第16页,共41页。17消除抖动的方法硬件方法软件方法如用滤波电路、双稳态电路等。优点: 速度快,实时。 缺点: 增加了硬件成本当发现有键按下时,延时1020ms再查询是否有键按下,若没有键按下,说明上次查询结果为干扰或抖动;若仍有键按下,则说明闭合键已稳定,即可判断其键码。第17页,共41页。182.非编码键盘的结构独立式按键行列式键盘独立式按键是指直接用IO口线构成单个按键电路,每个按键占用一条IO口线,每个按键的工作状态不会产生相互影响。将
9、IO口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了行列式键盘。行列式键盘中校键的数量可达行线数n乘以列线数m,如4行、4列行列式键盘的按键数可以达到4416个。由此可以看到行列式键盘在按键较多时,可以节省IO口线。第18页,共41页。19独立式按键电路图独立式按键电路的结构和处理程序简单,扩展方便,但其占用的IO口线相对较多,不适合在按键数量较多的场合下采用。第19页,共41页。20行列式键盘的电路原理图按键设置在行线和列线交点上,即按键开关的两端分别接在行线和列线上。行线通过一个电阻接到十5V电源上,在没有键按下时,行线处于高电平状态。判断是否有键按下的方
10、法是:向所有的列线IO口输出低电平,然后将行线的电平状态读人累加器A中,若无键按下,行线仍保持高电平状态,若有键按下,行线至少应有一条为低电平。行列第20页,共41页。213.非编码键盘的工作方式程序扫描方式中断扫描方式一般情况下,在单片机应用系统中,键盘处理只是CUP工作的一部分。为了能及时发现有键按下,CPU必须不断调用键盘处理程序,对键盘进行扫描,因此称为程序扫描方式。在程序扫描工作方式中,为了能及时响应键盘输入,需要不停地对键盘进行扫描,即使没有键操作时,也不能中断。这就浪费了大量CPU宝贵的时间。为了提高CPU的效率,在电路中增加适当的电路,当有键闭合时,产生中断请求信号。在中断服务
11、子程序中进行去抖动、求键码和处理重键等工作。在单片机应用系统中,非编码键盘由CPU通过键盘处理程序完成整个工作过程。相对CPU来言,按键闭合是随机发生的,键盘处理程序必须能够及时捕捉到闭合的键、并求出其键码。按照这一过程的不同非编码键盘的工作方式可分为程序扫描方式和中断扫描方式。第21页,共41页。22例-8031与非编码键盘的接口列PA07行PC03第22页,共41页。23键盘处理程序编程要点判断有无键闭合消除键抖动求闭合键的键号判断闭合键有无释放若释放结束处理第23页,共41页。24(1)判断有无键闭合判断键盘中有无键按下。由PA口输出00H,再将PC口的状态读入,若PC0一PC3全为1,
12、说明无键按下,若不全为l则有键按下。第24页,共41页。25(1)判断有无键闭合的程序部分KS1: MOV DPTR,#7F01H MOV A,#00H MOVX DPTR,A ;输出扫描信号00H INC DPTR INC DPTR MOVX A,DPTR ;读入C口状态 CPL A ;求反 ANL A,#0FH ;屏敝高4位 RET第25页,共41页。26(2)消除抖动消除抖动。当发现有键按下时,延时一段时间后再判断键盘的状态,若仍有键保持按下状态,则可断定有键按下,否则认为是抖动。第26页,共41页。27(2)消除抖动的程序部分 LK1:ACALL TIM ACALL TIM ;延时6m
13、s ACALL KS1 ;判断有无键闭合 JNZ LK2 ;(A)=0,有键闭合,转求键码 ACALL TIM ;延时6ms AJMP KEY1 ;非键闭合,返回第27页,共41页。28(3)求闭合键的键号从PA口依次输出下列扫描信号。每次输入扫描信号后,检查PC口的状态,若某一位为0,说明闭合的键在该行,即可确定闭合键的行和列。第28页,共41页。29列PA07行PC03 例如PA口输出11111011, 从PC口读入的状态为1101. 1 1 0 1 1 1 1 1PA21011PC1第29页,共41页。30(3)求闭合键的键号的程序部分 LK2: MOV R2,#0FEH ;R2一第一次
14、扫描输出信号 MOV R4,#00H ;R4一列号 LK3: MOV DPTR,#7F0lH ;DPTRA口地址 MOV A,R2 MOVX DPTR,A ;输出扫描信号 INC DPTR INC DPTR ; 指向C口地址 MOVX A, DPTR ;读C口状态 JB ACC.0, L1 ;PC0=1, 转移 MOV A, #00H ; A0行0列键号,准备求键号 AJMP LK第30页,共41页。31R4第31页,共41页。32第32页,共41页。338279键盘显示器接口芯片(P246)实现对键盘和显示器的自动扫描识别闭合键的键号完成显示器的动态扫描第33页,共41页。348279引脚及逻辑符号第34页,共41页。358279的内部结构第35页,共41页。36工作原理由SL0SL3输出键盘和显示器的扫描线回复线RL0RL7作为键盘的列线以搜索闭合键将键盘数据送入FIFO存储器,有键闭合时数据进入FIFO存储器,使IRQ置位向CPU申请中断。显示缓冲区(RAM)存放显示数据的段码,数据轮流从显示寄存器输出,在SL0SL3的配合下,实现动态显示。(OUTA和OUTB)第36页,共41页。37接口方法控制线连接: 、 、 、A0、IRQ、CLK及RESET信息交换:命令字、状态字(A0=1)和数据(A0=0);口地址的确定:由 A0确定出两个端口地址IRQ经反相器接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 17855-2:2024 EN Plastics - Polyethylene (PE) moulding and extrusion materials - Part 2: Preparation of test specimens and determination of properties
- 房屋抵押合同撰写指南
- 个人汽车融资保证合同样本
- 2024年国家救灾帐篷政府采购合同
- 合伙承包道路建设协议
- 2024年劳动岗位合同
- 2024年苗圃买卖合同书范文
- 2024届毕业生民事调解协议书编写要点
- 论坛合作协议书范本
- 商业店铺装修贷款协议
- 电气工程及其自动化职业规划课件
- 人教版2024七年级上册英语各单元单词短语句型汇编
- 2024年人教版九年级英语单词默写单(微调版)
- 2024届高考专题复习:思辨类作文专题复习
- 人教版小学英语单词表(完整版)
- 国家开放大学《心理健康教育》形考任务1-9参考答案
- 【川教版】《生命 生态 安全》四上第11课《预防流感》课件
- 石油修井行业套损井检测与修复技术
- 座椅设计参数及其对舒适性的影响
- (完整word版)租房合同(简单版).doc
- 桥梁桩基钢筋施工技术方案(完整版)
评论
0/150
提交评论