用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示2_第1頁(yè)
用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示2_第2頁(yè)
用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示2_第3頁(yè)
用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示2_第4頁(yè)
用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示2_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEword文檔可自由復(fù)制編輯工程設(shè)計(jì)介紹用8051單片機(jī)實(shí)現(xiàn)的99秒馬表計(jì)時(shí)系統(tǒng),系統(tǒng)充分利用了8051各種內(nèi)部資源,使得整個(gè)系統(tǒng)的軟硬件設(shè)計(jì)相對(duì)簡(jiǎn)化,易于實(shí)現(xiàn)。關(guān)鍵字:8051單片機(jī)馬表Abstract:Inthisarticle,akindof99sstopwatchsystemonbasisofthe8051Mictoconrtollerisintroduced.Thehardwaredesignandsoftwaredesignofthesystemaresimplifiedbymakinggooduseoftheinternalresourcesofthe8051Microcontroller.Itcaneasilyberealizedandhasbroadappliedfields.Keywords:8051Microcontrollerstopwatch實(shí)現(xiàn)功能系統(tǒng)從0開(kāi)始計(jì)時(shí),到99后再循環(huán),觸動(dòng)一次開(kāi)關(guān)為開(kāi)始計(jì)時(shí)信號(hào),觸動(dòng)第二次后暫停計(jì)時(shí),觸動(dòng)第三次后清零。二.設(shè)計(jì)概要該系統(tǒng)以8051單片機(jī)為主芯片,通過(guò)兩個(gè)LED數(shù)碼管顯示計(jì)時(shí)輸出的時(shí)間,通過(guò)開(kāi)中斷實(shí)現(xiàn)按鍵的讀取。此外設(shè)有加電和手動(dòng)復(fù)位功能,以便出現(xiàn)系統(tǒng)錯(cuò)誤時(shí)進(jìn)行復(fù)位。器件介紹1.8051單片機(jī)8051單片機(jī)內(nèi)部結(jié)構(gòu)

8051是MCS-51系列單片機(jī)的典型產(chǎn)品,

8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說(shuō)明:·中央處理器:

中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。·數(shù)據(jù)存儲(chǔ)器(RAM)

8051內(nèi)部有128個(gè)8位用戶(hù)數(shù)據(jù)存儲(chǔ)單元和128個(gè)專(zhuān)用寄存器單元,它們是統(tǒng)一編址的,專(zhuān)用寄存器只能用于存放控制指令數(shù)據(jù),用戶(hù)只能訪問(wèn),而不能用于存放用戶(hù)數(shù)據(jù),所以,用戶(hù)能使用的RAM只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶(hù)定義的字型表。 圖1·程序存儲(chǔ)器(ROM):8051共有4096個(gè)8位掩膜ROM,用于存放用戶(hù)程序,原始數(shù)據(jù)或表格。·定時(shí)/計(jì)數(shù)器(ROM):8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向?!げ⑿休斎胼敵?I/O)口:8051共有4組8位I/O口(P0、P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。·全雙工串行口:8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用?!ぶ袛嘞到y(tǒng):8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿(mǎn)足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇?!r(shí)鐘電路:8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類(lèi)型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2。圖28051的引腳說(shuō)明:MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在對(duì)這些引腳的功能加以說(shuō)明:如圖3:Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PCP0-P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專(zhuān)用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051單片機(jī)8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖3。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 圖3·Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖?!in29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。·Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。2.七段共陰LED數(shù)碼管七段共陰數(shù)碼管由七個(gè)發(fā)光二極管(LED)和一個(gè)小數(shù)位燈組成,LED由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等組成。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個(gè)發(fā)光二極管,外加正電壓時(shí)二極管導(dǎo)通,通過(guò)不同的配合顯示出所要的數(shù)字。LED數(shù)碼管有共陽(yáng)、共陰之分,如圖所示位共陰數(shù)碼管,其所有二極管的陰極共用一端,使用時(shí),公共陰極接地,7個(gè)陽(yáng)極a~g由對(duì)應(yīng)的端口驅(qū)動(dòng),下表為分別顯示0~9時(shí)對(duì)應(yīng)的輸入:共陰LED數(shù)碼管輸入顯示abcdefg11111100011000011101101211110013011001141011011510111116111000071111111811110119四.硬件電路總電路如下:總電路圖1.復(fù)位電路復(fù)位電路圖電路圖如上所示,采用上電或開(kāi)關(guān)復(fù)位,原理是通過(guò)電容的充放電實(shí)現(xiàn),當(dāng)系統(tǒng)出現(xiàn)異常時(shí),可以通過(guò)開(kāi)關(guān)復(fù)位使其正常。2.時(shí)鐘電路時(shí)鐘電路圖如上圖所示,該電路采用12MHz晶振,用C2、C3增強(qiáng)抗干擾能力,選10pF~50pF之間的電容即可。由于該系統(tǒng)用的是12MHz的晶振,所以振蕩周期為1/12μS,一個(gè)振蕩脈沖為一個(gè)拍節(jié),振蕩脈沖經(jīng)過(guò)二分頻后就是單片機(jī)的時(shí)鐘信號(hào),即一個(gè)時(shí)鐘信號(hào)包括兩個(gè)振蕩脈沖,每?jī)蓚€(gè)振蕩周期就組成狀態(tài)周期,狀態(tài)周期是完成一種微機(jī)操作的周期。機(jī)器周期包括6個(gè)狀態(tài)周期,是指完成一種基本操作的周期,所以機(jī)器周期為1μS。3.?dāng)?shù)碼管接口電路數(shù)碼管接口電路如上圖所示:把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7端口用8芯排線連接到數(shù)碼管1的a-dp端口上,要求:P0.0對(duì)應(yīng)著a,P0.1對(duì)應(yīng)著b,……,P0.7對(duì)應(yīng)著dp;“單片機(jī)系統(tǒng)”區(qū)域中的P2.0-P2.7端口用8芯排線連接到數(shù)碼管2的a-h(huán)端口上,要求同上,共陰級(jí)接地。4.中斷輸入電路中斷輸入電路如上圖所示,系統(tǒng)采用從T0口讀取中斷形式,直接用開(kāi)關(guān)與地相連,當(dāng)開(kāi)關(guān)閉合時(shí),端口輸入為低電位。五.軟件系統(tǒng)主程序框圖T0中斷服務(wù)程序框圖匯編源程序主程序

