串行定時發(fā)送接收系統(tǒng)(共22頁)_第1頁
串行定時發(fā)送接收系統(tǒng)(共22頁)_第2頁
串行定時發(fā)送接收系統(tǒng)(共22頁)_第3頁
串行定時發(fā)送接收系統(tǒng)(共22頁)_第4頁
串行定時發(fā)送接收系統(tǒng)(共22頁)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)單片機(jī)應(yīng)用系統(tǒng)設(shè)計課程設(shè)計說明書PAGE PAGE 23課程設(shè)計任務(wù)書學(xué)生(xu sheng)姓名: 趙云(zho yn)成 專業(yè)(zhuny)班級: 機(jī)械1301 指導(dǎo)教師: 徐漢斌 工作單位: 機(jī)電工程學(xué)院 題 目: 串行定時發(fā)送接收系統(tǒng)設(shè)計 初始條件:1采用MCS51作為主控芯片; 2設(shè)計以RS232為標(biāo)準(zhǔn)的串行通訊系統(tǒng); 3設(shè)計實現(xiàn)定時發(fā)送數(shù)據(jù),同時可接收不同命令改變發(fā)送數(shù)據(jù)。要求完成的主要任務(wù): 查閱參考資料,自學(xué)相關(guān)可編程接口芯片的內(nèi)部結(jié)構(gòu)、工作方式和初始化編程過程;根據(jù)設(shè)計系統(tǒng)的具體功能和性能參數(shù),明確設(shè)計目標(biāo);單片機(jī)系統(tǒng)及其擴(kuò)展接口電路設(shè)計,繪制系統(tǒng)硬件原理圖;編制

2、系統(tǒng)控制源程序,繪制源程序流程圖,包括初始化和監(jiān)控程序;撰寫設(shè)計說明書(包括參考資料目錄,字?jǐn)?shù)不少于5000字)時間安排:(兩周)序號內(nèi) 容所用時間(天)1查閱資料,學(xué)習(xí)相關(guān)芯片知識22系統(tǒng)及擴(kuò)展電路硬件設(shè)計33初始化程序和應(yīng)用程序設(shè)計34相關(guān)硬件電路和程序調(diào)試35課程設(shè)計答辯1合計12指導(dǎo)教師簽名: 2015年 12 月 27 日系主任(或責(zé)任教師)簽名: 年 月 日目錄(ml)1.功能(gngnng)需求分析3 2.總體方案說明(shumng)43.系統(tǒng)硬件部分設(shè)計5 3.1硬件總體原理圖設(shè)計5 3.2主控芯片選型6 3.3其它構(gòu)成部分說明63.3.1 RS232C中的DB-963.3.2

3、RS232C中的MAC232芯片73.3.3時鐘電路84.系統(tǒng)軟件部分設(shè)計10 4.1軟件總體設(shè)計10 4.2主程序說明10 4.3子程序模塊說明11 4.3.1初始化模塊11 4.3.2串行口中斷模塊11 4.3.3數(shù)據(jù)處理模塊125.proteus仿真測試13 5.1proteus仿真測試圖13 5.2proteus仿真效果介紹156.總結(jié)與體會187.參考文獻(xiàn)19附錄(fl)201.功能需求(xqi)分析串行通信就是數(shù)據(jù)(shj)在單條一位寬的傳輸線上,一比特接一比特地按順序傳送。與并行通信一個字節(jié)(8位)數(shù)據(jù)在8條并行傳輸線上同時由源傳到目的地不同,串行通信方式中,數(shù)據(jù)是在單條1位寬的

4、傳輸線上一位接一位地順序傳送。這樣一個字節(jié)的數(shù)據(jù)要分8次由低位到高位按順序一位位地傳送。由此可見,串行通信節(jié)省傳輸線,尤其是在遠(yuǎn)程通信時,此特點尤為重要,這也是串行通信的主要優(yōu)點。但是串行通信的數(shù)據(jù)傳送效率低。與并行通信比,這也這是顯而易見的。這也是串行通信的主要缺點。串行通信是數(shù)據(jù)按順序依次傳送的通信方式,它的優(yōu)點是只需要一對傳輸線就可以在系統(tǒng)間交換信息,特別適合于計算機(jī)與計算機(jī)之間,計算機(jī)與外部設(shè)備之間的遠(yuǎn)距離通信。而且串行通信可以利用電話線,大大降低了傳輸成本,但是傳輸速率較低。本次課程設(shè)計要求設(shè)計串行定時發(fā)送接收系統(tǒng),主要利用AT89C51芯片,以RS232為串行通訊標(biāo)準(zhǔn)實現(xiàn)定時發(fā)送數(shù)

