微控制器,一秒的定時器初值怎麼算?不要結果要過程謝了哈!

  • 作者:由 匿名使用者 發表于 動漫
  • 2022-09-02

微控制器,一秒的定時器初值怎麼算?不要結果要過程謝了哈!曾綺美胡嗣 2019-06-15

一。10MS定時器初值的計算:1。晶振12M12MHz除12為1MHz,也就是說一秒=1000000次機器週期。10ms=10000次

機器週期。65536-10000=55536(d8f0)TH0=0xd8,TL0=0xf02。晶振11。0592M11。0592MHz除12為921600Hz,就是一秒921600次機器週期,10ms=9216次機器週期。65536-9216=56320(dc00)TH0=0xdc,TL0=0x00二。50MS定時器初值的計算:1。晶振12M12MHz除12為1MHz,也就是說一秒=1000000次機器週期。50ms=50000次

機器週期。65536-50000=15536(3cb0)TH0=0x3c,TL0=0xb02。晶振11。0592M11。0592MHz除12為921600Hz,就是一秒921600次機器週期,50ms=46080次機器週期。65536-46080=19456(4c00)TH0=0x4c,TL0=0x00同理1MS定時器初值的計算:1。晶振12M12MHz除12為1MHz,也就是說一秒=1000000次機器週期。1ms=1000次

機器週期。65536-1000=15536(fc18)TH0=0xfc,TL0=0x182。晶振11。0592M11。0592MHz除12為921600Hz,就是一秒921600次機器週期,50ms=922次機器週期。65536-922=19456(fc66)TH0=0xfc,TL0=0x66

微控制器,一秒的定時器初值怎麼算?不要結果要過程謝了哈!宜蘆雪麥淡 2019-06-22

首先定時器 不能一秒定時,你可以是假設我要0。05s

0。05x12000000(假設晶振是12mhz)/12=50000

65536-50000=15536

變成16進位制3cb0

th0=0x3c;

tl0=0xb0;

kao()

interrupt

1

using

0

{

cor++;

if(cor==20)(一秒定時到手了)

{

}

th0=0x3c;

tl0=0xb0;要把初值送回來

}

Top