荆楚工业大学键盘扫描显示实验原理与分析报告ofԺԺ计算机科学与技术学院计算机工程学院09计算机科学与技术1班21李亚义李勇等级班级学生名讲师2012年1月Ŀ¼一、摘要二、实验目的三、实验要求四、实验设备五、实验电路六、实验说明七、实验框图八、实验程序九、实验分析十、实验经验十一、参考文献一、当今SCM技术的内容越来越成熟,其灵活的硬件电路设计和软件设计,使SCM得到了广泛的应用,几乎从小型电子产品到大型工业控制,微控制器起了举足轻重的作用。角色。单片机在人们的生活中得到了广泛的应用。本文介绍了基于单片机的键盘扫描显示实验,从软件的角度详细论述了其实现过程,以及硬件接口的原理和实现。根据输出的列代码和读取的行代码,判断被按下了什么。按键,即有一个按钮时,扫描代码地址(0e101H)将逐列输出低电平,然后从行代码地址(0e103H)读回,了解读取键盘按键的原理,并且最简单的单片机接口原理二、实验目的:实验目的:1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段显示器的工作原理。 二、实验要求:实验要求:在先前的实验的基础上,使用实验仪器提供的键盘扫描电路和显示电路进行扫描键盘和数字显示实验,并将键码输入放在六个数字数码管。展示。实验程序可以分为三个模块:1、键输入模块:扫描键盘,一次读取键盘,然后将键值存储在键值缓冲单元中。 2、显示模块:在显示器上动态显示人机界面的内容。 3、主程序:呼叫键输入模块和显示模块。 三、实验设备:1、 Chaoxiang-3000TC综合实验设备2、 KEIL3、 1台计算机1 1̨1̨四、实验电路:实验电路:这里只是一个键盘草图,详细原理请参阅“ 8155键显示模块”。行代码(0e103H)列代码(0e101H)五、实验说明:实验说明:该实验仪器提供了一个6×4的小键盘,将低电平逐列输出到列扫描代码地址(0e101H),然后从行读回代码地址(0e103H)。如果按下一个键,则相应行的值应较低。如果未按任何键,则由于上拉功能,行代码为高。这样,输出列代码并读取Take the line code来确定按下了哪个键。判断按下某个键后,必须有一定的延迟以防止键盘晃动。列扫描代码还可以在分时时用作LED的位选通信号。

