2+已知51单片机的fosc=12MHz,用T1方式1定时20ms,且允许中断,请计算初始值(写+
1个回答
关注
展开全部
咨询记录 · 回答于2024-01-07
2+已知51单片机的fosc=12MHz,用T1方式1定时20ms,且允许中断,请计算初始值(写+
要计算定时器T1的初始值,首先需要确定定时器的时钟源和计时器的位数。根据已知信息,51单片机的fosc为12MHz,使用T1方式1定时20ms,且允许中断。
T1方式1是16位定时模式,定时器计数值=FFFFH - 初始值 + 1。 由于fosc为12MHz,T1采用的时钟源是fosc/12,所以T1的计时频率为12MHz/12=1MHz。
要计算初始值,需要先确定计时器的计数次数,即要计时多少个周期。根据题目要求,定时器的定时时间为20ms,所以计时器的计数次数需要是20ms对应的计数周期数。
由于计时频率为1MHz,即每计时1个周期需要1微秒,那么20ms对应的计数周期数为20ms/1us=20000个周期。
根据定时器的位数,16位的定时器计数值范围是0~65535,所以初始值=65536 - 20000 + 1 = 45537。
因此,初始值为45537。