时钟数是用来做什么的?
发布网友
发布时间:2022-04-22 05:46
我来回答
共1个回答
热心网友
时间:2023-08-28 05:32
计数器是按机器周期算的
一个机器周期=12时钟周期
不管时钟多少,都按一个机器周期=12时钟周期计算 //**** 关键 ****//
12MHZ时钟换过来就是1M机器周期(1M/S)
1ms就是1000机器周期;
6MHZ时钟换过来就是0.5M机器周期(0.5M/S)
1ms就是500机器周期
8位计数器最高范围是65536,
如果我们要记时1s,可以以10ms为单位,循环记时100次
现在就是初始化,10ms为例
TL0=-10000; //对T0计数初始化赋值,用12M的JT,10ms也就是机器周期计数10000
TH0=-10000>>8;
这就是初始化,一次溢出10ms
(若用6M的JT,10ms也就是机器周期计数5000)
当然这只是其中一部分,具体还有比如TR0(1)的设置
溢出中断允许等!
上面两句等价于
TL0=55536;//(65536-10000)
TH0=55536>>8;
相当于从55536开始数,
数10000次(10ms)后溢出,为一个记数周期
100次后就是1s
上述过程是在中断服务程序中的