AT89C51のボーレート

M

Maverickmax

Guest
ハイ仕様AT89C51の

ボーレート- 9600
時計- 12MHzの
SMOD - 1
Th1細胞- 0xF9

ので、修正は私のコードは?

コード:

ボイドserial_send()



SCON = 0x50が。

TMOD = 0x20の;

Th1細胞= 0xF9;

TR1の= 1;

TIは= 1;



 
いいえ、あなたが12MHzの時8051エラーが発生したと9600ボーズを適切ではない得る許容することができます。

あなたが現在設定されボーズです12000000/12/32/7 = 4464ボー、4800%に6がエラーをの上に。許容誤差は%約3。あなたは世代がボーレートを使用TIMER2がの可能¥性を得る良い、8052 9600Baudをします。

等参照してくださいデータシートを/チュートリアル/。またKeil社のボーレート計算機で:
http://www.keil.com/c51/baudrate.asp

ウェック

 
はい、正しいです。しかし、近い正確ではありません。
ボーレート、今後8928.58です4,464.29 * 2 =
そして、あなたは9600が欲しい!

なぜ結晶です12MHzの場合は、使用して?私はクリスタルを11.0592MHzされますを使用することをお勧めは、。これは、ボーレートを正確にする与えることに。

数式を使用して、次の場合、SMOD = 1
コード:

Th1細胞=(256 - (XTAL_12000000 /(16 * 12 *のボーレート)));
 
サラン、

SMODコード提示されていない設定なので、私はを参照)は、デフォルトで理由をクリアすると仮定(設定されて、それは。

ウェック

 
is from the assumption

こんにちはウェック、この SMOD - 1
仮定から
Maverickmaxは書き込み:

仕様AT89C51の

ボーレート - 9600

時計 - 12MHzの

SMOD - 1

Th1細胞 - 0xF9
 
やあ

知っている私がさせるためにありがとうを。と12MHzのレートを理由は、ボーについての質問私はそれであることのうちメッセージを来て奇妙なと私は取得私はチップを午前接続私の無線モジュール料金が必要ボー動作9600。だから私は問題が疑われる12MHzの発振器の結晶は、私は男だった使用して約11.059MHzの代わりにはあなたとそれをチェックに必要な私は。だから私は正しい。マーベリックマックス

 
cのチュートリアルをするgoto文atmel.com 8051クリックする

 
こんにちは

SMOD = 1はFFボーレートは、その後1 / 12水晶の16で割った値です、それはあるが我々がで周波数は、11.0592Mhzの水晶=ケースをrate.Inタイマ1に設定されボー

マシンサイクルの周波数は= 11.0592Mhz/12 = 921.6kHz

921.6kHz / 16 = 57,600 Hzのので、SMOD = 1

これは速度ですボーによって周波数を使用設定するタイマ1。

たとえば、HzをとのXTALは= 11.0592、SMOD = 1、57600 =我々はタイマーを1の周波数

ので、57,600 / 9600 = 6
したがって、Th1細胞=- 6またはTh1細胞=ファー

コードを願って擬似この記事を書い疑いでクリアに役立つ必要になります

 
goto文のwww.atmel.comの uは、そこの助けをたくさん見つけることもできますUCを読んで8051や組み込みシステムmazidiで

 
こんにちは私はサイトと思うから必要な、データシートとクロスチェックのためAT89C51それを、得る簡単にできますが、
www.atmel.com

また、私は有用である午前チュートリアル89C51のをかもしれないが、添付良いここ。について
ジョン
申¥し訳ありませんが、添付ファイルを、この必要があります表¥示するにはログインしての

 

Welcome to EDABoard.com

Sponsor

Back
Top