單片機(jī)串行通信接口設(shè)計(jì)課程設(shè)計(jì) 2(共15頁)_第1頁
單片機(jī)串行通信接口設(shè)計(jì)課程設(shè)計(jì) 2(共15頁)_第2頁
單片機(jī)串行通信接口設(shè)計(jì)課程設(shè)計(jì) 2(共15頁)_第3頁
單片機(jī)串行通信接口設(shè)計(jì)課程設(shè)計(jì) 2(共15頁)_第4頁
單片機(jī)串行通信接口設(shè)計(jì)課程設(shè)計(jì) 2(共15頁)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

2、要的通信接口,單片機(jī)的串行口應(yīng)用非常廣泛,可以(ky)進(jìn)行接口擴(kuò)展、串行通信等。在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進(jìn)行通訊,RS-232-C接口(又稱EIA RS-232-C)是目前最常用的一種串行通訊接口。單片機(jī)與PC機(jī)的通信是通信技術(shù)的基礎(chǔ),掌握單片機(jī)與PC機(jī)的通信是通信原理對(duì)以后的學(xué)習(xí)具有深遠(yuǎn)意義。因此此次課程設(shè)計(jì)很有必要。關(guān)鍵詞:單片機(jī) ,串口通信,RS232目 錄 TOC o 1-3 h z u HYPERLINK l _Toc327818544 1 單片機(jī)簡介(jin ji) PAGEREF _Toc327818544 h 1 HYPERL

3、INK l _Toc327818545 2 硬件(yn jin)設(shè)計(jì) PAGEREF _Toc327818545 h 1 HYPERLINK l _Toc327818546 2.1 整體(zhngt)設(shè)計(jì) PAGEREF _Toc327818546 h 1 HYPERLINK l _Toc327818547 2.2 單片機(jī)選擇 PAGEREF _Toc327818547 h 2 HYPERLINK l _Toc327818548 2.2.1 AT89C51 PAGEREF _Toc327818548 h 2 HYPERLINK l _Toc327818549 2.2.2 AT89C51功能特性

4、描述 PAGEREF _Toc327818549 h 3 HYPERLINK l _Toc327818550 2.2.3 AT89C51引腳功能說明 PAGEREF _Toc327818550 h 3 HYPERLINK l _Toc327818551 2.2.4 AT89C51的串行接口 PAGEREF _Toc327818551 h 4 HYPERLINK l _Toc327818552 2.2.5 串行口工作方式的選擇 PAGEREF _Toc327818552 h 5 HYPERLINK l _Toc327818553 2.3 RS-232簡介 PAGEREF _Toc32781855

5、3 h 6 HYPERLINK l _Toc327818554 2.3.1 RS-232電平轉(zhuǎn)換器MAX232 PAGEREF _Toc327818554 h 6 HYPERLINK l _Toc327818555 2.3.2 RS-232的接口信號(hào) PAGEREF _Toc327818555 h 7 HYPERLINK l _Toc327818556 3 軟件編程及調(diào)試 PAGEREF _Toc327818556 h 7 HYPERLINK l _Toc327818557 3.1 單片機(jī)通訊軟件 PAGEREF _Toc327818557 h 7 HYPERLINK l _Toc327818

6、558 3.3 調(diào)試 PAGEREF _Toc327818558 h 9 HYPERLINK l _Toc327818559 總 結(jié) PAGEREF _Toc327818559 h 12 HYPERLINK l _Toc327818560 致 謝 PAGEREF _Toc327818560 h 13 HYPERLINK l _Toc327818561 參考文獻(xiàn) PAGEREF _Toc327818561 h 14課程設(shè)計(jì)說明書 第 PAGE 0頁1 單片機(jī)簡介(jin ji)如果將8位單片機(jī)的推出作為起點(diǎn),那么單片機(jī)的發(fā)展(fzhn)歷史大致可分為以下幾個(gè)階段。第一階段(1976-1978):

7、單片機(jī)的控索階段。以Intel公司的MCS 48為代表。MCS 48的推出是在工控領(lǐng)域的控索,參與(cny)這一控索的公司還有Motorola 、Zilog等,都取得了滿意的效果。這就是SCM的誕生年代,“單機(jī)片”一詞即由此而來。第二階段(1978-1982)單片機(jī)的完善階段。Intel公司在MCS 48 基礎(chǔ)上推出了完善的、典型的單片機(jī)系列MCS 51。第三階段(1982-1990):8位單片機(jī)的鞏固發(fā)展及16位單片機(jī)的推出階段,也是單片機(jī)向微控制器發(fā)展的階段。Intel公司推出的MCS 96系列單片機(jī),將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運(yùn)行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機(jī)的微控