TCNTAEQU30H初始化數(shù)據(jù)

TCNTBEQU31H

SECEQU32H

KEYCNTEQU33H

SP1BITP3.5中斷輸入位

ORG00H

LJMPSTART為復(fù)位做準(zhǔn)備

ORG0BH

LJMPINT_T0

START:MOVKEYCNT,#00H

MOVSEC,#00H

MOVA,SEC

MOVB,#10被除數(shù)賦值

DIVAB除10后便于十進(jìn)制輸出

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A輸出十位

MOVA,B

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP2,A輸出個(gè)位

MOVTMOD,#02H設(shè)T0計(jì)數(shù)器為方式2工作方式

SETBET0允許t0中斷

SETBEA開(kāi)中斷允許總控位

WT:JBSP1,WT

LCALLDELY10MS延時(shí),防止干擾信號(hào)

JBSP1,WT延時(shí)后再次測(cè)輸入信號(hào)

INCKEYCNT

MOVA,KEYCNT

CJNEA,#01H,KN1是否觸發(fā)開(kāi)始計(jì)時(shí)

SETBTR0啟動(dòng)定時(shí)器T0

MOVTH0,#06H送初值

MOVTL0,#06H送重裝初值

MOVTCNTA,#00H

MOVTCNTB,#00H

LJMPDKN

KN1:CJNEA,#02H,KN2是否觸發(fā)暫停

CLRTR0關(guān)閉定時(shí)器T0

LJMPDKN

KN2:CJNEA,#03H,DKN是否觸發(fā)清零

清零程序段MOVSEC,#00H

MOVA,SEC

MOVB,#10

DIVAB

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A

MOVA,B

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP2,A

MOVKEYCNT,#00H

DKN:JNBSP1,$

LJMPWT延時(shí)程序段

DELY10MS:

MOVR6,#20

D1:MOVR7,#248

DJNZR7,$

DJNZR6,D1

RET中斷服務(wù)程序

INT_T0:

INCTCNTA

MOVA,TCNTA

CJNEA,#100,NEXT判斷時(shí)間間隔是否達(dá)到0.1s

MOVTCNTA,#00H

INCTCNTB

MOVA,TCNTB

CJNEA,#4,NEXT

MOVTCNTB,#00H

INCSEC

MOVA,SEC

CJNEA,#100,DONE判斷計(jì)時(shí)是否達(dá)到100

MOVSEC,#00H

DONE:MOVA,SEC輸出顯示

MOVB,#10

DIVAB

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A

MOVA,B

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP2,A

NEXT:RETI中斷返回輸出數(shù)字查表

TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

程序說(shuō)明

1)主程序中T0初始化程序段如下:

SETBTR0啟動(dòng)定時(shí)器T0

MOVTH0,#06H送初值

MOVTL0,#06H送重裝初值

其中初試值為6,且系統(tǒng)所用的的時(shí)12MHz的晶體振蕩,所以計(jì)算得計(jì)數(shù)脈沖為:(256-6)×12/12=250μS,所以后面要用400(400×250=100000μS=0.1S)作為計(jì)數(shù)循環(huán),以實(shí)現(xiàn)0.1秒的間隔。

2)DELY10MS的作用與算法

DELY10MS程序的加入主要是為了防

溫馨提示

  • 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)論