1、单片机实验之定时器计数器应用实验二一、实验目的1、掌握定时器/计数器计数功能的使用方法。2、掌握定时器/计数器的中断、查询使用方法。3、掌握Proteus软件与Keil软件的使用方法。4、掌握单片机系统的硬件和软件设计方法。二、设计要求1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.
2、0口线状态,在P 1.0口线上接示波器观察波形。三、电路原理图6、实验总结通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。七、思考题1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。答:程序见程序清单。4、实验程序流程框图和程序清单。1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。汇编程序:ORG 0000HSTART
3、: LJMP MAINORG 0100HMAIN: MOV IE, #00HMOV TMOD, #60HMOV TH1, #9CHMOV TL1, #9CHSETB TR1LOOP: JNB TF1, LOOPCLR TF1CPL P1.0AJMP LOOPENDC语言程序:#include sbit Y=P10;void main()EA=0;ET1=0;TMOD=0x60;TH1=0x9C;TL1=0x9C;while(1) TR1=1; while(!TF1); TF1=0;Y=!Y; 2、定时器/计数器以中断方式工作,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0
4、口线状态。汇编程序:ORG 0000HSTART: LJMP MAINORG 001BHLJMP TTC1ORG 0100HMAIN: MOV TMOD, #60HMOV TH1, #38HMOV TL1, #38HSETB EASETB ET1SETB TR1HERE: LJMP HEREORG 0200HTTC1: CPL P1.0RETI ENDC语言程序:#include sbit Y=P10;void main()EA=1;ET1=1;TMOD=0x60;TH1=0x38;TL1=0x38;TR1=1;while(1); void TTC1() interrupt 3Y=!Y;3、利
5、用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态。汇编程序: ORG 0000HSTART: LJMP MAINORG 001BHLJMP TTC1ORG 0100HMAIN: MOV TMOD, #62HMOV TH1, #0CEHMOV TL1, #0CEHMOV TH0, #9CHMOV TL0, #9CHMOV IE, #88HSETB TR0SETB TR1LOOP1: JNB TF0, LOOP1CPL P1.0CLR TF0LJMP LOOP1TTC1: CPL P1.1RETIENDC语言程序: #include sbit Y0=P10;sbit Y1=P11;void main()TMOD=0x62;TH0 =0x9C;TL0 =0x9C;TH1 =0xCE; TL1 =0xCE;EA =1;ET1 =1;ET0 =0;TCON=0x50;while(1) while(!TF0);TF0=0;Y0=!Y0;void TTC1()interrupt 3 Y1=!Y1;5、实验结果(波形图)。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1