利用定时器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
评论