新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 單片機經典實驗實例精華詳解(附源程序) (五)

        單片機經典實驗實例精華詳解(附源程序) (五)

        作者: 時間:2013-05-26 來源:網絡 收藏
        五、和PC機串口通訊試驗

          51有一個全雙工的串行通訊口,所以和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,我們采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我們來說已經足夠使用了,電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接。電子制作實驗室網站的提供的帶擴展元件的51單片機實驗板上已經裝配好了全部硬件。

          單片機經典實驗實例精華詳解(附源程序) (五)

          串口通訊的硬件電路如上圖所示,我們可以采用以下方法來判斷串口是否存在硬件問題,將MAX232的第9腳接地,測量一下串口的第3腳和第5腳之間是否輸出10V左右的直流電壓?將MAX232的第9腳接正5V,測量一下串口的第3腳和第5腳之間是否輸出-10V左右的直流電壓?這樣可以判斷MAX232是否完好和串口線的排線壓接處是否有接觸不良。

          為了能夠在電腦端看到單片機發出的數據,我們必須借助一個WINDOWS軟件進行觀察,這里我們利用一個免費的電腦串口調試軟件。

          單片機經典實驗實例精華詳解(附源程序) (五)

          點擊這里可以下載并運行這個串口調試軟件,這是一個綠色的軟件,無需安裝,可以直接在當前位置運行這個軟件。軟件界面如上圖,我們先要設置一下串口通訊的參數,將波特率調整為4800,勾選十六進制顯示。串口選擇為COM1,當然將網站提供的51單片機實驗板的串口也要和電腦的COM1連接,將燒寫有以下程序的單片機插入單片機實驗板的萬能插座中,并接通51單片機實驗板的電源,這時只要按下K1一次,在串口調試助手軟件的接收區界面中就會增加一個“AF”字符,表示單片機向電腦發送“AF”字符成功。串口實驗的源程序如下所示:

          ;這是一個AT89C51單片機實驗開發板向PC機的串口單向發送數據AF的演示程序

          ;采用MAX232專用芯片作RS232/TTL電平轉換。

          ;通訊波特率為4800KBPS,只要按下一次K1(就是P3.6引腳變成低電平)

          ;就發送一個16進制的AF字符

          ORG 0000H

          MOV SCON,#50H;設置成串口1方式

          MOV TMOD,#20H;波特率發生器T1工作在模式2上

          MOV PCON,#80H;波特率翻倍為2400x2=4800BPS

          MOV TH1,#0F3H;預置初值(按照波特率2400BPS預置初值)

          MOV TL1,#0F3H;預置初值(按照波特率2400BPS預置初值)

          SETB TR1;啟動定時器T1

          ;以上完成通訊初始化設置

          WRIT:JB P3.6,$;判斷K1是否按下,如果沒有按下就等待

          ACALL DELAY10;延時10毫秒消觸點抖動

          JB P3.6,WRIT;去除干擾信號

          JNB P3.6,$;等待按鍵松開

          MOV A,#0AFH;將16進制的字符AF發送到串口去

          MOV SBUF,A;將AF通過串口發送出去

          AJMP WRIT

          ;10毫秒延時子程序

          DELAY10:MOV R4,#20

          D2:MOV R5,#248

          DJNZ R5,$

          DJNZ R4,D2

          RET

          END



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 固安县| 滦南县| 惠州市| 宣化县| 海林市| 禄劝| 尉犁县| 威海市| 平阳县| 固始县| 梧州市| 谢通门县| 阿克苏市| 兴和县| 繁昌县| 沁阳市| 庐江县| 鹿邑县| 拜泉县| 灌云县| 胶南市| 颍上县| 天峻县| 剑河县| 汉川市| 宜兰市| 台州市| 丰宁| 海林市| 朝阳区| 江陵县| 精河县| 措勤县| 汪清县| 霍山县| 广宁县| 绿春县| 玉屏| 盘锦市| 新邵县| 邓州市|