




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)六串口通信實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告姓名:學(xué)號(hào):一、實(shí)驗(yàn)內(nèi)容USB供電及自動(dòng)下載原理圖如圖7-1所示,CH340G實(shí)現(xiàn)串口轉(zhuǎn)USB原理圖如圖7-2所示。自行編制程:實(shí)現(xiàn)以下功能:串口調(diào)試助手向單片機(jī)發(fā)送控制碼,單片機(jī)向PC回送控制碼,并按表7-1實(shí)現(xiàn)控制功能。要求串口配置用ConfigUART()函數(shù)實(shí)現(xiàn),注意從串口接收到的數(shù)據(jù)是ASCII碼還是16進(jìn)制數(shù)。蜂鳴器連接原理圖如圖7-3所示。表7-1控制功能表控制碼控制功能0熄滅1LED從上往-卜循環(huán)2LED從下往上循環(huán)3LED閃爍4蜂鳴器響圖7-1USB供電及自動(dòng)下載原理圖圖7-2串口轉(zhuǎn)USB原理圖圖 7-3蜂鳴器連接原理圖二、相關(guān)知識(shí)1、請(qǐng)說明矗中所用的串口通信協(xié)議。UART通信協(xié)議。是異步串口通信協(xié)議的一種,工作原理是將傳輸數(shù)據(jù)的每個(gè)字符一位接?位地傳輸,它能將要傳輸?shù)馁Y料在串行通信與并行通信之間加以轉(zhuǎn)換,能夠靈活地與外部設(shè)備進(jìn)行全雙工數(shù)據(jù)交換。1)起始位當(dāng)未有數(shù)據(jù)發(fā)送時(shí),數(shù)據(jù)線處于邏輯“1”狀態(tài);先發(fā)出一個(gè)邏輯“0”信號(hào),表示開始傳輸字符。2)數(shù)據(jù)位緊接著起始位之后。資料位的個(gè)數(shù)可以是4、5、6、7、8等,構(gòu)成一個(gè)字符。通常采用ASCII碼。從最低位開始傳送,靠時(shí)鐘定位。3)奇偶校驗(yàn)位資料為加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來校驗(yàn)資料傳送的正確性。4)停止位它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志。可以是1位、1.5位、2位的高電平。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。5)空閑位或起始位處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有資料傳送,進(jìn)入空閑狀態(tài)。處于邏輯“0”狀態(tài),表示開始傳送下一數(shù)據(jù)段。6)波特率表示每秒鐘傳送的碼元符號(hào)的個(gè)數(shù),是衡量數(shù)據(jù)傳送速率的指標(biāo),它用單位時(shí)間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來表示。常用的波特率有:9600、115200等時(shí)間間隔計(jì)算:1秒除以波特率得出的時(shí)間,例如,波特率為9600的時(shí)間間隔為1s/9600(波特率)=104uso7)接口接口通過兩個(gè)引腳從外部連接到其它設(shè)備。任何USART雙向通信均需要至少兩個(gè)引腳:接收數(shù)據(jù)輸入引腳(RX)和發(fā)送數(shù)據(jù)引腳輸出(TX):RX:接收數(shù)據(jù)輸入引腳就是串行數(shù)據(jù)輸入引腳。過采樣技術(shù)可區(qū)分有效輸入數(shù)據(jù)和噪聲,從而用于恢復(fù)數(shù)據(jù)。TX:發(fā)送數(shù)據(jù)輸出引腳。如果關(guān)閉發(fā)送器,該輸出引腳模式由其I/O端II配置決定。如果使能了發(fā)送器但沒有待發(fā)送的數(shù)據(jù),則TX引腳處于高電平。在單線和智能卡模式下,該"0用于發(fā)送和接收數(shù)據(jù)。2、串口初始化包含哪些?串行□初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器口、串行口控制和中斷控制。具體步驟如下:(1)配置串行口為方式1(編程SCON寄存器)。(2)配置T1為方式2,即自動(dòng)重裝模式(編程TMOD寄存器)。(3)根據(jù)波特率計(jì)算或查表T1的初值,裝載TH1、TL1,如果有需要可以使用PCON進(jìn)行波特率加倍。(4)啟動(dòng)T1(編程TCON中的TR1位)。另外,串行門在中斷方式工作時(shí),還要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。3、串口通信中波特率如何進(jìn)行設(shè)置?通過軟件可設(shè)置單片機(jī)傳行口的工作方式,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可變的。串口可變的波特率需要由定時(shí)器產(chǎn)生,對(duì)于STC89C52單片機(jī)來講,這個(gè)波特率發(fā)生器只能由定時(shí)器T1或定時(shí)器T2實(shí)現(xiàn),而不能由定時(shí)器TO實(shí)現(xiàn)。如果用定時(shí)器T2,需要配置額外的寄存器,默認(rèn)是使用定時(shí)器T1的。使用定時(shí)器門作為波特率發(fā)生器,方式1下的波特率發(fā)生器必須使用定時(shí)器口的方式2,也就是自動(dòng)重裝載模式當(dāng)T1作為波特率發(fā)生器時(shí),方式1和方式3的波特率為TITI溢出率=晶振值
12x(256-THD可推導(dǎo)出當(dāng)SMOD=0時(shí),定時(shí)器重載值的計(jì)算公式為TH1=TL1=256-晶振值
TH1=TL1=256-晶振值
12x2xl6x波特率和波特率有關(guān)的還有一個(gè)寄存器,是電源管理寄存器PCON,它的最高位SMOD可以把波特率提高一倍,也就是說PCON1=0x80,計(jì)算公式可寫TH1=TL1=256-晶振值TH1=TL1=256-晶振值12xl6x波特率4、串口通信四種工作方式有何區(qū)別?方式0是同步移位寄存器方式(通常用于擴(kuò)展10口),波特率固定;方式I是10位異步收發(fā)器(8位數(shù)據(jù)),波特率可變;方式2是11位異步收發(fā)器(9位數(shù)據(jù)),波特率固定;方式3是11位異步收發(fā)器(9位數(shù)據(jù)),波特率可變。三二硬件電路此實(shí)驗(yàn)中除了USB轉(zhuǎn)串口電路、發(fā)光二極管電路還有蜂鳴器電路,請(qǐng)蜂鳴器電路有哪兩種?圖7-3屬于哪種,并簡(jiǎn)單分析此電路如何工作?請(qǐng)畫出另一種控制蜂鳴器的電路。蜂鳴器分為兩類。1、有源蜂鳴器;2、無源蜂鳴器有源蜂鳴器比較簡(jiǎn)單,只要有電流通過,蜂鳴器就會(huì)發(fā)聲。一般改變不了音調(diào)和音量。無源蜂鳴器要給?定頻率的脈沖信號(hào),蜂鳴器才會(huì)發(fā)出聲音。對(duì)于無源蜂鳴器只要改變頻率就可以改變蜂鳴器的音調(diào)、改變占空比就可以改變聲音的大小。此電路中P44口置低電平,三極管導(dǎo)通,5V電壓加到蜂鳴器上,蜂鳴器響。四、程序設(shè)計(jì)蜂鳴器控制程序及注釋:if(RI)(RI=O;SendByte('4');whilc(SBUF=='4')(BEEP=0;//P4A4口接低電平)P()=()Xff;}主程序及注釋:#include<reg52.h>#include"delay.h"#include"intrins.h"#include"datatype.h"voidConfigUART(uintl6baud);〃串口初始化voidSelectHC138(uint8channel);voidSendByte(uint8dal);〃發(fā)送一個(gè)字節(jié)voidmain()(SelectHCI38(0);ConfigUART(9600);while(l);voidSelectHC138(uint8channel)(switch(channel)(case0:PI=(PI&0xlf)|0x00;break;//發(fā)光二極管(LEDSO))voidSendByte(uint8dal)(SBUF=dat;while(!TI);TI=0;voidConfigUART(uint16baud)(SCON=OX5();〃8位數(shù)據(jù),可變波特率TMOD&=OXOF;〃設(shè)定定時(shí)器1為16位自動(dòng)重裝方式TMOD|=0X20;TH1=256-(11059200/12/32)/baud;TL1=TH1;〃設(shè)定定時(shí)器初值ETI=0; 〃靜止定時(shí)器I中斷TR1=1;ES=1;〃打開串口中斷EA=1;voidIntcrruptLJART(void)interrupt4(switch(SBUF){case'O':if(RI){BEEP=1;RI=0;SendByte('O');PO二OXFF;)break;case'I':if(RI){RI=0;PO=OX7f;BEEP=1;SendByte('r);while(SBUF==T)(delay_ms(100);PO=_cror_(PO,I);break;if(RI)(RI=0;P0=0XFE;BEEP=1;SendByte('2');while(SBUF=='2')(delay_ms(100);PO=_crol_(PO,l);break;if(RI)(RI=O;BEEP=1;SendByte('3');while(SBUF==3)(PO=OXFF;delay_ms(100);P0=0X00;delay_ms(100);break;case'4':if(RD(RI=0;SendByte('4');while(SBUF==4)(BEEP=0;)P0=0Xff;break;)}其它自定義頭文件程序及注釋:datatype.h文件#ifndefDATA_TYPE_H#defineDATA_TYPE_Htypedefbit_bool;//布爾型變量typcdcfunsignedcharuint8;//無符號(hào)8位整型變量typedefsignedcharint8;//有符號(hào)8位整型變量typedefunsignedshortuintl6;//無符號(hào)16位整型變量typedefsignedshortinti6;//有符號(hào)16位整型變量typedefunsignedintuint32;//無符號(hào)32位整型變量typedefunsignedlongintuinl64;//無符號(hào)64位整型變量typedefsignedintint32;//有符號(hào)32位整型變量typedeffloatfp32;//單精度浮點(diǎn)數(shù)(32位長(zhǎng)度)typedefdoublefp64;〃雙精度浮點(diǎn)數(shù)(64位長(zhǎng)度)#endifdelay.c文件#include"delay.h"〃延時(shí)tus函數(shù)voidDelay_us(uint8t)(while(t-);I//延時(shí)Ims函數(shù)voidDelay_ms(uint8t){unsignedinti,j;for(i=0;i<t;i++)for(j=0;j<113;j++);delay.h文件#ifndefDELAY_H#defineDELAY.H#include"datatype.h"voidDelay_us(uint8t);voidDelay_ms(uint8t);#endif四、思考題修改程序,能把串口接收到控制碼顯示到數(shù)碼管上。(選做)(說明只需展示修改部分的程序)voidIntcrruptUART(void)interrupt4(switch(SBUF)|case'O':if(RI)|RI=0;SendByte('O');LedScan(O,SMG_duanma[O]);)break;caseT:if(RI)(RI=0;ScndByteCl');LedScan(O,SMG_duanma[1]);}break;if(RI)(RI=0;SendByte('2');LedScan(O,SMGduanma⑵);break;if(RI)(RI=O;SendByte('3');LcdScan(0,SMG_duanma[3]);)break;case4:if(RI)(RI=O;SendByte('4'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)盆景行業(yè)發(fā)展趨勢(shì)規(guī)劃分析報(bào)告
- 柳州城市職業(yè)學(xué)院《城鄉(xiāng)規(guī)劃原理C》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東體育學(xué)院《有機(jī)化學(xué)I2》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州城市理工學(xué)院《交換原理與NGN》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年海南省安全員考試題庫(kù)附答案
- 遼寧工程技術(shù)大學(xué)《領(lǐng)導(dǎo)科學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東商業(yè)職業(yè)技術(shù)學(xué)院《生物化學(xué)與分子生物學(xué)(含遺傳學(xué))》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州城市職業(yè)學(xué)院《英語(yǔ)高級(jí)視聽說》2023-2024學(xué)年第二學(xué)期期末試卷
- 德宏師范高等??茖W(xué)校《20世紀(jì)西方文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湛江科技學(xué)院《土木工程施工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2030年中國(guó)新媒體市場(chǎng)前景規(guī)模及發(fā)展趨勢(shì)分析報(bào)告
- Python金融數(shù)據(jù)分析與挖掘(微課版) 教案全套 黃恒秋
- 中建10t龍門吊安拆安全專項(xiàng)施工方案
- 國(guó)內(nèi)外測(cè)井技術(shù)現(xiàn)狀與展望文檔
- 《銷售人員的培訓(xùn)》課件
- 國(guó)防動(dòng)員課件教學(xué)課件
- 特殊作業(yè)安全管理監(jiān)護(hù)人專項(xiàng)培訓(xùn)課件
- 衛(wèi)生技術(shù)人員準(zhǔn)入制度
- 自行車被盜案匯報(bào)課件
- 律師事務(wù)所案件管理手冊(cè)
- 《節(jié)水評(píng)價(jià)技術(shù)導(dǎo)則》
評(píng)論
0/150
提交評(píng)論