導航:首頁 > 操作系統 > 51單片機初值計算

51單片機初值計算

發布時間:2022-07-11 10:22:09

① 51單片機初值計算

應該做不到吧 定時器2是自動裝載的8位計數 最大255 單片機時鍾頻率晶振/12 是1M 也就是1000次才1ms 模式2不行的 除非你在在弄個全局變數中斷中計數

② 51單片機波特率初值怎麼計算

用專門軟體算吧,象STC燒錄軟體就附帶有定時器和波特率的計算程序,何必自己按計算器呢。

③ 51單片機定時器初值公式

1.簡單說起,256表示一個8位分界點,對它求模得高位位元組存在TH0中,求余得低位位元組放在TL0中,拿十進制打比:15/10得十位1,15%10得個位數5
2.12Mhz時,單周期指令時間為12/fsoc=1us
方式1為16位定時/計數器
故定時1ms為:TH0=(2^16-1000)/2^8,
TL0=(2^16-1000)%256
當為11.0592MHz時,單周期指令時間為12/fsoc=12/11.0592us
由於採用方式0,為13為定時器,TH0高8位和TL0的低5位
故定時1ms為:
TH0=(2^13-1000/(12/11.0592))/2^5,
TL0=(2^16-1000/(12/11.0592))%2^5
這么晚了 寫寫不容易,多給些分以此鼓勵俺
O(∩_∩)O~

④ 51單片機各種位數定時器初值計算方法

對12MHz ,1個機器周期 1us ,12/fosc = 1us


方式0是13位定時器,最大時間間隔 = 2^13 = 8.192ms

方式1是16位定時器,最大時間間隔 = 2^16 = 65.536ms

方式2是8位定時器,最大時間間隔 = 2^8 = 0.256ms =256 us

方式3 僅適用於T0,此時T0分成兩個8位計數器,T1停止計數

當選用定時器的方式1時,設機器周期為Tcy,定時器產生一次中斷的時間為t,那麼需要計數的個數N=t/Tcy,裝入THX和TLX中的數分別為:

THX = (2^16 - N)/256 TLX = (2^16 -N )%256(此處的X為定時器0或定時器1)

公式為:(2^y - X)*Tcy = t

Tosc= 1/ fosc

一個機器周期 = 12個時鍾周期 = 12/fosc

溢出速率 = 1 / 溢出時間
故:初值X = 2^y – t/Tcy

THX = 高八位
TLX = 低八位

註:

X:定時器初值

N:計數值

y:定時器工作方式

fosc:晶振頻率

Tcy:機器周期,Tosc:時鍾周期
Tcy = 1/Tosc

⑤ 51單片機定時器初值怎樣計算

首先要知道一個計時脈沖的周期,計時脈沖頻率是晶振頻率的1/12,晶振12M時,計時脈沖頻率是1MHz,周期是1us,因此定時1mS就是1000個脈沖,由於51定時器是加法計數,計數到最大值65536溢出,定時結束,產生中斷,因此初值應該寫為65536-1000,計數器分高8位和低8位,高8位的1代表256,低8位是不足256的那一部分,因此高8位初值為TH=(65536-1000)/256,低8位TL=(65536-1000)%256。

⑥ 51單片機串口通信定時器初值怎麼計算公式和計算原理是什麼

串口通信方式1和方式3,要用T1來控制波特率。

T1,使用定時方式2,其初始值,和晶振頻率、波特率、SMOD的關系式如下:
T1初值 = 256 - fosc * (SMOD + 1) / (384 * 波特率)

--我不明白波特率跟這個定時器的關系。麻煩你詳細一點!

這個關系,是由硬體決定的,只有搞微電子的,才能弄明白。
軟體人員,編程的時候,會用這個公式即可,也沒有必要弄明白這個。

基本上,也沒有幾個人,能夠弄明白集成電路內部,究竟是怎麼處理的。
其它的很多人,好像是很明白,其實都是在瞎編理由,包括寫書的那些人。

⑦ 51單片機中PCON的初值如何算

PCON一般只有在使用串口時設置,要設置也只設置它的最高位SMOD。SMOD是串口波特率倍增位,設為1串口波特率就加倍,為0就不變。PCON不能位定址,所以說初值就00H和80H兩種。

⑧ 51單片機中定時1分鍾,怎麼計算初值

void init()//初始化定時器50毫秒 開啟定時0
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}

void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++; //50MS 一次
}

通過判斷aa的值可以得到時間長度

⑨ 51單片機中定時器初始值是怎樣計算的呀

下面按外接,12MHz晶振算..在P1.0處輸出1MS方波
ORG 00
AJMP MAIN
ORG 0BH
LALL T0INT
RETI
ORG 30H
MAIN:
LCALL T0INIT
AJMP $
T0INIT:
MOV TMOD,#01H
LCALL T0LOAD
SETB TR0
SETB ET0
SETB EA
RET
T0LOAD:
MOV TL0,#0F0H ;初值計算,65536US-1MS=D8F0H
MOV TH0,#0D8H
RET
T0INT:
LCALL T0LOAD
JB P1.0,NEXT
SETB P1.0
RET
NEXT:
CLR P1.0
RET
END
大概應該就是這樣的..

閱讀全文

與51單片機初值計算相關的資料

熱點內容
真實的幸福pdf 瀏覽:342
d盤php調用c盤的mysql 瀏覽:264
怎麼樣搭建源碼網站 瀏覽:427
新概念四冊pdf 瀏覽:361
怎麼下載悅虎檢測app 瀏覽:528
cad表達式命令 瀏覽:198
程序員去一個小公司值不值得 瀏覽:846
程序員做個程序多少錢 瀏覽:495
win10原始解壓軟體 瀏覽:319
阿里程序員的老家 瀏覽:258
量子加密銀行 瀏覽:193
命令方塊獲得指令手機 瀏覽:499
學習結束感言簡短程序員 瀏覽:398
android關機鬧鍾實現 瀏覽:968
滑鼠一鍵打開文件夾設置 瀏覽:161
程序員看過來我想靜靜搞笑視頻 瀏覽:370
curlphp爬蟲 瀏覽:874
python按日期循環 瀏覽:110
php三個等號 瀏覽:760
培訓班出來的程序員解決問題很差 瀏覽:963