版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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显示接口技术显示接口技术共阴极和共阳极的段选码互为反码共阴极和共阳极的段选码互为反码 。显示字符显示字符共阴极共阴极段选码段选码共阳极共阳极段选码段选码显示字符显示字符共阴极共阴极段选码段选码共阳极共阳极段选码段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8E
4、H466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“灭灭”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
5、.1 LED显示接口技术显示接口技术例例5.1 按照前页电路按照前页电路,编写显示子程序,将编写显示子程序,将33H30H单元存储的单元存储的字符由高到低显示在四只数码管上。字符由高到低显示在四只数码管上。分析分析: 1.设置串口工作方式设置串口工作方式0,SCON初值为初值为00H。2.先发送高位数码管的段选码,先发送高位数码管的段选码, 后发送低位数码管的段选码。后发送低位数码管的段选码。3.段选码采用查表的方式获得。段选码采用查表的方式获得。DXM:MOVDPTR, #TAB;取段选码表首地址取段选码表首地址MOVC A,A+DPTR ;取段选码,变址寻址取段选码,变址寻址RETTAB:
6、 DB 0C0H,0F9H,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处于正常工作状态处于正常工作状态
7、MOV R0, #33H;首地址赋指针首地址赋指针MOVR1,#04H;显示显示4个数个数LP1:MOV A,R0 ;取待显示字符取待显示字符LCALL DXM;查段选码查段选码 MOV SBUF ,A;启动串行发送命令,输出段位码启动串行发送命令,输出段位码JNB TI, $;等待发送完毕等待发送完毕CLRTI;清发送完毕标志位清发送完毕标志位DECR0;指针减指针减1DJNZ R1,LP1;判断判断4位段选码是否全部输出位段选码是否全部输出RET;显示子程序:显示子程序:入口条件:待显示字符存于入口条件:待显示字符存于33H-30H单元中;单元中;出口条件:出口条件:占用资源:占用资源:R
8、0,R1,A。9.1 LED显示接口技术显示接口技术9.1.3 数码管的动态显示方式数码管的动态显示方式将所有显示位的段选码接在一起;将所有显示位的段选码接在一起;通过位选线选择某一时刻显示的位,时间单位一般取通过位选线选择某一时刻显示的位,时间单位一般取15ms;采用循环扫描的方法,实现多位显示。采用循环扫描的方法,实现多位显示。9.1 LED显示接口技术显示接口技术位选线的驱动位选线的驱动位选线为什么需要驱动?位选线为什么需要驱动?位选线如何驱动?位选线如何驱动?ULN20037位达林顿驱动器位达林顿驱动器ULN2003反相输出反相输出单路驱动能力单路驱动能力(吸入电流吸入电流)达达500
9、mA9.1 LED显示接口技术显示接口技术9.1 LED显示接口技术显示接口技术1.分析分析8155口地址口地址命令寄存器口地址命令寄存器口地址:EF00H;PA口寄存器口地址口寄存器口地址:EF01H;PB口寄存器口地址口寄存器口地址:EF02H;PC口寄存器口地址口寄存器口地址:EF03H;2.分析分析8155 命令字命令字PA口、口、 PB口为输出口;口为输出口;PC口未使用口未使用,假设为输入口;假设为输入口;命令字为命令字为03H。INIT8155: MOV DPTR, #0EF00H MOV A, #03H MOVXDPTR, A RET3. 8155 初始化程序初始化程序9.1
10、LED显示接口技术显示接口技术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中;中;出口条件:待显示字符的段选码存于出口条件:待显示字符的段选码存于A中;中;占用资源
11、:占用资源:DPRT,A。SCD:MOVDPTR, #0EF02H;指针指向指针指向8155的的PB口口MOVX DPTR, A;输出段选码到输出段选码到PB口口RET5.输出段选码子程序:输出段选码子程序:入口条件:待输出段选码存于入口条件:待输出段选码存于A中;中;占用资源:占用资源:DPTR9.1 LED显示接口技术显示接口技术6. 扫描一次扫描一次方法分析:方法分析:扫描扫描1次,每位数码管显示一次。次,每位数码管显示一次。以以1ms为间隔,顺序将为间隔,顺序将PA0到到PA5输出高电平。输出高电平。在某位输出高电平期间,相应输出该位的段选码。在某位输出高电平期间,相应输出该位的段选码
12、。入口条件:入口条件: 待显示字符存于待显示字符存于35H30H单元中单元中占用资源:占用资源: A, R0, R1,R2SCW:MOVDPTR, #0EF01H ; 8155的的PA口口MOVX DPTR, A ; 输出位选码输出位选码RET5.输出位选码子程序:输出位选码子程序:入口条件:待输出位选码存于入口条件:待输出位选码存于A中;中;占用资源:占用资源:DPTR注意:位选码的值总是只有注意:位选码的值总是只有1个位为个位为1。9.1 LED显示接口技术显示接口技术DISP:MOV R0, #30H;地址指针地址指针MOV R1, #01H;位选码位选码,从低位开始显示从低位开始显示M
13、OV R2,#06H;长度指针长度指针DP1: ;关显示关显示MOV A, R0;取待显示字符取待显示字符LCALL DXM;查表段选码查表段选码LCALL SCD;输出段选码输出段选码MOV A, R1LCALL SCW;输出位选码输出位选码INC R0;地址指针指向下一单元地址指针指向下一单元RL A;位选码指向高一位位选码指向高一位MOV R1, A;保存位选码保存位选码LCALL DELY1;延时延时1msDJNZ R2,DP1RET9.1 LED显示接口技术显示接口技术ORG0000HLJMP MAINORG0030HMAIN: MOV SP, #6FH;设置堆栈;设置堆栈LCALL
14、INIT8155;初始化;初始化8155MN1:LCALLDISP;输出显示字符;输出显示字符SJMPMN1;循环输出;循环输出7.主程序(反复调用扫描显示程序)主程序(反复调用扫描显示程序)6.延时延时1ms子程序子程序子程序子程序2:延时:延时1ms程序(程序(12M晶体)晶体)占用资源:占用资源:R6, R7DELY1:MOVR7, #02HDL1:MOVR6, #0FFHDJNZR6, $DJNZR7, DL1RET程序中哪些地方程序中哪些地方需要用堆栈?需要用堆栈?9.1 LED显示接口技术显示接口技术程序清单程序清单:1 主程序主程序2 子程序子程序18155初始化程序初始化程序3
15、 子程序子程序2延时延时1ms程序程序4 子程序子程序3查表段选码查表段选码5 子程序子程序4输出段选码输出段选码6 子程序子程序5输出位选码输出位选码7 子程序子程序6输出输出6位字符(扫描一次)位字符(扫描一次)9.2 键盘接口技术键盘接口技术9.2 键盘接口技术键盘接口技术9.2.1 键盘结构与工作原理键盘结构与工作原理键盘中每个按键都是一个常开开关键盘中每个按键都是一个常开开关按下键按下键S3,P1.7口为低电平口为低电平放开键放开键S3,P1.7口为高电平口为高电平9.2 键盘接口技术键盘接口技术由于机械触点的弹性作用,在闭合和断开按由于机械触点的弹性作用,在闭合和断开按键的瞬间,触
16、点会产生机械抖动,表现为键的瞬间,触点会产生机械抖动,表现为P1.7口出现一系列的脉冲信号。如右图所示。口出现一系列的脉冲信号。如右图所示。抖动时间的长短,由按键的机械特性决定,抖动时间的长短,由按键的机械特性决定,一般在一般在5ms10ms间。间。按键抖动的危害按键抖动的危害按键抖动的消除按键抖动的消除 硬件消除;硬件消除; 如:如: R-S双稳态触发器电路双稳态触发器电路 RC阻容滤波电路阻容滤波电路 软件消除,实际应用多。软件消除,实际应用多。在在CPU检测到有按键按下时,执行一个检测到有按键按下时,执行一个10ms的延时程序后,再次的延时程序后,再次判断该键电平是否保持闭合状态电平,如
17、保持闭合状态电平则确判断该键电平是否保持闭合状态电平,如保持闭合状态电平则确认为真正有键按下,从而消除抖动的影响。认为真正有键按下,从而消除抖动的影响。当当CPU检测到按键释放后,也要给一个检测到按键释放后,也要给一个10ms的延时,待后沿抖动的延时,待后沿抖动消失后才去执行该键的处理程序。消失后才去执行该键的处理程序。9.2 键盘接口技术键盘接口技术9.2.2 独立式键盘接口设计独立式键盘接口设计独立式按键是指各按键相互独立,独立式按键是指各按键相互独立,每个按键各接一个输入口。通过检每个按键各接一个输入口。通过检测输入口上的电平状态判断哪个键测输入口上的电平状态判断哪个键被按下。被按下。接
18、上拉电阻的目的是为了保证在接上拉电阻的目的是为了保证在按键断开时,各个输入口有确定的按键断开时,各个输入口有确定的高电平。高电平。每个按键需要占用一个输入口,每个按键需要占用一个输入口,不适合用于需要很多按键的场合。不适合用于需要很多按键的场合。9.2 键盘接口技术键盘接口技术KEY_START:MOV 30H,P1 ;读键盘状态并保存;读键盘状态并保存30H单元单元ANL 30H,#1FH;屏蔽高;屏蔽高3位位CJNE 30H,#1FH,NEXT;判断是否有键按下;判断是否有键按下SJMPKEY_STARTNEXT:LCALL D_10ms ;软件延时;软件延时10ms,消除抖动,消除抖动
19、MOV A,P1 ;再次读键盘状态;再次读键盘状态ANL A,#1FH;屏蔽高;屏蔽高3位位CJNE A,30H,KEY_START JNB ACC.0,KEY0JNB ACC.1,KEY1 JNB ACC.2,KEY2 JNB ACC.3,KEY3 JNB ACC.4,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
20、,$DJNZ R6,DLRET9.2 键盘接口技术键盘接口技术KP0: ;KEY0键按下的处理程序键按下的处理程序 LJMP KEY_STARTKP1: ;KEY1键按下的处理程序键按下的处理程序LJMP KEY_START;KP2: ;KEY2键按下的处理程序键按下的处理程序LJMP KEY_START;KP3: ;KEY3键按下的处理程序键按下的处理程序LJMP KEY_START;KP4: ;KEY4键按下的处理程序键按下的处理程序LJMP KEY_START;9.2 键盘接口技术键盘接口技术9.2.3 矩阵式键盘接口设计矩阵式键盘接口设计1. 矩阵式键盘结构矩阵式键盘结构 矩阵式键盘由
21、行线和列线构成矩阵式键盘由行线和列线构成 列线通过上拉电阻接到列线通过上拉电阻接到+5V 列线接到输入口上列线接到输入口上 行线接到输出口上行线接到输出口上 按键位于行、列的交叉点上按键位于行、列的交叉点上 适用于需要按键较多的场合适用于需要按键较多的场合2. 矩阵式键盘工作原理矩阵式键盘工作原理 无按键按下时无按键按下时,列线输入高电平列线输入高电平; 有按键按下时有按键按下时,列线输入电平由与此列线相连的行线电平决定列线输入电平由与此列线相连的行线电平决定.如果行线输出低电平如果行线输出低电平,则列线电平为低则列线电平为低如果行线输出高电平如果行线输出高电平,则列线电平为高则列线电平为高
22、为了确认按键位置,必须将行、列线配合使用。为了确认按键位置,必须将行、列线配合使用。3. 按键的识别方法(键扫描)按键的识别方法(键扫描) 首先行线全输出首先行线全输出0,判断是否有键按下。,判断是否有键按下。如果列线为全如果列线为全1,无按键按下,无按键按下如果列线非全如果列线非全1,有按键按下,有按键按下 然后,让行线然后,让行线P10输出输出0,其它三条行,其它三条行线输出线输出1,读列线状态。,读列线状态。如果列线为全如果列线为全1,第一行无按键按,第一行无按键按下,继续扫描。下,继续扫描。如果列线非全如果列线非全1,可以判断按键在第一行,再根据为,可以判断按键在第一行,再根据为0的列
23、线序号,的列线序号,可以确定按键具体的列号,停止扫描。可以确定按键具体的列号,停止扫描。 如果第一行无按键按下,让行线如果第一行无按键按下,让行线P11口输出口输出0,其它三条行线输出,其它三条行线输出1,读,读列线状态,判断按键是否在第二行。列线状态,判断按键是否在第二行。 如果第二行仍无按键按下,让行线如果第二行仍无按键按下,让行线P12口输出口输出0,其他三条行线输出,其他三条行线输出1,读列线状态,判断按键是否在第三行。读列线状态,判断按键是否在第三行。 如果第三行仍无按键按下,让行线如果第三行仍无按键按下,让行线P13口输出口输出0,其它三条行线输出,其它三条行线输出1,读列线状态,
24、判断按键是否在第四行。读列线状态,判断按键是否在第四行。9.2 键盘接口技术键盘接口技术9.2 键盘接口技术键盘接口技术;判断是否有按键按下;判断是否有按键按下KAP:MOVP1,#0F0HMOVA,P1ORLA,#0FHCPLARET;延时;延时10ms程序程序DELY:MOVR6,#14HDL:MOVR7,#0FFHDJNZR7,$DJNZ R6,DLRET4. 编程举例编程举例键值=行首键值+列号9.2 键盘接口技术键盘接口技术KINP:LCALL KAP;调用键盘查询程序;调用键盘查询程序JZKINP ;无键按下,继续查询;无键按下,继续查询KP1:LCALL DELY;延时;延时10
25、ms,消除抖动,消除抖动LCALL KAP;再次调用键盘查询程序;再次调用键盘查询程序JZKINP;无键按下,继续查询;无键按下,继续查询MOVR2,#0FEH;MOVR4,#00H;置第;置第0行行首键值行行首键值KP4:MOVP1,R2;置扫描行为;置扫描行为0MOVA,P1;读;读P1状态状态JBACC.4,L1;第;第0列不为列不为0,转测第,转测第1列列MOVA,#00H;列号存入;列号存入A中中AJMPKP5;停止扫描;停止扫描L1:JBACC.5,L2;第;第1列不为列不为0,转测第,转测第2列列MOVA,#01H;列号存入;列号存入A中中AJMPKP5;停止扫描;停止扫描L2:
26、JBACC.6,L3;第;第2列不为列不为0,转测第,转测第3列列MOVA,#02H;列号存入;列号存入A中中AJMPKP5;停止扫描;停止扫描L3:JBACC.7,NEXT;第;第3列不为列不为0,转测下一行,转测下一行MOVA,#03H;列号存入;列号存入A中中KP5:ADDA,R4;停止扫描,计算键值;停止扫描,计算键值R2 R4行0FE 0行1FD 4行2FB 8行3F7C键值=行首键值+列号9.2 键盘接口技术键盘接口技术PUSHA;保存键值;保存键值KP3:LCALL KAP;查询键是否释放;查询键是否释放JNZKP3;未释放,继续查询;未释放,继续查询LCALL DELYLCAL
27、L KAP;再次查询键是否释放;再次查询键是否释放JNZKP3POPA;弹出键值;弹出键值RETNEXT: MOVA,R2;扫描行指针赋给;扫描行指针赋给AJNBACC.3,KINP;扫描结束,未发现按键;扫描结束,未发现按键RLA;准备扫描下一行;准备扫描下一行MOVR2,A;置下一行行首键值MOVA, R4ADDA, #04HMOVR4, AAJMPKP4;转开始下一行扫描;转开始下一行扫描 执行完以上程序后,键值存放于累加器执行完以上程序后,键值存放于累加器A中。中。9.3 键盘显示接口专用芯片键盘显示接口专用芯片82798位并行接口位并行接口ZLG7289BI2C接口接口ZLG7290
28、CI2C接口接口BC7281二线串口二线串口BC7281A二线串口二线串口BC7281B二线串口二线串口MAX7219 三线串口三线串口MAX7221三线串口三线串口9.4 键盘显示接口专用芯片键盘显示接口专用芯片实验箱显示电路实验箱显示电路74HC1381.分析分析8155口地址口地址命令寄存器口地址命令寄存器口地址:1110_xxx1_xxxx_xx00B E100H;PA口寄存器口地址口寄存器口地址:1110_xxx1_xxxx_xx01B E101H;PB口寄存器口地址口寄存器口地址:1110_xxx1_xxxx_xx10B E102H;PC口寄存器口地址口寄存器口地址:1110_xx
29、x1_xxxx_xx11B E103H;2.分析分析8155 命令字命令字PA口、口、 PB口为输出口;口为输出口;PC口未使用口未使用,假设为输入口;假设为输入口;命令字为命令字为03H。INIT8155: 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 ;
30、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中;中;出口条件:待显示字符的段选码存于出口条件:待显示字符的段选码存于A中;中;占用资源:占用资源:DPRT,A。实验箱显示电路实验箱显示电路SHIFT: MOVR6, #08H;循环次数循环次数MOVDPTR, #E102H ;指针指向指针指向8155的的PB口寄存器口寄存器LP1:RLCAMOVR7, A;备份备份A中段选码中段选码MOVACC.0
31、, CCLRACC.1MOVX DPTR, A ;输出输出DAT, 输出输出CLK为为0,SETBACC.1MOVX DPTR, A ; DAT不变不变, 输出输出CLK为为1 ; DAT不变不变, 输出输出CLK为为0MOVA, R7;恢复恢复A中内容中内容DJNZ R6,LP1;判断判断8位是否移位完毕位是否移位完毕RET;5.输出一个字符的段选码输出一个字符的段选码 方法分析:方法分析:PB0逐位输出数据,逐位输出数据,PB1输出移位时钟;输出移位时钟; 入口条件:待显示字符的段选码存放在入口条件:待显示字符的段选码存放在A中;中; 占用资源:占用资源: A,R6,R7。实验箱显示电路实
32、验箱显示电路7.输出输出6位字符(扫描一次)位字符(扫描一次)方法分析:方法分析:扫描扫描1次,每位数码管显示一次。次,每位数码管显示一次。以以1ms为间隔,顺序将为间隔,顺序将PA0到到PA5输出高电平。输出高电平。在某位输出高电平期间,相应输出该位的段选码。在某位输出高电平期间,相应输出该位的段选码。入口条件:入口条件: 待显示字符存于待显示字符存于35H30H单元中单元中占用资源:占用资源: A, R0, R1实验箱显示电路实验箱显示电路SCW:MOVDPTR, #0EF01H ; 8155的的PA口口MOVX DPTR, A ; 输出位选码输出位选码RET5.输出位选码子程序:输出位选
33、码子程序:入口条件:待输出位选码存于入口条件:待输出位选码存于A中;中;占用资源:占用资源:DPTR注意:位选码的值总是只有注意:位选码的值总是只有1个位为个位为1。DISP:MOVR0, #30H;地址指针地址指针MOVR1, #01H;位选码位选码,从低位开始显示从低位开始显示DP1: ;关显示关显示MOVA, R0;取待显示字符取待显示字符LCALLDXM;查表段选码查表段选码LCALL SHIFT;移位输出段选码移位输出段选码MOVA, R1LCALLSCW ;输出位选码输出位选码INCR0;地址指针指向下一单元地址指针指向下一单元RLA;位选码指向高一位位选码指向高一位MOVR1,
34、A;保存位选码保存位选码LCALLDELY1;延时延时1msJNBACC.6, DP1RET实验箱显示电路实验箱显示电路ORG0000HLJMP MAINORG0030HMAIN: MOV SP, #6FH;设置堆栈;设置堆栈LCALLINIT8155;初始化;初始化8155MN1:LCALLDISP;输出显示字符;输出显示字符SJMPMN1;循环输出;循环输出9.主程序(反复调用扫描显示程序)主程序(反复调用扫描显示程序)8.延时延时1ms子程序子程序子程序子程序2:延时:延时1ms程序(程序(12M晶体)晶体)占用资源:占用资源:R6, R7DELY1:MOVR7, #02HDL1:MOV
35、R6, #0FFHDJNZR6, $DJNZR7, DL1RET程序中哪些地方程序中哪些地方需要用堆栈?需要用堆栈?实验箱显示电路实验箱显示电路程序清单程序清单:1 主程序主程序2 子程序子程序18155初始化程序初始化程序3 子程序子程序2延时延时1ms程序程序4 子程序子程序3查表段选码查表段选码5 子程序子程序4输出一个字符的段选码输出一个字符的段选码6 子程序子程序5输出输出6位字符(扫描一次)位字符(扫描一次)实验箱显示电路实验箱显示电路实验箱键盘与显示接口应用举例实验箱键盘与显示接口应用举例列行键码由键值查表得到键值=行首键值+列号R2R4行0FE0行1FD4行2FB8行3F7C行
36、4EF10行5DF14列0端口地址译码电路端口地址译码电路命令寄存器口地址命令寄存器口地址:E100HPA口寄存器口地址口寄存器口地址:E101HPB口寄存器口地址口寄存器口地址:E102HPC口寄存器口地址口寄存器口地址:E103H例:编写键盘扫描程序,并利用例:编写键盘扫描程序,并利用.1节的数码管动态显节的数码管动态显示程序,将被按下键的键码显示到个位数码管上。示程序,将被按下键的键码显示到个位数码管上。实验箱键盘与显示接口应用举例实验箱键盘与显示接口应用举例键盘显示扫描程序编写键盘显示扫描程序编写程序清单程序清单:1 子程序子程序6判断是否有键按下判断是否有键按下2 子程序子程序7键盘
37、扫描程序键盘扫描程序,确认按下的键确认按下的键3 主程序主程序 将按键码显示在数码管上将按键码显示在数码管上子程序子程序6:判断是否有键按下:判断是否有键按下占用资源:占用资源:AKeyTest:MOVDPTR, #0E101H;指向指向8155的的PA口寄存器口寄存器MOVA, #00HMOVXDPTR, A;列输出全列输出全0MOVDPTR, #0E103H;指向指向8155的的PC口寄存器口寄存器MOVX A , DPTR;读键值读键值ORLA, #0F0H;屏蔽高四位屏蔽高四位;全全0无按键无按键RET实验箱键盘与显示接口应用举例实验箱键盘与显示接口应用举例子程序子程序7:键盘扫描程序
38、:键盘扫描程序,确认按下的键确认按下的键 占用资源:占用资源:A, R2, R4KeyGet: MOVR2, #11111110B;行扫描码行扫描码MOVR4, #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, L3;第第2列无按键列无按键,跳到跳到L3MOVA, #02H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SILA 007-2022教室照明智能化规范
- T/SHPTA 101-2024车用压缩氢气塑料内胆碳纤维全缠绕气瓶湿法缠绕用环氧树脂
- 音乐制作人工作成果与效果考核表
- 2026年合作合同条款修改说明(8篇范文)
- 智能门锁远程控制故障排查方案指引
- 2026年劳动合同续签期限提醒通知函(4篇范文)
- 多功能家电连接与设置手册
- 跨境电商物流时效评估企业使用手册
- 漆器镶嵌装饰工安全实操竞赛考核试卷含答案
- 客运船舶驾驶员安全规程强化考核试卷含答案
- 中铝宁夏能源集团笔试题库
- 2026统考专升本英语:作文模版20篇
- 日本工业标准JIS-2
- 2026年交通运输局财务审计岗遴选专业知识测试
- 耳部全息铜砭刮痧法
- 麻醉科教研室工作制度
- 医院采购领导小组制度
- 儿童淋巴结肿大诊治共识
- 甘肃省医保政策培训课件
- 舞台灯光调试与安装施工方案
- 23G409先张法预应力混凝土管桩
评论
0/150
提交评论