资源描述:
《单片机制作的电子秒表源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、;==============================================================;文件名称:KeyScan.Asm;功能描述:8255扩展IO,完成键盘及数码管显示实验.;按下按键,数码管显示相应键值.;==============================================================A_8255EQU7F00H;8255端口定义B_8255EQU7F01HC_8255EQU7F02HCON_8255EQU7F03HCOUNTDA
2、TA20HORG0000HLJMPMAINORG000BHLJMPTIME0MAIN:MOVA,#81HMOVDPTR,#CON_8255;8255控制端口MOVX@DPTR,A;写入控制字;CLOSEALLSEGMOVA,#0FFH;关闭显示MOVDPTR,#A_8255MOVX@DPTR,A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定时器初始化MOVTMOD,#01HMOVTH0,#0B0HMOVTL0,#3CHSETBET0SETBEASETBTR0MOVCOUNT,#14HM
3、OV30H,#00H;30H~32HSAVESECOND,MINUTE,HOURMOV31H,#00H;30H~32HSAVESECOND,MINUTE,HOURMOV32H,#00H;30H~32HSAVESECOND,MINUTE,HOURBEGIN:LCALLDIS;调用显示子程序;判是否有键按下LJMPBEGINDIS:PUSHACC;显示子程序PUSH00HPUSH03H;MOVR0,#00H;MOVR3,#0DFH;显示扫描值AGAIN:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4、;;;;;;;;;;;;;;;;;;;;;FIRSTSEGDISPLAYMOVA,30H;a存放表内偏移地址MOVB,#10DIVAB;MOVA,BMOVDPTR,#DSEGS;数码管段表地址,dptr存放表的首地址MOVCA,@A+DPTR;查表MOVDPTR,#B_8255;送段显示MOVX@DPTR,AMOVA,#0EFH;SELECTFIRSTSEGMOVDPTR,#A_8255MOVX@DPTR,A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;S
5、ECONDSEGDISPLAYACALLDL3MSMOVA,BMOVDPTR,#DSEGS;数码管段表地址,dptr存放表的首地址MOVCA,@A+DPTR;查表MOVDPTR,#B_8255;送段显示MOVX@DPTR,AMOVA,#0DFH;SELECTFIRSTSEGMOVDPTR,#A_8255MOVX@DPTR,AACALLDL3MSOUT:POP03HPOP00HPOPACCRET;数码管段显示值DSEGS:DB03FH,06H,05BH,04FH,066H,06DH,07DH,07HDB07FH,06F
6、H,077H,07CH,039H,05EH,079H,071HDL1MS:MOVR7,#01HDL0:MOVR6,#080HDL1:DJNZR6,DL1DJNZR7,DL0RETDL3MS:MOVR7,#03HDL03:MOVR6,#080HDL13:DJNZR6,DL13DJNZR7,DL03RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TIME0:PUSHACCMOVTH0,#0B0HMOVTL0,#3CHDJNZCOUNT,
7、NEXTMOVCOUNT,#14HINC30HMOVA,30HCJNEA,#60,NEXTMOV30H,#00HNEXT:POPACCRETIEND