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