六、实验方框图:实验方框图:显示缓冲区初始化LED显示屏是否有按键输入?是,读取键值并将其转换为显示数据。主框图开始初始化地址参数输出列扫描信号列扫描信号移位读入行信号的列中是否有键输入?根据行和列计算键值否否检查表以获取键码扫描了6列?等待键盘释放并返回读键输入子程序框图七、实验程序如下:实验程序如下:STMOV 11H,R7键盘扫描实验equ 0e101h;位控制端口equ 0e102h;段控制端口(连接到164个时钟位),等于0e102h;段控制端口(连接到164个数据位)OUTBIT CLK164 DAT164INequ 0e103h;键盘读取条目ORG 0000H LJMP STAR; ================================================== ================================================== ================================================== ================================================== ================================================== ====== ============================================= = KEY1:MOV 13H,#06H MOV 12H,#20H KEY2:MOV A,12H CPL A MOV R7,A MOV DPTR,#0E101H MOV A,R7 MOVX @ DPTR,A MOV A,12H CLR C RRC A MOV 12H, MOV DPTR,#0E103H MOVX A,@ DPTR MOV R7,A MOV A,R7 CPL A MOV R7,A MOV A,R7 ANL A,#0FH MOV 14H,A DEC 13H MOV R7、13H MOV A,R7 JZ KEYDIS MOV A,14H JZ KEY2 KEYDIS:MOV A,14H JZ TESTKEY5 MOV A,13H ADD A,ACC ADD A,ACC MOV 13H,A MOV A,14H JNB ACC.1,TESTKEY INC 13H SJMP TESTKEY2 ;; ==== ====== =====================================;键盘扫描TESTKEY:MOV A,14H JNB ACC .2,TESTKEY1 INC 13H INC 13H SJMP TESTKEY2 TESTKEY1:MOV A,14H JNB ACC.3,TESTKEY2 MOV A,#03H ADD A,13H MOV 13H,A TESTKEY2:MOV DPTR, #0E101H CLR A MOVX @ DPTR,TE KEY3:MOV R7,#0AH LCALL MLOOP LCALL MLOOP4 MOV A,R7 JNZ TESTKEY3 MOV R7,13H MOV A,R 7 MOV DPTR,#0134H MOVC A,@ A + DPTR MOV R7 ,RET; ============================================== ================================================== ================================================== ================================================== ================================================== ========================================= TESTKEY4:DB 22H;“; == ================================================== TESTKEY5:MOV R7,#0FFH RET; ================ TESTKEY5: MOV R7,#0FFH RET; =========================================== ================================================== ================================================== ================================================== ============= ================================================== GETKEY:MOV 10H,#20H MOV 0EH,#00H GETKEY1:MOV A,0EH CLR C SUBB A,#06H JNC GOON2 MOV DPTR ,#0E101H CLR A MOVX @ DPTR,A MOV R7,0EH MOV A,#08HADD A,R7 MOV R0,A MOV A,@ R0 MOV R7,A MOV 0FH,#00H GETKEY2:MOV A,0FH CLR C SUBB A ,#08H JNC GOON1 MOV A,11H JNB ACC.7,KLOOP MOV DPTR,#0E102H MOV A,#01H MOVX @ DPTR,A SJMP KLOOP1 ;; ================ ============= ============ KLOOP:MOV DPTR,#0E102H CLR A MOVX @ DPTR,A KLOOP1:MOV DPTR,#0E102H MOVX A,@ DPTR MOV R7,A MOV A,R7 ORL A,#02H MOV R7,A MOV A,R7 MOVX @ DPTR,A MOV DPTR,#0E102H MOVX A,@ DPTR MOV R7,A MOV A,R7 ANL A,#0FDH MOV R7,A MOV A,R7 MOVX @ DPTR,A MOV A,11H ADD A,ACC MOV 11H,A INC 0FH SJMP GETKEY2 GOON1:MOV DPTR,#0E101H MOV A,10H MOVX @ DPTR,A MOV R7,#01HLCALL MLOOP MOV A,10H CLR C RRC A MOV 10H,A INC 0EH SJMP GETKEY1 GOON2:RET; ============================ ===========================================等待:MOV DPTR, #0E100H MOV A,#03H MOVX @ DPTR,A MOV 08H,#0FFH MOV 09H ,#0FFH MOV 0AH,#0FFH MOV 0BH,#0FFH MOV 0CH,#00H MOV 0DH,#00H WAIT1:LCALL GETKEY LCALL MLOOP4 MOV A,R7 JZ WAIT1 LCALL KEY1 MOV R6,#00H MOV R6,#00H MOV A, R7 ANL A,#0FH MOV R7,A MOV A,#24H ADD A,R7 MOV DPL,A MOV A,#01H ADDC A,R6 MOV DPH,A CLR A MOVC A,@ A + DPTR MOV R7,A MOV 0DH,R7 SJMP WAIT1 RET; =========================================== =============================== TAB:Q0124:DB 3FH,06H,5BH,4FH,66H,6DH,7DH, 07H;?。 [Ofm}。 Q012C:DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H; ow | 9 ^ yq Q0134:DB 00H,01H,04H,07H,0FH,02H,05H,08H; ... Q013C:DB 0EH,03H,06H,09H,0DH,0CH,0BH,0AH; ... Q0144 :DB 10H,11H,12H,13H,14H,15H,16H; ....... ;; ============================ ============================================= MLOOP: MOV 15H,R7 MLOOP1:MOV R7,15H DEC 15H MOV A,R7 JZ MLOOP3 MOV 16H,#64H MLOOP2:MOV A,16H JZ MLOOP1 DEC 16H SJMP MLOOP2 SJMP MLOOP1 MLOOP3:RET; ========= === =============================================== === ========= === MLOOP4:MOV DPTR,#0E101H CLR A MOVX @ DPTR,A MOV DPTR,#0E103H MOVX A,@ DPTR MOV R7,A MOV A,R7 CPL甲MOV R7,A MOV A,R7 ANL A,#0FH MOV R7,A RET; ================================================== ================================================== ================================================== ================================================== =================================================== =================== STAR:MOV R0,#7FH CLR A STAR1:MOV @ R0,A DJNZ R0,STAR1 MOV SP,#16H LJMP WAIT END; == ================================================== ================================================== ================================================== ================================================== ================================================== ================================================ 8 。实验分析:实验分析:1:主程序分析主程序执行步骤:主程序执行步骤:1:显示缓冲区初始化:2:LED显示3:确定是否有按键输入。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-373299-1.html
吃南方公司的食品的人都知道南方食品包装的很好
有谁更新了的求解