8、制器特征。隨著MCS 51系列的廣應(yīng)用,許多電氣廠商競相使用80C51為內(nèi)核,將許多測控系統(tǒng)中使用的電路技術(shù)、接口技術(shù)、多通道A/D轉(zhuǎn)換部件、可靠性技術(shù)等應(yīng)用到單片機(jī)中,增強(qiáng)了外圍電路路功能,強(qiáng)化了智能控制的特征。第四階段(1990):微控制器的全面發(fā)展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強(qiáng)運(yùn)算能力的8位/16位/32位通用型單片機(jī),以及小型廉價(jià)的專用型單片機(jī)。2硬件設(shè)計(jì)2.1 整體設(shè)計(jì)在PC系統(tǒng)中都裝有異步通信適配器,利用它可以實(shí)現(xiàn)異步串行通信。適配器的核心元件是可編程的intel8251芯片,它使PC有能力與其他具有RS-232標(biāo)準(zhǔn)的接口的計(jì)算機(jī)或設(shè)備進(jìn)

9、行通信,而MCS-51單片機(jī)本身具有一個(gè)雙全工的串行口,因此只要配上電平轉(zhuǎn)換電路就可以和RS-232接口組成一個(gè)簡單的通信通道。簡單的PC與單片機(jī)通信只要3根線就可以了,單片機(jī)的TXD、RXD與PC的RXD、TXD分別相連,連接地線。由于51系列單片機(jī)的串行口使用的是TTL電平,因此在PC和單片機(jī)間要有RS-232電平轉(zhuǎn)換電路,圖1所示為PC與單片機(jī)的通信圖。圖1 PC機(jī)與單片機(jī)的通信(tng xn)圖2.2 單片機(jī)選擇(xunz)2.2.1 AT89C51 圖2 單片機(jī)AT89C51AT89C51是美國ATMEL公司(n s)生產(chǎn)的低電壓,高性能的CMOS8位單片機(jī)。片內(nèi)4Kbytes的可反

10、復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大。AT89C51單片機(jī)可為提供許多高性價(jià)的應(yīng)用場合,可靈活的應(yīng)用于各種控制領(lǐng)域。2.2.2 AT89C51功能特性描述AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件的可選

11、的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。2.2.3 AT89C51引腳功能(gngnng)說明Vcc:電源(dinyun)電壓GND:地P0口:PO口是一組8位漏極開路(kil)行雙向I/O口,也既地址/數(shù)據(jù)總線復(fù)用口。P1口:P1口是一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P1的輸入緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。P2口:P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P1的輸入緩

12、沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。RST:復(fù)位輸出。當(dāng)震蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平使機(jī)器復(fù)位。 ALE/當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問外部字節(jié),ALE仍時(shí)鐘震蕩頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘脈沖或用于定時(shí)目的。:程序存入允許()輸出的是外部程序存儲(chǔ)器的讀選通信號(hào)。EA/VPP:外部訪問允許。XTAL1:震蕩器反向放大器及內(nèi)部時(shí)鐘的輸入端。XAAL2:震蕩器反向放大器的輸出端。2.2.4 AT89C51的串行接口AT89C51單片機(jī)內(nèi)部有一個(gè) 全雙工的串行接收和發(fā)

13、射緩沖器(SBUFF),這兩個(gè)在物理上獨(dú)立的接收發(fā)射器,即可以接收也可以發(fā)射數(shù)據(jù),但接收緩沖器只可以讀出不能寫入,而發(fā)送緩沖器只能寫入不能讀出,它們的地址是99H。這個(gè)通信口即可以用于網(wǎng)絡(luò)通信,亦可以實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便的構(gòu)成標(biāo)準(zhǔn)的RS-232接口。SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)射器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99H)。MCS-51的串行數(shù)據(jù)傳輸很簡單,只要向緩沖器寫入數(shù)據(jù)就可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)既可接收數(shù)據(jù)。SCON控制寄存

