利用電平轉換器件RS-232實現單片機與PC間的串口通信_第1頁
利用電平轉換器件RS-232實現單片機與PC間的串口通信_第2頁
利用電平轉換器件RS-232實現單片機與PC間的串口通信_第3頁
利用電平轉換器件RS-232實現單片機與PC間的串口通信_第4頁
利用電平轉換器件RS-232實現單片機與PC間的串口通信_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、中北大學信息商務學院課程設計說明書1 緒論單片機是一種集成在電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,

2、學習使用單片機是了解計算機原理與結構的最佳選擇。 單片機內部也用和電腦功能類似的模塊,比如CPU,內存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可.用它來做一些控制電器一類不是很復雜的工作足矣了。我們現在用的全自動滾筒洗衣機、排煙罩、VCD等等的家電里面都可以看到它的身影!.它主要是作為控制部分的核心部件。它是一種在線式實時控制計算機,在線式就是現場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區別。 單片機是靠程序運行的,并且可以修改。通過不同的程序實現不同的功

3、能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復雜的功能要是用美國50年代開發的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場的系列單片機,結果就會有天壤之別!只因為單片機的通過你編寫的程序可以實現高智能,高效率,以及高可靠性! 由于單片機對成本是敏感的,所以目前占統治地位的軟件還是最低級匯編語言,它是除了二進制機器碼以上最低級的語言了,既然這么低級為什么還要用呢?很多高級的語言已經達到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機沒有家用計算

4、機那樣的CPU,也沒有像硬盤那樣的海量存儲設備。一個可視化高級語言編寫的小程序里面即使只有一個按鈕,也會達到幾十K的尺寸!對于家用PC的硬盤來講沒什么,可是對于單片機來講是不能接受的。 單片機在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計算機上的操作系統和應用軟件拿到家用PC上來運行,家用PC的也是承受不了的。 二十世紀跨越了三個“電”的時代,即電氣時代、電子時代和現已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微

5、控制器)。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。現在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞“智能型”,如智能型洗衣機等。1.1 設計目的本設計包括確定控制任務、系統總體方案設計、硬件系統設計、軟件程序的設計等,以便使學生掌握有關單片機控制的設計思想和設計方法。為學生今后從事單片機控制系統開發工作打下基礎。1.2 設計

6、內容和要求 本課程設計的基本要求是使學生全面掌握單片機控制系統設計的基本理論熟悉掌握MCS-51系列單片機的編程方法,具體要求如下: 利用電平轉換器件RS-232實現單片機與PC間的串口通信,利用虛擬終端仿真單片機與PC間的串行通信。PC先發送從鍵盤輸入的數據,單片機接收后會發給PC機,雙方收發數據是相同的單片機將收發到的30-39H間的數據轉換成0-9顯示,其他數據直接顯示為字符的ASCII碼。2 方法選擇2.1 從PROTTEUS庫中選取元件圖1 AT89C2051:單片機1, RES:電阻如圖2所示:圖2 RES:電阻2 7SEG-BCD-RED:紅色BCD數碼管如圖3所示: 圖3 7S

7、EG-BCD-RED:紅色BCD數碼管3 CAP、CAP-ELEC:電容、電解電容如圖4所示:圖4 CAP、CAP-ELEC:電容、電解電容4 BUTTON:按鈕控件如圖5所示:圖5 BUTTON:按鈕控件5 MAX232/MAX220:RS-232收發器如圖6所示:圖6 MAX232:RS-232收發器2.2 原理圖中用到的部分元器件的功能、原理及引腳說明 1. 串口模型COMPIM及其引腳功能如圖7所示: 圖7 串口模型COMPIM及其引腳功能2. MAX232/MAX220:RS-232收發器的功能 實現電平轉換,也就是將CMOS電平轉換成TTL電平3. RS232(DB9)引腳定義 (

8、1):DCB:載波檢測。主要用于Modem通知計算機其處于在線狀態,即Modem檢測到撥號音,處于在線狀態。 (2):RXD:此引腳用于接收外部設備送來的數據;在使用Modem時,會發現RXD指示燈在閃爍,說明RXD引腳上有數據進入。 (3):TXD:此引腳將計算機的數據發送給外部設備;在使用Modem時,會發現TXD指示燈在閃爍,說明計算機正在通過TXD引腳發送數據。 (4):DTR:數據終端就緒;當此引腳高電平時,通知Modem可以進行數據傳輸,計算機已經準備好。 (5):GND:信號地; (6):DSR:數據設備就緒;此引腳高電平時,通知計算機Modem已經準備好,可以進行數據通訊了。

9、(7):RTS:請求發送;此引腳由計算機來控制,用以通知Modem馬上傳送數據至計算機;否則,Modem將收到的數據暫時放入緩沖區中。 (8):CTS:清除發送;此引腳由Modem控制,用以通知計算機將欲傳的數據送至Modem。 (9):RI:Modem通知計算機有呼叫進來,是否接聽呼叫由計算機決定4. MAX232原理 MAX232芯片是專門為電腦的RS-232標準串口設計的接口電路,使用+5V單電源供電。 內部結構基本可分三個部分: 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構成。功能是產生+12V和-12V兩個電源,提供給RS-232串口電平的需要。 第二部分是數據轉換通

