[問題]鮑率計算 |
答題得分者是:DavidLo
|
btiy
一般會員 發表:15 回覆:31 積分:9 註冊:2005-08-18 發送簡訊給我 |
硬體:
石英晶體:24MHz
單晶片:89s52 鮑率計算公式:
TH1=256-2SMOD x Fose / (384 x 鮑率) 我的程式端: SCON = 0x52; //設定串列傳輸為MODE1、致能接收及TI=1
TMOD = 0x20; //設定TIMER1為MODE2
PCON = 0x80; //SMOD=1
TH1 = 256-(125000/BPS); //設計時器決定串列傳輸鮑率
TR1 = 1; //開始計時 當BPS=9600時
傳輸速度是正確的
若BPS=19200時
我接收端使用19200接收時就錯誤 在硬體不改情況下,只改軟體
請問我應該如何做才可以達到19200的速率
或者是更高的
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 插花! 我沒用試過,Manual看是可以. 一般Baudrate是用Timer1去產生,試試改用Timer2(16bit) 算了一下,值是39.0625,接近除的盡.建議OSC換(ex 11.0592MHz) 這樣還是會有錯誤率, 只是比較低.看你接收端的錯誤接受程度囉.
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
btiy
一般會員 發表:15 回覆:31 積分:9 註冊:2005-08-18 發送簡訊給我 |
|
btiy
一般會員 發表:15 回覆:31 積分:9 註冊:2005-08-18 發送簡訊給我 |
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
大家研究!!!
參考CPU資料
http://www.atmel.com/dyn/resources/prod_documents/doc1919.pdf
如圖11-1
T2CON請看Page8,Table5-2
將T2CON中各bits RCLK=1,TCLK=1,C/T2=0,TR2=1,其餘為0
Buad公式如下 Timer2是16bits的.(TH2+TL2)=(RCAP2l+RCAP2H)=65536-39
T2CON=0x34 PC端RS232收到StartBit後,開始偵測DataBits(取樣中央點),只要9bit誤差累積不要超過半個bit即可. 發表人 - DavidLo 於 2005/12/07 21:32:51
|
dsplab
中階會員 發表:4 回覆:42 積分:64 註冊:2004-11-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |