第7章键盘、显示接口技术(广东工业大学)_第1页
第7章键盘、显示接口技术(广东工业大学)_第2页
第7章键盘、显示接口技术(广东工业大学)_第3页
第7章键盘、显示接口技术(广东工业大学)_第4页
第7章键盘、显示接口技术(广东工业大学)_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 键盘、显示接口技术,7.1键盘及其与计算机接口,7.2独立式按键接口设计,7.3矩阵式键盘接口设计,7.4LED显示器及接口设计,7.5LCD显示器及接口设计,7.1 键盘、显示与计算机接口,键盘输入数据和命令,显示用于计算机的状态、命令和计算结果。 一、键盘 单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高; 另一种是非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘。,二、显示器,1. LED显示器 内部由发光二极管组成段显示。 数码管结构又分为共阳极型和共阴极型。 2. LCD液晶显示

2、器 常用的LCD可分为字符型和点阵型两大类。 字符型可用来显示字符和数字, 点阵型可用来显示汉字及图形。,7.2独立式按键接口设计一、独立式键盘接口电路,1. 接口与数据 每个按键单独占有一根I/O 2. 接口引线。 输入每根I/O接口引线的信号 对应某个数据。,图7-1 独立连接式非编码键盘,二、独立式按键接口程序设计,键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按 键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 2)键译码 键号为键盘位置码,根据键号查表 得出被按键的键值。键值:数字键09、 字符键0AH0FH、功能键10H 。 3)键处理 根据键值转

3、移到不同程序段。若键 值属于数字、字符键,则调用显示数字 和字符的子程序。若键值属于功能键, 则进行多分支转移,执行各个功能程序 段。,三、单键管理程序,START: MOV A, #0FFH MOV P1, A MOV A, P1 JNB ACC.0, P0F JNB ACC.1, P1F JNB ACC.2, P2F JNB ACC.3, P3F JNB ACC.4, P4F JNB ACC.5, P5F JNB ACC.6, P6F JNB ACC.7, P7F JNP START POF: LJMP PL0,P1F: LJMP PL1 : : P7F: LJMP PL7 PL0: LJ

4、MP START PL1: LJMP START : PL7: LJMP START,7.3 矩阵式键盘,由多条I/O接口引线组成矩 阵式键盘。,1. 扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若无按键,行线 输入全部为1。 2. 反转法 行列线交换输入、输出,两步获取按键键号。 3. 中断扫描方式 有按键按下时发出中断请求信号,提高CPU的效率。,7.3.2 矩阵式键盘工作方式,1. 扫描法,图7-3 矩阵式键盘电路,图7-4 键扫描子程序框图,设主程序已把8155初始化PA口基本输出口,PC口为基本输入口。 KEY: LCALL KS JNZ K1 LCALL

5、 DELAY AJMP KEY K1: LCALL DELAY LCALL DELAY LCALL KS JNZ K2 AJMP KEY K2: MOV R2, #0FEH MOV R4, #00H K3: MOV DPTR, #PA MOV A, R2 MOVX DPTR, A INC DPTR INC DPTR MOVX A, DPTR JB ACC.0, L1 MOV A, #00H AJMP LK,L1: JB ACC.1, L2 MOV A, #08H AJMP LK L2: JB ACC.2, L3 MOV A, #20H AJMP LK L3: JB ACC.3, NEXT MO

6、V A, #18H LK: ADD A, R4 PUSH ACC K4: LCALL DELAY LCALL KS JZ K4 POP A RET NEXT:INC R4 MOV A, R2 JNB ACC.7, KEY RL A,MOV R2, A AJMP K3 KS: MOV DPTR, #PA MOV A, #00H MOVX DPTR, A INC DPTR INC DPTR MOVC A, DPTR CPL A ANL A, #0FH RET DELAY:MOV R7, #0FFH LP0: MOV R6, #0FFH LP: NOP DJNZ R6, LP DJNZ R7, LP

7、0 RET,三、中断扫描方式,图7-5 中断式键盘电路,7.4LED显示器及接口设计,一、LED显示器结构和字段码关系 由发光二极管组成,不同的发光段亮,可组成不 同字型,电流太大,耗电量大,电流太小,发光度不 够,一般各管电流在10mA较合适。,1. LED显示器结构(Light-Emitting Diode),共阳极,共阴极,外形图,图7-6 LED结构,2. 7段LED字型码(段码),二、LED 显示器接口,LED显示器用于显示工业控制参数、过程状态。 1. LED数码管 共阴极LED和共阳极LED 当LED字段引线与数据线连接,每个显示字形对应一个字形码。,D7 D6 D5 D4 D3

