久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機通信技術要點

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年11月18日   【字體:

      這幾天研究單片機通信,發現一些非常有趣的事情。在與單片機通信時,盡管程序沒有任何問題,但是通信始終出現大量錯誤碼,發送與接收的數據對應不上。后來不斷實驗,查找相關資料,發現一些重要的技術細節要引起重視,經過相應的調整,單片機通信終于順利完成。先后測試了STC12C4052AD單片機與 STC12C5A602S單片機,都成功通信,基本沒有發現錯誤碼,接收與發送一切正!,F將要點記下備忘:
      1.單片機的晶振。無論是內部晶振還是外部晶振,都能正常通信,關鍵在于晶振的頻率。大神們都說用外部晶振比較穩定,這個因為測試中沒發現區別太大,所以不作評論。 
      2. 單片機波特率的計算。這個是關鍵中的重點。建議使用大神們寫的51串口通信計算器這個軟件進行計算,比較精確。波特率的大小設置,直接影響了錯誤碼的多少。這個問題沒得到足夠重視,往往是通信失敗的直接原因。
      3.串口初始化的設置還比較靠譜,網上資料都可以用。諸如:
    
   TMOD =0x20;//T1工作為方式2
    SCON =0x50;//方式1:10位異步同通訊,串口允許接收
    PCON =0x80;//波特率倍增,SMOD='1'
    TH1=TL1=0xe6;  // 波特率2400
    TR1=1;// 啟動定時器1
    ES=1;
    EA=1;//總中斷允許
 
    以上設置可以通用,直接復制,粘貼即可使用。TH,TL值用51串口計算器計算取得,盡可能用最小誤差的數值。 
 
     4.發送數據標準程序
void send_char(unsigned char txd)
// 傳送一個字符
{
                   SBUF = txd;
                   while(!TI);
                   TI=0;
}
      5.接收數據的標準程序
void re_char(unsigned char txd)
//接收一個字符 

  while(1)
 {
  if(RI)      // 是否有數據到來
  {
   tmp = SBUF;                   // 暫存接收到的數據     
   P0=tmp;                        //點亮P0一組燈。
     RI = 0;                       //RI清零
  }
 
 }



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

關閉窗口

相關文章

主站蜘蛛池模板: 免费在线一区二区 | 精品免费国产一区二区三区四区介绍 | 成人黄色a | 精品一区二区三区在线播放 | 武道仙尊动漫在线观看 | 黑人精品欧美一区二区蜜桃 | 日韩黄色小视频 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | av在线免费观看网址 | 日本理论片好看理论片 | 91网站视频在线观看 | 日本黄色一级片视频 | 国产成人精品福利 | 亚洲二区在线观看 | 欧美日韩在线电影 | 96国产精品久久久久aⅴ四区 | 久久久久国产精品午夜一区 | 国产精品爱久久久久久久 | 九色一区 | 91国产视频在线 | 91综合在线视频 | 欧美久久不卡 | 亚洲色图插插插 | 亚洲精品乱 | 射欧美 | 免费观看a级毛片在线播放 黄网站免费入口 | 欧美高清视频一区 | 逼逼网 | 玖玖操| 国产资源一区二区三区 | 亚洲一区三区在线观看 | 国产精品美女一区二区三区 | 欧美不卡一区二区 | 免费看国产片在线观看 | 天天拍天天草 | 精精精精xxxx免费视频 | 国产成人精品a视频一区www | 一区二区在线 | 在线观看中文字幕 | 国产成人免费视频网站高清观看视频 | 91网站在线看 |