|
另外我請(qǐng)問一下那個(gè)高低電平初始值的計(jì)算和51單片機(jī)是一樣的嗎,我在網(wǎng)上看見好幾種算法,以4MHZ晶振頻率,1:8預(yù)分配為例子。
第一種是:時(shí)鐘周期為0.25us,指令周期為0.25*4=1us,經(jīng)過預(yù)分頻1:8后,指令周期變?yōu)?us,TMR1IF溢出為1時(shí)需要通過低八位8us*256=2048us,通過高八位2048us*256=524288us,定時(shí)器需要524288us溢出,設(shè)定0.5s溢出:524288-500000=24288us,指令周期x預(yù)分頻比=預(yù)分頻器溢出的周期:1usX8=8us,初始值的時(shí)間/預(yù)分頻器溢出的周期=初始值 :24288us/8us=3036,將其轉(zhuǎn)換為十六進(jìn)制為0x0BDC;
第二種是:從0加滿需要65536個(gè)機(jī)器周期,每個(gè)機(jī)器周期等于12個(gè)時(shí)鐘周期,4M晶振每個(gè)機(jī)器周期為0.25us,每加一個(gè)數(shù)的機(jī)器周期為12*0.25=3us,中斷一次耗時(shí)50ms,中斷20次為1s,50ms的初值計(jì)算為:中斷值 =(65536-初值)*機(jī)器周期,初值=(65536-(50000/3);
不知道哪種算法是對(duì)的,第一個(gè)的初值網(wǎng)上很少是524288,幾乎都是65536;第二個(gè)的機(jī)器周期等于12個(gè)時(shí)鐘周期不知道這個(gè)是以什么為例子,pic單片機(jī)是不是機(jī)器周期都是等于4個(gè)時(shí)鐘周期?而且第二種1:8分頻好像也沒有用到。希望大佬能解惑!!! |
|