10、道。由7、8、9、10、11、12、13、14腳構成兩個數據通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數據通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數據通道。 TTL/CMOS數據從T1IN、T2IN輸入轉換成RS-232數據從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數據從R1IN、R2IN輸入轉換成TTL/CMOS數據后從R1OUT、R2OUT輸出。 第三部分是供電。15腳DNG、16腳VCC(+5V)。5. AT89C2051單片機引腳介紹 AT89C2051為2

11、0引腳小型封裝,2K內部程序存儲器,15個可編程I/O口線,沒有P0口和P2口的16根I/O線,內部集成了一個模擬比較器。 AT89C2051單片機的引腳排列如圖8所示:圖8 AT89C2051單片機的引腳排列 芯片共有20個引腳,引腳的排列順序為從靠芯片的缺口(見上圖)左邊那列引腳逆時針數起,依次為1、2、320,在單片機的20個引腳中,電源引腳2根,外接晶體振蕩器引腳2根,復位引腳1根以及P1、P3口可編程I/O引腳15根。(1) 主電源引腳(2根)VCC(Pin20):電源輸入,接+5V電源GND(Pin10):接地線(2) 外接晶振引腳(2根) XTAL1(Pin5):片內振蕩電路的輸

12、入端 XTAL2(Pin4):片內振蕩電路的輸出端(3) 控制引腳(1根) RST/VPP(Pin1):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位(4) 可編程輸入/輸出引腳(15根)P1口:8位準雙向I/O口線,P1.0P1.7,共8根P3口:8位準雙向I/O口線,P3.0P3.5、P3.7,共7根3 硬件設計3.1 系統各組成部分硬件設計(1)、硬件設計電路圖如圖9所示: 圖9 硬件設計電路3.2 電路圖的原理(1)、利用電平轉換器件RS-232實現單片機與PC間的串行通信。本次試驗利用虛擬終端仿真單片機與PC間的串行通知。PC先發送從鍵盤輸入的數據,單片機接收后回發給PC機,

13、雙方收發數據是相同的單片機將接收30-39H間的數據轉換成0-9顯示,其他數據直接顯示為字符的ASCII碼。(2)、4個虛擬終端,分別給單片機的串行口及COMPIM的2腳、3腳,COMPIM的3腳與虛擬終端的發送端TXD相連,將單片機串口的RXD,TXD以及COMPIM的2腳分別接入虛擬終端的RXD,以此監視單片機和串口模型收、發數據。(3)、PCS代表計算機發送數據,PCR用來監視PC接收到的數據,SCMS、SCMR分別為單片機發送、接收終端,分別監視單片機發送、接收數據。4 軟件設計4.1 軟件設計流程圖如圖12所示:圖12 軟件設計流程圖4.2 源程序設計 ORG 0 ORG 30H S

14、JMP STARTSTART:MOV TMOD,#20H ;設計定時方式寄存器 MOV POCN,#0 ;設置電源制寄存器 MOV TH1,#0E6H ;裝初值 MOV TL1,#0E6H ;裝初值 SETB TR1 ;開中斷 CLR ES ;中斷允許 MOV SP,#5FH ;裝入指針初值LOOP:MOV SCON,#50H ;串行口工作于方式1 JNB RI,$ ;判斷RI=1? CLR RI ;清零 MOV A,SBUF ;讀進收到的數據 PUSH ACC CJNE A,#3AH,RANG1 ;判斷A的內容是否等于48RANG1:JC RANG3 ;判斷CY=1? CJNE A,#3AH

15、,RANG2 ;判斷A的內容是否等于58RANG2:JNC RANG3 ;判斷CY=0? CLR C ;CY=0 SUBB A,#30H ;轉換為ASCII碼RANG3:MOV P1,A ;輸出到數碼管顯示 POP ACCRANG4:NOPNOPNOPNOPNOPMOV SBUF,A ;啟動發送JNB TI,$ ;判斷TI=1?END5 調試和結果分析5.1 調試結果(1)、在剛開始設計完原理圖時,編譯運行時出現了如圖13所示,表示該程序是錯誤的,經過我們的一起研究發現了程序的末尾沒有加上END結束標志。圖13 編譯運行圖 (2)、程序調試完了之后,在運行時出現了如圖14所示,在PCS中輸入數

16、字和字符而在數碼管、PCR、SCMR、SCMS沒有顯示跟蹤結果。在我們的研究和探討中發現了我們沒有在串行口的3引腳發送數據端沒有加上標記PCS。 圖14 運行圖(3)、在原理圖基本調試出來的時候,運行在PCS中輸入數字“8”我們發現在PCR中沒有顯示跟蹤結果,如圖15所示,最后我們把PCR的屬性改成如下所示才把原理圖和程序調試出來。調試成功后的運行圖如圖16所示: 圖15 編輯元件圖 5.2 實驗結果(1)、在PCS中輸入“8”時,結果如圖17所示:圖17 結果圖(2)、當PCS輸入數據位“3”時,運行結果如圖18所示:圖18 結果圖(3)、當PCS輸入數據為“5”時,運行結果如圖19所示:圖19 結果圖(4)、當PCS輸入數據為“1”時,運行結果如圖20所示:圖20 結果圖6 課程設計體會  本課程設計在進行過程中得到李靜,魯旭濤老師的悉心指導。課程設計過程中,兩位老師多次幫助我們小組分析思路,開拓視角,在我們小組遇到困難想放棄的時候給予我們最大的支持和鼓勵。老師嚴謹求實的治學態度,踏實堅韌的工作精神,將使我們終生

溫馨提示

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

評論

0/150

提交評論