8、 D2 D1 D0 h g f e d c b a,显示程序任务:,1)设置显示缓冲区,存放待显示数据。 2)显示译码:程序存储器中建立字形码常数表,查表得出对应数据的字形码。 3)输出显示:输出字形码到显示端口。,例: MOV DPTR,#WTAB ;指向字形码表首地址 MOV A,R0 ;取显示缓冲区中数据 MOVC A,A+DPTR ;查表显示译码 MOV P1,A ;输出显示 WTAB:DB3FH,06H,5BH ;字形码表 ,2. LED接口电路,显示多位数据的两种电路: 1)静态显示 多位LED分别用一组8位字段口,各位LED公共端接地, 分别输出显示不同字形。,显示多位数据的两种

9、电路: 2)动态显示,每个LED需要一个8位并行口,多位LED共用一个8位字段口,各位LED公共端用字位口控制,扫描输出显示不同字形。 显示缓冲区与多位LED对应关系:,显示程序:,DIS: MOV R0,#7AH ;指向显示缓冲区起始单元 MOV R3,#01H ;字位码初值R3 MOV A,R3 ;取字位码 DLP: MOV DPTR,#PAAR;指向字位口 (PA口) MOVX DPTR,A ;输出字位码,显示其中1位 MOV A,R0 ;取一个显示数据 ADD A,#0CH ;查表偏移量 MOVC A,A+PC ;取出字形码 INC DPTR ;指向字段口(PB口) MOVX DPTR

10、,A ;输出字形码 ACALL DLY1MS ;延时1ms INC R0 ;指向显缓区下一单元 MOV A,R3 ;修改字位码 RL A ;显示下一位 MOV R3,A JNB ACC.6,DLP ;未显示到最右边LED,继续显示 RET ;全部扫描一遍,结束 DTAB:DB 0C0H,0F9H,0A4H ;字形表 DB 0B0H,99H, DLY1MS: ;延时1ms子程序,(3)多位静态显示方式及其接口电路,图7-7 多位静态显示电路,(4)多位动态显示方式及其接口电路,图7-8 六位动态显示器接口,图79 多位动态程序流程图,程序如下:,DIR:MOV R0, #79H MOV R3,

11、#01H MOV A, R3 LD0: MOV DPTR,#0101H MOVX DPTR, A INC DPTR MOV A, R0 ADD A, 12H MOVC A, A+PC MOVX DPTR, A ACALL DLL INC R0,MOV A, R3 JB ACC.5, LD1 RL A MOV R3, A AJMP LD0 LD1: RET DSEG: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DSEG1: DB 7DH, 07H, 67H, 77H, 7CH DSEG2: DB 39H, 5EH, 79H, 71H,73H,3EH DSEG3: DB 31

12、H, 6EH,1CH, 23H,40H,03H DSEG4: DB 18H, 00H, 00H, 00H DL1: MOV R7, #02H DL: MOV R6, #0FFH DL6: DJNZ R6, DL6 DJNZ R7, DL RET,7.5 LCD显示器及接口设计,一、LCD的原理与分类 1. LCD的原理 LCD是一种被动显示器,本身不发光利用电场效应液晶的扭曲向列效应 具有功耗低,显示信息大,寿命长和抗干扰能力强等优点 2. LCD的分类 显示类型:笔段型 、字符型点、阵图形型 采光分类:自然采光、背光源采光 驱动分类:静态驱动、动态驱动、双频驱动法,二、LCD液晶显示的接口技

13、术,三、单片机与字符型LCD显示模块的连接方法,直接访问和间接访问两种 1. 直接访问方式:把字符型液晶显示模块作为存储 器或IO接口设备直接连到单片机总线上。 2. 间接控制方式:把字符型液晶显示模块作为终端 设备连接到单片机的并行口上或使用扩展并行接口电路 来连接。,图7-11 直接访问方式,例1 HD44780初始化程序 PR4 : MOV R0, #INSADD MOV R2, #03H P41 : MOV A, #30H MOVX R0, A ACALL T DJNZ R2, P41 MOV A, #00H MOVX R0, A MOV R2, #01H ACALL PR1 MOV

