第四章键盘和显示器.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

河北工程大学自动化与电气工程系1第四章智能仪表的键盘和显示器接口第四章智能化测控仪表的键盘、显示器及打印输出接口河北工程大学自动化与电气工程系2智能化测控仪表的操作管理是通过计算机的外部输入输出设备完成的,键盘、显示器和打印机是最常用的外部输入/输出设备。第四章智能化测控仪表的键盘、显示器及打印输出接口河北工程大学自动化与电气工程系3第四章智能化测控仪表的键盘、显示器及打印输出接口4.1键盘接口技术•键盘实际上是由排列成矩阵形式的一系列按键开关组成的,最常用的人机联系的一种输入设备。•键盘按其结构形式可分为编码式键盘和非编码式键盘两大类。•编码式键盘是由其内部硬件逻辑电路自动产生被按键的编码。这种键盘使用方便,但价格较贵。河北工程大学自动化与电气工程系4•智能仪表中普遍使用非编码式键盘。非编码式键盘硬件接口简单,但要占用较多的CPU时间。这类键盘应主要解决以下几个问题:•(1)键的识别;•(2)反弹跳;•(3)串键的保护。4.1键盘接口技术√河北工程大学自动化与电气工程系5•(1)键的识别;——决定是否有键按下,若有,识别是哪个键。常用方法:行扫描法和线反转法。4.1键盘接口技术(2)反弹跳;——由于按键采用的是机械开关,当开关的触点闭合或者断开到稳定,会产生一个短暂的抖动和弹跳。河北工程大学自动化与电气工程系64.1键盘接口技术河北工程大学自动化与电气工程系7消除方法:☆硬件方法(适用于键数较少的情况)☆软件延时的方法(键数较多时)4.1键盘接口技术河北工程大学自动化与电气工程系8(3)串键保护由于操作不慎,可能会造成同时有几个键被按下,称为串键。处理技术有三:①两键同时按下*只有一个键按下才读取键盘,最后仍被按下的是有效的正确按键——软件扫描键盘;*当第1个按键未松开时,按第2个按键不产生选通信号4.1键盘接口技术河北工程大学自动化与电气工程系9②n键同时按下不理会所有按下的键,或者将所有的按键信息存储,然后逐个处理。③n键锁定只处理1个键,任何其他按下又松开的键不产生任何码。通常第一个按下或者最后一个松开的按键产生代码。4.1键盘接口技术河北工程大学自动化与电气工程系101.非编码式键盘的结构非编码式键盘一般采用行列式结构并按矩阵形式排列,如图4.3所示。4.1.1非编码键盘输入三态缓冲器+5VR1R2R3R4行线C4C3C2C1输出锁存器至CPU数据总线图4.34×4矩阵键盘接口通过检查行线的输出电平和列线的输入电平来识别按键列线河北工程大学自动化与电气工程系112.按键识别方法•非编码式键盘识别闭合键通常有两种方法:一种称为行扫描法,另一种称为线反转法。•1)行扫描法——就是通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所连接的输出端口得到的是全“1”信号;如果有键按下的话,则得到的是非全“1”信号。4.1.1非编码键盘—行扫描法河北工程大学自动化与电气工程系12输入+5VR1R2R3R4C4C3C2C1输出输入+5VR1R2R3R4C4C3C2C1输出01110111图4.4行扫描按键识别4.1.1非编码键盘—行扫描法河北工程大学自动化与电气工程系13图4.4行扫描按键识别输入+5VR1R2R3R4C4C3C2C1输出110111104.1.1非编码键盘—行扫描法输入+5VR1R2R3R4C4C3C2C1输出河北工程大学自动化与电气工程系14R1R2R3R4C2C1C4C3K1K2K3K4K5K6K7K8K9K10K11K12K13K14K15K16表4-1键位与行列线关系表输入+5VR1R2R3R4C4C3C2C1输出4.1.1非编码键盘—行扫描法行号列号键值河北工程大学自动化与电气工程系15采用行扫描法进行按键识别时,常用软件编程来提供串键保护。基本思路:当有多个按键被压下时,不立即求取键值,而是重新回到按键识别直至只剩下1个键压下为止。4.1.1非编码键盘—行扫描法河北工程大学自动化与电气工程系162)线反转法•线反转法也是识别闭合键的一种常用方法。该方法比行扫描法速度要快,但在硬件电路上要求行线与列线均需有上拉电阻,故比行扫描法稍复杂些。•线反转法借助并行接口实现,比行扫描法的速度快。•要求所使用的并行接口芯片具有方向寄存器和数据寄存器。4.1.1非编码键盘—线反转法河北工程大学自动化与电气工程系174.1.1非编码键盘—线反转法0000110111110000并行接口数据寄存器方向寄存器+5V+5VINT“1”输出端口“0”输入端口01230123行列PB0PB1PB2PB3PB4PB5PB6PB7列线信息:PB7~PB4=1011河北工程大学自动化与电气工程系181101110100001111并行接口数据寄存器方向寄存器+5V+5VINT“1”输入端口“0”输出端口01230123行列PB0PB1PB2PB3PB4PB5PB6PB74.1.1非编码键盘—线反转法行线信息:PB3~PB0=1011完整信息:PB7~PB0=10111011B1101110100001111并行接口数据寄存器方向寄存器+5V+5VINT“1”输入端口“0”输出端口01230123行列PB0PB1PB2PB3PB4PB5PB6PB7河北工程大学自动化与电气工程系194.1.1非编码键盘+5VLED×4反向驱动器同向驱动器+5V……740775452PC0PC1PC2PC3PA口PB口AD0~AD7ALEWRRDCEIO/MALEWRRDP0.0~P0.7P2.7P2.080C51图4.7单片机80C51通过8155实现的键盘、显示器接口C840D951EA62FB73PA0PA1PA2PA3河北工程大学自动化与电气工程系20KEY:MOVDPTR,#7F00H;8155命令口地址MOVA,#03H;置8155的PA、PB为输入,PC为输出MOVX@DPTR,AMOVR4,#00H;0键号寄存器MOVR2,#01H;扫描方式R2KEY1:MOVDPTR,#7F01HMOVA,R2MOVX@DPTR,AINCDPTRINCDPTR;指向PC口MOVXA,@DPTRJBACC.0,KEY2;判断PC0=1?即第0列有键入么?MOVA,#00HAJMPKEY5KEY2:JBACC.1,KEY3MOVA,#01HAJMPKEY54.1.1非编码键盘河北工程大学自动化与电气工程系21KEY3:JBACC.2,KEY4MOVA,#02HAJMPKEY5KEY4:JBACC.3,NEXTMOVA,#03HKEY5:ADDA,R4;列线号+(R4)作为键值AMOVR4,ARETNEXT:MOVA,R4ADDA,#04HMOVR4,AMOVA,R2JBACC.3,NEXT1;判别是否已扫描到最后一行RLAMOVR2,AAJMPKEY1NEXT1:MOVR4,#88H;扫描到最后一行仍无按键置无键闭合标志RET4.1.1非编码键盘河北工程大学自动化与电气工程系224.1.2键值分析单片机从键盘接口获得键值后究竟执行什么操作,完全取决于键盘解释程序。对于同一个键盘接口,由于分析和解释键盘的程序不同,使其功能全然不同。按键基本上分为数字键和功能键。功能键又分为单个功能键和字符串功能键。河北工程大学自动化与电气工程系234.1.2键值分析单个功能键的作用是按了一个键,仪表就完成该键所规定的功能。字符串功能键是在按完多个键后,仪表才会完成规定的功能。键值分析常采用查表法和状态分析法。[查表法]根据得到的键值代码,到固化在ROM中的表格中查找对应该代码的程序首地址,适用于单个命令键。[状态分析法]根据键码和当前所处的状态找出下一个应进入的状态及动作例行程序,适用于多键配合产生一个动作的多意键。河北工程大学自动化与电气工程系24•现设计一仪表的键盘有以下功能:4.1.2键值分析——查表法表4-3键值表按键键值0~FRUNRETADRSSTOREREADWRITE00H~0FH10H11H12H13H14H15H表4-2功能子程序转移地址表功能子程序入口地址入口地址1入口地址2入口地址3……子程序1子程序2子程序3河北工程大学自动化与电气工程系25INPUT:LCALLKEY;调用按键识别子程序,键值在A中MOVR0,AANLA,#10HJZDATAIN;小于10H为数字键,转入数字操作MOVA,R0ANLA,#0FH;保留键值的低4位MOVR0,A;实现(A)×3RLAADDA,R0MOVDPTR,#TABLE;取转移表首地址JMP@A+DPTR;按不同的键值转入不同的子程序4.1.2键值分析——查表法为什么?河北工程大学自动化与电气工程系26TABLE:LJMP#RUN;转入RUN命令子程序LJMP#RET;转入RET命令子程序LJMP#ADRS;转入ADRS命令子程序LJMP#STORE;转入STORE命令子程序LJMP#READ;转入READ命令子程序LJMP#WRITE;转入WRITE命令子程序DATAIN:………4.1.2键值分析——查表法3字节指令河北工程大学自动化与电气工程系27当按键较多,复用次数较多时,若依然采用查表法,使得命令的识别和子程序的执行交织在一起,结构复杂,层次不清,不易阅读和修改。这时可采用状态变量法。系统的“状态”是表示系统的最小一组变量(状态变量)。只要知道了t=t0时的状态变量和t≥t0时的输入就可完全确定系统在t≥t0任何时间内的行为。4.1.2键值分析——状态变量法河北工程大学自动化与电气工程系28PESET=f(Kc-1,Kc-2,……)其中,Kc-1,Kc-2……为t0时刻以前的按键序列;PESET称为程序的当前状态(简称现状)。4.1.2键值分析——状态变量法表4-4状态矩阵表SUB01NEXT01SUB02NEXT02SUB03NEXT02K1K2KnST0ST1STmSUB11NEXT01SUB12NEXT12SUB13NEXT13SUBm1NEXTm1SUBm2NEXTm2SUBmnNEXTmn………………………按键状态河北工程大学自动化与电气工程系29应用状态变量法设计键值分析程序具有如下优点:(1)应用一张状态表,统一处理任何一组按键状态的组合,简化编译过程、使程序易读、易懂。(2)翻译、解释按键序列与执行子程序完全分离,键值分析程序可单独进行。(3)若仪表功能发生改变,程序的结构不变,仅需要修改状态表。(4)仪表设计越复杂,按键复用次数越多,效率越高。4.1.2键值分析——状态变量法河北工程大学自动化与电气工程系30*发光二极管价格低、寿命长,对电压电流要求低。*LED是近似恒压的元件,导电的正向压降一般为1.6V或2.4V,反向击穿电压一般≥5V。*工作电流在10~20mA,需串联适当的限流电阻。4.2LED显示器接口技术河北工程大学自动化与电气工程系311.LED数码显示器的结构LED数码显示器是1种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。其内部结构如图4.14所示。4.2LED显示器接口技术河北工程大学自动化与电气工程系32图4.147段LED数码显示器4.2LED显示器接口技术河北工程大学自动化与电气工程系332.LED数码显示器的显示段码为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下:段码位D7D6D5D4D3D2D1D0显示段dpgfedcba4.2LED显示器接口技术河北工程大学自动化与电气工程系34表4-7十六进制数及空白字符与P的显示段码4.2LED显示器接口技术河北工程大学自动化与电气工程系353.LED数码显示器的接口方法•单片机与LED数码显示器有以硬件为主和以软件为主的两种接口方法。•1)以硬件为主的接口方法•这种接口方法的电路如图4.15所示。4.2LED显示器接口技术河北

1 / 167
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功