《单片机实验之定时器计数器应用实验二.doc》由会员分享,可在线阅读,更多相关《单片机实验之定时器计数器应用实验二.doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。4、掌握单片机系统的硬件和软件设计方法。二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满20
2、0个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。三、电路原理图六、 实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。七、思考题1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。四、 实验程序流程框图和程序清单。1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。汇编程序
3、: ORG 0000HSTART: LJMP MAIN ORG 0100HMAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP ENDC语言程序:#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、定时器/计数器以中断方式工作,对外部
4、连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态。汇编程序: ORG 0000H START: LJMP MAIN ORG 001BH LJMP TTC1 ORG 0100H MAIN: MOV TMOD, #60H MOV TH1, #38H MOV TL1, #38H SETB EA SETB ET1 SETB TR1 HERE: LJMP HERE ORG 0200H TTC1: CPL P1.0 RETI ENDC语言程序:#include sbit Y=P10;void main() EA=1; ET1=1; TMOD=0x60; TH1=0x38; TL1=0
5、x38; TR1=1; while(1); void TTC1() interrupt 3 Y=!Y; 3、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态。汇编程序: ORG 0000H START: LJMP MAIN ORG001BH LJMPTTC1 ORG 0100H MAIN: MOV TMOD, #62H MOV TH1, #0CEH MOV TL1, #0CEH MOV TH0, #9CH MOV TL0, #9CH MOV IE, #88H SETB TR0 SETB TR1 LOOP
6、1: JNB TF0, LOOP1 CPL P1.0 CLR TF0 LJMP LOOP1 TTC1: CPL P1.1 RETI ENDC语言程序: #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;五、 实验结果(波形图)。【精品文档】第 3 页