導航:首頁 > 操作系統 > 單片機初值例題

單片機初值例題

發布時間:2023-05-17 12:11:19

⑴ 求助,51單片機定時器初值設定問題

第一句就是將,(65536-5000)的高八位賦值給TH0
第二句就是將,(65536-5000)的低八位賦值給TL0
256就是2的8次方,一個數除以256相當於右移8位。MOD是求模的意思。

⑵ 8051單片機計數器初值計算問題

TMOD=0x20 ; //定時器T1工作於方式皮鋒侍2 PCON=0; //SOMD=0 註:此處我有疑問 SCON=0xD0; //串列口工作於方式3 波特率=2^SMOD * FORC*(32*12*(256-TH1))將TH1=0F3H帶入,可以算出波特率為 4800 ,只有一半基棚 我覺得是不是搞錯燃吵了,如果SMOD的=1 的話就是 9600 了,呵呵~~

⑶ 51單片機定時器初值問題

肯定不行,你自己算一下,
由於計數器是向上計數的,定時5ms(假設1個脈沖1US,需5000個脈沖)
初值就是65536-5000,這樣再來5000個脈沖,計數器值就成了65536,產生溢出,發生中斷
因高8位(TH0)的每個1相當於256,所以它裝入的應該是(65536-5000)/256
低8位(TL0)是(65536-5000)%256,也就是不足256的部分

⑷ 8051單片機計數器初值計算問題

TMOD=0x20是使用T1作波遲敗特率發生器,初值自動載入,所以TH1=TL1, 每過(256-0xf3)=13個機器周期定時器就溢出一次,所以每s溢出1000000/6.5次,由於PCON里乎旦旦面SMOD設置為1,表示波特率倍增,所以,T1每溢出16次就會傳輸一位數據,那麼,每溢出1000000/6.5/16次發送一位數據位,所以波特率就是9615.4bps
公式是歲擾TL1 = 256- fosc(SMOD+1)/(32*12*波特率)
晶振是24MHZ,機器周期就是0.5us

⑸ 8051單片機根據波特率計算定時初值 如圖

第9位是數據校驗位,不是晌滲旁2的九次方,波特率計算喊皮公式為:

帶入數宴橡據為:

4800=11059200/(32*12*(256-T1))

T1=256-11059200/4800/32/12=250

⑹ 單片機題目

(1)分析 100Hz,周期為 10ms,半周期為 5ms,又Fosc = 12MHz,所以指令周卜旦期為 1us
所以需要跑5000個數才能跑5ms
所以定時器1工作在方式0或者方式1下才能滿足,此處採用方式1
所以初值是 65536 - 5000 = 60536 = 0xEC78

答案: 定做棗時時型胡擾間是5ms,初值是方式1下,TH0 = 0xEC,TL0 = 0x78

(2) 分析,T1在方式1下,最大可以跑65536個數字,所以最大定時時間是 65.536ms

(3)
編程序:
ORG 0000H
AJMP START
ORG 001BH
AJMP ISRTIMER1
START:
MOV TMOD,#10H
MOV TH1,#0ECH
MOV TL1,#78H
SETB TR1
SETB EA
SETB ET1
AJMP $
ISRTIMER1:
CPL P1.0
MOV TH1,#0ECH
MOV TL1,#78H
RETI
END

C語言程序:
#include <reg51.h>
sbit P1_0 = P1^0;
void main(void)
{
TMOD = 0x10;
TH1 = 0xEC;
TL1 = 0x78;
TR1 = 1;
ET1 = 1;
EA = 1;
while(1);
}

void ISR_Timer1(void) interrupt 3
{
P1_0 = ~P1_0;
TH1 = 0xEC;
TL1 = 0x78;

}

⑺ 單片機定時器初值問題

串口通信,波特率,可由 T1 控制。
TH1 = 0xfd;
TL1 = 0xfd;
這兩條,就是用來控褲嘩制波特率的。