14、R2, #06H ACALL PR1 MOV R2, #0EH ACALL PR1 RET,例2 读忙标志BF和地址计数器AC值子程序A存储当前BF及AC值,ACC.7BF,ACC.6ACC.0=AC,程序为: PRO: MOV R0, #INSADD MOVX A, R0 RET,例3 PR1写指令代码子程序,PR2写入数据子程序,PR3读数据子程序。 PR1: MOV R0, #INSADD MOVX A, R0 JB ACC.7, PR1 MOV A, R2 MOVX R0, A RET PR2: MOV R0, #INSADD MOVX A, R0 JB ACC.7, PR2 MOV

15、R0, #DATADD MOV A, R2 MOVX R0, A RET PR3: MOV R0, #INSADD MOVX A, R0 JB ACC.7, PR3 MOV R0, #DATADD MOVX A, R0 RET,图7-12 间接方式控制电路及时序,例7.4 读忙标志BF和地址计数器AC值子程序 设A存储器BF及AC值,ACC.7=BF,ACC.6ACC.0=AC 程序如下: PR0: ANL P1, #00H P01: ORL P1, 04H MOV A, P1 ANL P1, #07H ANL A, #0F0H MOV R3, A ORL P1, #0F8H MOV A, P

16、1 ANL P1,#00H ANL A, #0F0H SWAP A ORL A , R3 RET,例7.5 写指令代码子程序 设R2存储器指令代码 PR1: ACALL PR0 JB ACC.7, PR1 P11: MOV A, R2 ANL A, #0F0H ORL P1,#08H ORL P1, A ANL P1, #0F7H ANL P1, #07H MOV A, R2 SWAP A P12: ANL A, #0F0H ORL R1, #08H ORL P1, A ANL P1, #0F7H ANL P1, #00H RET,7.5.4 内置式T6963C液晶显示驱动控制器,图7-13

17、T6963C指令写入流程图,3. T6963C控制器的液晶显示模块的接口技术,(1)直接访问方式,图7-14 直接访问方式下接口电路图,直接访问方式程序: DAT1 EQU 30H DAT2 EQU 31H COM EQU 32H CADD EQU 8100H DADD EQU 8000H ;读状态字子程序 RST: MOV DPTR,CADD MOVX A,DPTR RET ;判状态位S1,SO子程序(读写指令和读写数据状态) ST01: LCALL RST JNB ACC.0,ST01 JNB ACC.1,ST01 RET ;判状态位S2子程序(数据自动读状态) ST2: LCALL RS

18、T JNB ACC.2,ST2 RET ;判状态位S3子程序(数据自动写状态) ST3: LCALL RST JNB ACC.3,ST3 RET ;判状态位S6子程序(屏读屏拷贝状态) ST6: LCALL RST JB ACC.6,ERR RET ERR: LJMP ST6 ;写指令和写数据子程序,PR1: LCALL ST01 MOV A,DAT1 LCALL PR13 PR11:LCALL ST01 MOV A,DAT2 LCALL PR13 PR12:LCALL ST01 MOV A,COM LJMP PR14 PR13:MOV DPTR,DADD PR14:MOVXDPTR,A RE

19、T ;读数据子程序 PR2: LCALL ST01 MOV DPTR,DADD MOVX A,DPTR MOV DAT2,A RET,(2)间接控制方式,图7-15 间接控制方式下的接口电路图,间接控制方式程序: CD EQU P3.2 WR EQU P3.3 RD EQU P3.4 ;读状态字子程序 RST: MOV P1,OFFH SETB CD CLR RD MOV A,P1 SETB RD RET ;写指令和写数据子程序 PR1: LCALL ST01 MOV A,DAT1 LCALL PR13 PR11: LCALL ST01 MOV A,DAT2 LCALL PR13 PR12:

20、LCALL ST01 MOV A,COM,LJMP PR14 PR13: CLR CD PR14: MOV P1,A CLR WR SETB WR RET ;读数据子程序 PR2: LCALL ST01 CLR CD MOV P1,OFFH CLR RD MOV A,P1 SETB RD MOVDAT2,A RET,4.内置T6963C控制器型图形液晶显示模块的应用,(1)初始化子程序 初始化设置主要是对显示区域和显示方式的设置,其程序如下: INT: MOV DAT1,00H MOV DAT2,00H MOV COM,40H LCALL PR1 MOV DAT1,20H MOV DAT2,0

