资源预览内容
第1页 / 共94页
第2页 / 共94页
第3页 / 共94页
第4页 / 共94页
第5页 / 共94页
第6页 / 共94页
第7页 / 共94页
第8页 / 共94页
第9页 / 共94页
第10页 / 共94页
亲,该文档总共94页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第9章 应用系统配置及接口技术 9.1 人-机通道配置与接口技术 9.2 前向通道中的A/D转换器及接口技术 9.3 系统后向通道配置及接口技术 9.4 思考题与习题应用系统配置及接口系统前向通道:数字量、开关量、模拟量输入数字量、开关量、模拟量输入( () ) 系统后向通道:数字量、开关量、模拟量输出:数字量、开关量、模拟量输出( () ) 人-机通道: 键盘、显示器、打印机等键盘、显示器、打印机等图图9-19-1 系统前向、后向、人系统前向、后向、人- -机通道配置框图机通道配置框图9.1 人机通道配置与接口技术进行人机对话。包括人对系统的状态干预与数据输入进行人机对话。包括人对系统的状态干预与数据输入, ,还有系统显示运行状态与运行结果等。还有系统显示运行状态与运行结果等。 键盘、键盘、 显示器用来完成人机对话的人机通道。显示器用来完成人机对话的人机通道。9.1.1 9.1.1 键盘接口及处理程序键盘接口及处理程序9.1.2 LED9.1.2 LED显示器接口及显示程序显示器接口及显示程序9.1.3 9.1.3 串口控制的键盘显示器接口串口控制的键盘显示器接口9.1.1 9.1.1 键盘接口及处理程序键盘接口及处理程序v键盘分编码键盘和非编码键盘。v键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;v靠软件识别的称为非编码键盘。v键盘中的按键:都是一个常开开关电路。v 当按键K未被按下时, P1.0输入为高电平;当按键K闭合时,P1.0输入为低电平。图图9-2 9-2 按键电路按键电路v通常按键在闭合及断开的瞬间均伴有一连串的抖动。如图所示。抖动时间一 般为510 ms。v键抖动会引起一次按键被误读多次,必须去除键抖动。可用硬件或软件两种 方法消除。v软件方法去抖动,即检测出键闭合后执行一个510 ms延时程序,再一次检 测,如果仍保持闭合,则确认为真正按下。当检测到按键释放后,也要给5 10 ms的延时,待后沿抖动消失后,才能转入该键的处理程序。键的消抖图图9-39-3 按键时的抖动按键时的抖动1) 独立式非编码键盘接口及处理程序各按键相互独立地接通一条输入数据线,如 图所示。当一个键按下时,与之相连的输入数据线即 清0(低电平),平时该线为1(高电平)。要判 别是否有键按下,用单片机的位处理指令十 分方便。优点是电路简单;缺点是占用线多。图图9-4 9-4 独立连接式非编码键盘独立连接式非编码键盘1、键盘结构查询方式键盘的处理程序查询方式键盘的处理程序程序清单(设为P1口):START: MOVA,#0FFH ;输入时先置P1口为全1 MOVP1,A MOVA,P1 ;键状态输入PL1:JNBACC.0,P0F ;0号键按下转P0F标号地址 JNBACC.1,P1F ;1号键按下转P1F标号地址 JNBACC.2,P2F ;2号键按下转P2F标号地址 JNBACC.3,P3F ;3号键按下转P3F标号地址 JNBACC.4,P4F ;4号键按下转P4F标号地址 JNBACC.5,P5F ;5号键按下转P5F标号地址 JNBACC.6,P6F ;6号键按下转P6F标号地址 JNB ACC.7,P7F ;7号键按下转P7F标号地址 LJMPSTART ;无键按下返回P0F: LJMP PROM0 P1F:LJMP PROM1 ;入口地址表 P7F :LJMP PROM7 PROM0: ;0号键功能程序 LJMP START ;0号键执行完返回 PROM1: LJMP START PROM7: LJMP START由程序可以看出,各按键由软件设置了优先级,优先级顺序依次为07。2) 行列式键盘接口及工作原理图图9-6 449-6 44矩阵键盘接口图矩阵键盘接口图为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式.v按键扫描的工作过程如下: 判断键盘中是否有键按下; 进行行扫描,判断是哪一个键按下,若有键按下,则调用延时子程序去抖动; 读取按键的位置码; 将按键的位置码转换为键值(键的顺序号)0、1、2、F。v在扫描过程中,当发现某行有键按下,也就是输入的列线中有一位为0时,便可判别闭合按键所在列的位置,根据行线位置和列线位置就能判断按键在矩阵中的位置,知道是哪一个键按下。v首先判别键盘中有无键按下:由口向键盘送(输出)全扫描字,然后 读入(输入)列线状态来判断。方法: 向行线(水平线)输出全扫描字00H, 把全部行线置为“0”,然后将列线的状态读入累加器A中。如果有按键按 下,总有一根列线电平被拉至低电平,使列输入不全为1。v判断键盘中哪一个键被按下:通过将行线逐行置低电平后,检查列输入状 态实现的。方法: 依次给行线送“0”,然后查所有列线状态,称行扫描。如果全为1 ,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是 在与“0”列线相交交点上的那键。行扫描法识别键号的工作原理:v将第0行输出低电平,其余行高电平时,输出编码为1110。然后读取列,判 别第0行是否有键按下。若有一键按下,则相应列被拉到低电平,则表示第 0行和此列相交位置上有按键按下。若没有任一条列线为低电平,则说明0 行上无键按下。v将第1行变为低电平,其余行高电平时,输出编码为1101。读取各列,判别 是有哪一列键按下方法同上。v将第2行变为低电平,其余行为高电平时,输出编码为1011。判别是否有哪 一列键按下的方法同上。v将第3行变为低电平,其余行为高电平时,输出编码为0111。判别是否有哪 一列键按下的方法同上。根据行线扫描值(行码)与列线输入值(列码)可唯一确定按下的键并获得该 键的位置码(键码)例如:行码1011B;列码1101B则:键码=10111101B键的位置码及键值的译码过程v 扫描过程后得到的行号存放在R0,列号存放在R2中。v 键值(号)的获得(译码)通常采用计数译码法。根据矩阵的结构,每个按键值=行号每行按键数+列号即:键号(值)=行首键号+列号第0行的键值为:0行4+列号(03)为0、1、2、3;第1行的键值为:1行4+列号(03)为4、5、6、7;第2行的键值为:2行4+列号(03)为8、9、A、B;第3行的键值为:3行4+列号(03)为C、D、E、F。44键盘行首键号为0、4、8、C,列号为0,1,2,3。键值译码子程序为DECODE,该子程序出口:键值在A中图图9-7 449-7 44键盘扫描流程图键盘扫描流程图(3) 键盘扫描子程序(参见图9-7)v出口: 键值(键号)在A中 KEY: MOV P1,#0F0H ;令所有行为低电平 KEY1:MOV R7,#0FFH ;设置计数常数DJNZ R7,KEY1 ;延时MOV A, P1 ;读取P1口的列值ANL A,#0F0H ;判别有键值按下吗?CPL A ;求反后,有高电平就有键按下JZ EKEY ;无键按下时退出LCALL DEL20 ms ;延时20 ms去抖动 SKEY:MOV A,#00 ;下面进行行扫描,1行1行扫MOV R0,A ;R0作为行计数器,开始为0MOV R1,A ;R1作为列计数器,开始为0MOV R3 #0FEH ;R3暂存行扫描字,低4位为行扫描字 SKEY2:MOV A,R3MOV P1,A ;输出行扫描字,高4位全1NOPNOPNOP ;3个NOP操作使P1口输出稳定MOVA,P1 ;读列值 MOVR1,A ;暂存列值 ANLA,#0F0H ;取列值 CPLA ;高电平则有键闭合 S123: JNZSKEY3 ;有键按下转SKEY3INCR0 ;行计数器加1 SETBC ;准备将行扫描左移1位,;形成下一行扫描字,C=1保证输出行扫描字中高4位全为1,;为列输入作准备,低4位中只有1位为0 MOVA,R3 ;R3带进位C左移1位 RLCA MOVR3,A ;形成下一行扫描字R3 MOVA,R0 CJNEA,#04H,SKEY1 ;最后一行扫(4次)完了吗? EKEY: RET;列号译码 SKEY3:MOV A,R1 JNBACC.4,SKEY5 JNBACC.5,SKEY6 JNBACC.6,SKEY7 JNBACC.7,SKEY8 AJMPEKEY SKEY5:MOVA,#00H MOVR2,A ;存0列号 AJMPDKEY SKEY6:MOVA,#01H MOVR2,A ;存1列号 AJMPDKEY SKEY7:MOVA,#02H MOVR2,A ;存2列号 AJMPDKEY SKEY8:MOVA,#03H MOVR2,A ;存3列号 AJMPDKEY;键位置译码 DKEY: MOV A,R0 ;取行号ACALL DECODEAJMPEKEY ;键值(键号)译码 DECODE:MOV A,R0 ;取行号送AMOV B,#04H ;每一行按键个数MULAB ;行号按键数ADDA,R2 ;行号按键数+列号=键值RET2、中断扫描方式中断扫描工作方式,即只中断扫描工作方式,即只有在键盘有键按下时才产有在键盘有键按下时才产生中断申请;生中断申请;CPUCPU响应中断响应中断,进入中断服务程序进行,进入中断服务程序进行键盘扫描,并做相应处理键盘扫描,并做相应处理。图图9-99-9 中断方式键盘接口中断方式键盘接口v求出键号后,按不同类型进行 处理。v数字键:存贮、显示等v功能键:转向相应的功能处理 程序3 . 键处理图图9-109-10 求功能键地址转换程序流程图求功能键地址转换程序流程图程序: BUFF EQU 30H KEYADR: MOV A,BUFF ;键号ACJNE A,0FH,KYARD1AJMP DIGPRO ;等于F,转数字键处理 KYARD1: JC DIGPRO ;小于F,转数字键处理 KEYTBL: MOV DPTR,JMPTBL ;送功能键地址表指针CLR C ;请进位位SUBB A,10H ;功能键值(10H1FH)减16RL A ;(A)2,使(A)为偶数:0,2,4,JMP ADPTR ;转相应的功能键处理程序JMPTBL: AJMP AAAAJMP BBBAJMP CCCAJMP DDDAJMP EEEAJMP FFFAJMP GGGAJMP HHHAJMP IIIAJMP JJJJAJMP KKKAJMP LLLAJMP MMM DIGPRO:9.1.2 LED9.1.2 LED显示器接口及显示程序显示器接口及显示程序单片机应用系统中使用的显示器主要有:v发光二极管,简称 LED (Light Emi
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号