版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章單片機(jī)串行通信技術(shù)6.1串行通信的基本概念6.2串行通信口的結(jié)構(gòu)6.3串行通信口的控制6.4串行通信口的4種工作方式6.5串行通信口的波特率設(shè)置
任務(wù)6-1利用串口控制數(shù)碼管顯示十六進(jìn)制字符
任務(wù)6-2實(shí)現(xiàn)PC與單片機(jī)串行接口通信本章小結(jié)習(xí)題
單片機(jī)通信是指單片機(jī)與外部的信息交換。通常采用兩種形式,即并行通信和串行通信。所謂并行通信,是指構(gòu)成一組數(shù)據(jù)的各位同時(shí)進(jìn)行傳輸?shù)耐ㄐ欧绞?。串行通信則是指
數(shù)據(jù)一位一位地順序傳輸?shù)耐ㄐ欧绞健?/p>
串口通信的物理層有很多標(biāo)準(zhǔn)及變種,我們主要講解RS-232標(biāo)準(zhǔn)。RS-232標(biāo)準(zhǔn)主要規(guī)定了信號(hào)的用途、通信接口以及信號(hào)的電平標(biāo)準(zhǔn)。使用RS232標(biāo)準(zhǔn)的串口設(shè)備間常
見的通信結(jié)構(gòu)如圖6-1所示。圖6-1串口通信結(jié)構(gòu)圖
在最初的應(yīng)用中,RS-232串口標(biāo)準(zhǔn)常用于計(jì)算機(jī)、路由與調(diào)制調(diào)解器(MODEN,俗稱“貓”)之間的通信,在這種通信系統(tǒng)中,設(shè)備被分為數(shù)據(jù)終端設(shè)備DTE(計(jì)算機(jī)、路由)
和數(shù)據(jù)通信設(shè)備DCE(調(diào)制調(diào)解器)。我們以這種通信模型講解它們的信號(hào)線連接方式及各個(gè)信號(hào)線的作用。
在臺(tái)式計(jì)算機(jī)中一般會(huì)有RS-232標(biāo)準(zhǔn)的COM口(也稱DB9接口),如圖6-2所示。圖6-2電腦主板上的COM口
其中接線口以針式引出信號(hào)線的稱為公頭,以孔式引出信號(hào)線的稱為母頭,如圖6-3所示。在計(jì)算機(jī)中引出的一般為公頭,而在調(diào)制調(diào)解器設(shè)備中引出的一般為母頭,使用上
圖中的串口線即可把它與計(jì)算機(jī)連接起來。通信時(shí),串口線中傳輸?shù)男盘?hào)就是使用前面講解的RS-232標(biāo)準(zhǔn)調(diào)制的。圖6-3DB9標(biāo)準(zhǔn)的公頭及母頭接法
6.1串行通信的基本概念
6.1.1并行通信并行通信是指構(gòu)成一組數(shù)據(jù)的各位同時(shí)進(jìn)行傳輸?shù)耐ㄐ欧绞?。并行通信特點(diǎn):并行通信速度高,但數(shù)據(jù)線多,結(jié)構(gòu)復(fù)雜,成本高,一般適用于近距離通信。并行通信方式如圖6-4所示。圖6-4并行通信方式
6.1.2串行通信
串行通信是指數(shù)據(jù)一位一位地順序傳輸?shù)耐ㄐ欧绞?。它的特點(diǎn):速度低,但接線簡單,適用于遠(yuǎn)距離通信。串行通信有兩種基本方式:同步通信方式和異步通信方式。串行通信方式如圖6-5所示。圖6-5串行通信方式
1)同步通信方式
同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。
2)異步通信方式
它是指發(fā)送方和接收方采用獨(dú)立的時(shí)鐘。但是,為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。異步通信方式如圖6-6所示。圖6-6異步通信方式
異步通信是以字符(構(gòu)成的幀)為單位進(jìn)行傳輸?shù)?字符與字符之間的間隙(時(shí)間間隔)任意,但每個(gè)字符中的各位是以固定的時(shí)間傳送的,即字符之間是異步的(字符之間不一定有“位間隔”的整數(shù)倍的關(guān)系),但同一字符內(nèi)的各位是同步的(各位之間的距離均為“位間隔”的整數(shù)倍)。
為了實(shí)現(xiàn)異步傳輸字符的同步,采用的辦法是使傳送的每一個(gè)字符都以起始位“0”開始,以停止位“1”結(jié)束。這樣,傳送的每一個(gè)字符都用起始位來進(jìn)行收發(fā)雙方的同步,停止位和間隙作為時(shí)鐘頻率偏差的緩沖,即使雙方時(shí)鐘頻率略有偏差,總的數(shù)據(jù)流也不會(huì)因偏差的積累而導(dǎo)致數(shù)據(jù)錯(cuò)位。異步通信的數(shù)據(jù)格式如圖6-7所示。圖6-7異步通信的數(shù)據(jù)格式
3)串行通信的數(shù)據(jù)傳送方向
串行通信中,數(shù)據(jù)通常是在兩個(gè)端點(diǎn)(點(diǎn)對(duì)點(diǎn))之間進(jìn)行傳送的,按照數(shù)據(jù)流動(dòng)的方向可分成三種傳送模式:單工、半雙工、全雙工。
(1)單工通信:數(shù)據(jù)僅按一個(gè)固定方向傳送。這種傳輸方式的用途有限,常用于串行口的打印數(shù)據(jù)傳輸與簡單系統(tǒng)間的數(shù)據(jù)采集。單工通信方式如圖6-8所示。圖6-8單工通信方式
(2)半雙工通信:使用同一根傳輸線,數(shù)據(jù)可雙向傳送,但不能同時(shí)進(jìn)行。實(shí)際應(yīng)用中采用某種協(xié)議實(shí)現(xiàn)收/發(fā)開關(guān)轉(zhuǎn)換。半雙工通信方式如圖6-9所示。圖6-9半雙工通信方式
(3)全雙工通信:數(shù)據(jù)的發(fā)送和接收可同時(shí)進(jìn)行,通信雙方都能在同一時(shí)刻進(jìn)行發(fā)送和接收操作,但一般全雙工傳輸方式的線路和設(shè)備比較復(fù)雜。全雙工通信方式如圖6-10所示。圖6-10全雙工通信方式
6.1.3串行通信校驗(yàn)
在通信過程中往往要對(duì)數(shù)據(jù)傳送的正確與否進(jìn)行校驗(yàn)。校驗(yàn)是保證準(zhǔn)確無誤傳輸數(shù)據(jù)的關(guān)鍵。常用的校驗(yàn)方法有奇偶校驗(yàn)、代碼和校驗(yàn)及循環(huán)冗余碼校驗(yàn)。
1.奇偶校驗(yàn)
在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位尾隨的1位為奇偶校驗(yàn)位(1或0)。當(dāng)約定為奇校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);當(dāng)約定為偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與
校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收方與發(fā)送方的校驗(yàn)方式應(yīng)一致。接收字符時(shí),對(duì)“1”的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯(cuò)。
2.代碼和校驗(yàn)
代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個(gè)字節(jié)的校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)的同時(shí)對(duì)數(shù)據(jù)塊(除校驗(yàn)字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與發(fā)送方的“校驗(yàn)和”進(jìn)行比較,相符則無差錯(cuò),否則即認(rèn)為傳送過程中出現(xiàn)了差錯(cuò)。
3.循環(huán)冗余校驗(yàn)
循環(huán)冗余校驗(yàn)是通過某種數(shù)學(xué)運(yùn)算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的循環(huán)校驗(yàn),常用于對(duì)磁盤信息的傳輸、存儲(chǔ)區(qū)的完整性校驗(yàn)等。這種校驗(yàn)方法糾錯(cuò)能力強(qiáng),廣泛應(yīng)用于同步通信中。
6.2串行通信口的結(jié)構(gòu)
80C51系列單片機(jī)有一個(gè)可編程的全雙工串行通信口,如圖6-11所示。該通信口可作為UART(通用異步收發(fā)器),也可作為同步移位寄存器,其幀格式可為8位、10位或11位,并可以設(shè)置多種不同的波特率。通過引腳RXD(P3.0,串行數(shù)據(jù)接收引腳)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送引腳)與外界進(jìn)行通信。圖6-1180C51串行接口的結(jié)構(gòu)
1)兩個(gè)數(shù)據(jù)緩沖器(SBUF)
SBUF是一個(gè)特殊功能寄存器,它包括發(fā)送SBUF和接收SBUF。前者用來發(fā)送串行數(shù)據(jù),后者用來接收串行數(shù)據(jù)。兩者共用一個(gè)地址99H。發(fā)送數(shù)據(jù)時(shí),該地址指向發(fā)送SBUF,接收數(shù)據(jù)時(shí),該地址指向接收SBUF。
發(fā)送時(shí),只需將發(fā)送數(shù)據(jù)輸入SBUF,CPU將自動(dòng)啟動(dòng)和完成串行數(shù)據(jù)的發(fā)送;
接收時(shí),CPU將自動(dòng)把接收到的數(shù)據(jù)存入SBUF,用戶只需從SBUF中讀出接收數(shù)據(jù)。
2)輸入移位寄存器
輸入移位寄存器的功能是在接收控制器的控制下,將輸入的數(shù)據(jù)逐位移入接收SBUF。
3)串行控制寄存器SCON
串行控制寄存器SCON的功能是控制串行通信方式,并反映串行通信口的工作狀態(tài)。
4)定時(shí)器(T1)
T1的作用是作為波特率發(fā)生器,控制傳輸數(shù)據(jù)的速度。
6.3串行通信口的控制
6.3.1串行控制寄存器SCON串行控制寄存器SCON用于設(shè)置串行口的工作方式、監(jiān)視串行口工作狀態(tài)、進(jìn)行發(fā)送與接收的狀態(tài)控制等。它是一個(gè)既可字節(jié)尋址又可位尋址的特殊功能寄存器,字節(jié)地址為98H。SCON的格式見表6-1。
(1)SM0、SM1:串行口工作方式的選擇位,可選擇4種工作方式。表6-2列出了這4種工作方式。
(2)SM2:多機(jī)通信控制位,主要用于方式2或方式3的多機(jī)通信情況。SM2=1,允許多機(jī)通信;SM2=0,禁止多機(jī)通信。
(3)PEN:允許/禁止數(shù)據(jù)接收控制位,當(dāng)REN=1時(shí),允許串行口接收數(shù)據(jù);當(dāng)REN=0時(shí),禁止串行口接收數(shù)據(jù)。
(4)TB8:發(fā)送數(shù)據(jù)的第9位,在方式2或方式3中,通常用做數(shù)據(jù)的校驗(yàn)位,也可在多機(jī)通信時(shí)用做地址幀或數(shù)據(jù)幀的標(biāo)志位。
(5)RB8:在方式2或方式3中,為要接收數(shù)據(jù)的第9位。在方式1中,若SM2=0,則RB8是接收到的停止位。
(6)TI:發(fā)送中斷標(biāo)志位。當(dāng)串行口在方式0工作時(shí),串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí),TI由硬件自動(dòng)置1,向CPU發(fā)送中斷請求,在CPU響應(yīng)中斷后,必須用軟件清0;工作在其他幾種方式時(shí),該位在停止位開始發(fā)送前自動(dòng)置1,向CPU發(fā)送中斷請求,在CPU響應(yīng)中斷后,也必須用軟件清0。
(7)RI:接收中斷標(biāo)志。當(dāng)串行口在方式0工作時(shí),接收完第8位數(shù)據(jù)時(shí),RI由硬件自動(dòng)置1,向CPU發(fā)出中斷請求,在CPU響應(yīng)中斷后,必須用軟件清0;工作在其他幾種方式時(shí),該位在接收到停止位時(shí)自動(dòng)置1,向CPU發(fā)出中斷請求,在CPU響應(yīng)中斷取走數(shù)據(jù)后,必須用軟件對(duì)該位清0,以準(zhǔn)備開始接收下一幀數(shù)據(jù)。
在系統(tǒng)復(fù)位時(shí),SCON的所有位均被清0。
6.3.2電源控制寄存器PCON
電源控制寄存器PCON字節(jié)地址為87H,不能進(jìn)行位尋址。PCON中的第7位SMOD與串行口有關(guān),PCON的格式見表6-3。
SMOD為波特率選擇位。在方式1、方式2和方式3時(shí)起作用。若SMOD=0,則波特率不變;若SMOD=1,則波特率加倍。當(dāng)系統(tǒng)復(fù)位時(shí),SMOD=0。控制字中其余各位與串行口無關(guān)。
6.4串行通信口的4種工作方式
通過編程串行控制寄存器SCON,串行口的工作方式可以有4種,分別是方式0(同步移位寄存器)、方式1(10位異步收發(fā))、方式2(11位異步收發(fā))、方式3(11位異步收發(fā))。
6.4.1方式0
方式0為移位寄存器輸入/輸出方式,可外接移位寄存器以擴(kuò)展I/O口,也可外接同步輸入輸出設(shè)備。方式0時(shí),收發(fā)的數(shù)據(jù)為8位,低位在前(LSB),高位在后(MSB)。波特率固定為當(dāng)前單片機(jī)工作頻率的1/12。
發(fā)送是以寫SBUF緩沖器的指令開始的,串行數(shù)據(jù)通過RXD引腳輸出,而TXD引腳作為移位脈沖輸出引腳,輸出移位時(shí)鐘脈沖。
當(dāng)一個(gè)數(shù)據(jù)寫入串行口數(shù)據(jù)緩沖器時(shí),就開始發(fā)送。在此期間,發(fā)送控制器送出移位信號(hào),使發(fā)送移位寄存器的內(nèi)容右移1位,直至最高位(D7位)數(shù)字移出后,才停止發(fā)送數(shù)據(jù)和移位時(shí)鐘脈沖。發(fā)送完一幀數(shù)據(jù)后,置TI為“1”,申請中斷,如果CPU響應(yīng)中斷,則從0023H單元開始執(zhí)行串行口中斷服務(wù)程序。
方式0接收時(shí),RXD端為數(shù)據(jù)輸入端,TXD端為同步脈沖信號(hào)輸出端。REN(SCON.4)為串行口接收器允許接收控制位。當(dāng)REN=0時(shí),禁止接收;當(dāng)REN=1時(shí),允許接收。當(dāng)串行口置為方式0,且滿足REN=1和RI(SCON.0)=0的條件時(shí),就會(huì)啟動(dòng)一次接收過程。當(dāng)接收的數(shù)據(jù)裝載到SBUF緩沖器中,RI會(huì)被置位(RI=1)。
方式0發(fā)送或接收完8位數(shù)據(jù)后由硬件置位,并發(fā)送中斷標(biāo)志TI或接收中斷標(biāo)志RI。但CPU響應(yīng)中斷請求轉(zhuǎn)入中斷服務(wù)程序時(shí)并不將TI或RI清零。因此,中斷標(biāo)志TI或
RI必須由用戶在程序中清0。方式0為移位寄存器輸入/輸出方式,如果接上移位寄存器74LS164,可以構(gòu)成8位輸出電路,不過這樣做會(huì)浪費(fèi)了串口真正的實(shí)質(zhì)作用,因?yàn)橐莆环绞酵瑯涌梢杂肐/O來模擬實(shí)現(xiàn)。
6.4.2方式1
方式1是10位異步通信方式,有1位起始位(0)、8位數(shù)據(jù)位和1位停止位(1)。
方式1發(fā)送,CPU執(zhí)行任何一條以SBUF為目標(biāo)寄存器的指令,就啟動(dòng)發(fā)送。先把起始位輸出到TXD,然后把移位寄存器的輸出位送到TXD,接著發(fā)出第一個(gè)移位脈沖(SHIFT),使數(shù)據(jù)右移1位,并從左端補(bǔ)入0。此后數(shù)據(jù)將逐位由TXD端送出,而其左端不斷補(bǔ)入0。當(dāng)發(fā)送完數(shù)據(jù)位時(shí),置位中斷標(biāo)志位TI。
方式1接收的前提條件是SCON的REN被編程為1,同時(shí)兩個(gè)條件都必須被滿足:①RI=0;②接收到的停止位為1或SM2=0時(shí),本次接收有效,停止位進(jìn)入RB8,8位數(shù)據(jù)進(jìn)入SBUF,且置位中斷標(biāo)志RI
6.4.3方式2和方式3
串行通信口工作于方式2和方式3時(shí),被自定義為11位的異步通信接口,發(fā)送(通過TXD)和接收(通過RXD)的一幀信息都是11位,1位起始位(0),8位數(shù)據(jù)位(低位在先),1位可編程位(即第9位數(shù)據(jù))和1位停止位(1)。方式2和方式3的工作原理相似,唯一的差別是方式2的波特率是固定的,為fosc/32或fosc/64。方式3的波特率是可變的,利用定
時(shí)器1或定時(shí)器2作波特率發(fā)生器。
串行通信口工作于方式2或方式3時(shí)的數(shù)據(jù)結(jié)構(gòu)如圖6-12所示。圖6-1211位數(shù)據(jù)的異步通信數(shù)據(jù)結(jié)構(gòu)
1)數(shù)據(jù)發(fā)送
發(fā)送前,先根據(jù)通信協(xié)議由軟件設(shè)置TB8(第9位數(shù)據(jù)),然后將要發(fā)送的數(shù)據(jù)寫入SBUF,即可啟動(dòng)發(fā)送過程。串行口能自動(dòng)將TB8取走,并裝入到第9位數(shù)據(jù)的位置,再逐一發(fā)送出去。發(fā)送一幀信息后,將TI置“1”。
2)數(shù)據(jù)接收
在方式2時(shí),需要先設(shè)置SCON中的REN=1,串行通信口才允許接收數(shù)據(jù),然后當(dāng)RXD端檢測到有負(fù)跳變時(shí),說明外部設(shè)備發(fā)來了數(shù)據(jù)的起始位,開始接收此幀數(shù)據(jù)的其余
數(shù)據(jù)。
當(dāng)一幀數(shù)據(jù)接收完畢以后,必須同時(shí)滿足以下兩個(gè)條件,這幀數(shù)據(jù)接收才真正有效:
(1)RI=0,意味著接收緩沖器為空。
(2)SM2=0(禁止多機(jī)通信)。
當(dāng)滿足上述兩個(gè)條件時(shí),接收到的數(shù)據(jù)送入SBUF,第9位數(shù)據(jù)送入RB8,并由硬件自動(dòng)置RI為1;若不滿足這兩個(gè)條件,接收的信息將被丟棄。
方式3與方式2一樣,傳送的一幀數(shù)據(jù)都是11位的,工作原理也相同,區(qū)別僅在于波特率不同。
方式2:SM0SM1=10;
方式3:SM0SM1=11。
6.5串行通信口的波特率設(shè)置
在串行通信中,收發(fā)雙方對(duì)傳送數(shù)據(jù)速率,即波特率要有一定約定。51系列單片機(jī)的串行口通過編程可以有4種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器1的溢出率來決定。
6.5.1方式0和方式2
在方式0中:波特率為時(shí)鐘頻率的1/12,即f/12,固定不變。
在方式2中:波特率取決于PCON中的SMOD值,當(dāng)SMOD=0時(shí),波特率為f/64;當(dāng)SMOD=1時(shí),波特率為f/32。
6.5.2方式1和方式3
在方式1和方式3下,波特率由定時(shí)器1的溢出率和SMOD共同決定,即
其中,定時(shí)器1的溢出率取決于單片機(jī)定時(shí)器1的計(jì)數(shù)速率和定時(shí)器的預(yù)置值。計(jì)數(shù)速率與TMOD寄存器中的C/T位有關(guān):當(dāng)C/T=0時(shí),計(jì)數(shù)速率為f/12;當(dāng)C/T=1時(shí),計(jì)數(shù)
速率為外部輸入時(shí)鐘頻率。
6.5.3常用波特率
由于設(shè)置波特率比較麻煩,且在一般情況下常用的波特率足以滿足實(shí)際應(yīng)用,因此,表6-4直接給出了常用波特率、晶振頻率和定時(shí)器計(jì)數(shù)初值之間的關(guān)系。
在異步通信中,收、發(fā)雙方必須事先規(guī)定兩件事:一是字符格式,即規(guī)定字符各部分所占的位數(shù)、是否采用奇偶校驗(yàn)以及校驗(yàn)的方式(偶校驗(yàn)還是奇校驗(yàn))等通信協(xié)議;二是采用的波特率以及時(shí)鐘頻率和波特率的比例關(guān)系。
串行口以方式0工作時(shí),波特率固定為振蕩器頻率的1/12。以方式2工作時(shí),波特率為振蕩器頻率的1/64或1/32,它取決于特殊功能寄存器PCON中的SMOD位的狀態(tài)。
如果SMOD=0(復(fù)位時(shí)SMOD=0),波特率為振蕩器頻率的1/64;如果SMOD=1,波特率為振蕩器頻率的1/32。
方式1和方式3的波特率由定時(shí)器1的溢出率決定。當(dāng)定時(shí)器1用做波特率發(fā)生器時(shí),波特率由下式確定:
上式中,定時(shí)器1溢出率=定時(shí)器1的溢出次數(shù)/秒;n為32或16,取決于特殊功能寄存器PCON中的SMOD位的狀態(tài),如果SMOD=0,則n=32,如果SMOD=1,則n=16。
對(duì)于定時(shí)器的不同工作方式,得到的波特率的范圍是不一樣的,這主要由定時(shí)器1的計(jì)數(shù)位數(shù)決定。對(duì)于非常低的波特率,應(yīng)選擇16位定時(shí)器方式(即TMOD.5=0,
TMOD.4=1),并且在定時(shí)器1中斷程序中實(shí)現(xiàn)時(shí)間常數(shù)重新裝入。在這種情況下,應(yīng)該允許定時(shí)器1中斷(IE.3=1)。
在任何情況下,如果定時(shí)器1的C/T=0,則計(jì)數(shù)率為振蕩器頻率的1/12;如果C/T=1,則計(jì)數(shù)率為外部輸入頻率,它的最大可用值為振蕩器頻率的1/24。
任務(wù)6-1利用串口控制數(shù)碼管顯示十六進(jìn)制字符
任務(wù)目的利用單片機(jī)的串口和串入并出移位寄存器74LS164。通過按鍵中斷的方式控制數(shù)碼管順序顯示十六進(jìn)制字符,每按下按鍵,數(shù)碼管顯示的十六進(jìn)制字符增加一位。任務(wù)準(zhǔn)備設(shè)備及軟件:萬用表、計(jì)算機(jī)、KeilμVision4軟件、Proteus軟件。
任務(wù)實(shí)施
1.任務(wù)分析
任務(wù)電路Proteus原理圖如圖6-13所示,數(shù)碼管接在74LS164的并口輸出端,單片機(jī)在按鍵產(chǎn)生中斷信號(hào)的作用下,通過串口采用串行通信方式0向74LS164發(fā)送十六進(jìn)制
字符的字形碼,74LS164將其轉(zhuǎn)換成8位并行二進(jìn)制數(shù)據(jù)輸出給數(shù)碼管,從而在數(shù)碼管上顯示十六進(jìn)制字符。圖6-13串口控制數(shù)碼管顯示十六進(jìn)制字符的Proteus原理圖
2.軟件仿真
(1)打開Keil軟件,在軟件中輸入任務(wù)程序,對(duì)程序進(jìn)行編譯,直至沒有錯(cuò)誤,并生成相應(yīng)的hex文件。
(2)打開Proteus軟件,繪制如圖6-13所示的電路原理圖,導(dǎo)入編譯后生成的hex文件,運(yùn)行程序,觀察仿真效果,如圖6-14所示。圖6-14串口控制數(shù)碼管顯示十六進(jìn)制字符的仿真效果圖
任務(wù)結(jié)論
通過任務(wù)實(shí)施結(jié)果可以看出,單片機(jī)串口在工作方式0下將字形碼不斷發(fā)送給74LS164,從而實(shí)現(xiàn)了數(shù)碼管的顯示。
任務(wù)6-2實(shí)現(xiàn)PC與單片機(jī)串行接口通信
任務(wù)目的串行口通信調(diào)試是比較困難的工作,因?yàn)橹挥挟?dāng)通信雙方的硬件和軟件都正確無誤時(shí)才能成功地通信??梢圆捎梅謩e調(diào)試的方法,即按通信規(guī)約雙方各自調(diào)試好,然后再聯(lián)調(diào)。設(shè)計(jì)串行口調(diào)試程序,其功能是對(duì)串行口的工作方式編程,然后在串行口上輸出字符串:‘MCS51Microcomputer’,接著從串行口上輸入字符,又將輸入的字符從串行口上輸出,將PC終端鍵盤上輸入的字符在屏幕上顯示出來。
這個(gè)功能實(shí)現(xiàn)以后,串行口的硬件和串行口的編程部分就調(diào)試成功了,接著便可以按通信規(guī)約,實(shí)現(xiàn)單片機(jī)和終端之間串
行通信,完成通信軟件的調(diào)試工作。
任務(wù)準(zhǔn)備
設(shè)備及軟件:萬用表、計(jì)算機(jī)、KeilμVision4軟件、Proteus軟件。
任務(wù)實(shí)施
1.任務(wù)分析
任務(wù)電路Proteus原理圖如圖6-15所示,用MAX232芯片,外加9芯串口插座,組成與PC通信接口電路。先用PC終端來進(jìn)行單片機(jī)通信口的調(diào)試。只要方式設(shè)置正確,一般通信會(huì)成功,因?yàn)镻C終端已具有正常的通信功能。如果通信不正常,就應(yīng)該是單片機(jī)部分引起的。圖6-15PC與單片機(jī)串行接口通信電路原理圖
2.軟件仿真
(1)打開Keil軟件,在軟件中輸入任務(wù)程序,對(duì)程序進(jìn)行編譯,直至沒有錯(cuò)誤,并生成相應(yīng)的hex文件。
(2)在KeilC中輸入以上程序匯編通過后,全速運(yùn)行該程序,仿真時(shí),打開(Peripherale/Serial)串行口通道(SerialChannel),如圖6-16所示。
(3)打開Proteus軟件,在圖6-15基礎(chǔ)上添加虛擬終端,如圖6-17所示。VSM虛擬終端允許用戶通過PC的鍵盤和屏幕與仿真微處理器系統(tǒng)收發(fā)RS232異步串行數(shù)據(jù)。
在顯示用戶編寫程序產(chǎn)生的調(diào)試/跟蹤信息時(shí)非常有用。
(4)導(dǎo)入生成的hex文件,全速運(yùn)行后,出現(xiàn)如圖6-17所示結(jié)果,即在虛擬終端顯示傳輸?shù)臄?shù)據(jù),但是數(shù)據(jù)進(jìn)行了轉(zhuǎn)換,與程序中的字符不一致。
本章小結(jié)
本章先闡述了串行通信的基本概念,對(duì)比了串行通信和并行通信各自的特點(diǎn)。接著詳細(xì)說明了單片機(jī)串行口的結(jié)構(gòu)及工作方式。方式0用于對(duì)串口擴(kuò)展為并行I/O口,可以實(shí)現(xiàn)串行數(shù)據(jù)和并行數(shù)據(jù)的相互轉(zhuǎn)換;方式1用于雙機(jī)通信系統(tǒng),波特率可調(diào);方式2可用于多機(jī)通信系統(tǒng)也可用于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 灌區(qū)供水工創(chuàng)新方法競賽考核試卷含答案
- 水路危險(xiǎn)貨物運(yùn)輸員達(dá)標(biāo)測試考核試卷含答案
- C語言程序設(shè)計(jì) 通訊錄程序
- 承包資料合同范本
- 抗旱送水協(xié)議合同
- 路基平整合同范本
- 阿里代銷合同范本
- 動(dòng)物購買合同范本
- 車輛租憑協(xié)議合同
- 意向招標(biāo)合同范本
- 2025年新出臺(tái)貝殼出租合同模板
- 河源市龍川縣事業(yè)單位考試題目及答案解析
- 動(dòng)靜脈內(nèi)瘺球囊擴(kuò)張術(shù)課件
- 離婚財(cái)產(chǎn)分割培訓(xùn)課件
- 煤油燈的課件
- 2025年廣西普法考試(一)及答案
- 口腔科種植牙預(yù)防感染要點(diǎn)培訓(xùn)指南
- 學(xué)前教育STEM培訓(xùn)實(shí)施策略
- 九年級(jí)生命生態(tài)安全完整教案
- 2026年焦作大學(xué)單招職業(yè)適應(yīng)性考試必刷測試卷必考題
- 國企應(yīng)聘筆試試題及答案
評(píng)論
0/150
提交評(píng)論