單片機串行通信接口設計課程設計 2_第1頁
單片機串行通信接口設計課程設計 2_第3頁
單片機串行通信接口設計課程設計 2_第4頁
單片機串行通信接口設計課程設計 2_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計說明書 第13頁單片機串行接口的設計摘 要單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調(diào)制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領域廣泛應用。80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產(chǎn)品甚至某一個產(chǎn)品設計生產(chǎn)的,此次設計將采用通用80C51完成。單片機的串行口是一種比較重要的通信接口,單片機的串行口應用非常廣泛,可以進行接口擴展、串行通

2、信等。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同的設備可以方便地連接起來進行通訊,RS-232-C接口(又稱EIA RS-232-C)是目前最常用的一種串行通訊接口。單片機與PC機的通信是通信技術的基礎,掌握單片機與PC機的通信是通信原理對以后的學習具有深遠意義。因此此次課程設計很有必要。關鍵詞:單片機 ,串口通信,RS232目 錄1 單片機簡介12 硬件設計12.1 整體設計12.2 單片機選擇22.2.1 AT89C5122.2.2 AT89C51功能特性描述32.2.3 AT89C51引腳功能說明32.2.4 AT89C51的串行接口42.2.5 串行口工作方式的選擇52.3

3、RS-232簡介62.3.1 RS-232電平轉換器MAX23262.3.2 RS-232的接口信號73 軟件編程及調(diào)試73.1 單片機通訊軟件73.3 調(diào)試9總 結12致 謝13參考文獻141 單片機簡介如果將8位單片機的推出作為起點,那么單片機的發(fā)展歷史大致可分為以下幾個階段。第一階段(1976-1978):單片機的控索階段。以Intel公司的MCS 48為代表。MCS 48的推出是在工控領域的控索,參與這一控索的公司還有Motorola 、Zilog等,都取得了滿意的效果。這就是SCM的誕生年代,“單機片”一詞即由此而來。第二階段(1978-1982)單片機的完善階段。Intel公司在M

4、CS 48 基礎上推出了完善的、典型的單片機系列MCS 51。第三階段(1982-1990):8位單片機的鞏固發(fā)展及16位單片機的推出階段,也是單片機向微控制器發(fā)展的階段。Intel公司推出的MCS 96系列單片機,將一些用于測控系統(tǒng)的模數(shù)轉換器、程序運行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機的微控制器特征。隨著MCS 51系列的廣應用,許多電氣廠商競相使用80C51為內(nèi)核,將許多測控系統(tǒng)中使用的電路技術、接口技術、多通道A/D轉換部件、可靠性技術等應用到單片機中,增強了外圍電路路功能,強化了智能控制的特征。第四階段(1990):微控制器的全面發(fā)展階段。隨著單片機在各個領域全面深入地發(fā)展和

5、應用,出現(xiàn)了高速、大尋址范圍、強運算能力的8位/16位/32位通用型單片機,以及小型廉價的專用型單片機。2硬件設計2.1 整體設計在PC系統(tǒng)中都裝有異步通信適配器,利用它可以實現(xiàn)異步串行通信。適配器的核心元件是可編程的intel8251芯片,它使PC有能力與其他具有RS-232標準的接口的計算機或設備進行通信,而MCS-51單片機本身具有一個雙全工的串行口,因此只要配上電平轉換電路就可以和RS-232接口組成一個簡單的通信通道。簡單的PC與單片機通信只要3根線就可以了,單片機的TXD、RXD與PC的RXD、TXD分別相連,連接地線。由于51系列單片機的串行口使用的是TTL電平,因此在PC和單片

6、機間要有RS-232電平轉換電路,圖1所示為PC與單片機的通信圖。圖1 PC機與單片機的通信圖2.2 單片機選擇2.2.1 AT89C51 圖2 單片機AT89C51AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能的CMOS8位單片機。片內(nèi)4Kbytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存儲器(RAM),器件采用ATMEL公司的高密度、非易失存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89C51單片機可為提供許多高性價的應用場合,可靈活的應用于各種控制領域。2.2.2 AT89C51功能