5、據(jù),同時可接收不同命令改變發(fā)送數(shù)據(jù)。利用AT89C51芯片,以RS232為串行通訊標(biāo)準(zhǔn)設(shè)計定時中斷等程序,達(dá)到串行定時發(fā)送接收的功能。發(fā)送3組數(shù)據(jù),達(dá)到定時發(fā)送接收功能。本次設(shè)計為串行定時發(fā)送接收功能的系統(tǒng)。2.總體方案說明(shumng)在本串行定時發(fā)送接收控制系統(tǒng)(kn zh x tn)中,使用AT89C51芯片實現(xiàn)串行口的接收與定時發(fā)送數(shù)據(jù),設(shè)計工作原理如下:儲存器中有等待發(fā)送的三組數(shù)據(jù),分別為第一組0到9循環(huán),第二組A到Z24個大寫字母,第三組a到z24個小寫字母,開機(jī)后,系統(tǒng)自動循環(huán)數(shù)字(shz)0到9,T0采用方式2定時中斷,T1采用方式1定時中斷后發(fā)送已在緩沖區(qū)準(zhǔn)備好的數(shù)據(jù)。接受

6、數(shù)據(jù)后產(chǎn)生中斷信號取走該組數(shù)據(jù),然后儲存在儲存器上。在等待產(chǎn)生定時中斷時會不斷的循環(huán)比較命令區(qū)中的數(shù)據(jù)是否有不同,如果不同就會轉(zhuǎn)向數(shù)據(jù)處理程序,將新命令指定的數(shù)據(jù)從儲存器中取出然后處理成要求的數(shù)據(jù)存放在緩沖區(qū)中等待發(fā)送。當(dāng)輸入0時定時發(fā)送第一組,輸入1時定時發(fā)送第二組數(shù)據(jù),輸入3時發(fā)送第三組數(shù)據(jù)。開機(jī)后,系統(tǒng)自動發(fā)送0到9循環(huán),當(dāng)輸入0時,系統(tǒng)發(fā)送第一組0-9循環(huán),當(dāng)手動輸入為1時,發(fā)送第二組數(shù)據(jù)A-Z24個字母循環(huán),手動輸入3時發(fā)送第三組數(shù)據(jù),發(fā)送第三組a-z24個小寫字母循環(huán)。輸入為其他時,沒有反應(yīng)。且不斷循環(huán)。3.系統(tǒng)(xtng)硬件部分設(shè)計3.1硬件(yn jin)總體原理圖設(shè)計 圖3

7、-1串行定時發(fā)送接收系統(tǒng)(xtng)硬件原理圖如圖3-1所示,串行定時發(fā)送接收系統(tǒng)由AT89C51單片機(jī),MAX232電平轉(zhuǎn)換芯片,DB9接口,時鐘電路,復(fù)位電路組成。其中(qzhng),MAX232芯片的T1IN引腳與AT89C51的P3.1(TXD)引腳相連(xin lin),R1OUT引腳與P3.0(RXD)引腳相連(xin lin);TIOUT引腳與DB9接口2(TXD)引腳相連,R1IN引腳與RXD相連。晶振電路兩引腳與單片機(jī)的XTAL1,XTAL2引腳相連。復(fù)位電路接AT89C51單片機(jī)RESET引腳。 單片機(jī)供應(yīng)5V電壓電源。3.2主控芯片選型本次設(shè)計選用單片機(jī)主控芯片為AT89

8、C51單片機(jī),利用定時中斷,實現(xiàn)定時發(fā)送接收功能 AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS 8位微處理器。如圖3-2,其中,主要使用引腳如下:WR:寫信號輸出;RD:讀選通信號;XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入;XTAL2:來自反向振蕩器的輸出;RESET:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間;/EA/VPP:當(dāng)/EA保持低電平時,在此期間外部程序存儲器(0000H-FFFFH)。當(dāng)/EA端保持高電平時,此期間優(yōu)先使用內(nèi)部程序存儲器。 圖3-2AT89C51單片機(jī)引腳排列P3.1(TXD)引腳與MAX232芯

