新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 跟我學51單片機(三):單片機串口通信實例

        跟我學51單片機(三):單片機串口通信實例

        作者: 時間:2013-02-07 來源:網絡 收藏

          三、程序設計

          本講設計實例程序如下:

          #include "AT89X52.h" (1)

          void Init_Com(void) ( 2)

          {

          TMOD = 0x20; ( 3)

          PCON = 0x00; ( 4)

          SCON = 0x50; ( 5)

          TH1 = 0xE8; ( 6)

          TL1 = 0xE8; ( 7)

          TR1 = 1; ( 8)

          }

          void main(void) ( 9)

          {

          unsigned char dat; ( 10)

          Init_Com(); ( 11)

          while(1) ( 12)

          程序詳細說明:

         ?。?)頭文件包含。

         ?。?)聲明串口初始化程序。

         ?。?)設置定時器1 工作在模式2,自動裝載初值(詳見第二講)。

          (4)SMOD 位清0,波特率不加倍。

          (5)串行口工作在方式1,并允許接收。

         ?。?)定時器1 高8 位賦初值。波特率為1200b/s(7)定時器1 低8 位賦初值。

         ?。?)啟動定時器。

         ?。?)主函數。

         ?。?0)定義一個字符型變量。

          (11)初始化串口。

         ?。?2)死循環。

          (13)如果接收到數據。

         ?。?4)將接收到的數據賦給之前定義的變量。

          (15)將接收到的值輸出到P0 口。

         ?。?6)對接收標志位清0,準備再次接收。

          (17)將接收到的數據又發送出去。

         ?。?8)查詢是否發送完畢。

         ?。?9)對發送標志位清0。

          四、調試要點與實驗現象

          接好硬件,通過冷啟動方式將程序所生成的。hex文件下載到運行后,打開串口調試助手軟件,設置好波特率1200,復位,然后在通過串口調試助手往發送數據(見圖3),可以觀察到在接收窗口有發送的數據顯示,此外電路板上的串行通信指示燈也會閃爍,P0 口所接到LED 燈會閃爍所接收到的數據。

        跟我學51單片機(三):單片機串口通信實例

        圖3 串口軟件調試界面

          另外串口調試助手軟件使用時應注意的是,如果單片機開發板采用串口下載而且和串口調試助手是使用同一串口,則在打開串口軟件的同時不能給單片機下載程序,如需要下載,請首先點擊“關閉串口”,做發送實驗的時候,注意如果選中16 進制發送的就是數字或者字母的16 進制數值,比如發送“0”,實際接收的就應該是0x00,如果不選中,默認發送的是ASCII 碼值,此時發送“0”,實際接收的就應該是0x30,這點可以通過觀察板子P0 口上的對應的LED 指示出來。

          五、總結

          本講介紹了單片機的原理并給出了實例,通過該講,讀者可以了解和掌握51 單片機的原理與應用流程,利用,單片機可以與計算機相連,也可以單片機互聯或者多個單片機相互通信組網等,在實際的工程應用中非常廣泛。從學習的角度來說,熟練的利用串口將單片機系統中的相關信息顯示在計算機上可以很直觀方便的進行調試和開發。因此希望讀者能夠自己靈活應用串口通信到自己的實際開發當中,至此,51 單片機內部資源講述得差不多了,從下講開始,將要介紹單片機外圍電路。下講將講述單片機外接按鍵的原理與實例,敬請期待。

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 太保市| 伊通| 瑞丽市| 始兴县| 衡南县| 寿光市| 四平市| 邓州市| 吉木乃县| 保康县| 乐昌市| 开远市| 陇西县| 沭阳县| 齐齐哈尔市| 通江县| 资源县| 河源市| 石首市| 阿荣旗| 昌邑市| 会泽县| 贡觉县| 石家庄市| 文化| 麦盖提县| 宁强县| 淮阳县| 府谷县| 兴山县| 兴安盟| 长沙市| 德州市| 榆社县| 德兴市| 和政县| 正镶白旗| 宜阳县| 富蕴县| 连城县| 钦州市|