21、0H MOV COM,41H LCALL PR1 MOV DAT1,00H MOV DAT2,08H MOV COM,42H,LCALL PR1 MOV DAT1,20H MOV DAT2,00H MOV COM,43H LCALL PR1 MOV COM,OA7H LCALL PR12 MOV COM,80H LCALL PR12 MOV COM,9CH LCALL PR12 RET 注: 为了计算地址方便,设置显示区域的宽度为20H 初始化完成后,开文本和图形显示。,(2)清显示存储器子程序 CLEAR: MOV DAT1,00H MOV DAT2,00H MOV COM,24H LCAL

22、L PR1 MOV R3,00H MOV R4,20H MOV COM,OBOH LCALL PR12 CLEAR1: LCALL ST3 MOV A,OOH LCALL PR13 DJNZ R3,CLEAR1 DJNZR4,CLEAR1 MOV COM,OB2H LCALL PR12 RET,(3)建立CGRAM子程序(地址设定在代码为80H起处),建立 CGRAM的步骤 1)在程序区内建立汉字字模表CGTAB; 2)汉字代码定义(以“清”80H为例) 80H汉字代码(表示汉字左上半部字模代码) 81H隐含代码(表示汉字左下半部字模代码) 82H 隐含代码(表示汉字右上半部字模代码) 83H

23、 隐含代码(表示汉字右下半部字模代码) 3)写入两个汉字的字模数据,设置COUNT值为8; 4)调用CGRAM子程序,(4)在文本方式下显示汉字。 CODE EQU 33H OY EQU 35H OX EQU 36H WRICT: MOVA,OY MOV B, 20H MUL AB ADD A,OX MOV OX,A MOV DAT1,A MOV A,B ADDC A,00H MOV OY,A MOV DAT2,A MOV COM, 24H LCALL PR1 MOV A,CODE MOV DAT2,A MOV COM,OC0H LCALL PR11,MOV A,CODE ADD A,02H

24、MOV DAT2,A LCALL PR11 MOV A,20H ADD A,0X MOV DAT1,A CLR A ADDC A,0Y MOV DAT2,A MOV COM,24H LCALL PR1 MOV A,CODE INC A MOV DAT2,A MOV COM, OC0H LCALL PR11 MOV A,CODE ADD A,03H MOV DAT2,A LCALL PR11 RET,7.5.5 图形点阵液晶显示器(LCD)TG12864A,图7-16 TG12864A的结构框图,3模块外部接口 外部接口信号如下表所示:,4. 指令说明,5. 应用举例 MSC-51单片机与液晶模

25、块接口电路如图7-17所示,图7-17 8051与TG12864A的接口电路,程序如下: (1)例行程序 DI EQU P3.7 E EQU P3.5 RST EQU P3.2 ORG 0000H LJMP MAIN ORG 0030H LJMP LINT0,(2)显示的主程序 MAIN: NOP CLR EA CLR CS1 CLR CS2 CLR E LCALL INIT MOV 34H,#0FFH LCALL DISPLAY ALL LCALL DLY100 MOV 34H,#00H LCALL DISPLAY ALL LCALL PLYBW LCALL DLY100 MOV R1,#0

26、C0H LCALL WRI MOV 31H,#0,MOV 30H,#0 MOV 30H,#0 MOV 31H,#8 MOV DPTR,#HZI7 LCALL OUTHZ MOV 30H,#0 MOV 31H,#40 MOV DPTR,#HZI8 LCALL OUTHZ MOV 30H,#4 MOV 31H,#16 MOV DPTR,#HZI2 LCALL OUTHZ MOV 30H,#6 MOV 31H,#0 MOV DPTR,#HZI3 LCALL OUTHZ MOV 30H,#6 MOV 31H,#16,MOV DPTR,#HZI4 LCALL OUTHZ MOV 30H,#6 MOV 3

27、1H,#32 MOV DPTR,#HZI5 LCALL OUTHZ MOV 30H,#6 MOV 31H,#48 MOV DPTR,#HZI6 LCALL OUTHZ LCALL DLY100 LJMP MAIN LINT0:NOP NOP RETI,(3)初始化子程序 INIT: CLR RST LCALL DLY100 LCALL DLY100 SETB RST MOV R1,#3FH LCALL WRI MOV 34H,#00H LCALL DISPLAY ALL RET,(4)全黑屏子程序 DISPLAY ALL: MOV R1,#OC0H LCALL WRI MOV R7,#8 MO