9、片的T1IN引腳相連P3.0(RXD)引腳與R1OUT引腳相連。晶振電路兩引腳與單片機(jī)的XTAL1,XTAL2引腳相連(xin lin)。3.3其他構(gòu)成部分(b fen)說明3.3.1 RS232C中的DB-9 單片機(jī)系統(tǒng)與PC設(shè)備(shbi)之間的通信主要采用異步串行通信方式,通過RS-232C標(biāo)準(zhǔn)接口實現(xiàn)。RS232c接口標(biāo)準(zhǔn)使用一個一個25針連接器,絕大多數(shù)設(shè)備只使用其中9個信號,所以我們用9針連接器,稱為DB-9,如下圖所示TXD:發(fā)送數(shù)據(jù)。串行數(shù)據(jù)發(fā)送端RXD:接收數(shù)據(jù)。串行數(shù)據(jù)接收端RTS:請求發(fā)送。用于通知數(shù)據(jù)通信設(shè)備準(zhǔn)備接收數(shù)據(jù)CTS:清除發(fā)送(允許發(fā)送)。DTR:數(shù)據(jù)終端準(zhǔn)備

10、好。DSR:數(shù)據(jù)裝置準(zhǔn)備好。GND:信號地 圖3-3 DB9接口由于RS-232C通信方式規(guī)定了自己的電氣標(biāo)準(zhǔn),不能直接滿足TTL電平的傳送要求。為了通過這些標(biāo)準(zhǔn)接口通信,必須在單片機(jī)應(yīng)用系統(tǒng)中加入電平轉(zhuǎn)換芯片,以實現(xiàn)TTL電平向標(biāo)準(zhǔn)接口電平的轉(zhuǎn)換,通常采用單5V工作電源的MAX232芯片實現(xiàn)。3.3.2 RS232C中的MAC232芯片 圖3-4 MAX232芯片(xn pin)與DB9連接如圖3-4,第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(lin )電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)(shj)轉(zhuǎn)換通道。由7、8、

11、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從11引腳(T1IN)、10引腳(T2IN)輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從14腳(T1OUT)、7腳(T2OUT)送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從13引腳(R1IN)、8引腳(R2IN)輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從12引腳(R1OUT)、9引腳(R2OUT)輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。使用MAX3232芯片的目的是轉(zhuǎn)換電平。使用串口進(jìn)行通信時,我們最主要關(guān)心的是以下這三個引腳: GND ,RXD ,TXD 3.3.3時鐘電路 圖3-5時鐘(shzhng)電路主要利用單片

12、機(jī)芯片內(nèi)部振蕩電路實現(xiàn),一般用晶體振蕩器和電容組成并聯(lián)諧振回路。C7,C8一般取30pF左右,主要作用(zuyng)是幫助振蕩器起振。用來配合外部晶體實現(xiàn)振蕩電路。4.系統(tǒng)軟件部分(b fen)設(shè)計數(shù)據(jù)模塊數(shù)據(jù)發(fā)送模塊初始化模塊主程序模塊串行口中斷模塊 4.1系統(tǒng)軟件(x tn run jin)總體設(shè)計 圖4-1軟件(run jin)總體設(shè)計圖如圖4-1所示,軟件由主程序模塊,數(shù)據(jù)處理模塊,串行口中斷模塊,數(shù)據(jù)發(fā)送模塊,初始化模塊共五個模塊構(gòu)成。4.2主程序模塊主程序模塊的功能是,調(diào)用初始化程序,設(shè)置中斷,設(shè)置波特率,然后開始循環(huán)檢查判斷是否有新命令并等待中斷信號。如果沒有中斷信號,程序?qū)⒉粩?/p>

