導航:首頁 > 操作系統 > 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單片機定時器初值計算相關的資料

熱點內容
51單片機控制pwm程序 瀏覽:299
汽車壓縮機串氣可以修么 瀏覽:633
30天學會全部語法pdf 瀏覽:52
java反編譯修補bug 瀏覽:614
如何修改伺服器ftp地址 瀏覽:119
雲伺服器如何用c盤分d盤 瀏覽:597
蘋果的單片機 瀏覽:804
程序員喝麻辣燙 瀏覽:140
安卓怎麼玩微軟的游戲 瀏覽:54
安卓如何在桌面同時操作好幾個app 瀏覽:72
美國app在哪裡看 瀏覽:320
java文件內容追加 瀏覽:622
為什麼下載壓縮包會變成文檔 瀏覽:727
自我安慰程序員的話 瀏覽:369
android備份程序 瀏覽:713
建設銀行亞洲手機app哪裡下載 瀏覽:502
桌面有一個文件夾圖標變透明了 瀏覽:382
vb文件如何加密 瀏覽:238
中行選擇編譯環境 瀏覽:248
編程打左右雙引號 瀏覽:719