3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /
一、实验目的
1、掌握单片机定时器/计数器的工作方式;
2、掌握单片机定时器/计数器的编程方法。
二.实验内容
1、学习单片机定时器/计数器的工作方式、初始化及应用等;
2、用单片机定时器/计数器编写程序驱动开发板上的LED灯按一定规则运行。
基本要求:
订单编号:计时器0控制LEDB闪烁,闪烁频率为1Hz。
(二)计时器1控制LEDG闪烁,闪烁频率为2Hz。
三.实验设备
1、STC单片机开发板;
2、PC及串行电缆。
四.实验分析和关键代码
1、实验分析:定时器1控制LEDG灯,LEDG灯为实验实验,接口为p2 ̄5,闪烁频率为2Hz和0.5秒。 计时器工作方式的选择方式1、计数初始值的确定:因为我是第二个同学,所以我程序的闪烁频率为2Hz,0.5秒,也就是500ms。 所以我把初始值设定为50ms,循环10次。 TH1访问高8位,TL1访问低8位,并且晶体频率计算为12MHz。 计算结果为TH1=0x3c、TL1=0xb0。 interrupt n,n=3时,中断源为定时器/计数器1。
2 .重要代码:
# includereg 52.h # defineuintunsignedint; uint i; sbit LEDG=P2^5; main () { LEDG=0; TMOD=0x01; //T1为方式1,16位定时器TH1=0x3c; TL1=0xb0; //初始值EA=1; //总中断接通ET1=1; //计时器中断TR1=1; //启动时机while(1() 1; //等待中断}voidintt0(interrupt3using2//计时器中断函数({ TH0=0x3c; TL0=0xb0; I; if(I==10 ) { LEDG=! EDG; //输出取反i=0; }