14、器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制,單元地址是98H,其結(jié)構(gòu)格式如下:表1 SCON寄存器結(jié)構(gòu)SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H特殊(tsh)功能寄存器PCON,主要是CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址為87H其機(jī)構(gòu)(jgu)格式如下表:表2 特殊(tsh)功能寄存器PCON PCOND7D6D5D4D3D2D1D0位符號(hào)SMODGF1GF0PDIDL2.2.5 串行口工作方式的選擇波特率(Boud Rate)就是在串口通信中每秒能夠發(fā)送的位數(shù)。MS

15、C-51串行端口在四種工作模式下有不同的波特率計(jì)算方法。其中,模式0和模式2波特率計(jì)算很簡單;模式1和模式3的波特率選擇相同,故在此僅以工作模式1為例來說明串口通信波特率的選擇。在串行端口工作于模式1,其波特率將由計(jì)時(shí)/計(jì)數(shù)器1來產(chǎn)生,通常設(shè)置定時(shí)器工作于模式2(自動(dòng)再加模式)。在此模式下波特率計(jì)算公式為: 波特率=(1+SMOD)*晶振頻率/(384*(256-TH1)其中,SMOD寄存器PCON的第7位,稱為波特率倍增位;TH1定時(shí)器的重載值。在選擇波特率的時(shí)候需要考慮兩點(diǎn):首先,系統(tǒng)需要的通信速率。這要根據(jù)系統(tǒng)的運(yùn)作特點(diǎn),確定通信的頻率范圍。然后考慮通信時(shí)鐘誤差。使用同一晶振頻率在選擇不

16、同的通信速率時(shí)通信時(shí)鐘誤差會(huì)有很大差別。為了通信的穩(wěn)定,我們應(yīng)該盡量選擇時(shí)鐘誤差最小的頻率進(jìn)行通信。發(fā)送開始時(shí),先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時(shí),停止位“1”移入輸出移位寄存器的第9位上 ,以后每次移位,左邊都移入0。當(dāng)停止位移至輸出位時(shí),左邊其余位全為0,檢測電路檢測到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置TI=1,向CPU請(qǐng)求中斷。2.3 RS-232簡介(jin ji)2.3.1 RS-232電平(din pn)轉(zhuǎn)換器MAX232圖3 RS-232電路(di

17、nl)RS-232規(guī)定了自己的電氣標(biāo)準(zhǔn),由于它是在TTL電路之前研制的,因此它的電平不是+5V和地,而是采用負(fù)邏輯,即邏輯“0”:+5V5V,邏輯“1”:5V15V。因此RS-232不能和TTL電平直接相連,必須進(jìn)行電平轉(zhuǎn)換。本設(shè)計(jì)選用MAX232。管腳說明如下C0+、C0-、C1+、C1-是外接電容端;R1IN、R2IN是2路RS-232C電平信號(hào)接收輸入端;RlOUT、R2OUT是2路轉(zhuǎn)換后的TTL電平接收信號(hào)輸出端,送8051的RXD接收端;TlIN、T2IN是2路TTL電平發(fā)送輸入端,接8051的TxD發(fā)送端;TlOUT、T2OUT是2路轉(zhuǎn)換后的發(fā)送RS-232C電平信號(hào)輸出端,接傳輸

18、線;V+經(jīng)電容接電源+5V;V-經(jīng)電容接地。2.3.2 RS-232的接口信號(hào)RS-232規(guī)標(biāo)準(zhǔn)接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時(shí)線、7條備用和未定義線。常用(chn yn)的只有9根,它們是:2個(gè)數(shù)據(jù)信號(hào):發(fā)送(f sn)TXD;接收(jishu)RXD。1個(gè)信號(hào)地線:SG。6個(gè)控制信號(hào):DSR;數(shù)傳機(jī)(即modem)準(zhǔn)備好,Data Set Ready.DTR;數(shù)據(jù)終端(DTE,即微機(jī)接口電路,如Intel8250/8251,16550)準(zhǔn)備好,Data Terminal Ready。RTS;DTE請(qǐng)求DCE發(fā)送(Request To Send)。CTS;DCE允許DTE發(fā)

19、送(Clear To Send),該信號(hào)是對(duì)RTS信號(hào)的回答。DCD;數(shù)據(jù)載波檢出,Data Carrier Detection當(dāng)本地DCE設(shè)備(Modem)收到對(duì)方的DCE設(shè)備送來的載波信號(hào)時(shí),使DCD有效,通知DTE準(zhǔn)備接收, 并且由DCE將接收到的載波信號(hào)解調(diào)為數(shù)字信號(hào), 經(jīng)RXD線送給DTE。RI;振鈴信號(hào) Ringing當(dāng)DCE收到交換機(jī)送來的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效,通知DTE已被呼叫。3 軟件編程及調(diào)試雙方約定:波特率為9600bit/s,通信格式為8個(gè)數(shù)據(jù)位,一個(gè)停止位,無奇偶校驗(yàn)位。3.1 單片機(jī)通訊軟件單片機(jī)通過中斷方式接收PC機(jī)發(fā)送的數(shù)據(jù),并回送。根據(jù)信息格式,可以設(shè)

20、定單片機(jī)的串行口工作在方式1。在串行口方式1中,波特率是由定時(shí)器T1產(chǎn)生的。如晶振為12MHZ,波特率為9600bit/s,這時(shí)T1工作在方式2(自動(dòng)重新裝入初值)。經(jīng)計(jì)算,T1的初始值應(yīng)為F3H,SMOD=1。 程序框圖如圖所示:圖4 程序(chngx)流程圖程序設(shè)計(jì)(chn x sh j)如下: #include#define uint unsigned int#define uchar unsigned charuchar flag,a;void main()flag=0;TMOD=0X20;TH1=0XFD;TL1=0XFD;TR1=1;REN=1;SM0=0;SM1=1;EA=1;E

21、S=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)試(dio sh)程序調(diào)試如下(rxi),如有錯(cuò)誤反復(fù)修改,直至沒有錯(cuò)誤沒有警告。圖5 程序調(diào)試通信過程調(diào)試如下(rxi),發(fā)送數(shù)據(jù),波特率選擇9600bit/s.并發(fā)送15字節(jié)數(shù)據(jù)。圖6 串口調(diào)試(dio sh)總 結(jié)通過這次單片機(jī)串行接口通信的課程設(shè)計(jì)讓我學(xué)到了許多知識(shí),首先,我對(duì)單片機(jī)有了新的認(rèn)識(shí),同時(shí)又開闊了思路,對(duì)通信的原理有了進(jìn)一步的認(rèn)識(shí),理

