串行接口數(shù)碼管顯示電路.doc_第1頁(yè)
串行接口數(shù)碼管顯示電路.doc_第2頁(yè)
串行接口數(shù)碼管顯示電路.doc_第3頁(yè)
串行接口數(shù)碼管顯示電路.doc_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1MCS51芯片的串行輸入/輸出口1.1 串行輸入/輸出口概述計(jì)算機(jī)與它的外圍設(shè)備之間的基本通信模式有兩種:并行通信模式和串行通信模式。采用并行通信模式時(shí),例如通過(guò)并行輸入/輸出口P1控制交通燈,所有數(shù)據(jù)位同時(shí)通過(guò)并行輸入/輸出口進(jìn)行傳送。并行通信模式的優(yōu)點(diǎn)是數(shù)據(jù)傳送速度快,所有的數(shù)據(jù)位同時(shí)傳輸;缺點(diǎn)是電路復(fù)雜,一個(gè)并行的數(shù)據(jù)有多少位,就需要多少條傳輸線。采用串行通信模式時(shí),所有的數(shù)據(jù)位按一定的順序、通過(guò)一條傳輸線逐個(gè)地進(jìn)行傳送。串行通信模式的優(yōu)點(diǎn)是電路簡(jiǎn)單,僅需要一條傳輸線;缺點(diǎn)是數(shù)據(jù)傳送速度慢。串行通信模式又可以再分為兩種模式:同步通信模式和異步通信模式。AT89S51單片機(jī)提供同步通信模式和異步通信模式兩種串行通信模式。異步通信模式工作在UART(Universal Asynchronous Receiver and Transmitter),可以同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收。AT89S51單片機(jī)串行通信的接收部分具有緩沖能力,即已經(jīng)接收到的第一個(gè)字節(jié)在被讀取之前就可以開(kāi)始接收第二個(gè)字節(jié)。但是應(yīng)當(dāng)注意,如果第二個(gè)字節(jié)完成接收,而第一個(gè)字節(jié)仍沒(méi)有被讀取,一個(gè)字節(jié)的數(shù)據(jù)將被丟失。串行輸入/輸出具有獨(dú)立的發(fā)送和接收緩沖寄存器,它們共同被稱(chēng)作為串行數(shù)據(jù)緩沖寄存器(SBUF),并占用特殊功能寄存器的同一個(gè)地址(99H)。發(fā)送緩沖寄存器只能寫(xiě)入不能讀出,接收緩沖寄存器只能讀出不能寫(xiě)入,因此它們的區(qū)分可以通過(guò)指令來(lái)實(shí)現(xiàn)。串行輸入/輸出的數(shù)據(jù)使用管腳RXD(管腳10)和管腳TXD(管腳11)可以同時(shí)接收和發(fā)送數(shù)據(jù)。管腳RXD和管腳TXD也就是管腳P3.0和管腳P3.1,這里它們被按P3口的第二功能來(lái)使用。1.2 串行輸入/輸出口的工作方式AT89S51串行口的工作可以被分為4種工作方式。這4種工作方式的簡(jiǎn)述如下: 工作方式0串行口工作方式0為同步移位寄存器方式。在這種方式下,串行數(shù)據(jù)的發(fā)送和接收都是通過(guò)管腳RXD進(jìn)行,管腳TXD用來(lái)傳送同步移位脈沖。串行數(shù)據(jù)一幀的數(shù)據(jù)位數(shù)為8位,傳輸時(shí)低位在前,高位在后。數(shù)據(jù)傳輸?shù)牟ㄌ芈适枪潭ǖ?,為單片機(jī)時(shí)鐘頻率的1/12。如果單片機(jī)的時(shí)鐘頻率為12MHz,則數(shù)據(jù)傳輸?shù)牟ㄌ芈适?MB。串行口工作方式0的數(shù)據(jù)傳輸波特率不受電源控制寄存器(PCON)中SMOD位的影響。本章將介紹利用串行口工作方式0實(shí)現(xiàn)數(shù)碼管的顯示。 工作方式1串行口工作方式1為異步通信(UART)方式。串行數(shù)據(jù)一幀的數(shù)據(jù)位數(shù)為10位:1位起始位(它的值為0)、8位數(shù)據(jù)位和1位停止位(它的值為1)。數(shù)據(jù)位傳輸時(shí)低位在前,高位在后。串行數(shù)據(jù)的發(fā)送通過(guò)管腳TXD進(jìn)行;串行數(shù)據(jù)的接收通過(guò)管腳RXD進(jìn)行。數(shù)據(jù)傳輸?shù)牟ㄌ芈适强勺兊?。在接收時(shí),數(shù)據(jù)幀中的停止位進(jìn)入串行口控制寄存器(SCON)的位RB8。 工作方式2串行口工作方式2為異步通信(UART)方式。串行數(shù)據(jù)一幀的數(shù)據(jù)位數(shù)為11位,1位起始位(它的值為0),8位數(shù)據(jù)位,1位可編程位和1位停止位(它的值為1)。數(shù)據(jù)位傳輸時(shí)低位在前,高位在后,緊接著是可編程位。串行數(shù)據(jù)的發(fā)送通過(guò)管腳TXD進(jìn)行;串行數(shù)據(jù)的接收通過(guò)管腳RXD進(jìn)行。數(shù)據(jù)傳輸?shù)牟ㄌ芈适枪潭ǖ?,是單片機(jī)的時(shí)鐘頻率的1/32或者1/64。具體工作在那一種波特率由電源控制寄存器(PCON)中SMOD位的內(nèi)容決定,當(dāng)SMOD位被置1,波特率是單片機(jī)時(shí)鐘頻率的1/32;當(dāng)SMOD位被清0,波特率是單片機(jī)時(shí)鐘頻率的1/64。在發(fā)送時(shí),數(shù)據(jù)幀中可編程位的值取決于串行口控制寄存器(SCON)的位TB8。例如把程序狀態(tài)字(PSW)的位P的值送入TB8可以實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)钠媾夹r?yàn)。在接收時(shí),數(shù)據(jù)幀中的可編程位送入串行口控制寄存器(SCON)的位RB8,停止位這時(shí)被丟棄。 工作方式3串行口工作方式3除數(shù)據(jù)傳輸?shù)牟ㄌ芈适强勺兊囊酝?,其它與工作方式2相同1.3 串行輸入/輸出口工作控制寄存器控制串行輸入/輸出口工作的控制寄存器有2個(gè):串行口控制寄存器(SCON)和電源控制寄存器(PCON)。 串行口控制寄存器(SCON)串行口控制寄存器(SCON)在特殊功能寄存器中的字節(jié)地址為98H,它即可以進(jìn)行字節(jié)尋址,也可以進(jìn)行位尋址。這個(gè)寄存器的格式如表1所示。表1 串行口控制寄存器(PCON)的格式表D7D6D5D4D3D2D1D0PCONSM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998復(fù)位值00000000在表1中,每一位的具體功能如下。SM0和SM1:串行口工作方式控制位,工作方式的功能說(shuō)明如表2所示。表2 串行口的工作方式SM0SM1工作方式功能說(shuō)明000同步移位寄存器方式0118位異步通信(UART)方式,波特率可變1029位異步通信(UART)方式,波特率為focs/64或者focs/321139位異步通信(UART)方式,波特率可變 表中focs為單片機(jī)的時(shí)鐘頻率SM2:串行口工作方式2和3的多機(jī)通信控制位。REN:串行接收使能控制位。TB8:串行口工作方式2和3時(shí)被發(fā)送的第9位數(shù)據(jù)。RB8:串行口工作方式2和3時(shí)被接收的第9位數(shù)據(jù)。TI:發(fā)送中斷標(biāo)志位。RI:接收中斷標(biāo)志位。 電源控制寄存器(PCON)電源控制寄存器(PCON)在特殊功能寄存器中的字節(jié)地址為87H,它沒(méi)有位尋址功能,只能進(jìn)行字節(jié)尋址。這個(gè)寄存器的格式如表3所示。表3 電源控制寄存器PCON的格式表D7D6D5D4D3D2D1D0PCONSMODGF1GF0PDIDL復(fù)位值0XXX0000電源控制寄存器PCON中僅有D7位,SMOD,在串行輸入/輸出口的控制中被應(yīng)用,它被用來(lái)控制串行通信的波特率。SMOD為1時(shí)的波特率是它為0時(shí)的2倍。2基于串行輸入/輸出口的數(shù)碼管電路前面在并行輸入/輸出口的應(yīng)用中分別介紹了使用P1口實(shí)現(xiàn)交通燈的控制和數(shù)碼管的顯示。如果希望同時(shí)實(shí)現(xiàn)交通燈的控制和數(shù)碼管的顯示,那么僅使用P1口則是不夠的,這時(shí)需要使用更多的輸出端口。如前所述,AT89S51芯片向用戶(hù)提供的并行輸入/輸出口是有限的,因此必須想辦法進(jìn)行擴(kuò)展。應(yīng)用串行口工作方式0的同步移位寄存器方式是擴(kuò)展輸入/輸出能力的一種方法。串行口工作方式0的輸出時(shí)序圖如圖1所示。圖1 串行口工作方式0的輸出時(shí)序圖當(dāng)向串行數(shù)據(jù)緩沖寄存器SBUF寫(xiě)入一個(gè)數(shù)據(jù),在管腳RXD和管腳TXD將自動(dòng)產(chǎn)生如圖1所示的信號(hào)。管腳RXD輸出數(shù)據(jù),管腳TXD輸出同步移位時(shí)鐘。同步移位時(shí)鐘的周期等于單片機(jī)的工作周期,因此輸出一個(gè)字節(jié)的數(shù)據(jù)需要8個(gè)單片機(jī)的工作周期。串行口輸出一個(gè)字節(jié)的數(shù)據(jù)需要8個(gè)單片機(jī)的工作周期這點(diǎn)在編程時(shí)應(yīng)該注意,不能連續(xù)地編寫(xiě)2條向串行數(shù)據(jù)緩沖寄存器(SBUF)寫(xiě)入數(shù)據(jù)的指令。因?yàn)槿绻谝粋€(gè)數(shù)據(jù)還沒(méi)有被全部發(fā)送出去,這時(shí)向串行數(shù)據(jù)緩沖寄存器(SBUF)再寫(xiě)入一個(gè)數(shù)據(jù),新寫(xiě)入的數(shù)據(jù)將覆蓋沒(méi)有完成發(fā)送的第一個(gè)數(shù)據(jù)的剩余內(nèi)容,導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤。管腳RXD的輸出數(shù)據(jù)不能直接送入數(shù)碼管,這是因?yàn)榇袛?shù)據(jù)通過(guò)一條線輸出,而數(shù)碼管的工作則同時(shí)需要8個(gè)輸入信號(hào)。使用8位移位寄存器(串行輸入,并行輸出)74LS164可以把圖1所示的串行信號(hào)轉(zhuǎn)換成數(shù)碼管所需要的并行信號(hào)以滿(mǎn)足數(shù)碼管的需要。74LS164的功能表如表4所示。表4 74LS164的功能表輸 入輸 出MR CLK DSA DSBQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q70 0 0 0 0 0 0 0 01 0 Q00 Q10 Q20 Q30 Q40 Q50 Q60 Q701 1 1 1 Q00 Q10 Q20 Q30 Q40 Q50 Q601 0 0 Q00 Q10 Q20 Q30 Q40 Q50 Q601 0 0 Q00 Q10 Q20 Q30 Q40 Q50 Q60應(yīng)用串行口工作方式0和74LS164的數(shù)碼管的顯示電路如圖2所示。對(duì)比基于串行輸出口的數(shù)碼管電路和基于并行輸出口的數(shù)碼管電路,這里電路的硬件開(kāi)銷(xiāo)并沒(méi)有增加,74LS164在這里完成了串/并轉(zhuǎn)換和電流放大雙重任務(wù)。圖2 基于串行輸出口的數(shù)碼管的顯示電路執(zhí)行指令: SBUF=0x3f;可以輸出共陰極數(shù)碼管字符“0”的顯示代碼。顯示代碼以圖1所示的時(shí)序從單片機(jī)輸出。首先顯示代碼的最低位數(shù)據(jù)從AT89S51的管腳RXD送到74LS164的管腳DSA和DSB,接著同步移位脈沖從AT89S51的管腳TXD送到74LS164的管腳CLK,在同步移位脈沖上升沿的作用下,顯示代碼的最低位數(shù)據(jù)被移入74164的管腳Q0。第2個(gè)同步移位脈沖的上升沿接著把代碼的最低位數(shù)據(jù)移入74164的管腳Q1,把跟著最低位的數(shù)據(jù)移入74LS164的管腳Q0。依次類(lèi)推,8個(gè)同步移位脈沖完成把整個(gè)顯示代碼移入74LS164的輸出管腳,其中最低位在管腳Q7,最高位在管腳Q0。串/并轉(zhuǎn)換的整個(gè)過(guò)程需要8個(gè)單片機(jī)機(jī)器周期。如果單片機(jī)的時(shí)鐘頻率為12MHz,該過(guò)程需要8us。在轉(zhuǎn)換過(guò)程的8us中,數(shù)碼管的顯示是不斷變化的錯(cuò)誤顯示,但是這個(gè)時(shí)間很短,我們的眼睛分辨不出這個(gè)變化。實(shí)際上圖2所示的基于串行輸出口的數(shù)碼管電路和基于并行輸出口的數(shù)碼管電路的工作區(qū)別是分辨不出來(lái)的。在向P1口傳送顯示代碼編寫(xiě)的字符顯示程序的基礎(chǔ)上,把程序中的直接地址P1換成直接地址SBUF就可以用于圖2所示電路顯示字符。3數(shù)碼管應(yīng)用的進(jìn)一步討論3. 1 多位數(shù)據(jù)的顯示圖2所示的基于串行輸出口的數(shù)碼管電路都只能支持一個(gè)數(shù)碼管的顯示,即一次只能顯示一位數(shù)據(jù)。如果需要顯示多位數(shù)據(jù),例如希望數(shù)據(jù)能從00HFFH順序循環(huán)地顯示,圖2所示的電路必須進(jìn)行改進(jìn)。改進(jìn)后的數(shù)碼管的顯示電路如圖3所示。圖3 基于串行輸出口的2位數(shù)碼管顯示電路在圖3所示的電路中,使用了2個(gè)74LS164來(lái)驅(qū)動(dòng)2個(gè)數(shù)碼管。依次類(lèi)推,采用串行傳輸方式,微控制器可以啟動(dòng)多個(gè)數(shù)碼管。從單片機(jī)TXD管腳來(lái)的同步移位信號(hào)同時(shí)加到2個(gè)74LS164的管腳CLK,從單片機(jī)RXD管腳來(lái)的串行數(shù)據(jù)信號(hào)加到第一個(gè)74LS164的串行數(shù)據(jù)輸入口,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論