1、1l键盘接口键盘接口lLED显示器接口显示器接口lLCD显示器接口显示器接口l8279专用键盘显示器专用键盘显示器28.1.1 键盘的工作原理和扫描方式键盘的工作原理和扫描方式键盘的结构:键盘的结构:1 1、独立式键盘、独立式键盘 独立式按键的每个键都有一根信号线与单片机电独立式按键的每个键都有一根信号线与单片机电路相连,所有按键有一个公共地或公共正端,每个键路相连,所有按键有一个公共地或公共正端,每个键相互独立互不影响。相互独立互不影响。32 2、矩阵式键盘、矩阵式键盘 矩阵式键盘的按键触点接于由行矩阵式键盘的按键触点接于由行列母线构成的列母线构成的矩阵电路的交叉处,每当一个键按下时通过该键
2、将矩阵电路的交叉处,每当一个键按下时通过该键将相应的行相应的行列母线连通。若在行列母线连通。若在行列母线中把行母列母线中把行母线逐行置线逐行置0(一种扫描方式),那么列母线就用来作(一种扫描方式),那么列母线就用来作信号输入线。信号输入线。P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0。+5V按键41 1、程序控制扫描方式程序控制扫描方式在主程序中用一段专在主程序中用一段专门的扫描和读键程序来检查有无键按下,并确门的扫描和读键程序来检查有无键按下,并确定键值。定键值。2 2、定时扫描方式定时扫描方式利用单片机内的定时器来利用单片机内的定时器来产生定时中断,然后在定时中断的服务
3、程序中产生定时中断,然后在定时中断的服务程序中扫描和读键,检查有无键按下,并确定键值。扫描和读键,检查有无键按下,并确定键值。3 3、中断扫描方式中断扫描方式当有键按下时由相应的硬当有键按下时由相应的硬件电路产生中断信号,单片机在中断服务程序件电路产生中断信号,单片机在中断服务程序中扫描和读键,再次检查有无键按下,并确定中扫描和读键,再次检查有无键按下,并确定键值。键值。51 1、用、用8155实现的键盘接口电路实现的键盘接口电路6 2 2、用、用82558255实现的键盘接口电路实现的键盘接口电路7键盘处理程序的步骤键盘处理程序的步骤l判断键盘中有无键按下。判断键盘中有无键按下。单片机先使单
4、片机先使8255A的的A口的各位口的各位PA0PA7均为低电平,再读均为低电平,再读C口口(PC0PC3)。若。若C口的各位不全为高电平口的各位不全为高电平,则表示有键按下。则表示有键按下。l消除抖动。消除抖动。先延时先延时10ms,然后再读,然后再读C口,此时,口,此时,若若C口各位仍不全为高电平,说明确实有键按口各位仍不全为高电平,说明确实有键按下。下。8l求键号。求键号。过程如下:先置过程如下:先置PA0PA00 0,PA1PA1PA7PA7均为均为1 1,再读,再读C C口,由口,由C C口低电平的位口低电平的位置便可确定按下键的位置。例如,若在置便可确定按下键的位置。例如,若在PA0
5、PA00 0时时PC0=0PC0=0,那么是,那么是0 0号键按下。键号键按下。键码值低码值低4 4位是键所在行号,高位是键所在行号,高4 4位是键所位是键所在列的号码。在列的号码。9扫描与读键程序:扫描与读键程序:(省略判断有无键按下、消除抖动程序段)省略判断有无键按下、消除抖动程序段)KEYBOARD:MOV R7,#4H ;扫描次数;扫描次数 MOV R6,#1H ;扫描信号初始量;扫描信号初始量 KEY1:MOV A,R6 CPL A ;该列扫描信号为低电平;该列扫描信号为低电平 MOV DPTR,#7FFDH ;7FFDH为为A口地址口地址 MOVX DPTR,A ;扫描状态送;扫描
6、状态送A口口 MOV DPTR,#7FFFH ;7FFFH为为C口地址口地址 MOVX A,DPTR ;读键读键 ANL A,#0FH ;取;取C口低四位状态口低四位状态 CJNE A,#0FH,KEY2;有键按下从有键按下从KEY2往下执行往下执行 AJMP KEY3 ;无键按下准备返回;无键按下准备返回10KEY2:XCH A,R5 ;C口低四位状态即行号存入口低四位状态即行号存入R5 MOV A,R6 CPL A ANL A,#0FH SWAP A ;列号存入;列号存入A的高四位的高四位 ADD A,R5 ;得到键的编码值;得到键的编码值 MOV DPTR,#KEYTAB MOVC A,
7、A+DPTR ;得到键值;得到键值 MOV R5,A AJMP KEY4KEY3:MOV A,R6 RL A MOV R6,A DJNZ R7,KEY1KEY4:RET KEYTAB:DB ;由键的编码查键值的数据表;由键的编码查键值的数据表11lLED显示器是由发光二极管构成的字段组成显示器是由发光二极管构成的字段组成的显示器的显示器l 分类:分类:8段和段和16段段LEDLED显示器显示器 l连接方法:共阴极和共阳极连接方法:共阴极和共阳极a ab bc cd de ef fg ga ab bc cd de ef fg gh hi ij jk kl lm mn n12静态显示静态显示需要显
8、示的字符的各字段连续通电,所显示需要显示的字符的各字段连续通电,所显示的字段连续发光。的字段连续发光。动态显示动态显示所需显示字段断续通以电流,在需要多个字所需显示字段断续通以电流,在需要多个字符同时显示时,可以轮流给每一个字符通以电流,逐次把符同时显示时,可以轮流给每一个字符通以电流,逐次把所需显示的字符显示出来。所需显示的字符显示出来。131.静态显示电路静态显示电路 1)1)、本身的静态端口(、本身的静态端口(P1口)或扩展的口)或扩展的IO端口直接与端口直接与LED电路连接;电路连接;2)2)、利用本身的串行端口、利用本身的串行端口TXD和和RXD与与LED电路连接电路连接(让串让串行
9、接口工作在方式行接口工作在方式0 0:RXDRXD串行串行I/OI/O、TXDTXD移位脉冲移位脉冲)。141.静态显示程序静态显示程序 DIR:SETB P3.3 MOV R7 ,#08H ;循环次数为循环次数为8次次 MOV R0 ,#6FH ;先送最后一个显示字符;先送最后一个显示字符DI0:MOV A ,R0 ;取显示的数据;取显示的数据 ADD A,#e ;加上字形码表的偏移量;加上字形码表的偏移量 MOVC A ,A+PC ;取字形码取字形码 MOV SBUF ,A ;送出显示送出显示DI1:JNB TI ,DIl ;查询输出完否查询输出完否?CLR TI DEC R0 DJNZ
10、R7,DI0 CLR P3.3 RET15TBT:DB 0C0H,0F9H,0A4HTBLl:DB 0B0H,99H,92HTBL2:DB 82H,0F8H,80HTBL3:DB 90H,00H,00H字型码表:字型码表:通过字符查到相应的通过字符查到相应的字型码。字型码。排列顺序:排列顺序:dp/g/f/e/d/c/b/a例如例如“0”的字型码,共阴的字型码,共阴极为极为3FH,共阳极为,共阳极为0C0H。dp.162动态显示电路动态显示电路 172.动态显示程序动态显示程序 DIRDIR:MOV R0 MOV R0,#6AH#6AH ;显示缓冲区首地址送显示缓冲区首地址送R0R0 MOV
11、R3 MOV R3,#01H#01H ;指向最右位;指向最右位 MOV A MOV A ,R3 R3 DIO:MOV DPTR DIO:MOV DPTR,#0101H#0101H ;DPTRDPTR指向指向8155PA8155PA口口 MOVX DPTRMOVX DPTR,A A INC DPTR INC DPTR MOV A MOV A ,R0R0 ADD A ,#12H ADD A ,#12H ;加上字形码表的偏移量;加上字形码表的偏移量 MOVC A ,A+PCMOVC A ,A+PC MOVX DPTR,A MOVX DPTR,A ACALI DELAY1 ACALI DELAY1 ;
12、调;调1ms1ms子程序子程序 INC R0INC R0 MOV A,R3 MOV A,R3 JB ACC.6,DI1 JB ACC.6,DI1 ;查;查6 6个显示位扫完否?个显示位扫完否?RL ARL A MOV R3,A MOV R3,A AJMP DI0 AJMP DI0DI1DI1:RETRET18CODE:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40H,03H DB 18H,00H,00H,00H;共阴极段码表;共阴极段码表
13、 END DELAY1:MOV R7,#02H;延时;延时1ms DE1:MOV R6,#0FFH DE2:DJNZ R6,DE2 DJNZ R7,DE1 RET19 用液晶制成的显示器是一种被动式显示器用液晶制成的显示器是一种被动式显示器件,液晶本身并不发光,而是借助自然光或外件,液晶本身并不发光,而是借助自然光或外来光源显示数码。来光源显示数码。201、LCD显示器的接口电路显示器的接口电路 SED1335 特点特点:(1)有较强功能的)有较强功能的I/O缓冲器;缓冲器;(2)指令功能丰富;)指令功能丰富;(3)四位数据并行发送,最大驱动能力为)四位数据并行发送,最大驱动能力为640256
14、点阵。点阵。21SED1335的电路原理图的电路原理图 22功能:功能:接收来自键盘的输入数据,并作预处理;接收来自键盘的输入数据,并作预处理;数据显示的管理和数据显示器的控制。数据显示的管理和数据显示器的控制。内部资源:内部资源:168显示数据显示数据RAM,每个单元寄存,每个单元寄存1个字符的个字符的8位显位显示代码,能将示代码,能将16个数据分时送到个数据分时送到16个显示器并显示出个显示器并显示出来。来。为显示数据为显示数据RAM输出同步扫描信号。通过命令字可输出同步扫描信号。通过命令字可选择显示器的选择显示器的4种工作方式即左端入、右端输入、种工作方式即左端入、右端输入、8位位字符显
15、示、字符显示、16位字符显示。位字符显示。8个字节的键盘个字节的键盘FIFO的的RAM(先入先出堆栈),每(先入先出堆栈),每按一次键按一次键8279便自动进行编码,并送便自动进行编码,并送FIFO RAM 中中。238279的内部原理图 241输出输入信号输出输入信号 DB0一一DB7:双向数据总线,用于传送命令字和数据。双向数据总线,用于传送命令字和数据。RL0一一RL7:键盘回送线,当某一个键闭合时变低电平键盘回送线,当某一个键闭合时变低电平,在选通输在选通输入方式下,这些输入端亦可用作入方式下,这些输入端亦可用作8位输入线位输入线;SL0SL3(扫描线):(扫描线):输出为键盘扫描线及
16、显示位控输出线;输出为键盘扫描线及显示位控输出线;OUTAOOUTA3,OUTB0OUTB3:显示寄存器输出线。显示寄存器输出线。SHIFT(换档信号):(换档信号):输入,高有效。该信号线用来扩充键开关输入,高有效。该信号线用来扩充键开关的功能。的功能。CNTL/STB(控制(控制/选通):选通):输入,高电平有效输入,高电平有效,在键盘工作方式时,在键盘工作方式时,作为控制功能键使用作为控制功能键使用,在选通方式时,该信号的上升沿可以将来在选通方式时,该信号的上升沿可以将来自自RL0-RL7的数据存入的数据存入FIFO存储器,在传感器方式,无效存储器,在传感器方式,无效;BD(消隐显示):
17、(消隐显示):输出,低有效。该输出信号在数字切换显示或输出,低有效。该输出信号在数字切换显示或使用显示消隐命令时,将显示消隐。使用显示消隐命令时,将显示消隐。252控制信号控制信号RD(读信号)和(读信号)和WR(写信号):(写信号):输入,低有效输入,低有效,使使8279数据缓冲数据缓冲器向外部总线发送数据或从外部总线接收数据;器向外部总线发送数据或从外部总线接收数据;CLK:外部时钟输入信号,外部时钟输入信号,8279设置定时器将外部时钟变为内部设置定时器将外部时钟变为内部时钟,其内部基频外部时钟定标器值时钟,其内部基频外部时钟定标器值CS,当,当CS=1时,时,信息的传送地址为片内命令字
18、寄存器,信息的传送地址为片内命令字寄存器,CS=0时,则传送的信时,则传送的信息将作为数据与息将作为数据与16X 8显示数据存贮器或显示数据存贮器或FIFO RAM进行交换,进行交换,其传送方向由其传送方向由RD或或WR确定;确定;A0:缓冲器地址线;缓冲器地址线;IRQ:中断请求线,高电平有效。在键盘工作方式下,若中断请求线,高电平有效。在键盘工作方式下,若FIFO传感器传感器RAM中有数则中有数则IRQ变高,经反相后向单片机请求中断。变高,经反相后向单片机请求中断。268.4.3 8279的键盘显示器电路的键盘显示器电路278.4.4 8279的设置的设置 8279共有八条命令:共有八条命
19、令:(1)键盘键盘/显示方式设置命令显示方式设置命令命令特征位:命令特征位:D7D6D5=000000DDKKK28001PPPPP010AIXAAA 29011AIAAAA(5)写显示写显示RAM命令命令 命令特征位:命令特征位:D7D6D5=100。100AIAAAA 30101XIWIWBLBL 110CDCDCDCFCA 31111EXXXX 32SET8279:MOV R0,#0EDH;命令字口地址送;命令字口地址送R0 MOV A,#25H MOVX R0,A MOV A,#0A0H MOVX R0,A MOV A,#10H MOVX R0,A MOV A,#90H;写显示;写显示
20、RAM,从,从0开始地址自动加开始地址自动加1 MOVX R0,A MOV A,#40H MOVX R0,A SJMP$33DISPLAY:MOV R7,#08H ;显示字符指针长度;显示字符指针长度 MOV R1,#060H MOV R0,#0ECHDIS01:MOV A,R1;显示字符送;显示字符送8279 MOVX R0,A INC R1 DJNZ R7,DIS01;没显示完循环显下一个;没显示完循环显下一个 RET34INT01:PUSH PSW PUSH ACC MOV R0,#0EDH MOV A,#40H MOVX R0,A MOV R0,#0ECH MOVX A,R0;读入一个键值;读入一个键值 ANL A,#03FH MOV R6,A LCALL KEYCODE;调用键代码处理子程序,获得键码;调用键代码处理子程序,获得键码 POP ACC POP PSW RETI