<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機通信技術(shù)要點(diǎn)

單片機通信技術(shù)要點(diǎn)

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò ) 收藏
這幾天研究單片機通信,發(fā)現一些非常有趣的事情。在與單片機通信時(shí),盡管程序沒(méi)有任何問(wèn)題,但是通信始終出現大量錯誤碼,發(fā)送與接收的數據對應不上。后來(lái)不斷實(shí)驗,查找相關(guān)資料,發(fā)現一些重要的技術(shù)細節要引起重視,經(jīng)過(guò)相應的調整,單片機通信終于順利完成。先后測試了STC12C4052AD單片機與 STC12C5A602S單片機,都成功通信,基本沒(méi)有發(fā)現錯誤碼,接收與發(fā)送一切正?!,F將要點(diǎn)記下備忘:
1.單片機的晶振。無(wú)論是內部晶振還是外部晶振,都能正常通信,關(guān)鍵在于晶振的頻率。大神們都說(shuō)用外部晶振比較穩定,這個(gè)因為測試中沒(méi)發(fā)現區別太大,所以不作評論。
2.單片機波特率的計算。這個(gè)是關(guān)鍵中的重點(diǎn)。建議使用大神們寫(xiě)的51串口通信計算器這個(gè)軟件進(jìn)行計算,比較精確。波特率的大小設置,直接影響了錯誤碼的多少。這個(gè)問(wèn)題沒(méi)得到足夠重視,往往是通信失敗的直接原因。
3.串口初始化的設置還比較靠譜,網(wǎng)上資料都可以用。諸如:

TMOD =0x20;//T1工作為方式2
SCON =0x50;//方式1:10位異步同通訊,串口允許接收
PCON =0x80;//波特率倍增,SMOD=1
TH1=TL1=0xe6; // 波特率2400
TR1=1;// 啟動(dòng)定時(shí)器1
ES=1;
EA=1;//總中斷允許

以上設置可以通用,直接復制,粘貼即可使用。TH,TL值用51串口計算器計算取得,盡可能用最小誤差的數值。

4.發(fā)送數據標準程序
void send_char(unsigned char txd)
// 傳送一個(gè)字符
{
SBUF = txd;
while(!TI);
TI=0;
}
5.接收數據的標準程序
void re_char(unsigned char txd)
//接收一個(gè)字符
{
while(1)
{
if(RI) // 是否有數據到來(lái)
{
tmp = SBUF; // 暫存接收到的數據
P0=tmp; //點(diǎn)亮P0一組燈。
RI = 0; //RI清零
}

}

}

6.補充要點(diǎn);刷機軟件版本選擇。STC12C4052AD單片機用STC-ISPV488版本可以快速刷機;STC12C5A602S只能用STC-ISP 480版本刷機。原因也許只能向宏晶科技官方咨詢(xún)了。


關(guān)鍵詞: 單片機通信技

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>