《键盘与显示接口技术.ppt》由会员分享,可在线阅读,更多相关《键盘与显示接口技术.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理及接口技术单片机原理及接口技术第第9章键盘与显示接口技术章键盘与显示接口技术本章学习要求:本章学习要求:1.1.掌握数码管显示原理、电路连接及编程;掌握数码管显示原理、电路连接及编程;2.2.掌握键盘工作原理、电路连接及编程。掌握键盘工作原理、电路连接及编程。9.1 LED显示接口技术显示接口技术9.1 LED显示接口技术显示接口技术由由LED构成的构成的3种显示部件种显示部件指示灯指示灯数码管数码管点阵屏点阵屏LED:Light Emiting Diode电路符号电路符号:9.1 LED显示接口技术显示接口技术9.1.1 数码管结构及显示原理数码管结构及显示原理数码管由数码管由8个
2、发光二极管(以下简称段)构成,通过不同的组个发光二极管(以下简称段)构成,通过不同的组合可用来显示数字合可用来显示数字0 9、部分字符、符号、部分字符、符号“”及小数点及小数点“”。数码管的外形结构如图所示。数码管的外形结构如图所示。数码管又分为共阴极和共阳极两种结构。数码管又分为共阴极和共阳极两种结构。9.1 LED显示接口技术显示接口技术COM P1.01.7 MCS-51a f b g e c d dpabh将公共阴极接地将公共阴极接地,在在ag各段的阳极上加不同的电压,就会使各段的阳极上加不同的电压,就会使各段的发光情况不同,形成不同的发光字符。各段的发光情况不同,形成不同的发光字符。
3、D7D6D5D4D3D2D1D0dpgfedcba段选码的位定义段选码的位定义R段码表段码表:段选码的值与显示字符的对应关系段选码的值与显示字符的对应关系.“8”:共阴极段选码的值为共阴极段选码的值为7FH;共阳极段选码的值为共阳极段选码的值为80H.9.1 LED显示接口技术显示接口技术共阴极和共阳极的段选码互为反码共阴极和共阳极的段选码互为反码。显显示字符示字符共阴极共阴极段段选码选码共阳极共阳极段段选码选码显显示字符示字符共阴极共阴极段段选码选码共阳极共阳极段段选码选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H
4、99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“灭灭”00FFHB7CH83H9.1 LED显示接口技术显示接口技术9.1.2 数码管的静态显示方式数码管的静态显示方式将公共阴极接地或公共阳极接电源,将公共阴极接地或公共阳极接电源,段码接一段码接一8位并行输出口。位并行输出口。需要占用大量的输出端口。需要占用大量的输出端口。a b hCOM a b hCOM a b hCOMa f b g e c d h 9.1 LED显示接口技术显示接口技术D0D79.1 LED显
5、示接口技术显示接口技术例例5.1 按照前页电路按照前页电路,编写显示子程序,将编写显示子程序,将33H30H单元存储的单元存储的字符由高到低显示在四只数码管上。字符由高到低显示在四只数码管上。分析分析:1.设置串口工作方式设置串口工作方式0,SCON初值为初值为00H。2.先发送高位数码管的段选码,先发送高位数码管的段选码,后发送低位数码管的段选码。后发送低位数码管的段选码。3.段选码采用查表的方式获得。段选码采用查表的方式获得。DXM:MOVDPTR,#TAB;取段选码表首地址取段选码表首地址MOVC A,A+DPTR;取段选码,变址寻址取段选码,变址寻址RETTAB:DB 0C0H,0F9
6、H,0A4H,0B0H,99H ;0,1,2,3,4DB92H,82H,0F8H,80H,90H ;5,6,7,8,9DB88H,83H,0C6H,0A1H,86H,8EH;A,b,C,d,E,F查段选码子程序:查段选码子程序:入口条件:待显示字符存于入口条件:待显示字符存于A中;中;出口条件:待显示字符的段选码存于出口条件:待显示字符的段选码存于A中;中;占用资源:占用资源:DPRT,A。9.1 LED显示接口技术显示接口技术DISP:MOV SCON,#00H;串口初始化方式串口初始化方式0 SETB P1.0;74HC164处于正常工作状态处于正常工作状态MOV R0,#33H;首地址赋
7、指针首地址赋指针MOVR1,#04H;显示显示4个数个数LP1:MOV A,R0 ;取待显示字符取待显示字符LCALL DXM;查段选码查段选码 MOV SBUF,A;启动串行发送命令,输出段位码启动串行发送命令,输出段位码JNB TI,$;等待发送完毕等待发送完毕CLRTI;清发送完毕标志位清发送完毕标志位DECR0;指针减指针减1DJNZ R1,LP1;判断判断4位段选码是否全部输出位段选码是否全部输出RET;显示子程序:显示子程序:入口条件:待显示字符存于入口条件:待显示字符存于33H-30H单元中;单元中;出口条件:出口条件:占用资源:占用资源:R0,R1,A。9.1 LED显示接口技
8、术显示接口技术9.1.3 数码管的动态显示方式数码管的动态显示方式将所有显示位的段选码接在一起;将所有显示位的段选码接在一起;通过位选线选择某一时刻显示的位,时间单位一般取通过位选线选择某一时刻显示的位,时间单位一般取15ms;采用循环扫描的方法,实现多位显示。采用循环扫描的方法,实现多位显示。9.1 LED显示接口技术显示接口技术位选线的驱动位选线的驱动位选线为什么需要驱动?位选线为什么需要驱动?位选线如何驱动?位选线如何驱动?ULN20037位达林顿驱动器位达林顿驱动器ULN2003反相输出反相输出单路驱动能力单路驱动能力(吸入电流吸入电流)达达500mA9.1 LED显示接口技术显示接口
9、技术74HC1389.1 LED显示接口技术显示接口技术1.分析分析8155口地址口地址命令寄存器口地址命令寄存器口地址:1110_xxx1_xxxx_xx00B E100H;PA口寄存器口地址口寄存器口地址:1110_xxx1_xxxx_xx01B E101H;PB口寄存器口地址口寄存器口地址:1110_xxx1_xxxx_xx10B E102H;PC口寄存器口地址口寄存器口地址:1110_xxx1_xxxx_xx11B E103H;2.分析分析8155 命令字命令字PA口、口、PB口为输出口;口为输出口;PC口未使用口未使用,假设为输入口;假设为输入口;命令字为命令字为03H。INIT81
10、55:MOV DPTR,#0E100H MOV A,#03H MOVXDPTR,A RET3.8155 初始化程序初始化程序DXM:MOVDPTR,#TAB;取段选码表首地址取段选码表首地址MOVC A,A+DPTR;取段选码,变址寻址取段选码,变址寻址RETTAB:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;0,1,2,3,4,5,6,7 DB 7fh,6fh,77h,7ch,39h,5eh,79h,71h,0 ;8,9,A,b,C,d,E,F,灭灭4.查段选码子程序:查段选码子程序:入口条件:待显示字符存于入口条件:待显示字符存于A中;中;出口条件:待显示字符的
11、段选码存于出口条件:待显示字符的段选码存于A中;中;占用资源:占用资源:DPRT,A。9.1 LED显示接口技术显示接口技术9.1 LED显示接口技术显示接口技术SHIFT:MOVR6,#08H;循环次数循环次数MOVDPTR,#E102H;指针指向指针指向8155的的PB口寄存器口寄存器LP1:RLCAMOVR7,A;备份备份A中段选码中段选码MOVACC.0,CCLRACC.1MOVX DPTR,A;输出输出DAT,输出输出CLK为为0,SETBACC.1MOVX DPTR,A;DAT不变不变,输出输出CLK为为1MOVXMOVX DPTR,A DPTR,A;DAT不变不变,输出输出CLK
12、为为0MOVA,R7;恢复恢复A中内容中内容DJNZ R6,LP1;判断判断8位是否移位完毕位是否移位完毕RET;5.输出一个字符的段选码输出一个字符的段选码 方法分析:方法分析:PB0逐位输出数据,逐位输出数据,PB1输出移位时钟;输出移位时钟;入口条件:待显示字符的段选码存放在入口条件:待显示字符的段选码存放在A中;中;占用资源:占用资源:A,R6,R7。9.1 LED显示接口技术显示接口技术6.输出输出6位字符(扫描一次)位字符(扫描一次)方法分析:方法分析:扫描扫描1次,每位数码管显示一次。次,每位数码管显示一次。以以1ms为间隔,顺序将为间隔,顺序将PA0到到PA5输出高电平。输出高
13、电平。在某位输出高电平期间,相应输出该位的段选码。在某位输出高电平期间,相应输出该位的段选码。入口条件:入口条件:待显示字符存于待显示字符存于35H30H单元中单元中占用资源:占用资源:A,R0,R19.1 LED显示接口技术显示接口技术DISP:MOVR0,#30H;地址指针地址指针MOVR1,#01H;位选码位选码,从低位开始显示从低位开始显示DP1:MOVMOVDPTR,#0E101HDPTR,#0E101H;指针指向指针指向8155的的PA口寄存器口寄存器MOVMOVA,#00HA,#00HMOVXMOVX DPTR,ADPTR,A;关显示关显示MOVA,R0;取待显示字符取待显示字符
14、LCALLDXM;查表段选码查表段选码LCALL SHIFT;移位输出段选码移位输出段选码MOVDPTR,#0E101H;指向指向8155的的PA口寄存器口寄存器MOVA,R1MOVX DPTR,A;输出位选码输出位选码INCR0;地址指针指向下一单元地址指针指向下一单元RLA;位选码指向高一位位选码指向高一位MOVR1,A;保存位选码保存位选码LCALLDELY1;延时延时1msJNBACC.6,DP1RET9.1 LED显示接口技术显示接口技术ORG0000HLJMP MAINORG0030HMAIN:MOV SP,#6FH;设置堆栈;设置堆栈LCALLINIT8155;初始化;初始化81
15、55MN1:LCALLDISP;输出显示字符;输出显示字符SJMPMN1;循环输出;循环输出8.主程序(反复调用扫描显示程序)主程序(反复调用扫描显示程序)7.延时延时1ms子程序子程序子程序子程序2:延时:延时1ms程序(程序(12M晶体)晶体)占用资源:占用资源:R6,R7DELY1:MOVR7,#02HDL1:MOVR6,#0FFHDJNZR6,$DJNZR7,DL1RET程序中哪些地方程序中哪些地方需要用堆栈?需要用堆栈?9.1 LED显示接口技术显示接口技术程序清单程序清单:1 主程序主程序2 子程序子程序18155初始化程序初始化程序3 子程序子程序2延时延时1ms程序程序4 子程
16、序子程序3查表段选码查表段选码5 子程序子程序4输出一个字符的段选码输出一个字符的段选码6 子程序子程序5输出输出6位字符(扫描一次)位字符(扫描一次)9.2 键盘接口技术键盘接口技术9.2 键盘接口技术键盘接口技术9.2.1 键盘结构与工作原理键盘结构与工作原理键盘中每个按键都是一个常开开关键盘中每个按键都是一个常开开关按下键按下键S3,口为低电平口为低电平放开键放开键S3,口为高电平口为高电平9.2 键盘接口技术键盘接口技术由于机械触点的弹性作用,在闭合和断开按由于机械触点的弹性作用,在闭合和断开按键的瞬间,触点会产生机械抖动,表现为键的瞬间,触点会产生机械抖动,表现为口出口出现一系列的脉
17、冲信号。如右图所示。现一系列的脉冲信号。如右图所示。抖动时间的长短,由按键的机械特性决定,抖动时间的长短,由按键的机械特性决定,一般在一般在5ms10ms间。间。按键抖动的危害按键抖动的危害按键抖动的消除按键抖动的消除 硬件消除;硬件消除;如:如:R-S双稳态触发器电路双稳态触发器电路 RC阻容滤波电路阻容滤波电路 软件消除,实际应用多。软件消除,实际应用多。在在CPU检测到有按键按下时,执行一个检测到有按键按下时,执行一个10ms的延时程序后,再次的延时程序后,再次判断该键电平是否保持闭合状态电平,如保持闭合状态电平则确判断该键电平是否保持闭合状态电平,如保持闭合状态电平则确认为真正有键按下
18、,从而消除抖动的影响。认为真正有键按下,从而消除抖动的影响。当当CPU检测到按键释放后,也要给一个检测到按键释放后,也要给一个10ms的延时,待后沿抖动的延时,待后沿抖动消失后才去执行该键的处理程序。消失后才去执行该键的处理程序。9.2 键盘接口技术键盘接口技术9.2.2 独立式键盘接口设计独立式键盘接口设计独立式按键是指各按键相互独立,独立式按键是指各按键相互独立,每个按键各接一个输入口。通过检每个按键各接一个输入口。通过检测输入口上的电平状态判断哪个键测输入口上的电平状态判断哪个键被按下。被按下。接上拉电阻的目的是为了保证在接上拉电阻的目的是为了保证在按键断开时,各个输入口有确定的按键断开
19、时,各个输入口有确定的高电平。高电平。每个按键需要占用一个输入口,每个按键需要占用一个输入口,不适合用于需要很多按键的场合。不适合用于需要很多按键的场合。9.2 键盘接口技术键盘接口技术KEY_START:MOV 30H,P1 ;读键盘状态并保存;读键盘状态并保存30H单元单元ANL 30H,#1FH;屏蔽高;屏蔽高3位位CJNE 30H,#1FH,NEXT;判断是否有键按下;判断是否有键按下SJMPKEY_STARTNEXT:LCALL D_10ms ;软件延时;软件延时10ms,消除抖动,消除抖动 MOV A,P1 ;再次读键盘状态;再次读键盘状态ANL A,#1FH;屏蔽高;屏蔽高3位位
20、CJNE A,30H,KEY_START ,KEY0,KEY1 ,KEY2 ,KEY3 ,KEY4SJMP KEY_START KEY0:LJMP KP0;KEY1:LJMP KP1;KEY2:LJMP KP2;KEY3:LJMP KP3;KEY4:LJMP KP4为什么不直接跳到为什么不直接跳到KP0;延时;延时10ms程序程序D_10ms:MOVR6,#14HDL:MOVR7,#0FFHDJNZR7,$DJNZ R6,DLRET9.2 键盘接口技术键盘接口技术KP0:;KEY0键按下的处理程序键按下的处理程序 LJMP KEY_STARTKP1:;KEY1键按下的处理程序键按下的处理程序L
21、JMP KEY_START;KP2:;KEY2键按下的处理程序键按下的处理程序LJMP KEY_START;KP3:;KEY3键按下的处理程序键按下的处理程序LJMP KEY_START;KP4:;KEY4键按下的处理程序键按下的处理程序LJMP KEY_START;9.2 键盘接口技术键盘接口技术9.2.3 矩阵式键盘接口设计矩阵式键盘接口设计1.矩阵式键盘结构矩阵式键盘结构矩阵式键盘由行线和列线构成矩阵式键盘由行线和列线构成列线通过上拉电阻接到列线通过上拉电阻接到+5V列线接到输入口上列线接到输入口上行线接到输出口上行线接到输出口上按键位于行、列的交叉点上按键位于行、列的交叉点上适用于需要
22、按键较多的场合适用于需要按键较多的场合2.矩阵式键盘工作原理矩阵式键盘工作原理无按键按下时无按键按下时,列线输入高电平列线输入高电平;有按键按下时有按键按下时,列线输入电平由与此列线相连的行线电平决定列线输入电平由与此列线相连的行线电平决定.如果行线输出低电平如果行线输出低电平,则列线电平为低则列线电平为低如果行线输出高电平如果行线输出高电平,则列线电平为高则列线电平为高为了确认按键位置,必须将行、列线配合使用。为了确认按键位置,必须将行、列线配合使用。3.按键的识别方法(键扫描)按键的识别方法(键扫描)4.首先行线全输出首先行线全输出0,判断是否有键按下。,判断是否有键按下。如果列线为全如果
23、列线为全1,无按键按下,无按键按下如果列线非全如果列线非全1,有按键按下,有按键按下然后,让行线然后,让行线P10输出输出0,其它三条行,其它三条行线输出线输出1,读列线状态。,读列线状态。如果列线为全如果列线为全1,第一行无按键按,第一行无按键按下,继续扫描。下,继续扫描。如果列线非全如果列线非全1,可以判断按键在第一行,再根据为,可以判断按键在第一行,再根据为0的列线序号,的列线序号,可以确定按键具体的列号,停止扫描。可以确定按键具体的列号,停止扫描。如果第一行无按键按下,让行线如果第一行无按键按下,让行线P11口输出口输出0,其它三条行线输出,其它三条行线输出1,读,读列线状态,判断按键
24、是否在第二行。列线状态,判断按键是否在第二行。如果第二行仍无按键按下,让行线如果第二行仍无按键按下,让行线P12口输出口输出0,其他三条行线输出,其他三条行线输出1,读列线状态,判断按键是否在第三行。读列线状态,判断按键是否在第三行。如果第三行仍无按键按下,让行线如果第三行仍无按键按下,让行线P13口输出口输出0,其它三条行线输出,其它三条行线输出1,读列线状态,判断按键是否在第四行。读列线状态,判断按键是否在第四行。9.2 键盘接口技术键盘接口技术9.2 键盘接口技术键盘接口技术;判断是否有按键按下;判断是否有按键按下KAP:MOVP1,#0F0HMOVA,P1ORLA,#0FHCPLARE
25、T;延时;延时10ms程序程序DELY:MOVR6,#14HDL:MOVR7,#0FFHDJNZR7,$DJNZ R6,DLRET4.编程举例编程举例键值=行首键值+列号9.2 键盘接口技术键盘接口技术KINP:LCALL KAP;调用键盘查询程序;调用键盘查询程序JZKINP;无键按下,继续查询;无键按下,继续查询KP1:LCALL DELY;延时;延时10ms,消除抖动,消除抖动LCALL KAP;再次调用键盘查询程序;再次调用键盘查询程序JZKINP;无键按下,继续查询;无键按下,继续查询MOVR2,#0FEH;从第从第从第从第0 0行开始扫描行开始扫描行开始扫描行开始扫描MOVR4,#
26、00H;置第;置第0行行首键值行行首键值KP4:MOVP1,R2;置扫描行为;置扫描行为0MOVA,P1;读;读P1状态状态,L1;第;第0列不为列不为0,转测第,转测第1列列MOVA,#00H;列号存入;列号存入A中中AJMPKP5;停止扫描;停止扫描L1:,L2;第;第1列不为列不为0,转测第,转测第2列列MOVA,#01H;列号存入;列号存入A中中AJMPKP5;停止扫描;停止扫描L2:,L3;第;第2列不为列不为0,转测第,转测第3列列MOVA,#02H;列号存入;列号存入A中中AJMPKP5;停止扫描;停止扫描L3:,NEXT;第;第3列不为列不为0,转测下一行,转测下一行MOVA,
27、#03H;列号存入;列号存入A中中KP5:ADDA,R4;停止扫描,计算键值;停止扫描,计算键值R2 R4行0FE 0行1FD 4行2FB 8行3F7C键值=行首键值+列号9.2 键盘接口技术键盘接口技术PUSHA;保存键值;保存键值KP3:LCALL KAP;查询键是否释放;查询键是否释放JNZKP3;未释放,继续查询;未释放,继续查询LCALL DELYLCALL KAP;再次查询键是否释放;再次查询键是否释放JNZKP3POPA;弹出键值;弹出键值RETNEXT:MOVA,R2;扫描行指针赋给;扫描行指针赋给A,KINP;扫描结束,未发现按键;扫描结束,未发现按键RLA;准备扫描下一行;
28、准备扫描下一行MOVR2,AADDADDR4R4,#04H#04H;置下一行行首键值MOVA,R4ADDA,#04HMOVR4,AAJMPKP4;转开始下一行扫描;转开始下一行扫描执行完以上程序后,键值存放于累加器执行完以上程序后,键值存放于累加器A中。中。9.3 键盘与显示接口应用举例键盘与显示接口应用举例列行键码由键值查表得到键值=行首键值+列号R2R4行0FE0行1FD4行2FB8行3F7C行4EF10行5DF14列09.3 键盘与显示接口应用举例键盘与显示接口应用举例端口地址译码电路端口地址译码电路命令寄存器口地址命令寄存器口地址:E100HPA口寄存器口地址口寄存器口地址:E101H
29、PB口寄存器口地址口寄存器口地址:E102HPC口寄存器口地址口寄存器口地址:E103H例:编写键盘扫描程序,并利用例:编写键盘扫描程序,并利用.1节的数码管动态显节的数码管动态显示程序,将被按下键的键码显示到个位数码管上。示程序,将被按下键的键码显示到个位数码管上。9.3 键盘与显示接口应用举例键盘与显示接口应用举例键盘显示扫描程序编写键盘显示扫描程序编写程序清单程序清单:1 子程序子程序6判断是否有键按下判断是否有键按下2 子程序子程序7键盘扫描程序键盘扫描程序,确认按下的键确认按下的键3 主程序主程序 将按键码显示在数码管上将按键码显示在数码管上子程序子程序6:判断是否有键按下:判断是否
30、有键按下占用资源:占用资源:AKeyTest:MOVDPTR,#0E101H;指向指向8155的的PA口寄存器口寄存器MOVA,#00HMOVXDPTR,A;列输出全列输出全0MOVDPTR,#0E103H;指向指向8155的的PC口寄存器口寄存器MOVX A,DPTR;读键值读键值ORLA,#0F0H;屏蔽高四位屏蔽高四位CPLCPLA A;全全0无按键无按键RET9.3 键盘与显示接口应用举例键盘与显示接口应用举例子程序子程序7:键盘扫描程序:键盘扫描程序,确认按下的键确认按下的键 占用资源:占用资源:A,R2,R4KeyGet:MOVR2,#11111110B;行扫描码行扫描码MOVR4
31、,#00H;置第置第0行首键值行首键值KG1:MOVDPTR,#0E101H;指向指向8155的的PA口寄存器口寄存器MOVA,R2MOVXDPTR,A;一行输出一行输出0,其它行输出其它行输出1MOVDPTR,#0E103H;指向指向8155的的PC口寄存器口寄存器MOVXA,DPTR;读键值读键值JBACC.0,L1;第第0列无按键列无按键,跳到跳到L1MOVA,#00H;保存列号保存列号,准备计算键值准备计算键值LJMPKG2L1:JBACC.1,L2;第第1列无按键列无按键,跳到跳到L2MOVA,#01H;保存列号保存列号,准备计算键值准备计算键值LJMPKG2L2:JBACC.2,L
32、3;第第2列无按键列无按键,跳到跳到L3MOVA,#02H;保存列号保存列号,准备计算键值准备计算键值LJMPKG2L3:JBACC.3,NEXT;第第3列无按键列无按键,跳到扫描下一行跳到扫描下一行MOVA,#03H;保存列号保存列号,准备计算键值准备计算键值KG2:ADDA,R4;停止扫描停止扫描,计算键值计算键值R2R4行0FE0行1FD4行2FB8行3F7C行4EF10行5DF149.3 键盘与显示接口应用举例键盘与显示接口应用举例MOVDPTR,#TAB1MOVC A,A+DPTR;按照键值查表得到键码按照键值查表得到键码PUSH ACC;保存键码保存键码WaitRelease:LC
33、ALLLCALLDISPDISPLCALL KeyTest;判断是否有键按下判断是否有键按下JNZJNZ WaitRelease WaitReleaseLCALL DISP;调用显示程序调用显示程序,延时延时6ms,消除抖动,消除抖动LCALL KeyTest;再次判断是否有键按下再次判断是否有键按下JNZJNZ WaitRelease WaitReleasePOPACCKeyGetEND:RETNEXT:MOVA,R2;扫描行指针扫描行指针JNBACC.5,NEXT1;判断判断6行是否全部扫描完行是否全部扫描完RLA;行扫描码左移行扫描码左移MOVR2,AMOVMOVA,R4A,R4ADDA
34、DDA,#04A,#04;置下一行首键值置下一行首键值MOVMOVR4,AR4,ALJMPKG1;开始扫描下一行开始扫描下一行NEXT1:MOVA,#24;未扫描到按键返回键码未扫描到按键返回键码24LJMP KeyGetENDTAB1:DB0,1,4,7,0FH,2,5,8,0EH,3,6,9,0DH,0CH,0BH,0AH;键码表键码表键码表键码表DB16,17,18,19,20,21,229.3 键盘与显示接口应用举例键盘与显示接口应用举例按键显示主程序按键显示主程序MAIN:MOVSP,#6FHLCALL INIT8155;8155初始化初始化MOV30H,#0FFH;初始化缓冲区初始
35、化缓冲区,显示显示00008.MOV31H,#00HMOV32H,#00HMOV33H,#00HMOV34H,#00HMOV35H,#00HMAIN1:LCALL DISP;显示显示LCALL KeyTest;判断是否有键按下判断是否有键按下JZJZ MAIN1 MAIN1;无键按下无键按下,继续循环继续循环LCALL DISP;显示显示,延时延时6msLCALL KeyTest;再次判断是否有键按下再次判断是否有键按下JZJZ MAIN1 MAIN1;无键按下无键按下,继续循环继续循环LCALLLCALLKeyGetKeyGet;扫描键盘扫描键盘,得到键码得到键码PUSHACC;保存键码保存
36、键码CLRCLRC CSUBBA,#16;显示小于显示小于15的键码的键码JNCMAIN1POPACC弹出键码弹出键码MOV30H,A;键码写入显示缓冲区键码写入显示缓冲区LJMPMAIN19.4 键盘显示接口专用芯片键盘显示接口专用芯片82798位并行接口位并行接口ZLG7289BI2C接口接口ZLG7290CI2C接口接口BC7281二线串口二线串口BC7281A二线串口二线串口BC7281B二线串口二线串口MAX7219 三线串口三线串口MAX7221三线串口三线串口9.4 键盘显示接口专用芯片键盘显示接口专用芯片作业作业1按照课件按照课件中数码管动态显示的电路连接,编写程序,将中数码管
37、动态显示的电路连接,编写程序,将6位位数组成的各自班号显示到数码管。数组成的各自班号显示到数码管。2按照课件按照课件中数码管动态显示的电路连接,编写程序,将中数码管动态显示的电路连接,编写程序,将6位位数组成的各自班号闪烁显示到数码管,数组成的各自班号闪烁显示到数码管,1秒种亮秒种亮/1秒钟灭。秒钟灭。9.1 LED显示接口技术显示接口技术1.分析、整理、抄写节键盘扫描程序分析、整理、抄写节键盘扫描程序,实现将被按下键的键实现将被按下键的键值实时显示到个位数码管上。值实时显示到个位数码管上。2.按照按照 节的键盘显示接口电路,设计程序,实现通过键盘输节的键盘显示接口电路,设计程序,实现通过键盘输入入6位数的班号,并实时显示到数码管上。输入从个位开位数的班号,并实时显示到数码管上。输入从个位开始,数码管闪烁显示当前输入的位置。(选做)始,数码管闪烁显示当前输入的位置。(选做)9.3 键盘与显示接口应用举例键盘与显示接口应用举例