利用定時器1延時1秒的程序 作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢 收藏 ;利用定時器精確延時1秒;循環(huán)點亮P1口接的八只發(fā)光二極管。ORG 0000HAJMP STARTORG001BH;T1中斷入口地址AJMP INT_T1ORG0030HSTART:MOVSP,#60HMOVTMOD,#10H;置T1為方式1MOVTL1,#00H;延時50mS的時間常數(shù)MOVTH1,#4CHMOVR0,#00HMOVR1,#20SETB TR1;啟動定時器1,開始定時SETB ET1SETB EA;開中斷SJMP $INT_T1:;T1中斷服務(wù)子程序PUSH ACC;保護(hù)現(xiàn)場PUSH PSWPUSH DPLPUSH DPHCLRTR1;關(guān)閉定時器1,停止定時MOVTL1,#00H;延時50mS常數(shù)MOVTH1,#4CHDJNZ R1,EXITMOVR1,#20;延時一秒的常數(shù)MOVDPTR,#DATAb ;置常數(shù)表基址MOVA,R0;置常數(shù)表偏移量MOVC A,@A+DPTR;讀常數(shù)表MOVP1,A;送P1口顯示INCR0ANLR0,#07HEXIT:SETB TR1;啟動定時器1,開始定時POPDPH;恢復(fù)現(xiàn)場POPDPLPOPPSWPOPACCRETI;發(fā)光二極管顯示常數(shù)表DATAb:DB 55H,0AAH,05H,0AH,50H,0A0H,0FFH,0HEND
評論