您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 按键识别和数码管显示微机系统实验
.Word文档1.设计内容用系统小键盘输入控制数码管的位移显示。2.设计目的掌握:“行扫描”按键识别的原理,掌握行扫描按键识别的编程设计技术。3:设计任务与要求用行扫描技术识别小键盘,将小键盘入得任意长度的有0~9组成的数字串,采用左移位显示的方法显示在数码管上(仿照移动电话显示屏的显示效果),当小键盘按下F键时,程序结束。4:设计思想1:程序中应设置七段码表和显示缓冲区,并调用显示子程序进行显示。该子程序访问显示缓冲区并进行数码显示。例如,若显示“0123”,则显缓内应置入数据0、1、2、3;当显缓中数据改为10、11、12、13时,可显示数码“AbCd”。由于实验中的数码管为共阴结构,且“段”和“位”分别采用74LS240反相驱动和7407同相驱动,故二者均低电平有效(点亮)。程序应采用共阳形式的七段码表(即“0”的七段码为0C0H)。2:用8255的C口作4*4键盘接口,采用行列反转法所示的硬件电路其行、列结构完全对称)识别按键,将按键键值(0~F)送串行口、以字符形式将它显示在PC机的屏幕上。注意,按键键值应转成ASCII码后再用INT14H的AH=1子功能上传到PC机进行显示。5:主要元器件介绍MUT—Ⅲ型实验箱,8086CPU模块,8255、LED数码管1、8255的内部结构数据总线缓冲器读/写控制部件A组控制部件B组控制部件A组端口A(8)A组端口C上半部(4)B组端口C上半部(4)B组端口B(8)双向数据总线D7~D0RDWRA1A0RESETCS8位内部数据总线I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB02、LED数码管.Word文档共阴极的情况下定义字形码:FECDBA98765432106:硬件连线1、实验接线CS0CS8255(地址为04A0H);PA0~PA7(输入)RL10~RL17(列选择线);PB0~PB7(输出)发光二极管LED-A~LED-DP;PC0~PC2(输出)KA10~KA12(行选择线)PC3(输出)LED14*4键盘.Word文档7:程序流程图8255的电路连接.Word文档.Word文档8:程序源代码.Word文档MY8255_AEQU0600HMY8255_BEQU0602HMY8255_CEQU0604HMY8255_CONEQU0606HSSTACKSEGMENTSTACKDW16DUP(?)SSTACKENDSDATASEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,3000HMOVAL,00HMOV[SI],AL;清显示缓冲MOV[SI+1],ALMOV[SI+2],ALMOV[SI+3],ALMOV[SI+4],ALMOV[SI+5],ALMOVDI,3005HMOVDX,MY8255_CON;写8255控制字MOVAL,81HOUTDX,ALBEGIN:CALLDIS;调用显示子程序CALLCLEAR;清屏CALLCCSCAN;扫描JNZINK1JMPBEGININK1:CALLDISCALLDALLYCALLDALLYCALLCLEARCALLCCSCANJNZINK2;有键按下,转到INK2JMPBEGININK2:MOVCH,0FEHMOVCL,00H.Word文档COLUM:MOVAL,CHMOVDX,MY8255_AOUTDX,ALMOVDX,MY8255_CINAL,DXL1:TESTAL,01H;isL1?JNZL2MOVAL,00H;L1JMPKCODEL2:TESTAL,02H;isL2?JNZL3MOVAL,04H;L2JMPKCODEL3:TESTAL,04H;isL3?JNZL4MOVAL,08H;L3JMPKCODEL4:TESTAL,08H;isL4?JNZNEXTMOVAL,0CH;L4KCODE:ADDAL,CLCALLPUTBUFPUSHAXKON:CALLDISCALLCLEARCALLCCSCANJNZKONPOPAXNEXT:INCCLMOVAL,CHTESTAL,08HJZKERRROLAL,1MOVCH,ALJMPCOLUMKERR:JMPBEGINCCSCAN:MOVAL,00HMOVDX,MY8255_AOUTDX,ALMOVDX,MY8255_CINAL,DXNOTALANDAL,0FHRET.Word文档CLEAR:MOVDX,MY8255_BMOVAL,00HOUTDX,ALRETDIS:PUSHAXMOVSI,3000HMOVDL,0DFHMOVAL,DLAGAIN:PUSHDXMOVDX,MY8255_AOUTDX,ALMOVAL,[SI]MOVBX,OFFSETDTABLEANDAX,00FFHADDBX,AXMOVAL,[BX]MOVDX,MY8255_BOUTDX,ALCALLDALLYINCSIPOPDXMOVAL,DLTESTAL,01HJZOUT1RORAL,1MOVDL,ALJMPAGAINOUT1:POPAXRETDALLY:PUSHCXMOVCX,0006HT1:MOVAX,009FHT2:DECAXJNZT2LOOPT1POPCXRETPUTBUF:MOVSI,DIMOV[SI],ALDECDICMPDI,2FFFHJNZGOBACKMOVDI,3005HGOBACK:RET.Word文档CODEENDSENDSTART
本文标题:按键识别和数码管显示微机系统实验
链接地址:https://www.777doc.com/doc-7219308 .html