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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機串口程序C語言版

          51單片機串口程序C語言版

          作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          這篇文章主要來介紹一下51單片機的串口,下面先來看一下與串口相關(guān)的寄存器。

          本文引用地址:http://www.ex-cimer.com/article/201611/318164.htm

          圖1 (該圖來自51單片機技術(shù)文檔)

          下面來逐個介紹個寄存器。

          SCON寄存器的SM1,SM2主要用來設(shè)置串行口的工作方式,具體對應(yīng)關(guān)系見圖2,REN:串行口接受使能位,當(dāng)單片機要接受數(shù)據(jù)時該位應(yīng)該置一,TB8:發(fā)送數(shù)據(jù)的第九位。在方式2或者方式3中TB8為發(fā)送的第九位數(shù)據(jù)。該位不是很常用,具體介紹請查看51單片機的技術(shù)文檔,這里不多做介紹。TI:發(fā)送中斷標(biāo)志,由硬件在方式0串行發(fā)送第8位結(jié)束時置位,或在其它方式串行發(fā)送停止位的開始時置位,必須由軟件清零。RI:接受中斷標(biāo)志,由硬件由硬件在方式0串行發(fā)送第8位結(jié)束時置位,或在其它方式串行發(fā)送停止位的中間時置位,必須由軟件清零。

          在這里需要提醒的是,大家在看技術(shù)文檔是一定要注意那些必須由軟件清零的標(biāo)志位,在寫程序時一定要記得清零。

          圖2(本圖來自51單片機技術(shù)文檔)

          SBUF寄存器:(為了方便就直接截圖說明了)

          PCON寄存器D7位SMOD是串行波特率倍增位,SMOD為一時,串行口在工作方式1,方式2,方式3中波特率加倍,復(fù)位時,SMOD=0.

          寄存器IPH,IPSADEN,SADDR不是很常用,在這里就不做介紹,我下面的程序中也沒有用到,感興趣的可以自己查閱一下技術(shù)文檔。

          接下來開始調(diào)試串口的方法和步驟。

          1.STC—ISP下載軟件自帶串口調(diào)試功能。下面是軟件界面

          2.在串口調(diào)試之前還必須知道自己學(xué)習(xí)板接的是電腦的哪個端口,查看端口的方法如下:

          右鍵單擊桌面上的:我的電腦—設(shè)備管理器,如果學(xué)習(xí)板通過下載線連接到了電腦會顯示如下界面:

          從端口選項中可以看到我連接的是COM3.

          3接下來的任務(wù)就是不程序下載到單片機中開始調(diào)試了(程序我會在下面給出,先把調(diào)試步驟介紹完)

          程序下載完畢之后單擊STC-ISP下載軟件中的:串口助手按鈕,就會出現(xiàn)如下界面:

          然后在點擊打開串口按鈕,上圖中顯示的是:關(guān)閉串口,是因為我的串口已經(jīng)打開了,接下來在單字符串發(fā)送區(qū),輸入要傳送的數(shù)據(jù),例如傳送:77,選擇十六進制發(fā)送,觀察,學(xué)習(xí)班上LED的亮滅情況,和數(shù)據(jù)接區(qū)的反應(yīng)。如下圖:

          需要注意的是必須要將COM(即端口號),比特率,校驗位,數(shù)據(jù)位,停止位,設(shè)置正確否則會顯示亂碼。

          可以觀察到的現(xiàn)象是:led的第八個和第四個點亮了,原因也很簡單,因為發(fā)送的數(shù)據(jù)是77,選擇的是十六進制發(fā)送,即0111 0111,可以看到第8位和第四位是零,所以LED點亮了。接受單口顯示data recieve ok,說明單片機數(shù)據(jù)接受成功。

          最后也是最重要的就是編寫程序了:下面是我的調(diào)試程序,希望對大家能有幫助。







          (因為程序粘貼過來的時候注釋會顯示亂碼,沒辦法只好使用截圖,請大家將就著看一下,還有需要提醒的是程序的第57,58和第29行在截圖時重復(fù)了請大家仔細對著行標(biāo)號看就很清楚了)

          程序的注釋寫的很清楚,我在這里就不重復(fù)解釋了,不懂的請大家仔細看注釋。



          關(guān)鍵詞: 51單片機串口程序C語言

          評論


          技術(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); })();