已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程設計報告書設計名稱: 計算機控制技術(shù) 題 目: AT89C51的串口通信 學生姓名: XXX 專 業(yè): 計算機科學與技術(shù) 班 別: 計科本XXX班 學 號: XXXXXXXX 指導老師: XXX 日 期: 2012 年 7 月 12 日一、主要內(nèi)容:本課程設計利用兩片AT89C51實現(xiàn)雙機串口通信;主機發(fā)送并顯示 10 以下的隨機數(shù),從機顯示該數(shù)的階乘值,通過開關(guān)改變主機輸出的數(shù)值。設計電路并編寫一個串行口方式1收發(fā)程序,實現(xiàn)兩片AT89C51之間的通信,甲機將數(shù)據(jù)發(fā)送到乙機并顯示出來,同樣,乙機也可將數(shù)據(jù)發(fā)送到甲機顯示出來。二、硬件電路設計及描述1、方案選擇及設計思想 單片機(從機)單片機(主機)顯示階乘值顯示發(fā)的數(shù) 2、工作原理在串行通信中,數(shù)據(jù)是在兩個站之間傳送的。按照數(shù)據(jù)傳送方向,串行通信可分為三種制式。1). 單工制式(Simplex)單工制式是指甲乙雙方通信只能單向傳送數(shù)據(jù)。單工制式如圖1所示。2). 半雙工制式(Half duplex) 半雙工制式是指通信雙方都具有發(fā)送器和接收器,雙方既可發(fā)送也可接收,但接收和發(fā)送不能同時進行,即發(fā)送時就不能接收,接收時就不能發(fā)送。半雙工制式如圖2所示。3). 全雙工制式(Full duplex) 全雙工制式是指通信雙方均設有發(fā)送器和接收器,并且將信道劃分為發(fā)送信道和接收信道,兩端數(shù)據(jù)允許同時收發(fā),因此通信效率比前兩種高。全雙工制式如圖3所示。AT89C51內(nèi)部有一個可編程全雙工串行通信接口。該部件不僅能同時進行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。下面將對其內(nèi)部結(jié)構(gòu)、工作方式以及波特率進行介紹。圖4 AT89C51串行口結(jié)構(gòu)框圖 串口通信方式11)方式1發(fā)送 方式1輸出時,數(shù)據(jù)由TXD輸出,一幀信息為10位,1位起始位0,8位數(shù)據(jù)位(先低位)和1位停止位1。當執(zhí)行一條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動發(fā)送。圖中TX時鐘的頻率就是發(fā)送的波特率。發(fā)送開始時,內(nèi)部發(fā)送控制信號變?yōu)橛行?。將起始位向TXD輸出,此后,每經(jīng)過一個TX時鐘周期,便產(chǎn)生一個移位脈沖,并由TXD輸出一個數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,置“1” TI。2)方式1接收 數(shù)據(jù)從RXD(P3.0)腳輸入。當檢測到起始位的負跳變時,開始接收數(shù)據(jù)。定時控制信號有兩種):接收移位時鐘(RX時鐘,頻率和波特率相同)和位檢測器采樣脈沖(頻率是RX時鐘的16倍,1位數(shù)據(jù)期間,有16個采樣脈沖),當采樣到RXD端從1到0的跳變時就啟動檢測器,接收的值是3次連續(xù)采樣(第7、8、9個脈沖時采樣)進行表決以確認是否是真正的起始位(負跳變)的開始。當一幀數(shù)據(jù)接收完,須同時滿足兩個條件,接收才真正有效。 RI=0,即上一幀數(shù)據(jù)接收完成時,RI=1發(fā)出的中斷請求已被響應,SBUF中的數(shù)據(jù)已被取走,說明“接收SBUF”已空。 SM2=0或收到的停止位=1(方式1時,停止位已進入RB8),則收到的數(shù)據(jù)裝入SBUF和RB8(RB8裝入停止位),且置“1”中斷標志RI。若這兩個條件不同時滿足,收到的數(shù)據(jù)將丟失。波特率波特率(band rate)是異步通信中每秒鐘傳送的二進制數(shù)碼的位數(shù)(比特數(shù)),單位是位/秒。 作用:1、反映串行通信的速率; 2、反映對傳輸通道的要求:波特率越高,要求的傳輸通道的頻帶寬度就越寬異步通信:波特率為每秒傳送的字符數(shù)和每個字符位數(shù)的乘積。方式 1、3: 波特率=2SMOD(T1溢出率)/32對波特率需要說明的是,當串行口工作在方式1或方式3,且要求波特率按規(guī)范取1200、2400、4800、9600時,若采用晶振12MHz和6MHz,按上述公式算出的T1定時初值將不是一個整數(shù),因此會產(chǎn)生波特率誤差而影響串行通信的同步性能。解決的方法只有調(diào)整單片機的晶振頻率fosc,為此有一種頻率為11.0592MHz的晶振,這樣可使計算出的T1初值為整數(shù)。表9-2列出了串行方式1或方式3在不同晶振時的常用波特率和誤差。 用兩塊AT89C51模擬主機和從機,在主機的P2口低4位處設4個按鍵,并連上高電平,通過按鍵來給P2口輸入09的隨機數(shù),在主機的程序里編寫的程序主要實現(xiàn)檢測P2口的數(shù)值,并通過LED顯示出來,然后把這個數(shù)發(fā)出到從機去。在從機里,先通過中斷程序取出接收到的數(shù)據(jù),然后處理,通過P1來控制片選,P2口來掃描輸出高低電平,讓LED顯示接收到的數(shù)的階乘值。2、原理電路圖,各元器件之間的實際連接關(guān)系圖5 原理電路圖3、元器件清單列表:單片機(AT89C51)兩片 U1 U2按鍵開關(guān)6個 K1 K2 K3 K4 K5 K6電容6個 C1(20pf) C2(20pf) C3(22uf) C4(20pf) C5(22pf) C6(20pf)電阻兩個(1K) R1 R21位的共陰LED數(shù)碼管1個 2位的共陽LED數(shù)碼管1個4位的共陽LED數(shù)碼管1個12Mhz的晶振兩個 X1 X2三、軟件設計源程序代碼發(fā)送程序:#include void csh()P2=0;SM0=0;SM1=1;/通信方式設為方式1REN=1;TI=0;RI=0;PCON=0;TH1=0xFd;TL1=0XFd;TMOD=0X20;EA=1;ET1=0;ES=1;TR1=1;/初始化設置void main()int i,j;char c=0;csh();while(1)ES=0;TI=0;c=P2;/檢測P2口輸入的數(shù)據(jù)if(P2=0) P1=0x3f; if(P2=1) P1=6; if(P2=2) P1=0x5b; if(P2=3) P1=0x4f;if(P2=4) P1=0x66;if(P2=5) P1=0x6d;if(P2=6) P1=0x7d;if(P2=7) P1=7;if(P2=8) P1=0x7f;if(P2=9) P1=0x6f;/通過P1口輸出并顯示輸入的數(shù)據(jù)SBUF=c;/把檢測到的數(shù)據(jù)放到發(fā)送緩存區(qū)發(fā)送while(!TI);TI=0;ES=1;for(j=0;j30;j+)for(i=0;i5000;i+)/可以設置延時的長短來改變發(fā)送數(shù)據(jù)的快慢;接收程序#include int c=0;void csh()P2=0xFF;SM0=0;SM1=1;/通信方式設為方式1 REN=1;TI=0;/ 清串口發(fā)送中斷標志 RI=0; PCON=0; /波特率不倍增TH1=0xFd; /*設定初值,波特率9600 TL1=0XFd;TMOD=0X20; /設置定時器1為工作方式2, 8-bit 自動裝載方式 ET1=0; /禁止T1中斷EA=1;ES=1; /開串口中斷TR1=1; /啟動定時器T1/初始化設置void delay1ms(int count) int i; int j; for(i=0;icount;i+) for(j=0;j120;j+); /定義一個延時函數(shù) void intrr() interrupt 4 char temp;temp=SBUF; c=temp;/進入中斷取出接收到的數(shù)據(jù) RI=0; ES=1;void main() csh();while(1) if(c=1) P1=1; P2=0xF9; delay1ms(2); P1=2; P2=0x40; delay1ms(2); P1=4; P2=0x40; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示000001 if(c=2) P1=1; P2=0x24; delay1ms(2); P1=2; P2=0x40; delay1ms(2); P1=4; P2=0x40; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示000002 if(c=3) P1=1; P2=2; delay1ms(2); P1=2; P2=0x40; delay1ms(2); P1=4; P2=0x40; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示000006 if(c=4) P1=1; P2=0x19; delay1ms(2); P1=2; P2=0x24; delay1ms(2); P1=4; P2=0x40; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示000024 if(c=5) P1=1; P2=0x40; delay1ms(2); P1=2; P2=0x24; delay1ms(2); P1=4; P2=0xF9; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(1); ;/顯示000120 if(c=6) P1=1; P2=0x40; delay1ms(2); P1=2; P2=0x24; delay1ms(2); P1=4; P2=0x78; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示000720 if(c=7) P1=1; P2=0x40; delay1ms(2); P1=2; P2=0x19; delay1ms(2); P1=4; P2=0x40; delay1ms(2); P1=8; P2=0x12; delay1ms(2); P1=0x10; P2=0x40; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示005040 if(c=8) P1=1; P2=0x40; delay1ms(2); P1=2; P2=0x24; delay1ms(2); P1=4; P2=0x30; delay1ms(2); P1=8; P2=0x40; delay1ms(2); P1=0x10; P2=0x19; delay1ms(2); P1=0x20; P2=0x40; delay1ms(2); ;/顯示40320 if(c=9) P1=1; P2=0x40; delay1ms(3); P1=2; P2=0; delay1ms(3); P1=4; P2=0; delay1ms(3); P1=8; P2=0x24; delay1ms(3); P1=0x10; P2=2; delay1ms(3); P1=0x20; P2=0x30; delay1ms(2); ;/顯示362880 ;/對接收到的數(shù)據(jù)處理,通過P1、P2口控制輸出顯示該數(shù)的階乘四實驗體會:在此次計算機控制技術(shù)課程設計,從編輯程序到調(diào)試仿真到在試驗箱中做實驗,從理論到實踐,我學到了很多很多的的東西,不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結(jié)合是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度量化基金份額代持與風險管理顧問合同3篇
- 2024年度科技項目采購法務與合同管理流程3篇
- 2024年環(huán)保設施項目建議書編制委托合同3篇
- 維修工的工作計劃范文
- 2022年協(xié)會工作計劃
- 2021年初中教師個人教學工作總結(jié)5篇
- 幼兒工作計劃四篇
- 雙十一活動方案策劃書范本3篇
- CCTV《榜樣6》直播觀后感范本4篇
- 2022秋季學校工作計劃
- (八省聯(lián)考)云南省2025年普通高校招生適應性測試 物理試卷(含答案解析)
- 宣州謝朓樓餞別校書叔云
- 熱控典型案例分析(行業(yè)經(jīng)驗)
- 限矩型液力偶合器說明書
- 110kVGIS設備狀態(tài)評價細則
- 中小學數(shù)學學科德育實施指導綱要
- 并聯(lián)無功補償項目節(jié)約電量的計算中國電力企業(yè)聯(lián)合會
- 《病毒》教學設計
- 路面基層允許彎沉值計算+彎沉系數(shù)圖+允許彎沉值計算公式
- 連鑄意外事故處理
- 國家開放大學(中央廣播電視大學)報名登記表【模板】
評論
0/150
提交評論