28、V R2,#0B8H LOP1: MOV A,R2 MOV R1,A LCALL WRI MOV R1,#40H LCALL WRI MOV R5,#64 LOP11: MOV R1,34H LCALL WRD DJNZ R5,LOP11 INC R2 DJNZ R7,LOP1 RET,(5)显示汉字子程序,其中30H=X(0-6) 31H=Y(0-63-16) OUTHZ: MOV R1,#0C0H ;START=0,设置初始行 LCALL WRI ;写指令 MOV R7,#2 MOV A,#0B8H ;从第0页开始扫描 ADD A,30H ;B8+X MOV 30H,A ;A=30H HZ

29、2: MOV A,R2 MOV R1,30H ;X+1 LCALL WRI ;写程序 MOV A,#40H ;Y ADD A,31H ;40+Y MOV 31H,A MOV R1,A LCALL WRI ;写指 MOV R5,#16 HZI: MOV A,#00H ;A清零 MOVC A,A+DPTR ;查字型表 MOV R1,A LCALL WRD ;读数据 LCALL DLY10 ;延时10ms INC DPTR DJNZ R5,HZI ;未到16则继续读同行字型表数据 INC 30H ;行数加1 DJNZ R7,HZ2 ;左右屏都读完了则返回 RET,(6)显示黑白相间块的程序 PLYB

30、W: MOV R1,#OC0H ;START=0,设置初始行 LCALL WRI ;写指令 MOV 30H,#0 ;30H单元清零 MOV 31H,#0 ;31H单元清零 MOV DPTR,#BW ;黑白屏表首地址 MOV R7,#8 MOV A,#0B8H ;从第0页开始扫描 ADD A,30H ;B8+x MOV 30H,A ;A30H HZ2BW: MOV R1,#64 MOV A, #00H MOVC A,A+DPTR ;查表 MOV R1,A LCALL WRD ;读数据 LCALL DLY10 INC DPTR DJNZ R7,HZ2BW ;8页都显示完了则返回 RET,(7)写指

31、令子程序 WRI: CLR E;E信号下降沿有效 CLR DI ;显示指令数据 MOV P1,R1 LCALL DLY10 ;延时10ms CLR E LCALL DLY10 SETB E LCALL DLY10 CLR E LCALL DLY10 LCALL DLY10 LCALL DLY10 RET,(8)写数据子程序 WRD: CLR E;E信号下降沿有效 SETB DI ;显示数据 MOV P1,R1 LCALL DLY10 ;延时10ms CLR E LCALL DLY10 SETB E LCALL DLY10 CLR E LCALL DLY10 LCALL DLY10 LCALL

32、DLY10 RET,(9)延时子程序 DLY10: MOV R3,#01H ;延时10ms DL1: MOV R4,#01H DL2: MOV R6,#0FH DL3: DJNZ R6,DL3 DJNZ R4,DL2 DJNZ R3,DL1 RET DLY50: MOV R3,#04H ;延时50ms DL111: MOV R4,#0FH DL222: MOV R6,#0AFH DL333: DJNZ R6,DL333 DJNZ R4,DL222 DJNZ R3,DL111 RET DLY100: MOV R3,#06H ;延时100ms DL11: MOV R4,#0FFH DL22: MO

33、V R6,#0FFH DL33: DJNZ R6,DL33 DJNZ R4,DL22 DJNZ R3,DL11 RET ORG 0300H,WELCOM: DB 57H,65H,6CH,63H,6FH,6DH,65H,20H,20H,20H,20H DB 20H,20H,20H,20H,20H,20H,20H,20H,20H ORG 0320H TINSHARP: DB 54H,49H,53H,48H,41H,52H,50H,20H,4CH,43H,4DH,20H,20H DB 20H,20H,20H,20H,20H,20H ORG 0340H HZI1: DB 00H,0FCH,24H,24H,24H,0E4H,04H,3FH,0C4H,05H,0C6H,34H DB O4H,00H,00H,44H,43H,40H,78H,49H,4AH,79H,48H,7AH,44H DB 64H,47H,00H;盛 HZI2: DB 10H,0CH,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论