<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MCS-51單片機串口通信

          MCS-51單片機串口通信

          作者: 時間:2013-01-17 來源:網(wǎng)絡(luò) 收藏

          ;這是一個AT89C51實驗開發(fā)板向PC機的串口單向發(fā)送數(shù)據(jù)AF的演示程序
          ;采用MAX232專用芯片作RS232/TTL電平轉(zhuǎn)換.
          ;通訊波特率為4800KBPS,只要按下一次K1(就是P3.6引腳變成低電平)
          ;就發(fā)送一個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;啟動定時器T1
          ;以上完成通訊初始化設(shè)置

          WRIT:JB P3.6,$;判斷K1是否按下,如果沒有按下就等待
          ACALL DELAY10;延時10毫秒消觸點抖動
          JB P3.6,WRIT;去除干擾信號
          JNB P3.6,$;等待按鍵松開

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

          AJMP WRIT

          ;10毫秒延時子程序
          DELAY10:MOV R4,#20
          D2:MOV R5,#248
          DJNZ R5,$
          DJNZ R4,D2
          RET

          END

          ========================================

          一、發(fā)送和接收的過程如下:

          串行口的發(fā)送過程由指令MOV SBUF,A啟動,即CPU由一條寫發(fā)送緩沖器的指令把數(shù)據(jù)(字符)寫入串行口的發(fā)送緩沖器SBUF(發(fā))中,再由硬件電路自動在字符的始、末加上起始位(低電平)、停止位(高電平)及其它控制位(如奇偶位等),然后在移位脈沖SHIFT的控制下,低位在前,高位在后,從TXD端(方式0除外)一位位地向外發(fā)送。

          串行口的接收與否受制于允許接收位REN的狀態(tài),當(dāng)REN被軟件置“1”后,允許接收器接收。接收端RXD一位位地接收數(shù)據(jù),直到收到一個完整的字符數(shù)據(jù)后,控制電路進(jìn)行最后一次移位,自動去掉啟始位,使接收中斷標(biāo)志RI置“1”,并向CPU申請中斷。CPU響應(yīng)中斷,用一條指令(MOV A,SBUF)把接收緩沖器SBUF(收)的內(nèi)容讀入累加器。

          TI和RI是由硬件置位的,但需要用軟件復(fù)位。

          二、相關(guān)的寄存器
          1、SBUF是兩個在物理上獨立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù)。兩個緩沖器只用一個字節(jié)地址99H,可通過指令對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。串行口對外有兩條獨立的收發(fā)信號線RXD(P3.0)、TXD(P3.1),因此可以同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工。
          2、SCON寄存器用來控制串行口的工作方式和狀態(tài),可按位尋址,其字節(jié)地址為98H。
          3、PCON中的SMOD用來控制波特率加倍。
          4、TMOD設(shè)置定時器1的工作方式,用來產(chǎn)生波特率
          5、如果用到中斷,則還需要用到中斷相關(guān)的寄存器IE,IP等

          三、四種工作方式:
          方式0:
          同步移位寄存器方式,其波特率是固定為振蕩頻率fosc的1/12。在這種工作方式下,發(fā)送和接收串行數(shù)據(jù)都通過RXD(P3.0)進(jìn)行,從TXD(P3.1)輸出移位脈沖,控制外部的移位寄存器移位。1幀信息為8位,沒有起始位,停止位。
          方式1:
          8位UART,1幀信息為10位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位)和一個停止位“1”,波特率可變,根據(jù)定時器1的溢出率計算。
          方式2:
          9位UART,1幀信息為11位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個停止位“1”。波特率為振蕩頻率的1/64或1/32
          方式3:
          9位UART,幀信息為11位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個停止位“1”。波特率可變,根據(jù)定時器1的溢出率計算。
          附加的第9位數(shù)據(jù)為SCON中的TB8的值,它由軟件置位或清零,可作為多機通信中地址/數(shù)據(jù)信息的標(biāo)志位,也可作為數(shù)據(jù)的奇偶校驗位。

          51單片機相關(guān)文章:51單片機教程


          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理




          關(guān)鍵詞: MCS-51 單片機 串口通信

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();