版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1、CDIO設(shè)計目的設(shè)計目的?通過虛擬串口實現(xiàn)下位機(jī)與上位機(jī)之間的相互通信。?通過設(shè)計將串口通信的各種方式進(jìn)行進(jìn)一步的了解。?將接收的數(shù)字與發(fā)送的數(shù)字在LCD上進(jìn)行顯示,從而熟悉液晶顯示屏LCD1602的具體操作。?熟練掌握C語言在單片機(jī)上的編程應(yīng)用。?將各學(xué)科之間的的知識進(jìn)行綜合運用,并能夠?qū)崿F(xiàn)所需的功能設(shè)計。2、CDIO設(shè)計正文設(shè)計正文2.1串口通信原理串口通信原理串行通信是CPU與外界交換信息的一種基本通信方式。通信時僅需一到兩根
2、傳輸線,且每次只能傳送一位,適用于長距離傳輸,但速度較慢。MCS—51串行口是一個可編程的全雙工串行通信接口,其對應(yīng)的引腳為P3.0(10腳)和P3.1(11腳),分別為RXD和TXD,通過軟件編程它可以作通用異步收發(fā)器用,也可以做同步移位寄存器使用,其幀格式有8位、10位和11位3種,并能設(shè)置各種波特率。MCS—51串行口有兩個獨立的緩沖器,即發(fā)送緩沖器和接收緩沖器,且共用一個地址99H(SBUF)。同時,MSC—51串行口可以用軟件
3、設(shè)置成4種不同的工作方式。2.1.1串行口的工作原理串行口的工作原理通過對特殊功能寄存器—串行口控制寄存器中SM0、SM1兩位的操作,MCS—51單片機(jī)串口通信工作方式有4種,與串行口有關(guān)的特殊功能寄存器有串行口控制寄存器SCON、電源控制寄存器PCON和定時器T1,主要確定了串口通信的工作方式和波特率的計算方法。(1)串行口數(shù)據(jù)緩沖器SBUFSBUF是兩個在物理上相互獨立的接收,發(fā)送緩沖器,可同時發(fā)送,接收數(shù)據(jù),兩個緩沖器共用一個字節(jié)
4、地址,為99H,可字節(jié)尋址,不可位尋址,復(fù)位值為00H??赏ㄟ^編程對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。CPU寫SBUF,就是修改發(fā)送緩沖器;CPU讀SBUF,就是讀接收緩沖器,在硬件結(jié)構(gòu)上,串行口對外有兩條獨立的收發(fā)信號線RXD和TXD,因此可以同時發(fā)送,接收數(shù)據(jù),實現(xiàn)全雙工傳送。(2)串行口控制寄存器SCONSCON寄存器用于確定串行通信的工作方式、接收和發(fā)送控制、串行口的中斷狀態(tài)標(biāo)志,它既可以是字節(jié)尋址
5、,也可以是位尋址,字地址為98H,其復(fù)位值為00H。SM0,SM1—工作方式控制位,可構(gòu)成4種通信工作方式,分別為:方式0同步移位寄存器;方式110位異步收發(fā);方式211位異步收發(fā);方式311位異步收發(fā)。SM2—多機(jī)通信控制位,用于主一從式多機(jī)通信控制,因多機(jī)通信是在方式2和方式3下進(jìn)行,CDIO二級項目第2頁共10頁波特率為focs64SMOD為1,波特率為focs32。模式1和模式3的波特率是可變的,取決于定時器1或2(52芯片)的
6、溢出速率。計算這兩個模式的波特率可以用以下的公式去計算。波特率=(2SMOD32)定時器1溢出速率(1)上式中如設(shè)置了PCON寄存器中的SMOD位為1時就可以把波特率提升2倍。通常會使用定時器1工作在定時器工作模式2下,這時定時值中的TL1做為計數(shù),TH1做為自動重裝值,這個定時模式下,定時器溢出后,TH1的值會自動裝載到TL1,再次開始計數(shù),這樣可以不用軟件去干預(yù),使得定時更準(zhǔn)確。在這個定時模式2下定時器1溢出速率的計算公式如下:溢出
7、速率=(計數(shù)速率)(256-TH1)(2)上式中的“計數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51芯片中定時器啟動后會在每一個機(jī)器周期使定時寄存器TH的值增加一,一個機(jī)器周期等于十二個振蕩周期,所以可以得知51芯片的計數(shù)速率為晶體振蕩器頻率的112,一個12M的晶振用在51芯片上,那么51的計數(shù)速率就為1M。通常用11.0592M晶體是為了得到標(biāo)準(zhǔn)的無誤差的波特率。如我們要得到9600的波特率,晶振為11.0592M和12M,定時器1為
8、模式2,SMOD設(shè)為1,分別看看那所要求的TH1為何值。代入公式:11.0592M9600=(232)((11.0592M12)(256TH1))TH1=25012M9600=(232)((12M12)(256TH1))TH1≈249.49上面的計算可以看出使用12M晶體的時候計算出來的TH1不為整數(shù),而TH1的值只能取整數(shù),這樣它就會有一定的誤差存在不能產(chǎn)生精確的9600波特率。本次設(shè)計中為了得到精確地波特率,采用的晶振頻率為11.0
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 51單片機(jī)利用串口接收gps信號并液晶顯示c語言
- pic單片機(jī)液晶顯示模塊編程2
- 單片機(jī)課程設(shè)計--漢字液晶顯示器顯示
- 51單片機(jī)用1602液晶顯示數(shù)字1
- 單片機(jī)硬件實習(xí)步進(jìn)電機(jī)液晶顯示速度
- 基于系列單片機(jī)最小系統(tǒng)的液晶顯示
- 單片機(jī)課設(shè)報告基于單片機(jī)的液晶顯示畢業(yè)論文
- 液晶課程設(shè)計--單片機(jī)液晶顯示器系統(tǒng)設(shè)計
- 單片機(jī)課程設(shè)計--lcd12864液晶顯示
- 單片機(jī)課程設(shè)計--時鐘及液晶顯示器設(shè)計
- 單片機(jī)課程設(shè)計--液晶顯示電子密碼鎖
- 基于51單片機(jī)的液晶顯示電子琴設(shè)計
- 單片機(jī)課程設(shè)計-字符液晶顯示器設(shè)計
- 單片機(jī)和圖形液晶顯示器接口應(yīng)用技術(shù)
- 利用單片機(jī)實現(xiàn)串口通信
- pc機(jī)與單片機(jī)串口通信
- 液晶顯示終端與單片機(jī)接口的研究畢業(yè)設(shè)計
- 基于圖形點陣液晶顯示的單片機(jī)開發(fā)系統(tǒng)的設(shè)計
- 51單片機(jī)1602液晶顯示頻率計畢業(yè)設(shè)計
- 基于圖形點陣液晶顯示的單片機(jī)開發(fā)系統(tǒng)的設(shè)計
評論
0/150
提交評論