项目四简易秒表设计
单片机定时器结构任务一定时器寄存器的初始化任务二定时器方式0的基本使用任务三定时器方式1的基本使用任务四定时器方式2的基本使用任务五定时器较长定时的实现任务六单片机驱动液晶任务七简易秒表的设计任务八
任务五定时器方式2的基本使用
任务描述本次任务要求熟悉单片机定时/计数器的方式2的基本使用,单片机的fosc=12MHz,采用T1定时方式2实现1秒延时。
知识链接一定时器的工作方式2二定时器的工作方式3
可自动重载的8位计数器。TL1(TL0)被定义为计数器,TH1(TH0)被定义为赋值寄存器。M1M0=10T1为例:定时/计数器方式2逻辑图T1(P3.5)GATETR1INT1震荡器÷12TL18位TF1中断KC/T=0C/T=1控制TH18位重载1“+1”中断TL18位TF1一定时器的工作方式2
1、工作方式2是8位计数器,方式2一次溢出最长的定时时间为(28-初值)×振荡周期×12=(28-0)×(1/12)×12us=256μs。2、方式2具有初值自动装入的功能,要进行新一轮的计数,无需重新装入计数初值
方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。M1M0=11二定时器的工作方式3
定时/计数器方式3逻辑图TL08位TF0中断KC/T=0C/T=1控制1/12f0scT0(P3.4)GATETR0INT0KTH08位TF1中断控制1/12f0scTR11“+1”“+1”1“+1”“+1”TF0TF1中断中断“+1”TH0借用了T1的TR1和TF1,因此控制了T1的中断此时T1只能用在一些不要中断的情况下
任务实施采用T1定时方式2实现1秒延时1.任务分析2.硬件电路3.程序设计
1.任务分析单片机的fosc=12MHz,采用T1定时方式2实现1秒延时。因工作方式2是8位计数器,其最大定时时间为:256*1us,为实现1s延时,可选择定时时间为250us,再循环4000次。定时时间选定后,可确定计数值为250,则T1的初值为:X=M-计数值=256-250=6H.采用T1的工作方式2,TMOD=0X20.
2.硬件电路
3.软件设计#includereg51.h#defineucharunsignedchar#defineuintunsignedintsbitLED=P1^1;uintcount=0;voidtimer1_init() //使用定时器1{ TMOD=0x20; TH1=0x06; TL1=0x06; TR1=1; //启动定时器1 ET1=1; //定时器T1中断使能 EA=1; //CPU开中断}
voidtimer(void)interrupt3using0{ count++; if(count==4000){ count=0; LED=~LED; } }voidmain(){timer1_init();while(1){ ;}}
知识总结定时器方式2是可以自动重装初值的,在一次定时时间到后,不用再次赋初值,这是跟其他定时方式不同的。
综合评价
课后作业已知:晶振=6MHz,利用T1定时中断,从P1.0引脚输出频率为1KHz的方波。
谢谢观看《单片机技术与应用》课程