0xfd,可以改成別數字,胡滲行那麼,波特率,也就變了。
----
TH0 = (65535 - 50000) / 256;
TL0 = (65535 - 50000) % 256;
這兩條,是用來定時 50ms的。

50000,可喊皮以認為是""50000微秒""。
改成別的數值,也可以。

⑻ 8051單片機計數器初值計算問題

TH1=TL1=0xf3
這正返碼個是T1為波特率世拆發生器串列速率9600的值
計算這個波特率是有公式的,
你沒看51的書嗎?
(2
SMOD)
波特率=
------------------
X
(
定時器舉哪
/
計數器1
溢出速率)
PCON中SMOD=0
n=32
n
(32或16)
PCON中SMOD=1
n=16

⑼ 假設單片機的晶體震盪器的頻率是11.0592MHz,利用定時器1採用方式1定時20ms,寫出初值

給你一個參考程序,該例題在《單片機原理與應用-基於匯編、C51及混合編程》一書的第181-183頁有匯編及C51的詳細解析。
【例7-3】設STC12C5A60S2單片機的系統時鍾頻率為12MHz,編程實現從P1.1引腳輸出周期為1s的方波。
分析:根據題目要求知,P1.1引腳的輸出應每隔500ms取反一次,即定時時間為500ms。用一個定時/計數器無法實現,可用定時/計數器T1進行10ms的攔虧定時,然後用寄存器R7對10ms定時中斷次數計數50次來實現。定時/計數器T1定時10ms,選擇對系統時鍾的12分頻模式,T1x12位為0,Tc=10ms,fosc=12MHz,可知計數次數N=10000,選擇方式1。初值X=216-10000=55536=D8F0H,則TH1=D8H,TL1=F0H。
(1)匯編程遲衡譽序:
ORG 0000H
LJMP MAIN
ORG001BH ;T1的中斷向量入口地址
LJMPT1_INT
ORG0100H
MAIN:MOVSP,#0BFH ;初始化堆棧指針
MOV TMOD,#10H ;T1工作在方式1
MOV TL1,#0F0H ;給T1寫入初值
MOV TH1,#0D8H
MOVR7,#50 ;碼段利用寄存器R7計數50次
SETB EA ;開放總中斷
SETB ET1 ;T1溢出中斷允許
SETB TR1 ;啟動T1開始工作
SJMP $
T1_INT:MOVTL1,#0F0H ;重新賦初值
MOV TH1,#0D8H
DJNZ R7,NEXT ;R7減1不為0,說明中斷次數未到50次,跳轉到NEXT
;處返回
CPL P1.1 ;已定時中斷50次, P1.1引腳取反
MOV R7,#50 ;重新賦給R7值50
NEXT:RETI
END

⑽ 一道單片機定時器賦初值的問題

建議你用一個軟體(單片機小精靈)裡面可以幫你計算初值,還能生成代碼

閱讀全文

與單片機初值例題相關的資料

熱點內容
錢的所有演算法 瀏覽:13
光模塊伺服器怎麼直接連電腦 瀏覽:376
編譯器識別單詞 瀏覽:344
2b2t伺服器怎麼獲得金蘋果 瀏覽:344
SQL如何進行伺服器配置 瀏覽:175
貿易公司適合在什麼app引流 瀏覽:717
高級c語言編程還在用turboc 瀏覽:884
cad如何畫單片機 瀏覽:13
管理雲伺服器哪個軟體好 瀏覽:747
什麼app可以消除照片一片水印 瀏覽:242
在什麼app上發表條漫 瀏覽:88
安卓電腦主機怎麼打開 瀏覽:819
eos生態app什麼時候可以登陸 瀏覽:397
找安裝維修工人用什麼App 瀏覽:300
區位碼加密 瀏覽:854
考編教師用什麼app 瀏覽:195
靜態面向對象編程語言 瀏覽:906
炒股密碼pdf 瀏覽:666
差分演算法有哪些 瀏覽:567
佳明怎麼配對安卓 瀏覽:247