導航:首頁 > 操作系統 > pic單片機定時器初值計算

pic單片機定時器初值計算

發布時間:2024-10-15 14:34:46

『壹』 單片機指令周期的計算

計算方法:PIC單片機的每四個時鍾周期為一個內部指令周期,例如:8MHz的晶振,則內部指令周期為1/(8/4)= 0.5 uS

實例一:35us, 8MHz的晶振, 8位定時器, 分頻比1/2 , 初值 E4

實例二:156.25us , 32768Hz的晶振, 8位定時器, 分頻比1/32 , 初值 FC

計算方法一: 35 = =(256-初值)*分頻*4/晶振 + 14/分頻 =(256-初值)+14/2

計算方法二:0.015625 =(256-初值)*分頻*4/晶振 = (256-初值)*32*4/32768

特別注意:分頻比1-8 需要加上一個14/分頻

指令周期是指令周期執行某一條指令所消耗的時間,它等於機器周期的整數倍。傳統的80C51單片機的指令周期大多數是單周期指令,也就是指令周期=機器周期,少部分是雙周期指令。

(1)pic單片機定時器初值計算擴展閱讀


在MCS-51系統中,有單周期指令,雙周期指令。四周期指令只有乘,除兩條指令。指令的運算速度和它的機器周期直接相關,機器周期數較小則執行速度快。

編程時要注意選用具有同樣功能而機器周期數小的指令。每一條指令的執行都可以包括取指和執行兩個階段。在取指階段,CPU從內部或者外部ROM中取出指令操作碼及操作數,然後再執行這條指令。

在8051指令系統中,根據各種操作的繁簡程度,其指令可由單位元組,雙位元組和三位元組組成。從機器執行指令的速度看,單位元組和雙位元組指令都可能是單周期或雙周期,

而三位元組指令都是雙周期,只有乘,除指令佔四個周期,一條指令的位元組數表徵這條指令在存儲器中所佔空間大小,而周期數表徵運行這條指令所花時間長短,即運行速度。

『貳』 在PIC單片機中,如何用一個普通的I/O埠輸出一個38K的頻率求解答,在線等,謝謝!

12MHZ晶振

#include<reg52.h>
#define uchar unsigned char
sbit PULS=P1^0;
void main()
{
TMOD=0x01; //設置定時器0位工作模式1(M1,M0位0,1)
TH0=(65536-600)/256;
TL0=(65536-600)%256;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動定時器0
while(1) ;
}
void T0_time()inte rrupt 1
{
TH0=(65536-600)/256; //重新裝載初值
TL0=(65536-600)%256;
PULS=!PULS;
}

『叄』 pic單片機 實現10ms定時的簡單程序

這個可以用幾種辦法:
1、直接用軟體延時,如用以下的DELAY()延時子程序,如要延時5ms,直接調用DELAY(5)就好了,但這種是純軟體的延時。
//======延時(n)ms,在4MHz晶振下!!!
void DELAY(uint n)
{ uint j;
uchar k;
for (j=0;j<n;j++)
for (k=246;k>0;k--) NOP();
}

2、用定時器延時,要通過計算延時的時間來確定延時的常數(分頻比和定時器初值)。

『肆』 單片機中的12分頻是什麼意思

單片機中的12分頻是單片機的標准運算速度是晶振的12分之1。

計算方法:PIC單片機的每四個時鍾周期為一個內部指令周期,例如:8MHz的晶振,則內部指令周期為1/(8/4)= 0.5 uS

計數周期

1、時鍾周期=振盪周期,名稱不同而已,是指為單片機提供時鍾信號的振盪源的周期,都是等於單片機晶振頻率的倒數,如常見的外接12M晶振,那它的時鍾周期=1/12M。

2、機器周期,8051系列單片機的機器周期=12*時鍾周期。之所以這樣分是因為單個時鍾周期根本幹不了一件完整的事情(如取指令、寫寄存器、讀寄存器等),而12個時鍾周期就能基本完成一項基本操作了。

3、指令周期,一個機器周期能完成一項基本操作,但一條指令常常是需要多項基本操作結合才能完成,完成一條指令所需的時間就是指令周期,當然不同的指令,其指令周期就不一樣的了。MCS-51系統中,有單周期指令、雙周期指令和四周期指令。

(4)pic單片機定時器初值計算擴展閱讀:

定時器/計數器每接受一個計數脈沖,加法計數器的值就加1;計滿時則發生溢出,計數器又從0開始計數並置溢出標志位(TF0=1或TF1=1)。

1、定時模式 在此模式下,計數器的輸入脈沖是由晶振12分頻獲得的。例如,晶振頻率為12MHz的值加1.這樣就可以根據計數值計算定時時間,也可以根據定時時間計算計數器的初值。

2、計數模式 在此模式下,計數器的輸入脈沖是由外部引腳(T0或T1)輸入的。外部引腳出現下降沿時,對應計數器的值加1.如果設置計數器的初值,那麼讀取當時計數器就可以計算脈沖個數。

『伍』 PIC單片機 4M晶振 產生1秒延遲的原理

可以用任何定時器陸檔,如TMR0,設置它基本延時時間為50ms,延時20次就是1s了!
因為你用的是4M晶振,指令周期為1us,TMR0的延時50ms延時常數計算如下:
先計算TMR0的分頻系數K:
50000=256*1*K,K=195.3,取K=256(只能取略大的計算值,不能四捨五入!),這是的1是指令周期,下周
再計算TMR0的延時常數X:
5000=(256-X)*1*K,K用256代入,得X=61.
程序設計時用一個累計TMR0中斷次數的變數T0_N,每早蘆亂中斷一次嘩激T0_N+1,並判斷其值>=20時就是1秒了。
注意,TMR0中斷時要清TMR0IF,並要重新對TMR0賦初值61。

閱讀全文

與pic單片機定時器初值計算相關的資料

熱點內容
程序員的書的標志 瀏覽:144
手機單獨加密app 瀏覽:66
51單片機定時005秒 瀏覽:301
歷年程序員考試真題 瀏覽:402
如何租借境外伺服器 瀏覽:577
阿里雲伺服器簡書 瀏覽:336
python玩轉列表 瀏覽:241
史料學pdf 瀏覽:259
我的便利簽在哪裡加密 瀏覽:169
同步伺服器什麼意思 瀏覽:944
什麼叫做伺服器初始化錯誤 瀏覽:39
dos命令如何清除日誌 瀏覽:983
大良車輛解壓在哪裡 瀏覽:86
pdf轉換cad圖紙 瀏覽:827
騰訊雲從伺服器下載文件到本地 瀏覽:391
戴爾電腦app在哪裡下載 瀏覽:170
新余程序員招聘 瀏覽:933
hp伺服器怎麼做直通 瀏覽:753
在哪裡下載拳頭app 瀏覽:314
CAD圖形放大字體不變的命令 瀏覽:980