13、的檢查判斷標(biāo)志,標(biāo)志改變時就轉(zhuǎn)去按新命令處理數(shù)據(jù)并存儲在數(shù)據(jù)緩沖區(qū)。輸出0到9循環(huán),如果有中斷輸入,程序?qū)⑥D(zhuǎn)入相應(yīng)的中斷服務(wù)程序。輸出相應(yīng)的數(shù)據(jù),總之主程序模塊是初始化和設(shè)置中斷。流程圖開始 調(diào)用初始化模塊開總中斷開串行口中斷啟動TO,T1計數(shù)允許T0,T1中斷循環(huán)標(biāo)志結(jié)束圖4-2主程序流程圖4.3子程序模塊說明(shumng)4.3.1初始化模塊(m kui)初始化模塊(m kui)包含兩個,一個定時器初始化,一個波特率初始化。功能:1完成定時器初始化 2設(shè)定串行口波特率被主程序調(diào)用。4.3.2串行口中斷模塊 串行口中斷是判斷接收信息,得到PC的指令。若接收信息滿足中斷則進(jìn)入中斷模塊,若中斷

14、開啟,則執(zhí)行中斷程序,發(fā)送另一組數(shù)據(jù)。開始 開啟中斷清RI,啟動T0中斷返回結(jié)束 4.3.3數(shù)據(jù)處理模塊(m kui)功能(gngnng):接收PC發(fā)送的指令,完成定時發(fā)送功能,通過T0定時50ms,循環(huán)發(fā)送0-9,通過接收指令,若接收指令為1,定時發(fā)送字母A-Z,若接收指令為2,定時發(fā)送小寫字母a-z。其中發(fā)送0到9月A到Z循環(huán)程序(chngx)類似,若接收到PC發(fā)送指令,定時發(fā)送各組數(shù)據(jù)。 開始 開T0中斷接收PC指令設(shè)置接收狀態(tài)發(fā)送數(shù)據(jù)不為0,1,2中斷返回圖4-3數(shù)據(jù)處理模塊流程圖5系統(tǒng)(xtng)測試5.1 proteus仿真(fn zhn)測試圖圖5-1仿真(fn zhn)圖如圖5

15、-1為本系統(tǒng)仿真圖,其中由于仿真過程中COMpim自帶仿真模塊,可不用接MAX232芯片,實際中要接入MAX232芯片,具體如前面介紹。在完成仿真的過程中,需要加入一對虛擬端口,利用虛擬端口軟件VSPD,可增加虛擬 圖5-2 VSPD軟件增加(zngji)虛擬端口圖端口,如圖5-2點擊(din j)增加一對虛擬端口。然后再proteus中設(shè)置(shzh)COMPIM屬性 圖5-3 COMPIM屬性(shxng)設(shè)置選擇(xunz)COM1,波特率設(shè)置(shzh)9600,數(shù)據(jù)位8位,無效驗位,停止位1位,如圖5-3。打開串行調(diào)試小助手選擇COM2,波特率9600,數(shù)據(jù)位8位,無效驗位,停止位1

16、位。5.2 proteus仿真效果介紹 圖5-4串口調(diào)試助手(zhshu)仿真數(shù)據(jù)(開機(jī)組)圖5-5輸入1時串口調(diào)試(dio sh)助手仿真數(shù)據(jù) 圖5-6輸入(shr)2是串口調(diào)試助手仿真數(shù)據(jù)啟動仿真,如圖5-4,開機(jī)(ki j)時定時發(fā)送0到9循環(huán),圖5-5,輸入1時,定時發(fā)送A到Z循環(huán),圖5-6,輸入2時定時發(fā)送a到z循環(huán)。6.總結(jié)(zngji)與體會單片機(jī)應(yīng)用(yngyng)系統(tǒng)設(shè)計課程設(shè)計,我分到了串行定時發(fā)送接收系統(tǒng),在為期兩周的課程設(shè)計中,我認(rèn)真查閱(chyu)關(guān)于單片機(jī)串行通信的資料,認(rèn)真學(xué)習(xí)設(shè)計電路圖,獨立思考如何才能讓程序達(dá)到要求并且可行。本次單片機(jī)課設(shè),我確實費了很大周折,

