新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 89s51和89s52不同晶振之間通信實驗

89s51和89s52不同晶振之間通信實驗

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://www.butianyuan.cn/article/201611/323913.htm

本程序必須由串口到數(shù)據(jù),也就是SBUF得到數(shù)據(jù)才能啟動發(fā)送和接收。

本人查表發(fā)現(xiàn)11.0592和12 MHZ通信時,只有2400波特率,T1的時間設(shè)置才沒誤差。



89s51接晶振 12 mhz

89s52 接adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=f17e7b18880150fb&k=%BE%A7%D5%F1&k0=%BE%A7%D5%F1&kdi0=0&luki=1&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=fb500188187b7ef1&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F2178%2Ehtml&urlid=0" id="0_nwl" mpid="0" target="_blank">晶振11.0592 mhz

89s51作為接收端代碼:

#include
#define LED P1 //LED顯示
void main()
{
TMOD=0x20;
TH1=0xf3;
TL0=0xf3;
TR1=1;
SCON=0x50;
while(1)
{
while(RI==0);//確定收到成功判斷
LED=SBUF;
RI=0;
SBUF=LED;
while(TI==0);//確定發(fā)送成功判斷
TI=0;

}
}

89s52作為發(fā)送端代碼:

#include
#define LED P1 //LED顯示
void main()
{
TMOD=0x20;
TH1=0xf4;
TL0=0xf4;
TR1=1;
SCON=0x50;
while(1)
{
while(RI==0); //接收成功判斷
LED=SBUF;
RI=0;
SBUF=LED;
while(TI==0);//發(fā)送成功判斷
TI=0;

}
}



關(guān)鍵詞: 89s5189s52通信實

評論


技術(shù)專區(qū)

關(guān)閉