




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
./哈爾濱理工大學(xué)榮成學(xué)院單片機(jī)原理課程設(shè)計(jì)題目:PC與單片機(jī)的串口通信班級:自動化11—3:學(xué)號:題目簡介80C51有一個全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,PC機(jī)MAX23280C51PC機(jī)MAX23280C51系統(tǒng)結(jié)構(gòu)圖目錄原理硬件介紹一AT89C52二MAX232芯片三9針串口軟件設(shè)計(jì)一工作方式寄存器TMOD二串口控制寄存器SCON設(shè)置三LCD1602顯示設(shè)置實(shí)驗(yàn)原理圖流程圖實(shí)驗(yàn)源程序課設(shè)總結(jié)參考文獻(xiàn)原理串口通信的概念非常簡單,串口按位發(fā)送和接收字節(jié)。盡管比按字節(jié)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設(shè)備線總長不得超過20米,并且任意兩個設(shè)備間的長度不得超過2米;而對于串口而言,長度可達(dá)1200米。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對于兩個進(jìn)行通信的端口,這些參數(shù)必須匹配。a,波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的位的個數(shù)。例如300波特表示每秒鐘發(fā)送300個位。通常線的波特率為14400,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。b,數(shù)據(jù)位:這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個信息包,實(shí)際的數(shù)據(jù)不會是8位的,標(biāo)準(zhǔn)的值是6、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127〔7位。擴(kuò)展的ASCII碼是0~255〔8位。如果數(shù)據(jù)使用簡單的文本〔標(biāo)準(zhǔn)ASCII碼,那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語"包"指任何通信的情況。c,停止位:用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時鐘同步的機(jī)會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。d,奇偶校驗(yàn)位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位〔數(shù)據(jù)位后面的一位,用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗(yàn),校驗(yàn)位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機(jī)會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。硬件介紹一AT89C52:AT89C52是51系列單片機(jī)的一個型號,它是ATMEL公司生產(chǎn)的。AT89C52是一個低電壓,高性能CMOS8位單片機(jī),片含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機(jī)存取數(shù)據(jù)存儲器〔RAM,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出〔I/O端口,同時含2個外中斷口,3個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程<S系列的才支持在線編程>。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。二MAX232芯片:是MAXIM公司生產(chǎn)的、包含兩路接收器和驅(qū)動器的IC芯片,適用于各種EIA-232C和V.28/V.24的通信接口。MAX232芯片的功能:MAX232部有一個電源電壓變換器,可以把輸入的+5V電源電壓變換成為RS-232C輸出電平所需的±10V電壓。所以,采用此芯片接口的串行通信系統(tǒng)只需單一的+5V電源就可以了。對于沒有±12V電源的場合,其適應(yīng)性更強(qiáng)圖4中,上半部分的的電容C1,C2,C3,C4以及V+,V-是電源變換電路部分。在實(shí)際應(yīng)用中,器件對電源噪聲很敏感。因此,VCC必須要對地加去耦電容C5,電容C1,C2,C3和C4取同樣數(shù)值的鉭電容,用以提高抗干擾能力。在連接時必須盡量靠近器件。下半部分為發(fā)送和接收部分。實(shí)際應(yīng)用中T1IN和T2IN可直接接TTL/CMOS電平的89C52單片機(jī)的串行發(fā)送端TXD;R1OUT和R2OUT可直接接TTL/CMOS電平的89C52單片機(jī)的的串行接收端;T1OUT和T2OUT可直接接PC的RS-232串口的接收端RXD;R1IN和R2IN直接接PC的RS-232串口的發(fā)送端TXD。三9針串口:一個完整的RS-232接口是一個25針的D型插頭座,25針的連接器實(shí)際上只有9根連接線,所以就產(chǎn)生了一個簡化的9針D型RS-232插頭座,常用的就是一個9針的D型插頭座。EIA-RS-232C對電器特性、邏輯電平和各種信號線功能都作了規(guī)定:在TxD和RxD上:邏輯1<MARK>=-3V~-15V邏輯0<SPACE>=+3~+15V在RTS、CTS、DSR、DTR和DCD等控制線上:信號有效〔接通,ON狀態(tài),正電壓=+3V~+15V信號無效〔斷開,OFF狀態(tài),負(fù)電壓>=-3V~-15V介于-3~+3V之間的電壓無意義,低于-15V或高于+15V的電壓也認(rèn)為無意義。因此如果要進(jìn)行通信,還要對信號的電平進(jìn)行轉(zhuǎn)換,比如使用MAX3232芯片來轉(zhuǎn)換電平。使用串口進(jìn)進(jìn)行通信時,我們最主要關(guān)心的時以下這三個引腳:5
GND2
RXD
3
TXD
我們還要注意串口插座有公母兩種類型其中:公的串口插座是帶有插針的<有針>母的串口插座是不帶有插針的<有洞>.軟件設(shè)計(jì)一工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計(jì)數(shù)器工作;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計(jì)數(shù)器工作。即此時定時器的啟動多了一條件。C/T:定時/計(jì)數(shù)模式選擇位。=0為定時模式;=1為計(jì)數(shù)模式。M1M0:工作方式設(shè)置位。定時/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計(jì)數(shù)器的啟動和中斷申請。其格式如下:TF1〔TCON.7:T1溢出中斷請求標(biāo)志位。T1計(jì)數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1〔TCON.6:T1運(yùn)行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計(jì)數(shù)器的啟動與停止。TF0〔TCON.5:T0溢出中斷請求標(biāo)志位,其功能與TF1類同。TR0〔TCON.4:T0運(yùn)行控制位,其功能與TR1類同。定時/計(jì)數(shù)器應(yīng)用舉例初始化程序應(yīng)完成如下工作:對TMOD賦值,以確定T0和T1的工作方式。計(jì)算初值,并將其寫入TH0、TL0或TH1、TL1。中斷方式時,則對IE賦值,開放中斷。使TR0或TR1置位,啟動定時/計(jì)數(shù)器定時或計(jì)數(shù)。中斷請求標(biāo)志1、TCON的中斷標(biāo)志IT0〔TCON.0,外部中斷0觸發(fā)方式控制位。當(dāng)IT0=0時,為電平觸發(fā)方式。當(dāng)IT0=1時,為邊沿觸發(fā)方式〔下降沿有效。IE0〔TCON.1,外部中斷0中斷請求標(biāo)志位。IT1〔TCON.2,外部中斷1觸發(fā)方式控制位。IE1〔TCON.3,外部中斷1中斷請求標(biāo)志位。TF0〔TCON.5,定時/計(jì)數(shù)器T0溢出中斷請求標(biāo)志位。TF1〔TCON.7,定時/計(jì)數(shù)器T1溢出中斷請求標(biāo)志位。中斷允許控制CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。EX0<IE.0>,外部中斷0允許位;ET0<IE.1>,定時/計(jì)數(shù)器T0中斷允許位;EX1<IE.2>,外部中斷0允許位;ET1<IE.3>,定時/計(jì)數(shù)器T1中斷允許位;ES〔IE.4>,串行口中斷允許位;EA<IE.7>,CPU中斷允許〔總允許位。中斷響應(yīng)條件和時間中斷響應(yīng)條件中斷源有中斷請求;此中斷源的中斷允許位為1;CPU開中斷〔即EA=1。以上三條同時滿足時,CPU才有可能響應(yīng)中斷。二串口控制寄存器SCON設(shè)置串行口控制寄存器SCON字節(jié)地址98H,可位尋址,格式如圖所示。scon寄存器結(jié)構(gòu)scond7d6d5d4d3d2d1d0sm0sm1sm2rentb8rb8tiri位地址9fh9eh8dh9ch9bh9ah99h98h<1>SM0、SM1——串行口4種工作方式的選擇位表串行口的4種工作方式SM0SM1方式 功能說明000同步移位寄存器方式〔用于擴(kuò)展I/O口0118位異步收發(fā),波特率可變〔由定時器控制1029位異步收發(fā),波特率為fosc/64或fosc/321139位異步收發(fā),波特率可變〔由定時器控制<2>SM2——多機(jī)通信控制位用于方式2或方式3中。當(dāng)串行口以方式2或方式3接收時,如果SM2=1,只有當(dāng)接收到的第9位數(shù)據(jù)〔RB8為"1"時,才將接收到的前8位數(shù)據(jù)送入SBUF,并置"1"RI,產(chǎn)生中斷請求;當(dāng)接收到的第9位數(shù)據(jù)〔RB8為"0"時,則將接收到的前8位數(shù)據(jù)丟棄。如果SM2=0,則不論第9位數(shù)據(jù)是"1"還是"0",都將前8位數(shù)據(jù)送入SBUF中,并置"1"RI,產(chǎn)生中斷請求。在方式1時,如果SM2=1,則只有收到停止位時才會激活RI。在方式0時,SM2必須為0。<3>REN——允許串行接收位由軟件置"1"或清"0"。REN=1允許串行口接收數(shù)據(jù)。 REN=0禁止串行口接收數(shù)據(jù)。<4>TB8——發(fā)送的第9位數(shù)據(jù)方式2和3時,TB8是要發(fā)送的第9位數(shù)據(jù),可作為奇偶校驗(yàn)位使用,也可作為地址幀或數(shù)據(jù)幀的標(biāo)志。=1為地址幀,=0為數(shù)據(jù)幀<5>RB8——接收到的第9位數(shù)據(jù)方式2和3時,RB8存放接收到的第9位數(shù)據(jù)。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。<6>TI——發(fā)送中斷標(biāo)志位方式0時,串行發(fā)送第8位數(shù)據(jù)結(jié)束時由硬件置"1",其它工作方式,串行口發(fā)送停止位的開始時置"1"。TI=1,表示一幀數(shù)據(jù)發(fā)送結(jié)束,可供軟件查詢,也可申請中斷。CPU響應(yīng)中斷后,向SBUF寫入要發(fā)送的下一幀數(shù)據(jù)。TI必須由軟件清0。<7>RI——接收中斷標(biāo)志位方式0時,接收完第8位數(shù)據(jù)時,RI由硬件置1,其它工作方式,串行接收到停止位時,該位置"1"。RI=1,表示一幀數(shù)據(jù)接收完畢,并申請中斷,CPU從接收SBUF取走數(shù)據(jù)。該位狀態(tài)也可軟件查詢。RI必須由軟件清"0"。特殊功能寄存器PCON字節(jié)地址為87H,沒有位尋址功能。spcond7d6d5d4d3d2d1d0SMODxxxxxxxxxxxxxxSMOD:波特率選擇位。例如:方式1的波特率的計(jì)算公式為:方式1波特率=〔2SMOD/32×定時器T1的溢出率也稱SMOD位為波特率倍增位。串行口的4種工作方式方式0同步移位寄存器輸入/輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/O口。8位數(shù)據(jù)為一幀,不設(shè)起始位和停止位,先發(fā)送或接收最低位。波特率固定為fosc/12。幀格式如下:d0d1d2d3d4d5d6d71.方式0發(fā)送當(dāng)CPU執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF的指令時,產(chǎn)生一個正脈沖,串行口即把SBUF中的8位數(shù)據(jù)以fosc/12的固定波特率從RXD引腳串行輸出,低位在先,TXD引腳輸出同步移位脈沖,發(fā)送完8位數(shù)據(jù)置"1"中斷標(biāo)志位TI。2.方式0接收REN=1,接收數(shù)據(jù),REN=0,禁止接收。REN=1,允許接收。向串口的SCON寫入控制字〔置為方式0,并置"1"REN位,同時RI=0時,產(chǎn)生一個正脈沖,串行口即開始接收數(shù)據(jù)。RXD為數(shù)據(jù)輸入端,TXD為移位脈沖信號輸出端,接收器也以fosc/12的固定波特率采樣RXD引腳的數(shù)據(jù)信息,當(dāng)收到8位數(shù)據(jù)時置"1"RI。表示一幀數(shù)據(jù)接收完.方式0下,SCON中的TB8、RB8位沒有用到,發(fā)送或接收完8位數(shù)據(jù)由硬件置"1"TI或RI,CPU響應(yīng)中斷。TI或RI須由用戶軟件清"0",可用如下指令: CLRTI ;TI位清"0" CLRRI ;RI位清"0"方式0時,SM2位必須為0。方式1SM0、SM1=01方式1一幀數(shù)據(jù)為10位,1個起始位〔0,8個數(shù)據(jù)位,1個停止位〔1,先發(fā)送或接收最低位。幀格式如下:d0d1d2d3d4d5d6d7方式1波特率=〔2^SMOD/32×定時器T1的溢出率SMOD為PCON寄存器的最高位的值〔0或1。1.方式1發(fā)送方式1輸出時,數(shù)據(jù)由TXD輸出,一幀信息為10位,1位起始位0,8位數(shù)據(jù)位〔先低位和1位停止位1。當(dāng)執(zhí)行一條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動發(fā)送。。發(fā)送開始時,部發(fā)送控制信號變?yōu)橛行А⑵鹗嘉幌騎XD輸出,此后,每經(jīng)過一個TX時鐘周期,便產(chǎn)生一個移位脈沖,并由TXD輸出一個數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,置"1"TI。2.方式1接收數(shù)據(jù)從RXD〔P3.0腳輸入。當(dāng)檢測到起始位的負(fù)跳變時,開始接收數(shù)據(jù)。定時控制信號有兩種:接收移位時鐘〔RX時鐘,頻率和波特率相同和位檢測器采樣脈沖〔頻率是RX時鐘的16倍,1位數(shù)據(jù)期間,有16個采樣脈沖,當(dāng)采樣到RXD端從1到0的跳變時就啟動檢測器,接收的值是3次連續(xù)采樣〔第7、8、9個脈沖時采樣進(jìn)行表決以確認(rèn)是否是真正的起始位〔負(fù)跳變的開始。當(dāng)一幀數(shù)據(jù)接收完,須同時滿足兩個條件,接收才真正有效。⑴RI=0,即上一幀數(shù)據(jù)接收完成時,RI=1發(fā)出的中斷請求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走,說明"接收SBUF"已空。⑵SM2=0或收到的停止位=1〔方式1時,停止位已進(jìn)入RB8,則收到的數(shù)據(jù)裝入SBUF和RB8〔RB8裝入停止位,且置"1"中斷標(biāo)志RI。若這兩個條件不同時滿足,收到的數(shù)據(jù)將丟失。方式29位異步通信接口。每幀數(shù)據(jù)均為11位,1位起始位0,8位數(shù)據(jù)位〔先低位,1位可程控的第9位數(shù)據(jù)和1位停止位。幀格式如下。方式2波特率=〔2^SMOD/64×fosc1.方式2發(fā)送發(fā)送前,先根據(jù)通訊協(xié)議由軟件設(shè)置TB8〔例如,雙機(jī)通訊時的奇偶校驗(yàn)位或多機(jī)通訊時的地址/數(shù)據(jù)的標(biāo)志位。2.方式2接收SM0、SM1=10,且REN=1。數(shù)據(jù)由RXD端輸入,接收11位信息。當(dāng)位檢測到RXD從1到0的負(fù)跳變,并判斷起始位有效后,開始收一幀信息。在接收器完第9位數(shù)據(jù)后,需滿足兩個條件,才能將接收到的數(shù)據(jù)送入SBUF。〔1RI=0,意味著接收緩沖器為空?!?SM2=0或接收到的第9位數(shù)據(jù)位RB8=1時。當(dāng)上述兩個條件滿足時,接收到的數(shù)據(jù)送入SBUF〔接收緩沖器,第9位數(shù)據(jù)送入RB8,并置"1"RI。若不滿足兩個條件,接收的信息將被丟棄。方式3SM0、SM1=11,串口為方式3。波特率可變的9位異步通訊方式,除波特率外,方式3和方式2相同。方式3波特率=〔2^SMOD/32×定時器T1的溢出率多機(jī)通訊要保證主機(jī)與所選擇的從機(jī)實(shí)現(xiàn)可靠地通訊,必須保證串口具有識別功能。SCON中的SM2位就是滿足這一條件而設(shè)置的多機(jī)通訊控制位。原理:在串行口以方式2〔或方式3接收時,若SM2=1,表示置多機(jī)通訊功能位,這時有兩種可能:〔1接收到的第9位數(shù)據(jù)為1時,數(shù)據(jù)才裝入SBUF,并置中斷標(biāo)志RI=1向CPU發(fā)出中斷請求;〔2接收到的第9位數(shù)據(jù)為0時,則不產(chǎn)生中斷標(biāo)志,信息將拋棄。若SM2=0,則接收的第9位數(shù)據(jù)不論是0還是1,都產(chǎn)生RI=1中斷標(biāo)志,接收到的數(shù)據(jù)裝入SBUF中。應(yīng)用上述特性,便可實(shí)現(xiàn)MCS-51的多機(jī)通訊。設(shè)多機(jī)系統(tǒng)中有一主機(jī)和3個8031從機(jī),如下圖。主機(jī)的RXD與從機(jī)的TXD相連,主機(jī)TXD與從機(jī)的RXD端相連。從機(jī)地址分別為00H、01H、02H。多機(jī)通訊工作過程:〔1從機(jī)串行口編程為方式2或方式3接收,且置"1"SM2和REN位,使從機(jī)只處于多機(jī)通訊且接收地址幀的狀態(tài)?!?主機(jī)先將從機(jī)地址〔即準(zhǔn)備接收數(shù)據(jù)的從機(jī)發(fā)給各從機(jī),主機(jī)發(fā)出的地址信息的第9位為1,各從機(jī)接收到的第9位信息RB8為1,且由于SM2=1,則置"1"RI,各從機(jī)響應(yīng)中斷,執(zhí)行中斷程序。在中斷服務(wù)子程序中,判主機(jī)送來的地址是否和本機(jī)地址相符合,相符則該從機(jī)清"0"SM2位,準(zhǔn)備接收主機(jī)的數(shù)據(jù)或命令;若不符,則保持SM2=1狀態(tài)?!?接著主機(jī)發(fā)送數(shù)據(jù)幀,此時各從機(jī)串行口接收到的RB8=0,只有地址相符合的從機(jī)系統(tǒng)〔即已清"0"SM2位的從機(jī)才能激活RI,從而進(jìn)入中斷,在中斷程序中接收主機(jī)的數(shù)據(jù)〔或命令;其它的從機(jī)因SM2=1,又RB8=0不激活中斷標(biāo)志RI,不能進(jìn)入中斷,接收的數(shù)據(jù)丟失。前圖所示的多機(jī)系統(tǒng)是主從式,由主機(jī)控制多機(jī)之間的通訊,從機(jī)和從機(jī)的通訊只能經(jīng)主機(jī)才能實(shí)現(xiàn)。7.4波特率的制定方法方式0、方式2的波特率是固定的;方式1、方式3波特率由定時器T1的溢出率來確定。7.4.1波特率的定義波特率的定義。對于定時器的不同工作方式,波特率的圍不一7.4.2定時器T1產(chǎn)生波特率的計(jì)算〔1方式0波特率=時鐘頻率fosc×1/12,不受SMOD位的值的影響。若fosc=12MHz,波特率為fosc/12即1Mb/s?!?方式2波特率=〔2SMOD/64×fosc若fosc=12MHz:SMOD=0波特率=187.5kb/s;SMOD=1波特率=375kb/s〔3方式1或方式3時,波特率為: 波特率=〔2SMOD/64×T1的溢出率實(shí)際設(shè)定波特率時,T1常設(shè)置為方式2定時〔自動裝初值這種方式不僅操作方便,也可避免因軟件重裝初值而帶來的定時誤差。實(shí)際使用時,為避免煩雜的初值計(jì)算,常用的波特率和初值X間的關(guān)系列成表7-2<P148>,以供查用。表7-2有兩點(diǎn)需要注意:<1>時鐘振蕩頻率為12MHz或6MHz時,表中初值X和相應(yīng)的波特率之間有一定誤差。例如,FDH的對應(yīng)的理論值是10416波特〔時鐘6MHz。與9600波特相差816波特,消除誤差可以調(diào)整時鐘振蕩頻率fosc實(shí)現(xiàn)。例如采用的時鐘振蕩頻率為11.0592MHz。<2>如果串行通訊選用很低的波特率,例如,波特率選為55,可將定時器T1設(shè)置為方式1定時。但在這種情況下,T1溢出時,需用在中斷服務(wù)程序中重新裝入初值。中斷響應(yīng)時間和執(zhí)行指令時間會使波特率產(chǎn)生一定的誤差,可用改變初值的方法加以調(diào)整。三LCD1602顯示設(shè)置組成:驅(qū)動器,控制器,液晶板。引腳:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生"鬼影",使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。命令:指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。指令6:功能設(shè)置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時雙行顯示F:低電平時顯示5x7的點(diǎn)陣字符,高電平時顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。實(shí)驗(yàn)原理圖流程圖實(shí)驗(yàn)源程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitRS=P2^5;sbitRW=P2^6;sbitEN=P2^7;sbitLED=P3^6;uchartable[17];ucharcodetable1[]={"RECEIVECODEIS:"}; ucharnum,n;voiddelay1ms<unsignedintms>//延時1毫秒{unsignedinti,j;for<i=0;i<ms;i++>for<j=0;j<100;j++>;}voiduart_int<void>{ SCON=0x50; REN=1; PCON=0x00; TMOD=0x20; TH1=0xFD; TL1=0xFD; TR1=1; EA=1; ES=1;}voidwr_<unsignedchar>//寫指令//{delay1ms<1>;RS=0;RW=0;EN=0;P0=;delay1ms<1>;EN=1;delay1ms<1>;EN=0;}voidwr_dat<unsignedchardat>//寫數(shù)據(jù)//{delay1ms<1>;;RS=1;RW=0;EN=0;P0=dat;delay1ms<1>;EN=1;delay1ms<1>;EN=0;}voidserve<>interrupt4 { table[n]=SBUF; n++; if<n==17> { table[0]=table[16]; wr_<0x01>; n=1; } RI=0;}voidlcd_init<>//初始化設(shè)置//{delay1ms<15>;wr_<0x38>;delay1ms<5>;wr_<0x08>;delay1ms<5>;wr_<0x01>;delay1ms<5>;wr_<0x06>;delay1ms<5>;w
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 胸外科手術(shù)疼痛管理
- 秋冬預(yù)防感冒知識
- 2024濮陽縣職業(yè)教育培訓(xùn)中心工作人員招聘考試及答案
- 2024海南珠江源高級職業(yè)技術(shù)學(xué)校工作人員招聘考試及答案
- 設(shè)備保養(yǎng)與維修承包合同書
- 汽車托管租賃合同全新趨勢分析
- 金屬工藝品銷售合同
- 房屋租賃居間合同書
- 標(biāo)準(zhǔn)化的駕校場地租賃合同模板
- 合伙合同債務(wù)分割協(xié)議范文
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第十一單元樹立誠信意識
- 建筑CAD賽項(xiàng)樣題-繪圖樣題
- 《鋼鐵是怎樣煉成的》讀書分享 課件
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程
- 衛(wèi)生專業(yè)技術(shù)人員認(rèn)定、聘用、管理、考核、獎懲制度
- 2024年湖南省長沙市中考地理試卷真題(含答案解析)
- 工程指令單完整版本
- DB22-T5020-2019城市軌道交通工程監(jiān)測技術(shù)標(biāo)準(zhǔn)
- 旅行社導(dǎo)游合同范本
- 倒立擺完整版本
評論
0/150
提交評論