1)根据定时长短,选择工作方式。
2)计算定时/计数器初值。
80c51定时/计数器初值的计算公式:
其中,n与工作方式有关:工作方式0时,n=13;工作方式1时,n=16;工作方式2、3时,n=8。
机器周期时间(简称机周时间)与主振频率fosc有关:机周时间=12/fosc。fosc=12mhz时,1机周=1μs;fosc=6mhz时,1机周=2μs。
【例4-5】 已知晶体振荡频率为6mhz,要求定时05ms,试分别求出t0工作于工作方式0、工作方式1、工作方式2、工作方式3时的定时初值。
解:(1)工作方式0
213-500μs/2μs=8192-250=7942=1f06h
1f06h转换为二进制:
1f06h=0001111100000110b
=0001111100000110b(www.xing528.com)
其中,低5位00110前添加3位000送入tl0,tl0=00000110b=06h;高8位11111000b送入th0,th0=11111000b=f8h。
(2)工作方式1
t0初值=216-500μs/2μs=65536-250=65286=ff06h
th0=ffh;tl0=06h。
(3)工作方式2
t0初值=28-500μs/2μs=256-250=6
th0=06h;tl0=06h。
(4)工作方式3 t0处于工作方式3时,被拆成两个8位定时器,定时初值可分别计算,计算方法同工作方式2。两个定时初值一个装入tl0,另一个装入th0。因此,th0=06h;tl0=06h。
从上例中看到,工作方式0时计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用工作方式1,且工作方式0的计数范围比工作方式1小,工作方式0完全可以用工作方式1代替,工作方式0与工作方式1相比,无任何优点。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。