




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.基本原理1.1 8051單片機(jī)串行口工作原理MCS-51系列單片機(jī)片內(nèi)有一個串行IO端口,通過引腳RXD(P30)和TXD(P31)可與外設(shè)電路進(jìn)行全雙工的串行異步通信。8051單片機(jī)的串行端口有4種基本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的IO電路;方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2,3除有方式l的功能外,還可用作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。串行端口有兩個控制寄存器(SCON和PCON),用來設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的波特率(每秒傳送的位數(shù))以及作為中斷標(biāo)志等。
2、串行端口有一個數(shù)據(jù)寄存器SBUF(在特殊功能寄存器中的字節(jié)地址為99H),該寄存器為發(fā)送和接收所共同。發(fā)送時只寫不讀;接收時,只讀不寫。在一定條件下,向SBUF寫入數(shù)據(jù)就啟動了發(fā)送過程;讀SBUf就啟動了接收過程。串行通信的波特率可以程控設(shè)定。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器T1的溢出率確定,使用十分方便靈活。1.2 波特率的設(shè)定 在串行通信中,收發(fā)雙方對發(fā)送和接收數(shù)據(jù)的速率(即波特率)要有一定的約定,8051的波特率發(fā)生器的時鐘來源有兩種:一是來自于系統(tǒng)時鐘的分頻值,由于系統(tǒng)時鐘的頻率是固定的,所以此種方式的波特率是固定的;另一種是由定時器T1提供的,波特率由溢出率控制,T
3、1的計數(shù)初值是可以用軟件改寫的,因此是一種可變波特率方式,此時T1工作于定時方式2(8位自動重裝入方式)。波特率是否提高一倍由PCON的SMOD值確定,SMOD=1時,波特率加倍。串行口的工作方式中,方式0和方式2采用固定波特率,方式1和方式3采用可變波特率。2.電路的設(shè)計2.1自發(fā)自收電路圖3.1自發(fā)自收電路 上圖是本次課程設(shè)計的第一個要求:用自發(fā)自收的方式,實(shí)現(xiàn)串行中的自檢,當(dāng)串口正常時,發(fā)光二極管亮,否則,燈不亮。因此只需要一個單片機(jī)即可實(shí)現(xiàn)該功能。2.2串行通信電路圖3.2串行通信電路上圖是實(shí)現(xiàn)第二個要求:甲乙兩機(jī)采用串行方式1通信。的圖。在本次的設(shè)計中,兩邊都是采用相同的波特率為48
4、00.。其中甲機(jī)為主機(jī),發(fā)送程序;已機(jī)為從機(jī),接收數(shù)據(jù),并在乙機(jī)上顯示器上顯示出甲機(jī)發(fā)送的數(shù)據(jù):0,1,2,3,4,.1F.。3串行通信程序設(shè)計3.1程序設(shè)計流程圖 設(shè)定T1和scon設(shè)定發(fā)送數(shù)據(jù)地址指針和塊長度計數(shù)器開中斷開關(guān)EA允許串行口中斷發(fā)送等待中斷清T1修改數(shù)據(jù)地址指針和塊長度計數(shù)器全部數(shù)據(jù)發(fā)送完發(fā)送中斷返回清EA或ESYN主程序中斷服務(wù)程序(a)中斷方式發(fā)送程序主程序設(shè)定T1和SCON置位REN允許接收開中斷開關(guān)EA允許串行口中斷等待中斷中斷服務(wù)程序清R1接收數(shù)據(jù)數(shù)據(jù)送接收緩沖器數(shù)據(jù)塊接收完清EA或ES中斷返回NY設(shè)定接收緩沖區(qū)首址置接收數(shù)據(jù)個數(shù)計數(shù)器(b)中斷方式接收程序圖2.1
5、串行通信中斷方式流程圖 串行通信可采用兩種方式:查詢方式和中斷方式,T1和R1是一幀發(fā)送完否或一幀數(shù)據(jù)到齊否的標(biāo)志。當(dāng)采用中斷方式:發(fā)送程序:發(fā)送一個數(shù)據(jù)-等待中斷,在中斷中再發(fā)送下一個數(shù)據(jù)。接收程序:等待中斷,在中斷中再接收一個數(shù)據(jù)。兩種方式中,當(dāng)發(fā)送或接收數(shù)據(jù)后都要注意清T1或R1。為保證收、發(fā)雙方的協(xié)調(diào),除兩邊的波特率要一致外,雙方可以約定以某個標(biāo)志字符作為發(fā)送數(shù)據(jù)的起始,發(fā)送方先發(fā)這個標(biāo)志字符,待對方收到該字符,并給以回應(yīng)后再正式發(fā)數(shù)據(jù)。以上是針對點(diǎn)對點(diǎn)的通信,如果是多機(jī)通信,標(biāo)志字符就是各個分機(jī)的地址。3.2自發(fā)自收程序ORG 0000HMOV TMOD,#20HMOV TH1,#0
6、CCHMOV TL1,#0CCH ;設(shè)定波特率SETB TR1MOV SCON,#50HABC : CLR TI MOV P1,#0FEH ;LED滅 ACALL DAY ;延時 MOV A,#0FFH MOV SBUF,A ;發(fā)送數(shù)據(jù)FFH JNB RI, $ ;RI1等待 CLR RI MOV A,SBUF ;接收數(shù)據(jù),A=FFH MOV P1,A ;燈亮 JNB TI, $ ;TI1等待 ACALL DAY ;延時 SJMP ABCDAY: MOV R0,#0DAL: MOV R1,#0 DJNZ R1, $ DJNZ R0,DAL RET END3.3發(fā)送程序及分析#include&l
7、t;reg51.h>unsigned int i;unsigned char table="0123456789abcdefg"void init()TMOD=0x20 ;/設(shè)定定時器T1TH1=0xfa ;/串口波特率4800bpsTL1=0xfa ;PCON=0x00 ;/置SMOD=0SCON=0x40 ;/置SM0=0,SM1=1TR1=1 ;/開定時器T1void main()init() ;for(i=0;i<16;i+)SBUF=tablei ;while(TI=0) ;TI=0 ; 這段就是應(yīng)用中斷方式所編寫發(fā)送的程序.。串行通信的編程時有要點(diǎn)如
8、下:定好波特率,串行口的波特率有兩種方式:固定波特率和可變波特率。當(dāng)使用可變波特率時,應(yīng)計算T1的初值,并對T1進(jìn)行初始化。本次的實(shí)驗(yàn)中,因?yàn)橐?位自動重裝入方式,故要采用方式2,所以設(shè)定的TH1=TL1=oxfa。又因?yàn)楸堵什患颖叮許MOD=0。再有串行口采用方式1工作,所以SCON=0400-化為二進(jìn)制為:0100 0000 即SM0 SM1 選擇方式1,的REN串行接收禁止,只是發(fā)送端。3.4接收程序及分析#include"reg52.h"#include"1602.c"#define uchar unsigned char#define u
9、int unsigned intuchar *p,*tempr,*q;uchar i;void reveal(uchar *temp) ; /液晶顯示函數(shù)/*函數(shù)名:init_serial函數(shù)功能:從機(jī)串行通信方式初始化*/void init_serial()TMOD=0x20 ; /設(shè)定定時器T1TL1=0xfa ; /串口波特率4800bpsTH1=0xfa ;PCON=0x00 ; /置SMOD=0SCON=0x50 ; /工作方式1,允許接收EA=1 ; /開中中斷ES=1 ; /開串口中斷TR1=1 ; /開定時器T1void main()p=0x20 ;/將存儲單元的首地址賦給p,
10、q=p ;/且之后的程序中p的值不用改變*(p+15)=0x00 ;/用于判斷賦值是否到達(dá)0x2f這一單元init_serial() ; /初始化串行通信while(1) if(*(p+15)!=0)/if語句為真的條件等同于賦值進(jìn)行到0x2f單元break;ES=0 ; /賦值完成后關(guān)閉串口中斷tempr=p ;reveal(tempr) ;/從RAM中提出接收到的數(shù)據(jù)并顯示在液晶上while(1) ;void receive() interrupt 4RI=0;i=SBUF;*q=i;q+;這段便是應(yīng)用中斷方式所編寫接收的程序.。串行通信的編程時要點(diǎn)與發(fā)送相同。TH1和TJ1的設(shè)定也相同,
11、TMOD的設(shè)定也相同的。只是SCON的設(shè)定是不同的。因?yàn)槭墙邮辗?,所以SCON=0500?;癁槎M(jìn)制便是:0101 0000 第4位REN=1.即串行接收允許。4仿真及結(jié)果分析利用軟件將程序編譯生成 HEX 文件,輸入到單片機(jī)中,用Proteus進(jìn)行仿真。自發(fā)自收電路仿真結(jié)果為發(fā)光二極管不停閃爍。雙機(jī)串行通信電路仿真結(jié)果如下圖:仿真結(jié)果圖接收端的數(shù)碼管按0,1,2,1F順序顯示,完成了數(shù)據(jù)從主機(jī)到從機(jī)的完整的發(fā)送,結(jié)果符合要求。完成了課程設(shè)計任務(wù)書上給出的兩個作務(wù)。同時也完成了仿真。5.心得體會我認(rèn)為,在這次的課程設(shè)計中,在收獲知識的同時,還收獲了閱歷,收獲了成熟,在此過程中,我們通過查找大量
12、資料,請教老師,以及不懈的努力,不僅培養(yǎng)了獨(dú)立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在設(shè)計過程中,我學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實(shí)驗(yàn)結(jié)束之后變的更加成熟,會面對需要面對的事情。 與隊友的合作更是一件快樂的事情,只有彼此都付出,彼此都努力維護(hù)才能將作品做的更加完美。而團(tuán)隊合作也是當(dāng)今社會最提倡的。曾經(jīng)聽過,mba之所以最近不受歡迎就是因?yàn)榍啡眻F(tuán)隊合作的精神和技巧。很感謝學(xué)校和老師給我們安排了這次課程設(shè)計,讓我真正感受到的是合作的重要,許多時候都是組員的討論,就出現(xiàn)的讓人欣喜的結(jié)果;理論知識同樣很重要,有些問題都是由于基礎(chǔ)知識掌握不好才出現(xiàn)的.通過本次的實(shí)驗(yàn),我對單片機(jī)有了更進(jìn)一步的認(rèn)識。對我而言,知識上的收獲重要,精神上的豐收更加可喜。挫折是一份財富,經(jīng)歷是一份擁有。這次實(shí)習(xí)必將成為我人生旅途上一個非常美好的回
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石油天然氣運(yùn)輸公司經(jīng)理在基層單位的考察講話
- 大慶服務(wù)外包產(chǎn)業(yè)發(fā)展面臨的問題及對策
- 公司職級體系管理制度
- 分布式條件下一種基于演化算法的聚類算法優(yōu)化與應(yīng)用
- 江蘇開放大學(xué)2025春國家公務(wù)員制度期末復(fù)習(xí)3
- 2025授權(quán)代理協(xié)議樣本
- 廣西平果市2024-2025學(xué)年高二下冊期中數(shù)學(xué)測試卷附解析
- 2024年四川綿陽中醫(yī)藥高等??茖W(xué)校招聘真題
- 2024年濱州陽信縣溫店鎮(zhèn)招聘鄉(xiāng)村公益性崗位真題
- 陜西延長石油招聘筆試真題2024
- GB/T 28650-2012公路防撞桶
- GB/T 25820-2010包裝用鋼帶
- 圍手術(shù)期低體溫護(hù)理研究進(jìn)展課件
- 高質(zhì)量心肺復(fù)蘇
- 鍋爐防磨防爆總結(jié)匯報課件
- 茶葉企業(yè)營銷課件
- 井巷工程課程設(shè)計-2篇
- 經(jīng)口鼻腔吸痰操作評分標(biāo)準(zhǔn)
- 某印刷有限公司安全逃生平面圖
- 口腔執(zhí)業(yè)醫(yī)師解剖生理學(xué)試題b1型題
- DB14T1049.3-2021 山西省用水定額 第3部分:服務(wù)業(yè)用水定額
評論
0/150
提交評論