22、解了PC機(jī)與單片機(jī)通信的整個(gè)過程。此外(cwi),還讓我認(rèn)識(shí)到了自己對(duì)以前所學(xué)過知識(shí)的不足。在這次課程設(shè)計(jì)當(dāng)中我碰到了許多問題,我曾經(jīng)接觸過這方面的書籍和實(shí)物,也對(duì)其有一些簡單的了解。但是卻不知道(zh do)具體的工作原理,當(dāng)我拿到課程設(shè)計(jì)的題名后完全不知道該怎么辦好,在指導(dǎo)老師王二平的悉心指導(dǎo)下,我明白了其中的道理,于此同時(shí)我通過大量地閱讀和查閱相關(guān)的資料,和同學(xué)們交流后,學(xué)會(huì)了很多知識(shí),最終此次課程設(shè)計(jì)才得以完成。通過這次課程設(shè)計(jì)讓我懂得了在以后的學(xué)習(xí)和工作當(dāng)中要不斷地完善自我、努力上進(jìn)、刻苦鉆研(k k zun yn)力爭在電子信息行業(yè)有一個(gè)好的發(fā)展和結(jié)果。致 謝課程設(shè)計(jì)是自己(zj)在大學(xué)(dxu)中的一段經(jīng)歷,從設(shè)計(jì)之初的無從下手到設(shè)計(jì)工作的圓滿完成,期間(qjin)遇到了諸多的問題和困難。但在王老師的細(xì)心指導(dǎo)和幫助下,通過自己的努力,最終這些問題與困難都得到了圓滿解決。使我可以按時(shí)課程設(shè)計(jì)并使自己的專業(yè)知識(shí)與綜合能力都得到了相應(yīng)的提高。在課程設(shè)計(jì)過程中,王老師在百忙中對(duì)我的設(shè)計(jì)進(jìn)行了指導(dǎo)。他首先細(xì)致地為我解題;當(dāng)我迷茫于眾多的資料時(shí),又為我提綱挈領(lǐng)、梳理脈絡(luò),使我確立了本文的框架。感謝老師對(duì)我的課程設(shè)計(jì)不厭其煩的悉心指導(dǎo)。在課程設(shè)計(jì)寫作

溫馨提示

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

評(píng)論

0/150

提交評(píng)論