中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

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

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

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

        }

        }

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


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

        評論


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

        關(guān)閉