新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (五)

單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (五)

作者: 時(shí)間:2013-05-26 來(lái)源:網(wǎng)絡(luò) 收藏
五、和PC機(jī)串口通訊試驗(yàn)

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

  單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (五)

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

  為了能夠在電腦端看到單片機(jī)發(fā)出的數(shù)據(jù),我們必須借助一個(gè)WINDOWS軟件進(jìn)行觀察,這里我們利用一個(gè)免費(fèi)的電腦串口調(diào)試軟件。

  單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (五)

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

  ;這是一個(gè)AT89C51單片機(jī)實(shí)驗(yàn)開發(fā)板向PC機(jī)的串口單向發(fā)送數(shù)據(jù)AF的演示程序

  ;采用MAX232專用芯片作RS232/TTL電平轉(zhuǎn)換。

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

  ;就發(fā)送一個(gè)16進(jìn)制的AF字符

  ORG 0000H

  MOV SCON,#50H;設(shè)置成串口1方式

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

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

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

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

  SETB TR1;啟動(dòng)定時(shí)器T1

  ;以上完成通訊初始化設(shè)置

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

  ACALL DELAY10;延時(shí)10毫秒消觸點(diǎn)抖動(dòng)

  JB P3.6,WRIT;去除干擾信號(hào)

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

  MOV A,#0AFH;將16進(jìn)制的字符AF發(fā)送到串口去

  MOV SBUF,A;將AF通過串口發(fā)送出去

  AJMP WRIT

  ;10毫秒延時(shí)子程序

  DELAY10:MOV R4,#20

  D2:MOV R5,#248

  DJNZ R5,$

  DJNZ R4,D2

  RET

  END



評(píng)論


相關(guān)推薦

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

關(guān)閉