《电子接口技术课件》由会员分享,可在线阅读,更多相关《电子接口技术课件(35页珍藏版)》请在金锄头文库上搜索。
1、第第1010章章 接口技术接口技术 教学目的:了解80C51系列单片机与键盘、显示器、功率器件及打印机等外设连接的技术。教学重点: 1.键盘接口的工作原理及应用; 2.LED显示器接口的工作原理及应用。 3.打印机的接口及应用。教学难点: 1.键盘接口的工作原理。 2.LED显示器接口的工作原理 电子接口技术 10.1 10.1 键盘接口键盘接口 键盘电路的设计应使CPU不仅能识别是否有键按下,还要能识别是哪一个键按下,而且能把此键所代表的信息翻译成计算机所能接收的形式 。在单片机应用系统中多采用非编码键盘,其分为独立式键盘和矩阵式键盘,硬件上此类键盘只提供通、断两种状态,其它工作都靠软件来完
2、成。 电子接口技术10.1.1 10.1.1 键盘工作原理键盘工作原理1键输入原理2键输入接口与软件应解决的问题(l)键开关状态的可靠输入 通常去抖动影响的方法有硬、软件两种。 图10.1键闭合及断开时的电压波动电子接口技术 (2)对按键进行编码以给定键值或直接给出键号 l 监测有无键按下;l 有键按下后,在无硬件去抖动电路时,应用 软件延时方法除去抖动影响;l 有可靠的逻辑处理办法;l 输出确定的键号以满足散转指令要求。 电子接口技术10.1.2 10.1.2 独立式按键独立式按键 1独立式按键结构 在此电路中,按键输入都设置为低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平。
3、 图10.2独立式按键电路电子接口技术2独立式按键的软件编制 START: MOV A,0FFH ;置输入方式 MOV P1,AL1: MOV A,P1 ;输入键状态 CJNE A,#0FFH, L3 ;有键按下转L3 LCALL DELAY ;延时5mS,省略 SJMP L1L3: LCALL DELLAY ;延时5mS LCALL DELLAY ;延时5mS MOV A,P1 ;再读P1口 CJNE A,#0FFH ,L2 ;确实有键按下转L2 SJMP L1 ;误读键,返回L2: JNB ACC.0,TAB0 ;为0转0号键首地址 JNB ACC.1,TAB1 ;为1转1号键首地址 JN
4、B ACC.2,TAB2 ;为2转2号键首地址 JNB ACC.3,TAB3 ;为3转3号键首地址 电子接口技术lJNB ACC.4,TAB4;为4转4号键首地址lJNB ACC.5,TAB5;为5转5号键首地址lJNB ACC.6,TAB6;为6转6号键首地址lJNB ACC.7,TAB7;为7转7号键首地址lSJMP L1 ;再次读入键状态lTAB0: LJMP OPR0;转向0号键功能程序lTAB1: LJMP OPR1l.l lTAB7: LJMP OPR7l.l lOPR0:. ;0号键功能程序lLJMP START ;0号键程序执行完返回l l0PR7: . ;7号键功能程序l.
5、lLJMP START ;7号键程序执行完返回l 电子接口技术10.1.3 10.1.3 行列式键盘行列式键盘1行列式键盘电路的结构及原理 图10.3 单片机IO口组成的行列式键盘电子接口技术l 2键盘的工作方式 l(l)循环扫描方式l键盘扫描程序一般应具备下述几个功能: l判断键盘上有无键按下;l去除键的抖动影响;l扫描键盘,得到按下键的键号;l判别闭合的键是否释放。l图8-3中32个键的键值从左上角的数字“0”键对应为如下分布 : 00H,01H, 02H, 03H, 04H, 05H, 06H, 07H 08H,09H, 0AH, 0BH, 0CH, 0DH, 0EH, 0FH 10H,
6、11H, 12H, 13H, 14H, 15H, 16H, 17H 18H,19H, 1AH, 1BH, 1CH, 1DH, 1EH, 1FH电子接口技术l行线P2.0P2.3处于输入状态,列线P1.0P1.7为输出状态。按键设置在行、列线交点上,当某个键闭合时,则对应的行线和列线短路,行线输入即为列线输出。获取这32个键值时,P1口和P2口输出与输入的相应值为如下分布 :l 0 1 2 3 4 5 6 7 0 FEE FDE FBE F7E EFE DFE BFE 7FE8 FED FDD FBD F7D EFD DFD BFD 7FD 10 FEB FDB FBB F7B EFB DFB
7、BFB 7FB 18 FE7 FD7 FB7 F77 EF7 DF7 BF7 7F7 由以上分布可以总结出: 闭合键的键号值行首键号列号 例如,当P1口的输出为F7H(11110111B),即其第3列有输出,读出P2口低4位的值为0DH(1101B),说明是第1行与第3列相交的键闭合,则键号8311。电子接口技术l读键盘程序如下:lKEY: LCALL KS;调用KS判别有键按下吗?lJNZ K1;有键按下转移l LCALL DELAY ;无键按下,调延时子程序 l LJMP KEYlK1:LCALL DELAY ;加长延时时间,消除键抖动l LCALL DELAYl LCALL KS ;调用
8、KS子程序再次判别有无键闭合lJNZ K2 ;键按下,转逐列扫描lLJMP KEY ;误读键,返回lK2: MOV R2,0FEH ;首列扫描字送R2lMOV R4,00H ;首列号送R4lK3: MOV A,R2 lMOV P1,A ;列扫描字送P1口lMOV A,P2 ;读取行扫描值lJB ACC.0,L1;第0行无键按下,转查第1行lMOV A,00H;第0行有键按下,该行的行首键号0H送AlLJMP LK ;转求键号电子接口技术L1: JB ACC.1,L2 ;第1行无键按下,转查第2行MOV A,08H ;第1行有键按下,该行行首键号08H送A LJMP LK ;转求键号L2: JB
9、 ACC.2,L3 ;第2行无键按下,转查第3行MOV A,#l0H ;第2行有键按下,该行的行首键号 l0H送A LJMP LK ;转求键号L3: JB ACC.3,NEXT ;第3行无键按下,改查下一列 MOV A,18H ;第3行有键按下,该行的行首键号 ;l8H送ALK: ADD A,R4 ;形成键码送入A PUSH ACC ;键码入栈保护K4: LCALL DELAY LCALL KS ;等待键释放 JNZ K4 ;未释放,等待 POP ACC ;键释放,弹栈送ACC RET ;键扫描结束,返回电子接口技术lNEXT : INC R4 ;修改列号,指向下一列lMOV A,R2 lJN
10、B ACC.7,KEY ;第7位为0,已扫描完最高列转KEY RL A ;未扫描完,扫描字左移一 位,变为下列扫描字lMOV R2,A;扫描字暂存R2lLJMP K3 ;转下列扫描lKS: MOV A,0 lMOV P1, A;全扫描字00H送P1口lMOV A,P2 ;读入P2口行状态lCPL A ;变正逻辑,以高电平表示有键按下lANL A,0FH ;屏蔽高4位lRET ;出口状态:A0时有键按下 电子接口技术(2 2)中断工作方式)中断工作方式 l采用中断扫描工作方式可提高CPU的工作效率 。一种简易键盘接口如图10.5所示。图10.5 中断方式键盘电路电子接口技术l由于P1口为双向I/
11、O口,可以采用 “线路反转”法识别键值。步骤如下:l(1)P1.0P1.3输出0,由P1.4P1.7输入并保存数据到A中;l(2)P1.4P1.7输出0,由P1.0P1.3输入并保存数据到B中;l(3)A的高四位与B的低四位相或成为键码值;l(4)查表求得键号。电子接口技术l线路反转程序如下:lORG 0000HlLJMP STARTlORG 0003lLJMP FZH ;转读键值程序lORG 0030HlSTART:lMOV SP,#50Hl MOV P1,#0FHlMOV IE,#81H ;CPU和外部中断0开中断 llSJMP $lORG 0080H ;读键值中断程序lFZH :SETB
12、 RS0 ;选择第1组工作寄存器 l MOV P1,#0F0H ;设P1.0P1.3输出0lMOV A,P1 ;读P1口lANL A,#0F0H ;屏蔽低4位,保留高4位lMOV B,A ;P1.4P1.7的值存B电子接口技术l MOV P1,#0FH ;反转设置,设P1.4P1.7输出0l MOV A,P1lANL A,#0FH ;屏蔽高4位,保留低4位lORL A,B ;与P1.4P1.7的值相或,形成键码lMOV B,AlMOV R0,#00H ;置键号初值lMOV DPTR, #TAB;lLOOP: MOV A,R0lMOVC A,A+DPTR ;取键码值lCJNE A,B,NEXT2
13、 ;与按键值相比较,不相等,继续lSJMP RR0 ;相等返回,键码值在A中lNEXT2: INC R0 ;键值加1lCJNE R0,#10H,LOOP ;是否到最后一个键lRR0: CLR RS0 ;恢复第0组工作寄存器l RETI lTAB: DB 0EEH,0EDH,0EBH,0E7H ;0,1,2,3的键码值lDB 0DEH,0DDH,0DBH,0D7H ;4,5,6,7的键码值lDB 0BEH,0BDH,0BBH,0B7H ;8,9,10,11的键码值lDB 07EH,07DH,07BH,077H ;12,13,14,15的键码值电子接口技术 10.2 10.2 显示器接口显示器接口
14、 l10.2.1 概述显示器l10.2.2 LED显示器的结构与原理图10.6 “8”字型数码管电子接口技术l下面以共阴极数码管为例说明字形与字形码的关系。l对照图10-6(a)字段,字形码各位定义如下:lD7 D6 D5 D4 D3 D2 D1 D0lDP G f e d c b al数据位D0与a字段对应,D1与b字段对应,依此类推。参考图10-6(a)和(b)可以看出,如要显示“1”字形, b、c 2字段应点亮,所以对应的字形码为00000110B。电子接口技术10.2.3 LED10.2.3 LED静态显示方式静态显示方式 图10.7 静态显示电路电子接口技术l 显示子程序如下:l 功
15、能:把数据从显示缓冲区送到数码管。l 入口:要显示的数放在以DIS0为首的8个单元中。l 出口:把预置的数输出以更新原有的显示。lDIR: SETB RS0 ;保护第0组工作寄存器l PUSH ACC ;保护现场l PUSH DPHl PUSH DPLl MOV R2,08H ;显示8个数码管l MOV R0,DIS7 ;显示缓冲区末地址送入R0lDL0:MOV A,R0 ;取要显示的数作查表偏移量l MOV DPTR,TAB ;指向字形表首l MOVC A,ADPTR ;查表得字形码l MOV SBUF,A ;发送显示电子接口技术lDL1: JNB TI,DL1 ;等待发送完一帧l CLR
16、TI ;清中断标志,准备继续发送 l DEC RO;更新显示单元l DJNZ R2,DL0 ;重复显示所有数码管l CLR RS0 ;恢复使用第0组工作寄存器l POP DPL ;恢复现场l POP DPHl POP ACCl RETl TAB:DB 0COH,0F9H,0A4H,0BOH,99H ;0,1,2,3,4l DB 92H,82H,0F8H,80H,90H ;5,6,7,8,9 l DB 88H,83H,0C6H,0A1H,86H ;A,B,C,D,E l DB 8EH,0BFH,8CH,0FFH ;F,P,暗电子接口技术10.2.4 LED10.2.4 LED动态显示方式动态显示方式 l 图 10.8 扫描式显示电路电子接口技术 这种工作方式是分时轮流选通数码管的公共端,使得各个数码这种工作方式是分时轮流选通数码管的公共端,使得各个数码管轮流导通,即各数码管是由脉冲电流导电的(循环扫描一次的管轮流导通,即各数码管是由脉冲电流导电的(循环扫描一次的时间一般为时间一般为10ms10ms)。当所有数码管依次显示一遍后,软件控制循)。当所有数码管依次显示一遍后,软件控制循环,使每