新聞中心

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

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

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

本文引用地址:http://butianyuan.cn/article/201611/318164.htm

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

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

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

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

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

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

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

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

接下來開始調試串口的方法和步驟。

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

2.在串口調試之前還必須知道自己學習板接的是電腦的哪個端口,查看端口的方法如下:

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

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

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

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

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

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

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

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







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

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



評論


技術專區(qū)

關閉