实验六键盘显示控制实验_第1页
实验六键盘显示控制实验_第2页
实验六键盘显示控制实验_第3页
实验六键盘显示控制实验_第4页
实验六键盘显示控制实验_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六键盘显示控制实验一、实验目的1.掌握8279键盘显示电路的基本功能及编程方法。2.掌握一般键盘和显示电路的工作原理。3.进一步掌握定时器的使用和中断处理程序的编程方法。二、实验内容1.8237键盘显示电路的基本原理本实验系统中把键盘显示电路设计在一块扩展电路板上,用一根20芯的扁平电缆与实验台上扩展插头J7相连。小键盘上每按一个键,6位数码管上显示出相应字符,其对应关系如下表6-1。表6-1小键盘上按键与显示字符对应关系小键盘显示字符小键盘显示字符00CC11D22EE33FF44G55M66P77W88X99YAR返回DOSB2.设计电子时钟利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码管显示电路,设计一个电子钟。由8253中断定时,小键盘控制电子钟的启停及初始值的预置。电子钟显示格式如下:XX.XX.XX由左向右分别为时、分、秒。并具有如下功能:①C键:清除,显示00.00.00。②G键:启动,电子钟计时。③D键:停止,电子钟停止计时④P键:设置时、分、秒值。输入时依次为时、分、秒,同时应有判断输入错误的能力,若有错,则显示:E—————。此时按P键重新输入预置值。⑤E键:程序退出,返回DOS。3.硬件电路图硬件电路图如图6-1。图6-1键盘显示控制电路图4.硬件连线做电子钟实验时,实验台上8253的CLK0接1MHz,GATE0和GATE1接+5V,OUT0接CLK1,OUT1接IRQ。CS接280H~287H。5.编程提示(1)显示按键程序框图显示铵键程序框图如图6-2(a)主程序框图,(b)键盘显示子程序框图,(c)显示子程序框图。图6-2(a)主程序框图(b)键盘显示控制子程序(c)显示子程序(5)显示按键参考程序程序清单:JPXSH1.ASMPORT0EQU2B0H;8279数据口PORT1EQU2B1H;8279控制口DATASEGMENTSEC1DB0;秒高位SEC2DB0;秒低位MIN1DB0;分高位MIN2DB0;分低位HOR1DB0;时高位HOR2DB0;时低位LEDDB3FH,06,5BH,4FH,66H,6DH,7DH,07,7FH,6FH,77H,7CHDB39H,5EH,79H,71H,67H,37H,73H,31H,3EH,36H,66HDATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATASTART:CLIMOVAX,DATAMOVDS,AXMOVSEC1,0MOVSEC2,0MOVMIN1,0MOVMIN2,0MOVHOR1,0MOVHOR2,0MOVAX,DATAMOVAX,CSMOVDS,AXMOVDX,PORT1MOVAL,0D3HOUTDX,AL;8279清零MOVAL,2AHOUTDX,AL;置8279时钟命令MOVAL,40HOUTDX,AL;读FIFO存储器命令MOVAL,00HOUTDX,AL;置键盘显示模式MOVAL,80HOUTDX,AL;写显示缓冲区命令KEY1:CALLKEY2;调键盘显示子程序NEXT2:MOVHOR2,ALMOVHOR1,ALMOVMIN2,ALMOVMIN1,ALMOVSEC2,ALMOVSEC1,ALLP0:CMPAL,13HJNZLP1MOVAX,4C00H;返回DOSINT21HLP1:JMPKEY1MAINENDPKEY2PROCNEARMOVDX,PORT1MOVAL,0D1HOUTDX,AL;清显示WREP:CALLDISP;调显示子程序MOVDX,PORT1INAL,DXANDAL,07HJZWREPKEYN:MOVDX,PORT0INAL,DX;读状态MOVBL,ALANDAL,07HANDBL,38HMOVCL,03SHRBL,CLCMPBL,00HJNZLINE1;是第一行键按下吗?ADDAL,08H;是,则列键值加8JMPQUIT1LINE1:CMPBL,01HJNZLINE2;是第二行键按下吗?JMPQUIT1LINE2:ADDAL,10H;第三行,加10QUIT1:RETKEY2ENDPDISPPROCNEARPUSHCXMOVAX,DATAMOVDS,AXMOVDX,PORT1MOVAL,90HOUTDX,ALMOVSI,OFFSETSEC1MOVCX,0006MOVBX,OFFSETLEDDISP1:CLDLODSBXLATMOVDX,PORT10OUTDX,ALLOOPDISP1POPCXRETDISPENDPCODEENDSENDSTART(6)电子钟程序框图电子钟程序框图如图6-3(a)电子钟主程序框图,(b)中断处理子程序,(c)预置时、分、秒高位子程序HIGH0,(d)预置时、分、秒低位子程序LOW0。图6-3(a)电子钟主程序框图(b)中断处理子程序(c)预置时、分、秒高位子程序HIGH0(d)预置时、分、秒低位子程序LOW0(7)电子钟参考程序电子钟程序清单:DZZH.ASMINTA00EQU20H;8259A口地址INTA01EQU21H;8259A口地址PORT0EQU2B0H;8279数据口PORT1EQU2B1H;8279控制口TIME0EQU280H;8253定时器0口地址TIME1EQU281H;8253定时器1口地址TIMECEQU283H;8253控制口地址STACKSEGMENTSTACKSTADW512DUP(?)TOPEQULENGTHSTASTACKENDSDATASEGMENTBUFDB0;计数单元SIGNDB0;计数标志SEC1DB0;秒高位SEC2DB0;秒低位MIN1DB0;分高位MIN2DB0;分低位HOR1DB0;时高位HOR2DB0;时低位ERR1DB0;出错标志HMSDB0;预置时、分、秒标志LEDDB3FH,06,5BH,4FH,66H,6DH,7DH,07,7FH,6FH,79H,40HMESDB“PleasefirstcreatetheIRQ7pulse!”,OAH,ODH,OAH,ODHDB“Insmallkeyboard:”,OAH,ODHOAH,ODHDB“d-stopthedisplay;e-exit”OAH,ODHOAH,ODHDATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATA,SS:STACKSTART:CLIMOVHOR2,0MOVERR1,0MOVDX,TIMEC;MOVAL,36HOUTDX,ALMOVDX,TIME0MOVAX,1000OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,TIMECMOVAL,74HOUTDX,ALMOVAX,100MOVDX,TIME1;定时器1每0.1s中断1次OUTDX,ALMOVAL,AHOUTDX,ALMOVAX,STACKMOVSS,AXMOVSP,TOPMOVAX,DATAMOVDS,AXMOVDX,OFFSETMESMOVAH,09INT21HMOVAX,CSMOVDS,AXMOVDX,OFFSETINT_PROCMOVAX,250FHINT21HMOVDX,INTA01INAL,DXANDAL,7FHOUTDX,ALMOVDX,ALMOVAL,0D3HOUTDX,AL;8279清零MOVAL,2AHOUTDX,AL;置8279时钟命令MOVAL,40HOUTDX,AL;读FIFORAM命令MOVAL,00HOUTDX,AL;置键盘显示模式MOVAL,80HOUTDX,AL;写RAM命令STIKEY1:CALLKEY2;调键盘显示子程序CMPHOR2,0AHJZNEXT2NEXT1:CMPAL,0CH;是否“C”命令JNZLP0NEXT2:MOVSIGN,00HMOVHOR2,00HMOVHOR1,00HMOVMIN2,00HMOVMIN1,00HMOVSEC2,00HMOVSEC21,00HLP0:CMPAL,0EH;是否“E”命令JNZLP1MOVSIGN,00HCLIMOVDX,INTA01INAL,DXORAL,80HOUTDX,ALSTIMOVAX,4C00H;是“E”命令返回DOSINT21HLP1:CMPAL,10HJNZLP2MOVSING,01HJMPKEY1LP2:CMPAL,0DH;是否“D”命令JNZSETIMOVSING,00HKEY3:JMPKEY1SETI:CMPAL,12H;是否“P”命令JNZKEY1MOVSIGN,00H;“00”MOVHMS,00HCALLHIGH0CMPERR1,01HJZKEY3CALLLOW0CMPERR1,01HJZKEY3MOVHMS,11H;“11”CALLHIGH0CMPERR1,01HJZKEY3CALLLOW0CMPERR1,01HJZKEY3MOVHMS,22H;“22”CALLHIGH0CMPERR1,01HJZKEY3CALLLOW0JMPKEY1MAINENDPINT_PROC:STIPUSHAXPUSHBXPUSHCXPUSHDXPUSHSIPUSHDIPUSHDSCMPSIGN,00;是否允许计数JZENDT1INCBUF;计数单元加1CMPBUF,10JZENDTMOVBUF,0INCSEC1CMPSEC1,10JLENDTMOVSEC1,0INCSEC2CMPSEC2,6JLENDTMOVSEC2,0INCMIN1CMPMIN1,10JLENDTMOVMIN1,0INCMIN2CMPMIN2,6JLENDTMOVMIN2,0INCHOR1CMPHOR2,2JLHHCMPHOR1,4JLENDTMOVHOR1,0MOVHOR2,0ENDT1:JMPENDTHH:CMPHOR1,10JLENDTMOVHOR1,0INCHOR2ENDT:MOVDX,INTA00MOVAL,20HOUTDX,ALPOPDSPOPDIPOPSIPOPDXPOPCXPOPBXPOPAXIRETKEY2PROCNEARMOVDX,PORT1MOVAL,0D1HOUTDX,AL;清显示WREP:CALLDISP;调显示子程序MOVDX,PORT1INAL,DXANDAL,07HJZWREPKEYN:MOVDX,PORT0;读状态INAL,DXMOVBL,ALANDAL,07HANDBL,38HMOVCL,03SHRBL,CLCMPBL,00H;是否第一行键JNZLINE1ADDAL,08HJMPQUIT1LINE1:CMPBL,01HJNZLINE2;是否第二行键JMPQUIT1LINE2:ADDAL,10HQUIT1:RETKEY2ENDPDISPPROCNEARPUSHCXMOVAX,DATAMOVDS,AXMOVDX,PORT1MOVAL,90HOUTDX,ALMOVSI,OFFSETSEC1MOVCX,0006MOVBX,OFFSETLEDDISP1:CLDLODSBXLATMOVDX,PORT0OUTDX,ALLOOPDISP1POPCXRETDISPENDPERRPROCNEARMOVHOR2,0AHMOVHOR1,0BHMOVMIN2,0BH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论