7、特性描述AT89C51提供以下標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量中斷結構,一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止所有部件工作直到下一個硬件復位。2.2.3 AT89C51引腳功能說明Vcc:電源電壓GND:地P0口:PO口是一組8位漏極開路行雙向I/O口,也既地址/數(shù)據(jù)總線復用口。P1口:P1口

8、是一個內(nèi)部上拉電阻的8位雙向I/O口,P1的輸入緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P1的輸入緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。RST:復位輸出。當震蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平使機器復位。 ALE/當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問外部字節(jié),ALE仍時鐘震蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘脈沖或用于定時目的。:程序存入允許()輸出的是外部程

9、序存儲器的讀選通信號。EA/VPP:外部訪問允許。·XTAL1:震蕩器反向放大器及內(nèi)部時鐘的輸入端。XAAL2:震蕩器反向放大器的輸出端。2.2.4 AT89C51的串行接口AT89C51單片機內(nèi)部有一個 全雙工的串行接收和發(fā)射緩沖器(SBUFF),這兩個在物理上獨立的接收發(fā)射器,即可以接收也可以發(fā)射數(shù)據(jù),但接收緩沖器只可以讀出不能寫入,而發(fā)送緩沖器只能寫入不能讀出,它們的地址是99H。這個通信口即可以用于網(wǎng)絡通信,亦可以實現(xiàn)串行異步通信,還可以構成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉換器,就可以方便的構成標準的RS-232接口。SBUF為串行口的收發(fā)緩沖器,它

10、是一個可尋址的專用寄存器,其中包含了接收器和發(fā)射器寄存器,可以實現(xiàn)全雙工通信。但這兩個寄存器具有同一地址(99H)。MCS-51的串行數(shù)據(jù)傳輸很簡單,只要向緩沖器寫入數(shù)據(jù)就可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)既可接收數(shù)據(jù)。SCON控制寄存器,它是一個可尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制,單元地址是98H,其結構格式如下:表1 SCON寄存器結構SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H特殊功能寄存器PCON,主要是CHMOS型單片機的電源控制而設置的專用寄存器,單元地址為87H其機構格式如下表:

