工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。
使用定时器,该做哪些工作初始化程序应完成如下工作:
1.对TMOD赋值,以确定T0和T1的工作方式。 2.计算初值,并将其写入TH0、TL0或TH1、TL1。 3.中断方式时,则对EA赋值,开放定时器中断。 4.使TR0或TR1置位,启动定时/计数器定时或计数。
计数器初值的计算:
机器周期也就是CPU完成一个基本操作所需要的时间。
机器周期=1/单片机的时钟频率。
51单片机内部时钟频率是外部时钟的12分频。也就是说当外部晶振的频率输入到单片机里面的时候要进行12分频。比如说你用的是12MHZ的晶振,那么单片机内部的时钟频率就是12/12MHZ,当你使用12MHZ的外部晶振的时候。机器周期=1/1M=1us。
而我们定时1ms的初值是多少呢,1ms/1us=1000。也就是要计数1000个数,初值=65535-1000 1(因为实际上计数器计数到64536才溢出)=64536=FC18H
定时器中断使用定时器,该做哪些工作
初始化程序应完成如下工作:
对TMOD赋值,以确定T0和T1的工作方式。
计算初值,并将其写入TH0、TL0或TH1、TL1。
中断方式时,则对EA赋值,开放定时器中断。
使TR0或TR1置位,启动定时/计数器定时或计数。