资源描述:
《实验三定时器实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三定时器实验报告实验要求:连接电路并编写程序,使单片机定时器在一定工作模式下,完成9999.99s倒计时;电路原理图:对8051单片机的可编程计数器/定时器的工作原理进行说明:1.定时器模式:对单片机的晶体振荡器12分频后的片内脉冲进行计数。从而达到定时目的。2.计数器模式:对外部输入引脚p3.4(t0)、p3.5(t1)的外部脉冲(负跳变)计数。程序清单及注释:ORG0000HSJMPMAINORG0030H;将数码管所要显示的数据保存在30H~35H之中SJMPT0_INTMAIN:;以下编写程序完成注
2、释要求的步骤:MOVTMOD,#00;T0定时方式1MOVTH0,#0DCH;定时10ms@11.0592MHzMOVTL0,#00H;TL0赋值SETBTR0;启动T0SETBEA;开中断MOVDPTR,#TABLOOP1:;将30H~35H地址内的值均赋为9;注意:只有R0、R1可以间接赋值MOVR1,#30HLOOP2:MOV@R1,#09HINCR1CJNER1,#36H,LOOP2START:MOVR2,#00HMOVR1,#30HLED_123:;控制前3个数码管的显示MOVA,@R1MOVCA,@
3、A+DPTRCALLCONTROL_164CALLCONTROL_138CALLDELAYINCR2;间接通过R2的值控制数码管显示的次序INCR2;INCR1CJNER1,#33H,LED_123LED_4:;控制第4个数码管的显示(带小数点)MOVA,@R1MOVCA,@A+DPTRADDA,#80HALLCONTROL_164CALLCONTROL_138CALLDELAYINCR1LED_56:;控制第5、6个数码管的显示INCR2INCR2MOVA,@R1MOVCA,@A+DPTRCALLCONTRO
4、L_164CALLCONTROL_138CALLDELAYINCR1CJNER1,#36H,LED_56JMPSTARTCONTROL_164:MOVR3,#08HLOOP_0:CLRP2.0MOVR4,AANLA,#080HCJNEA,#080H,LOOP_1SETBP2.7JMPLOOP_2LOOP_1:CLRP2.7LOOP_2:SETBP2.0MOVA,R4RLADJNZR3,LOOP_0RETCONTROL_138:MOVA,#0F0H;0XF0=11110000(二进制)ADDA,R2;需直接通过P
5、21、P22、P23的值控制数码管显示的次序MOVP2,A;将A的值赋给P2端口,则,R2需每次加2才能使P21发生一次改变RETT0_INT:;定时中断PUSHACC;以下请仿照中断INT0编写程序完成如下步骤:PUSHPSW;1、保存PSW、ACC寄存器;CLREA;2、关闭全局中断MOVTH0,#0DCH;3、对TH0,TL0赋值,定时10ms@11.0592MHzMOVTL0,#00H;将30H~35H内改值,使每进入一次定时中断,30H~35H内数字组成的6位数减1MOVR0,#35HRETI;T0_
6、LOOP0:CJNE@R0,#0H,T0_ENDMOV@R0,#9HDECR0JMPT0_LOOP0T0_END:DEC@R0SETBEA;开启全局中断;以下编写程序完成注释要求的步骤:POPPSWPOPACC;恢复保存寄存器数据。RETIDELAY:;延迟程序。MOVR6,#0EEHDELAY_0:MOVR7,#09H45DJNZR7,$DJNZR6,DELAY_0RETTAB:DB3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh;0,1,2,3,4,5,6,7,8,9END请说
7、明在本实验中T0计数器是怎样工作的:本实验中T0计数器用于定时。从DC00H计数到FFFFH总共定时10ms。