11、表2 特殊功能寄存器PCON PCOND7D6D5D4D3D2D1D0位符號SMODGF1GF0PDIDL2.2.5 串行口工作方式的選擇波特率(Boud Rate)就是在串口通信中每秒能夠發(fā)送的位數(shù)。MSC-51串行端口在四種工作模式下有不同的波特率計算方法。其中,模式0和模式2波特率計算很簡單;模式1和模式3的波特率選擇相同,故在此僅以工作模式1為例來說明串口通信波特率的選擇。在串行端口工作于模式1,其波特率將由計時/計數(shù)器1來產(chǎn)生,通常設置定時器工作于模式2(自動再加模式)。在此模式下波特率計算公式為: 波特率=(1+SMOD)*晶振頻率/(384*(256-TH1)其中,SMOD寄存器

12、PCON的第7位,稱為波特率倍增位;TH1定時器的重載值。在選擇波特率的時候需要考慮兩點:首先,系統(tǒng)需要的通信速率。這要根據(jù)系統(tǒng)的運作特點,確定通信的頻率范圍。然后考慮通信時鐘誤差。使用同一晶振頻率在選擇不同的通信速率時通信時鐘誤差會有很大差別。為了通信的穩(wěn)定,我們應該盡量選擇時鐘誤差最小的頻率進行通信。發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時,停止位“1”移入輸出移位寄存器的第9位上 ,以后每次移位,左邊都移入0。當停止位移至輸出位時,左邊其余位全為0,檢測電路檢

13、測到這一條件時,使控制電路進行最后一次移位,并置TI=1,向CPU請求中斷。2.3 RS-232簡介2.3.1 RS-232電平轉換器MAX232圖3 RS-232電路RS-232規(guī)定了自己的電氣標準,由于它是在TTL電路之前研制的,因此它的電平不是+5V和地,而是采用負邏輯,即邏輯“0”:+5V5V,邏輯“1”:5V15V。因此RS-232不能和TTL電平直接相連,必須進行電平轉換。本設計選用MAX232。管腳說明如下C0+、C0-、C1+、C1-是外接電容端;R1IN、R2IN是2路RS-232C電平信號接收輸入端;RlOUT、R2OUT是2路轉換后的TTL電平接收信號輸出端,送8051的

14、RXD接收端;TlIN、T2IN是2路TTL電平發(fā)送輸入端,接8051的TxD發(fā)送端;TlOUT、T2OUT是2路轉換后的發(fā)送RS-232C電平信號輸出端,接傳輸線;V+經(jīng)電容接電源+5V;V-經(jīng)電容接地。2.3.2 RS-232的接口信號RS-232規(guī)標準接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時線、7條備用和未定義線。常用的只有9根,它們是:2個數(shù)據(jù)信號:發(fā)送TXD;接收RXD。1個信號地線:SG。6個控制信號:DSR;數(shù)傳機(即modem)準備好,Data Set Ready.DTR;數(shù)據(jù)終端(DTE,即微機接口電路,如Intel8250/8251,16550)準備好,Data

15、Terminal Ready。RTS;DTE請求DCE發(fā)送(Request To Send)。CTS;DCE允許DTE發(fā)送(Clear To Send),該信號是對RTS信號的回答。DCD;數(shù)據(jù)載波檢出,Data Carrier Detection當本地DCE設備(Modem)收到對方的DCE設備送來的載波信號時,使DCD有效,通知DTE準備接收, 并且由DCE將接收到的載波信號解調(diào)為數(shù)字信號, 經(jīng)RXD線送給DTE。RI;振鈴信號 Ringing當DCE收到交換機送來的振鈴呼叫信號時,使該信號有效,通知DTE已被呼叫。3 軟件編程及調(diào)試雙方約定:波特率為9600bit/s,通信格式為8個數(shù)據(jù)

16、位,一個停止位,無奇偶校驗位。3.1 單片機通訊軟件單片機通過中斷方式接收PC機發(fā)送的數(shù)據(jù),并回送。根據(jù)信息格式,可以設定單片機的串行口工作在方式1。在串行口方式1中,波特率是由定時器T1產(chǎn)生的。如晶振為12MHZ,波特率為9600bit/s,這時T1工作在方式2(自動重新裝入初值)。經(jīng)計算,T1的初始值應為F3H,SMOD=1。 程序框圖如圖所示:圖4 程序流程圖程序設計如下: #include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar flag,a;void main()flag=0;TM

17、OD=0X20;TH1=0XFD;TL1=0XFD;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;while(1)if(flag=1)ES=0;flag=0;SBUF=a;while(!TI);TI=0;ES=1;void chuan_kou() interrupt 4RI=0;a=SBUF;P0=SBUF;flag=1;3.3 調(diào)試程序調(diào)試如下,如有錯誤反復修改,直至沒有錯誤沒有警告。圖5 程序調(diào)試通信過程調(diào)試如下,發(fā)送數(shù)據(jù),波特率選擇9600bit/s.并發(fā)送15字節(jié)數(shù)據(jù)。圖6 串口調(diào)試總 結通過這次單片機串行接口通信的課程設計讓我學到了許多知識,首先,我對單片機有了

18、新的認識,同時又開闊了思路,對通信的原理有了進一步的認識,理解了PC機與單片機通信的整個過程。此外,還讓我認識到了自己對以前所學過知識的不足。在這次課程設計當中我碰到了許多問題,我曾經(jīng)接觸過這方面的書籍和實物,也對其有一些簡單的了解。但是卻不知道具體的工作原理,當我拿到課程設計的題名后完全不知道該怎么辦好,在指導老師王二平的悉心指導下,我明白了其中的道理,于此同時我通過大量地閱讀和查閱相關的資料,和同學們交流后,學會了很多知識,最終此次課程設計才得以完成。通過這次課程設計讓我懂得了在以后的學習和工作當中要不斷地完善自我、努力上進、刻苦鉆研力爭在電子信息行業(yè)有一個好的發(fā)展和結果。致 謝課程設計是自己在大學中的一段經(jīng)歷,從設計之初的無從下手到設計工作的圓滿完成,期間遇到了諸多的問題和困難。但在王老師的細心指導和幫助下,通過自己的努力,最終這些問題與困難都得到了圓滿解決。使我可以按時課程設計并使自己的專業(yè)知識與綜合能力都得到了相應的提高。在課程設計過程中,王老師在百忙中對我的設計進行了指導。他首先細致地為我解題;當我迷茫于眾

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論