17、分到題目時,我很迷茫,不是很理解題目的意思,因為題目好像有點空,但我認(rèn)真查閱資料,學(xué)到了很多以前書本上沒有的知識,通過這次課程設(shè)計使我懂得了理論與實際結(jié)合是很重要的。在剛開始設(shè)計芯片時,我不懂MAX232芯片如何接,再查閱了資料后掌握了,但是有許多細(xì)節(jié)的處理方法上還是存在很大問題。串行通信雖然在課堂上沒有成為考試的內(nèi)容,但其重要性不容忽視,更少的數(shù)據(jù)線和更遠(yuǎn)的傳輸距離是它的突出優(yōu)點。這次單片機(jī)課程設(shè)計,關(guān)于定時中斷等內(nèi)容,我又重新溫習(xí)了一下課本,編寫了程序,受益匪淺。從拿到這個題目,雖然感到很棘手,但是我還是堅持做完了這個設(shè)計,并沒有像其他同學(xué)那樣萌生換題目的想法??傊@次課程設(shè)計,我收獲很

18、多,不枉費兩周的努力和思考,同時也感謝老師的耐心指導(dǎo),希望能更多的掌握單片機(jī)的知識。7.參考文獻(xiàn)1李廣第.單片機(jī)基礎(chǔ)(jch)M.北京(bi jn):北京航空航天大學(xué),20072 林立(ln l),張俊亮,曹旭東,等. 單片機(jī)原理及應(yīng)用-基于Proteus和Keil CM. 北京:電子工業(yè)出版社,2009.3 樓然苗,李光飛. 單片機(jī)課程設(shè)計指導(dǎo)M. 北京:北京航空航天大學(xué)出版社,2007.4 王賢勇,趙傳申. 單片機(jī)原理與接口技術(shù)M. 北京:清華大學(xué)出版社,2010.4 徐漢斌,熊才高. 單片機(jī)原理及應(yīng)用M. 武漢:華中科技大學(xué)出版社,20125 常敏,王涵,范江波,等. 51單片機(jī)應(yīng)用程序

19、開發(fā)與實踐M. 北京:電子工業(yè)出版社,2009.6 張齊. 單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計M. 北京:電子工業(yè)出版社,2010.7 王賢勇,趙傳申. 單片機(jī)原理與接口技術(shù)M. 北京:清華大學(xué)出版社,2010.附錄(fl)ORG 0000HDJMP MAINORG 000BHDJMP TIM0ORG 0023HDJMP USART0MAIN: MOV TMOD,#21; 設(shè)置TO為工作(gngzu)方式2,T1為工作方式1 MOV TH1,#0FDH; 設(shè)置(shzh)波特率為9600 MOV TL1,#0FDH MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-5

20、0000)MOD 256; 設(shè)置定時時間50ms MOV SCON,#50H; 設(shè)置串口方式1 MOV IE,#92H; 中斷允許寄存器開啟ETO,ET1 MOV IP,#10H; 中斷優(yōu)先控制PT1,PX0 SETB TR1; 開啟T1計數(shù)器 SETB TR0; 開啟T2計數(shù)器 MOV R1,#30H MOV R3,#30H MOV R2,#10 DJMP $ TIM0: 定時器0中斷 MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256 DJNZ R2,EXTI ; 判斷計數(shù)為0時中斷 MOV R2,#10; 計數(shù)R2為10 MO

21、V A,R3; CJNE A,#30H,S3;判斷為0,若A為0,跳轉(zhuǎn)S3 MOV A,R1 CJNE A,#3AH,S1 MOV A,#30H MOV R1,AS1: MOV SBUF,A JNB TI,$ CLR TI MOV SBUF,#20H JNB TI,$ CLR TI INC R1 RETI S3: CJNE A,#31H,S5;若A為1,跳轉(zhuǎn)S5 MOV A,R1 CJNE A,#5BH,S4; 到Z到后一位,執(zhí)行S4,否則(fuz)順序執(zhí)行 MOV A,#41H; 從A發(fā)送(f sn) MOV R1,AS4: MOV SBUF,A JNB TI,$; 等待一幀數(shù)據(jù)(shj)發(fā)送完畢 CLR TI; 清發(fā)送中斷標(biāo)志 MOV SBUF,#20H; JNB TI,$ ; 等待一幀數(shù)據(jù)發(fā)送完畢 CLR TI ; 清發(fā)送中斷標(biāo)志,必須軟件清0 INC R1 ; R1自加1 RETI ; 中斷返

溫馨提示

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

評論

0/150

提交評論