




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章 显示器、键盘接口技术,11.2 键盘接口设计,11.1LED显示器及接口设计,输入外设:键盘;,输出外设:LED显示器、LCD显示器、打印机等。,一. LED 显示器结构和字段码关系,共阳极,共阴极,外形图,11.1 LED显示器及接口设计,常用的LED显示器为8段,有共阳极和共阴极两种。如图所示。,为使LED显示不同的符号或数字,要为LED提供段码(或称字型码)。,提供给LED显示器的段码(字型码)正好是一个字节(8段)。各段与字节中各位对应关系如下:,按上述格式,8段LED的段码如表所示。,由发光二极管组成不同字型,电流太大,耗电量大,电流太小,发光度不够,一般普通发光二极管各管
2、电流在10mA较合适。通过限流电阻实现。,LED字型码(段码),主要电气参数:,VF :正向电压 IF :正向工作电流 限流电阻的计算: 增加驱动:7407等,二. LED显示器工作原理,下图是4位 LED显示器的结构原理图。,N个LED显示块有N位位选线和8N根段码线。,段码线控制显示的字型,位选线控制该显示位的亮或灭。有静态显示和动态显示两种显示方式。,1. 静态显示方式,各位的公共端连接在一起(接地或+5V)。,每位的段码线(adp)分别与一个8位的锁存器输出相连。,显示字符一确定,相应锁存器的段码输出将维持不变,直到送入另一个段码为止。显示的亮度高。,4位静态LED显示器电路如图。该电
3、路各位可独立显示。,显示程序任务:,1)设置显示缓冲区,存放待显示数据。 2)显示译码:程序存储器中建立字形码常数表,查表得出对应数据的字形码。 3)输出显示:输出字形码到显示端口。,例: MOV DPTR,#WTAB ;指向字形码表首地址 MOV A,R0 ;取显示缓冲区中数据 MOVC A,A+DPTR ;查表显示译码 MOV P1,A ;输出显示 WTAB:DB3FH,06H,5BH ;字形码表 ,2. 动态显示方式,所有位的段码线相应段并在一起,由一个8位I/O口控制,形成段码线的多路复用,各位的公共端分别由相应的I/O线控制,形成各位的分时选通。,4位8段LED动态显示电路如图。其中
4、段码线占用一个8位I/O口,而位选线占用一个4位I/O口。,8位LED动态显示2003.10.18的过程如图。,图(a)是显示过程,某一时刻,只有一位LED被选通显示,其余位则是熄灭的;,图(b)是实际显示结果,人眼看到的是8位稳定的同时显示的字符。,动态显示程序设计,在8051RAM存储器中设置6个显示缓冲单元79H 7EH,分别存放六位显示器的显示数据,8051的P3口扫描输出总是有一位为高电平,8051的P1口输出相应位(共阴极)的显示数据的字形码,使某一位显示出一个字符,其他位为暗,依次地改变P3口输出为高电平的位,P1口输出对应的字形码。六位显示器就显示出缓冲器中显示数据所确定的字符
5、。,Y,N,ORG2000H DIR: MOV R0, #79H ;显示数据缓冲区首址送R0 MOV R3, #01H ;使显示器最右边位亮 LD0: MOV P3, R3 ;扫描值送P3口 MOV A, R0 ;取显示数据 ADD A , #0CH ;加上偏移量 MOVC A, A+PC ;取出字形码 MOV P1, A ;送出字形码 ACALL DL1 ;调延时程序 INC R0 ;数据缓冲区地址加1 MOV A,R3 JB ACC.5 ,LD1 ;扫描到第6个显示器转LD1 RL A MOV R3, A ; R3左移一位,扫描下一个显示器 AJMP LD0 LD1: RET,DSEG:
6、DB 3FH,06H,5BH,4FH,66H,6DH, 7DH DB 07H,7FH 67H,77H,7CH,39H, 5EH DB 79H,71H,73H,3EH,31H,6EH, 1CH DB 23H,40H,03H,18H,00H,00H,00H ORG 2050H DL1: MOV R7, #02H DL: MOV R6, 0FFH DL6: DJNZ R6, DL6 DJNZ R7, DL RET,11.2 键盘与计算机接口,一、键盘 键盘输入数据和命令,单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高; 另一种是非编码键盘,这种键盘多采用矩
7、阵方式,利用软件识别键码及完成各种键功能处理。单片机系统中多采用非编码键盘。,键盘的可靠性,硬件消除抖动电路,基本思想:检测到有键按下,键对应的行线为低,软件延时10ms后,行线如仍为低,则确认该行有键按下。,软件消除按键抖动,当键松开时,行线变高,软件延时10ms后,行线仍为高,说明按键已松开。采取以上措施,躲开了两个抖动期的影响。,独立式按键接口和行列式键盘接口。,二、独立式按键接口设计1、独立式键盘接口电路,各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可很容易判断那个键被按下。此种接口适于键数较少或操作速度较高的场合。,查询方式和中断方式的独立式键盘工作电路如下图。,2
8、、独立式按键接口程序设计,键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 2)键译码 键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键09、 字符键0AH0FH、功能键10H 。 3)键处理 根据键值转移到不同程序段。若键 值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。,下图是用三态缓冲器扩展的I/O口的按键接口电路。,对独立式键盘编程,软件消抖,查询方式检测键的状态。仅有一键按下时才有效才处理。,KEYIN:MOV DPTR,#0BFFF
9、H;键盘端口地址BFFFH MOVX A,DPTR;读键盘状态 ANL A,#1FH;屏蔽高三位,MOV R3,A;保存键盘状态值 LCALL DELAY10;延时10ms去键盘抖动 MOVX A,DPTR;再读键盘状态,ANL A,#1FH;屏蔽高三位,CJNE A,R3,RETURN ;两次不同,抖动引起转RETURN,CJNE A,#1EH,KEY2 ;相等,有键按下,不等转KEY2,LJMP PKEY1;是S1键按下,转S1键处理 ;子程序PKEY1 KEY2: CJNE A,#1DH,KEY3 ;S2键未按下,转KEY3 LJMP PKEY2 ;S2键按下,转PKEY2处理 KEY3
10、:CJNE A,#1BH,KEY4;S3未按下,转KEY4 LJMP PKEY3 ;S3按下,转PKEY3处理 KEY4: CJNE A,#17H,KEY5 ;S4键未按下,转KEY5 LJMP PKEY4 ;S4按下,转PKEY4处理 KEY5:CJNE A,#0FH, RETURN ;S5未按下,转RETURN LJMP PKEY5 ;S5按下,转PKEY5处理 RETURN:RET ;重键或无键按下,从子程序返回,识别和编程简单,用在按键数较少的场合。,3. 行列式(矩阵式)键盘接口,用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图所示。,按键数目较多的场合,行列
11、式键盘与独立式键盘相比,要节省很多的I/O口线。,三、非编码键盘的接口,1、程控扫描法 CPU不停地扫描键盘 占用大量机时 2、定时扫描法 通过定时器产生定时中断,扫描键盘 占用大量机时 3、中断扫描法 只有当键按下后,才产生中断,扫描键盘 计算机工作效率高,1、程控扫描法4X4扫描式键盘接口,1、有无键按下的检测(全盘扫描) 计算机向P1口的低4位输出00H(各行线送低电平),然后检查P1口高4位(列线)的电平,若全部为高电平,则表示无键按下,若某个口线出现低电平,便说明有键按下,然后执行第二步检测。 2、去除键抖动。若有键按下,则延时10ms,再次判断有无键按下,有键按下,则执行第三步检测
12、。 3、按键位置的确定(行扫描) 扫描从0行开始,即计算机先向P1.0口线输出低电平,P1.1-P1.3保持高电平,然后从P1.4-P1.7(列线)读入数据,当某位出现低电平,则说明被按下的键处在第0行上,若读入数据为高电平,则表示按下的键不在0行上,这时应进行下一行的扫描,逐行扫描,直至找到被按下键的位置。,4、键值的确定 一般说键值可由使用者任意设定,若键的位置与键值之间无任何规律,则只能用列表查询法来获取键值,若键的位置与键值安排有一定的规律,则可采用计算法确定。为保证键每闭合一次,CPU只作一次处理程序中需等闭合键释放后才对其进行处理。,#1、程控扫描法(参考),1、有无键按下的检测(
13、全盘扫描) 计算机向8255A的PC口的低4位输出00H(各行线送低电平),然后检查PB口低5位(列线)的电平,若全部为高电平,则表示无键按下,若某个口线出现低电平,即读入的数据不是XXX11111B,便说明有键按下,延时10ms,去除键抖动。再次判断有无键按下,有键按下,然后执行第二步检测。 2、按键位置的确定(行扫描) 扫描从0行开始,即计算机先在PC0口线输出低电平,PC口的其余口线保持高电平,即向PC口输出数据FEH,然后从PB口(列线)读入数据,当读入数据的低5位中某位出现低电平,例如读入数据为XXX11011B,则说明被按下的键处在第0行第2列上,若读入数据为XXX11111B,则
14、表示按下的键不在0行上,这时应进行下一行的扫描,直至找到被按下键的位置。 3、键值的确定 一般说键值可由使用者任意设定,若键的位置与键值之间无任何规律,则只能用列表查询法来获取键值,若键的位置与键值安排有一定的规律,则可采用计算法确定;为保证键每闭合一次,CPU只作一次处理程序中需等闭合键释放后才对其进行处理。 其计算公式为: 键值K=行号X5+列号,?1、程控扫描法(行列式键盘)(参考),程序: MOV DPTR, #0E003H MOV A ,#82H ;8255A初始化,PC输出,PB输入 MOVX DPTR, A KGET: ACALL KAS ; 调全盘检测子程序 JNZ DEL ;
15、有键闭合,转去抖动 ACALL D1SPLAY ;调显示子程序 SJMP KGET DEL: ACALL DISPLAY ACALL D1SPLAY ;软件去抖动 ACALL KAS JNZ NEXT ;有键闭合,转下一步 SJMP KGET NEXT: MOV R2, #0FEH ;0行扫描信号存放R2 MOV R3, #00H ;0行首键键值存放R3,L1SCM: MOV DPTR,#0E002H ;指向PC口 MOV A,R2 ; 输出扫描信号 MOVX DPTR,A DEC DPL ;指向PB口 MOVX A, DPTR ;读入列线状态 COLU0: JB ACC.0, COLU1 ;
16、第0列检测 MOV A, #00H ;列号送A SJMP KPO ;转键值处理 COLU1: JB ACC.1, COLU2 ;第1列检测 MOV A, #01H ;列号送A SJMP KPO COLU2: JB ACC.2, COLU3 ;第2列检测 MOV A, #02H ;列号送A SJMP KPO ;转键值处理 COLU3: JB ACC.3, COLU4 ;第3列检测 MOV A, #03H ;列号送A SJMP KPO,COLU4: JB ACC.4, NXLIN ;第4列检测 MOV A, #04H ;列号送A KPO: ADD A, R3 ;键值=行首键值+列号 PUSH AC
17、C ;键值保护 LOOP: ACALL D1SPLAY ACALL KAS ;显示并等待释放 JNZ LOOP POP ACC ; 取出键值 RET NXLIN: MOV A, R3 ADD A, #05H MOV R3,A MOV A, R2 ;下一行扫描参数调整 RL A MOV R2, A CJNE R2,#0EFH,L1SCM ;未扫描一遍,则扫描下一行 AJMP KGET ;返回程序起始点,KAS: MOV DPTR, #0E002 ;指向PC口 MOV A, #0F0H MOVX DPTR, A ; PC口低四位输出0 DEC DPL ; 指向PB口 MOVX A, DPTR ;从
18、PB口读入 CPL A ;将有效电平改变为高电平 ANL A , #1FH ; 屏蔽无效的高8位 RET,2、定时扫描法,定时扫描方式就是CPU每隔一定时间(如10ms)对键盘扫描一遍。当发现有键按下时,便进行读入键盘操作,以求出键值,并分别进行处理。定时时间间隔由8051单片机内部定时器计数器来完成,这样可以减少计算机扫描键盘的时间,以减少CPU时间的开销。具体做法是,当定时时间一到,定时器便自动输出一脉冲信号,使CPU转去执行扫描程序。其扫描和求键值以及区别数字键、功能键的方法与程控扫描法类似。有一点需指出的是,采用定时扫描法时,必须在其初始化程序中,对定时器写入相应的命令,使之能定时产生中断,以便完成定时扫描的任务。,3、中断扫描法,为了更进一步节省CPU的时间,可采用中断扫描法,即当键入操作时,向CPU申请中断,CPU响应中断后,即转到相应的中断服务程序,对键进行扫描,判别键盘上闭合键的键号,并作相应处理。在图中,当没有键按下时,所有列线均为1,输出一高电平到8051的/INT1引脚,此时没有中断申请。一旦某一个键按下以后,则高电平经过按键加到该键所在行的二极管正端,使二极管导
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024成都医学院辅导员招聘笔试真题
- 2025年溶剂型色浆项目合作计划书
- 10的认识和加、减法第3课时 练一练 教案 2025人教版数学一年级上册
- 2024年南通市紫琅第一小学选聘教师真题
- 2025年柳州市公安机关招聘警务辅助人员考试试题【答案】
- 2025年内蒙古自治区司法厅下属事业单位招聘考试笔试试题【答案】
- 2025年TFT-LCD用偏光片项目建议书
- 吉林科技发展计划项目-吉林科技创新服务平台
- 2025年智能变电站自动化系统项目建议书
- 2025年航空用玻璃系列项目建议书
- 清心沉香八味丸对更年期综合征的治疗作用
- 2020放射诊断放射防护要求
- 日式护理创业计划书
- 加强营销作业现场安全管理
- 注塑岗位技能培训
- 青岛版初一年级下册册数学全册同步练习(一课一练)
- 市场监管新进人员培训方案
- 《锅炉安全培训》课件
- 血管病的早期病情评估和治疗
- 全科门诊教学知情同意书
- 车险查勘礼仪与服务规范
评论
0/150
提交评论