版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章键盘、显示接口技术
7.1 键盘及其与计算机接口7.2 独立式按键接口设计7.3 矩阵式键盘接口设计7.4 LED显示器及接口设计7.5 LCD显示器及接口设计7.1键盘、显示与计算机接口
键盘输入数据和命令,显示用于计算机的状态、命令和计算结果。一、键盘单片机键盘有两种:一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高;另一种是非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。单片机系统中多采用非编码键盘。
二、显示器
1.LED显示器内部由发光二极管组成段显示。数码管结构又分为共阳极型和共阴极型。2.LCD液晶显示器常用的LCD可分为字符型和点阵型两大类。字符型可用来显示字符和数字,点阵型可用来显示汉字及图形。
7.2 独立式按键接口设计
一、独立式键盘接口电路1.接口与数据每个按键单独占有一根I/O2.接口引线。输入每根I/O接口引线的信号对应某个数据。图7-1独立连接式非编码键盘二、独立式按键接口程序设计键盘处理程序任务1)键输入检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。硬件电路消除抖动或软件消除抖动。2)键译码键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键0~9、字符键0AH~0FH、功能键10H~。3)键处理根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。延时等待10ms
仍有按键信号?Y
有按键信号?NYN键盘处理
按键释放?NY三、单键管理程序START:MOVA,#0FFH MOVP1,AMOVA,P1 JNBACC.0,P0F JNBACC.1,P1F JNBACC.2,P2FJNBACC.3,P3F JNBACC.4,P4F JNBACC.5,P5F JNBACC.6,P6F JNBACC.7,P7F JNPSTART POF:LJMPPL0P1F:LJMPPL1::P7F:LJMP PL7 PL0: … LJMP START PL1: …LJMP START:PL7: …LJMP START7.3矩阵式键盘由多条I/O接口引线组成矩阵式键盘。图7-2矩阵式键盘电路原理+5VD7D6D5I/OD4D3D2D1D01.扫描法列线输出,行线输入。列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。2.反转法行列线交换输入、输出,两步获取按键键号。3.中断扫描方式有按键按下时发出中断请求信号,提高CPU的效率。7.3.2矩阵式键盘工作方式1.扫描法图7-3矩阵式键盘电路图7-4键扫描子程序框图
设主程序已把8155初始化PA口基本输出口,PC口为基本输入口。KEY:LCALLKS JNZK1 LCALLDELAY AJMPKEY K1:LCALLDELAY LCALLDELAYLCALLKS JNZK2 AJMPKEY K2:MOVR2,#0FEHMOVR4,#00HK3:MOVDPTR,#PAMOVA,R2MOVX@DPTR,AINCDPTRINCDPTRMOVXA,@DPTR JBACC.0,L1 MOVA,#00H AJMPLK
L1:JBACC.1,L2 MOVA,#08H AJMPLK L2:JBACC.2,L3 MOVA,#20H AJMPLK L3:JBACC.3,NEXT MOVA,#18H LK:ADDA,R4 PUSHACC K4:LCALLDELAYLCALLKS JZK4 POPA RETNEXT:INCR4 MOVA,R2JNBACC.7,KEY RLA
MOVR2,A AJMPK3KS:MOVDPTR,#PA MOVA,#00H MOVX@DPTR,A INCDPTR INCDPTRMOVCA,@DPTR CPLA ANLA,#0FH RETDELAY:MOVR7,#0FFHLP0:MOVR6,#0FFHLP:NOPDJNZR6,LPDJNZR7,LP0 RET三、中断扫描方式
图7-5中断式键盘电路7.4 LED显示器及接口设计一、LED显示器结构和字段码关系
由发光二极管组成,不同的发光段亮,可组成不同字型,电流太大,耗电量大,电流太小,发光度不够,一般各管电流在10mA较合适。1.LED显示器结构
(Light-EmittingDiode)共阳极共阴极外形图图7-6LED结构2.7段LED字型码(段码)表7-1显示字形与段选码显示字形hgfedcba共阳极段选码共阴极段选码0123456789ABCDEF“灭”1100000011111001101001001011000010011010100100101000001011111000100000001001000010001000100000111100011010100001100001101000111011111111C0HF9HA4HB0H99H92H82HF8H80H90H88H83HC6HA1H86H8EHFFH3FH06H5BH4FH06H6DH7DH07H7FH6FH77H7CH39H5EH79H71H00H二、LED显示器接口
LED显示器用于显示工业控制参数、过程状态。
1.LED数码管 共阴极LED和共阳极LED
当LED字段引线与数据线连接,每个显示字形对应一个字形码。COM
P1.0~1.7MCS-51afbge
cdhabhabhCOMD7D6D5D4D3D2D1D0hgfedcba
显示程序任务:1)设置显示缓冲区,存放待显示数据。2)显示译码:程序存储器中建立字形码常数表,查表得出对应数据的字形码。3)输出显示:输出字形码到显示端口。例: MOVDPTR,#WTAB;指向字形码表首地址
MOVA,@R0 ;取显示缓冲区中数据
MOVCA,@A+DPTR;查表显示译码
MOVP1,A ;输出显示
… WTAB: DB 3FH,06H,5BH;字形码表 … COM
P1.0~1.7MCS-51afbge
cdhabh2.LED接口电路
显示多位数据的两种电路:
1)静态显示多位LED分别用一组8位字段口,各位LED公共端接地,分别输出显示不同字形。
abhCOMafbge
cdh
abhCOM
abhCOM显示多位数据的两种电路:2)动态显示COMhCOMD7…D1D0D0D1D2hbbhCOMafbge
cdhaaba
对应字位线:D0D1D2D3D4D5每个LED需要一个8位并行口多位LED共用一个8位字段口,各位LED公共端用字位口控制,扫描输出显示不同字形。显示缓冲区与多位LED对应关系:显示程序:DIS:MOVR0,#7AH ;指向显示缓冲区起始单元
MOVR3,#01H ;字位码初值→R3 MOV A,R3 ;取字位码DLP:MOVDPTR,#PAAR;指向字位口(PA口) MOVX@DPTR,A ;输出字位码,显示其中1位
MOV A,@R0 ;取一个显示数据
ADD A,#0CH ;查表偏移量
MOVCA,@A+PC ;取出字形码
INC DPTR ;指向字段口(PB口) MOVX@DPTR,A ;输出字形码
ACALLDLY1MS ;延时1ms INC R0 ;指向显缓区下一单元
MOV A,R3 ;修改字位码
RL A ;显示下一位
MOV R3,A JNB ACC.6,DLP;未显示到最右边LED,继续显示
RET ;全部扫描一遍,结束DTAB:DB0C0H,0F9H,0A4H;字形表
DB0B0H,99H, DLY1MS:… ;延时1ms子程序(3)多位静态显示方式及其接口电路
图7-7多位静态显示电路(4)多位动态显示方式及其接口电路
图7-8六位动态显示器接口图7-9多位动态程序流程图程序如下:
DIR: MOVR0,#79H MOVR3,#01H MOVA,R3 LD0:MOVDPTR,#0101H MOVX@DPTR,AINCDPTR MOVA,@R0 ADDA,@12H MOVCA,@A+PC MOVX@DPTR,A ACALLDLL INCR0 MOVA,R3JBACC.5,LD1 RLA MOVR3,A AJMPLD0LD1:RETDSEG:DB3FH,06H,5BH,4FH,66H,6DHDSEG1:DB7DH,07H,67H,77H,7CHDSEG2:DB39H,5EH,79H,71H,73H,3EHDSEG3:DB31H,6EH,1CH,23H,40H,03HDSEG4:DB18H,00H,00H,00HDL1:MOVR7,#02H DL:MOVR6,#0FFHDL6:DJNZR6,DL6 DJNZR7,DL RET7.5LCD显示器及接口设计一、LCD的原理与分类1.LCD的原理
LCD是一种被动显示器,本身不发光利用电场效应——液晶的扭曲向列效应具有功耗低,显示信息大,寿命长和抗干扰能力强等优点2.LCD的分类显示类型:笔段型、字符型点、阵图形型采光分类:自然采光、背光源采光驱动分类:静态驱动、动态驱动、双频驱动法
二、LCD液晶显示的接口技术
三、单片机与字符型LCD显示模块的连接方法
直接访问和间接访问两种
1.直接访问方式:把字符型液晶显示模块作为存储器或I/O接口设备直接连到单片机总线上。
2.间接控制方式:把字符型液晶显示模块作为终端设备连接到单片机的并行口上或使用扩展并行接口电路来连接。
图7-11直接访问方式例1HD44780初始化程序PR4:MOVR0,#INSADDMOVR2,#03H P41:MOVA,#30HMOVX@R0,AACALLT DJNZR2,P41MOVA,#00H MOVX@R0,AMOVR2,#01H ACALLPR1 MOVR2,#06H ACALLPR1MOVR2,#0EH ACALLPR1RET例2读忙标志BF和地址计数器AC值子程序A存储当前BF及AC值,ACC.7=BF,ACC.6~ACC.0=AC,程序为:PRO:MOVR0,#INSADD MOVXA,@R0 RET例3PR1写指令代码子程序,PR2写入数据子程序,PR3读数据子程序。PR1:MOVR0,#INSADD MOVXA,@R0JBACC.7,PR1 MOVA,R2MOVX@R0,A RETPR2:MOVR0,#INSADD MOVXA,@R0JBACC.7,PR2MOVR0,#DATADD MOVA,R2MOVX@R0,ARETPR3:MOVR0,#INSADD MOVXA,@R0JBACC.7,PR3MOVR0,#DATADDMOVXA,@R0RET图7-12间接方式控制电路及时序例7.4
读忙标志BF和地址计数器AC值子程序设A存储器BF及AC值,ACC.7=BF,ACC.6~ACC.0=AC程序如下:PR0:ANLP1,#00H P01:ORLP1,@04H MOVA,P1 ANLP1,#07H ANLA,#0F0H MOVR3,A ORLP1,#0F8H MOVA,P1 ANLP1,#00HANLA,#0F0H SWAPA ORLA,R3 RET例7.5写指令代码子程序设R2存储器指令代码PR1:ACALLPR0JBACC.7,PR1 P11:MOVA,R2 ANLA,#0F0H ORLP1,#08H ORLP1,A ANLP1,#0F7H ANLP1,#07H MOVA,R2SWAPA P12:ANLA,#0F0HORLR1,#08H ORLP1,A ANLP1,#0F7H ANLP1,#00HRET7.5.4内置式T6963C液晶显示驱动控制器图7-13T6963C指令写入流程图表7-2T6963C的指令表指令名称控制状态CDRDWR指令代码D7D6D5D4D3D2D1D0参数量运行时间读状态字101S7S6S5S4S3S2S1S0无-地址指针设置11000100N2N1N02状态检测显示区域设置110010000N1N02状态检测显示方式设置1101000CGN2N1N0无32/Fosc显示状态设置1101001N3N2N1N0无32/Fosc光标形状设置11011000N2N1N0无32/Fosc数据自动读写设置110101100N1N0无32/Fosc数据一次读写设置11011000N2N1N0132/Fosc屏读(一字节)设置11011100000无状态检测屏拷贝(一行)设置11011101000无状态检测位操作1101111N3N2N1N0无状态检测数据写操作010数据无状态检测数据读操作001数据无状态检测3.T6963C控制器的液晶显示模块的接口技术(1)直接访问方式
图7-14直接访问方式下接口电路图直接访问方式程序:
DAT1EQU 30H DAT2EQU 31H COMEQU 32H C_ADDEQU 8100H D_ADDEQU 8000H
;读状态字子程序
R_ST:MOVDPTR,#C_ADD MOVXA,@DPTR RET
;判状态位S1,SO子程序(读写指令和读写数据状态)
ST01:LCALLR_STJNBACC.0,ST01JNBACC.1,ST01RET
;判状态位S2子程序(数据自动读状态)
ST2: LCALLR_ST JNB ACC.2,ST2 RET
;判状态位S3子程序(数据自动写状态)
ST3:LCALLR_ST JNB ACC.3,ST3 RET
;判状态位S6子程序(屏读/屏拷贝状态)
ST6:LCALLR_ST JB ACC.6,ERR RETERR: LJMP ST6 ;写指令和写数据子程序PR1: LCALL ST01 MOV A,DAT1 LCALL PR13 PR11: LCALL ST01 MOV A,DAT2 LCALL PR13 PR12: LCALLST01 MOV A,COM LJMP PR14 PR13: MOV DPTR,#D_ADD PR14: MOVX @DPTR,A RET
;读数据子程序PR2:LCALL ST01 MOV DPTR,#D_ADD MOVX A,@DPTR MOV DAT2,A RET(2)间接控制方式
图7-15
间接控制方式下的接口电路图间接控制方式程序:
CD EQU P3.2 WR EQU P3.3 RD EQU P3.4
;读状态字子程序
R_ST:MOVP1,#OFFH SETBCD CLRRD MOV A,P1 SETB RD RET
;写指令和写数据子程序
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:CLR CD PR14:MOV P1,A CLR WR SETB WR RET
;读数据子程序PR2:LCALL ST01 CLR CD MOVP1,#OFFH CLRRD MOV A,P1 SETB RD MOV DAT2,A RET4.内置T6963C控制器型图形液晶显示模块的应用(1)初始化子程序初始化设置主要是对显示区域和显示方式的设置,其程序如下:
INT: MOVDAT1,#00H MOVDAT2,#00H MOVCOM,#40H LCALL PR1 MOV DAT1,#20H MOV DAT2,#00H MOV COM,#41H LCALL PR1 MOV DAT1,#00H MOV DAT2,#08H MOV COM,#42H LCALL PR1MOV DAT1,#20H MOV DAT2,#00H MOV COM,#43H LCALL PR1MOV COM,#OA7H LCALLPR12MOVCOM,#80H LCALLPR12MOVCOM,#9CH LCALL PR12RET
注:①为了计算地址方便,设置显示区域的宽度为20H②初始化完成后,开文本和图形显示。
(2)清显示存储器子程序
CLEAR: MOVDAT1,#00H MOVDAT2,#00H MOVCOM,#24H LCALLPR1MOVR3,#00H MOV R4,#20HMOVCOM,#OBOH LCALLPR12CLEAR1:LCALL ST3 MOVA,#OOH LCALL PR13 DJNZ R3,CLEAR1 DJNZ R4,CLEAR1MOV COM,#OB2H LCALL PR12RET(3)建立CGRAM子程序(地址设定在代码为80H起处)
建立CGRAM的步骤
1)在程序区内建立汉字字模表CGTAB;
2)汉字代码定义(以“清”=80H为例)
80H 汉字代码(表示汉字左上半部字模代码)
81H 隐含代码(表示汉字左下半部字模代码)
82H 隐含代码(表示汉字右上半部字模代码)
83H 隐含代码(表示汉字右下半部字模代码)
3)写入两个汉字的字模数据,设置COUNT值为8;
4)调用CGRAM子程序(4)在文本方式下显示汉字。
CODEEQU 33H O_Y EQU 35H O_XEQU 36H WRI_CT:MOV A,O_Y MOV B,#20H MUL AB ADD A,O_X MOV O_X,A MOV DAT1,A MOV A,B ADDCA,#00H MOV O_Y,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 MOV DAT2,A LCALL PR11 MOV A,#20H ADD A,0_X MOV DAT1,A CLR A ADDC A,0_Y MOV DAT2,A MOVCOM,#24H LCALL PR1 MOV A,CODE INC A MOV DAT2,A MOVCOM,#OC0H LCALL PR11 MOV A,CODE ADDA,#03H MOV DAT2,A LCALL PR11 RET7.5.5图形点阵液晶显示器(LCD)――TG12864A
图7-16TG12864A的结构框图3.模块外部接口外部接口信号如下表所示:管脚号管脚名称LEVER管脚功能描述1VSS0电源地2VDD5.0V电源电压3V05.0∽13V液晶显示器驱动电压4D/IH/LD/I=”H”,表示DB7∽DB0为显示数据D/I=”L”,表示DB7∽DB0为显示指令数据5R/WH/LR/W=”H”,E=”H”数据被读到DB7∽DB0R/W=”L”,E=”HL”,DB7∽DB0数据被写到IR或DR6EH/L使能信号,R/W=”L”,E信号下降沿锁存DB7∽DB0R/W=”H”,E=”H“,DDRAM数据读到DB7∽DB07DB0H/L数据总线8DB1H/L数据总线9DB2H/L数据总线10DB3H/L数据总线11DB4H/L数据总线12DB5H/L数据总线13DB6H/L数据总线14DB7H/L数据总线15CS1H/LH:选择TC1,即选择芯片64列(右半屏)信号16CS2H/LH:选择TC2,即选择芯片64列(右半屏)信号17RETH/L复位控制信号,低电平复位,RST=0有效18VEE-10VLED驱动负电压19LED+ACLED背光电源(+5V)20LED-ACLED背光电源(0V)指令指令码功能R/WD/TD7D6D5D4D3D2D1D0显示ON/OFF0000111111/0控制显示器的开关,不影响DDRAM中数据和内部状态显示起始行0011显示起始行(0……63)指定显示屏从DDRAM中哪一行开始显示数据显示X地址0010111X:0…7设置DDRAM页地址(X地址)显示Y地址0001Y地址(0……63)设置地址(Y地址)读状态10BUSY0ON/OFFRST0000读状态RST1:复位0:正常ON/OFF1:显示开0:显示关BUSY0:READY1:OPERATION写显示数据01显示数据将数据DB7∽DB0写入DDRAM读显示数据01显示数据将数据读入线数据DB7∽DB04.指令说明5.应用举例MSC-51单片机与液晶模块接口电路如图7-17所示
图7-178051与TG12864A的接口电路程序如下:(1)例行程序DIEQUP3.7EEQUP3.5RSTEQUP3.2 ORG0000HLJMPMAINORG0030HLJMPLINT0(2)显示的主程序MAIN:NOPCLREA CLRCS1 CLRCS2 CLRE LCALLINIT MOV34H,#0FFHLCALLDISPLAYALL LCALLDLY100 MOV34H,#00HLCALLDISPLAYALL LCALLPLYBW LCALLDLY100 MOVR1,#0C0H LCALLWRI MOV31H,#0 MOV30H,#0 MOV30H,#0 MOV31H,#8 MOVDPTR,#HZI7 LCALLOUTHZ MOV30H,#0 MOV31H,#40 MOVDPTR,#HZI8 LCALLOUTHZ MOV30H,#4 MOV31H,#16 MOVDPTR,#HZI2 LCALLOUTHZ MOV30H,#6 MOV31H,#0 MOVDPTR,#HZI3 LCALLOUTHZ MOV30H,#6 MOV31H,#16MOVDPTR,#HZI4 LCALLOUTHZ MOV30H,#6 MOV31H,#32 MOVDPTR,#HZI5 LCALLOUTHZ MOV30H,#6 MOV31H,#48 MOVDPTR,#HZI6 LCALLOUTHZ LCALLDLY100 LJMPMAINLINT0: NOPNOPRETI(3)初始化子程序INIT:CLRRST LCALLDLY100 LCALLDLY100 SETBRST MOVR1,#3FH LCALLWRI MOV34H,#00HLCALLDISPLAYALL RET(4)全黑屏子程序DISPLAYALL:MOVR1,#OC0H LCALLWRI MOVR7,#8 MOVR2,#0B8H LOP1:MOVA,R2 MOVR1,A LCALLWRI MOVR1,#40H LCALLWRI MOVR5,#64LOP11:MOVR1,34H LCALLWRD DJNZR5,LOP11 INCR2 DJNZR7,LOP1 RET(5)显示汉字子程序,其中30H=X(0-6)31H=Y(0-63-16)OUTHZ:MOVR1,#0C0H ;START=0,设置初始行
LCALLWRI ;写指令
MOVR7,#2MOVA,#0B8H ;从第0页开始扫描
ADDA,30H ;B8+XMOV30H,A ;A=30HHZ2:MOVA,R2MOVR1,30H ;X+1LCALLWRI ;写程序
MOVA,#40H
;YADDA,31H ;40+YMOV31H,AMOVR1,ALCALLWRI
;写指
MOVR5,#16HZI:MOVA,#00H ;A清零
MOVCA,@A+DPTR ;查字型表
MOVR1,ALCALLWRD ;读数据
LCALLDLY10 ;延时10msINCDPTR DJNZR5,HZI ;未到16则继续读同行字型表数据
INC30H ;行数加1DJNZR7,HZ2 ;左右屏都读完了则返回
RET(6)显示黑白相间块的程序PLYBW:MOVR1,#OC0H ;START=0,设置初始行
LCALLWRI ;写指令
MOV30H,#0 ;30H单元清零
MOV31H,#0 ;31H单元清零
MOVDPTR,#BW ;黑白屏表首地址
MOVR7,#8MOVA,#0B8H ;从第0页开始扫描
ADDA,30H ;B8+xMOV30H,A ;A>>30HHZ2BW:MOVR1,#64MOVA,#00HMOVCA,@A+DPTR ;查表
MOVR1,ALCALLWRD ;读数据
LCALLDLY10INCDPTRDJNZR7,HZ2BW ;8页都显示完了则返回
R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位礼品采购发放制度
- 上海思博职业技术学院《中医妇科》2025-2026学年期末试卷
- 上海杉达学院《临床药学》2025-2026学年期末试卷
- 山西警官职业学院《铁运输道收入管理》2025-2026学年期末试卷
- 上海外国语大学贤达经济人文学院《中国法律史》2025-2026学年期末试卷
- 徐州医科大学《工程地质》2025-2026学年期末试卷
- 上海政法学院《零售管理》2025-2026学年期末试卷
- 上海政法学院《工作研究与分析》2025-2026学年期末试卷
- 上海行健职业学院《中药药剂学》2025-2026学年期末试卷
- 邢台新能源职业学院《高频电子线路》2025-2026学年期末试卷
- 金融租赁项目经理招聘面试题及答案
- 2025湖南能源集团电投公司社招39人笔试模拟试题及答案解析
- 中建综合支吊架施工方案
- 人际交往小常识
- 员工出行及上下班交通安全培训教育课件
- 四川省党校在职研究生招生考试真题(附答案)
- 自贡市沿滩区邓太片区污水处理厂及配套管网工程项目环评报告
- DB44T 848-2010 工业锅炉水处理剂 腐植酸盐的测定
- 基于人工智能的止痛设备智能优化研究-洞察阐释
- 做账实操-建筑施工行业会计处理分录
- 肿瘤相关性肾病
评论
0/150
提交评论