版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢畢 業(yè)業(yè) 論論 文文 題目:基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì)基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì) 專(zhuān) 業(yè) 學(xué) 號(hào) 學(xué) 生 姓 名 指 導(dǎo) 教 師 論論 文文 完完 成成 日日 期期 年年 月月 基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì)基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì) 摘摘 要要 本設(shè)計(jì)主要研究的是以 at89c51 單片機(jī)為核心的電壓測(cè)量系統(tǒng), 該系統(tǒng)能夠在單片機(jī)的控制下完成對(duì)電壓信號(hào)采集,能夠根據(jù)采樣 值進(jìn)行量程自動(dòng)轉(zhuǎn)換,并且測(cè)量結(jié)果可通過(guò)四個(gè)數(shù)碼管顯示出來(lái)。 整個(gè)系統(tǒng)的設(shè)計(jì)完成了硬件電路的設(shè)計(jì)及軟件程序的編寫(xiě),通 過(guò)最終硬件電路的調(diào)試及軟件程序的仿真,使該系統(tǒng)能夠在要求的 條件下達(dá)到正常的測(cè)量及顯示功能。 在整個(gè)系
2、統(tǒng)的設(shè)計(jì)過(guò)程中,主要采用了模塊化的設(shè)計(jì)方法。 關(guān)鍵詞:關(guān)鍵詞: at89c51 單片機(jī);數(shù)字電壓表;模塊化 designdesign ofof thethe digitaldigital voltmetervoltmeter basedbased onon thethe mcumcu abstractabstract this paper introduces an achievement of a voltage measure system based on the at89c51 mcu. this system can accomplish the signal sampling of
3、 voltage, and change range automatically according to the signal sampled. the result can be displayed through numeral rube of four places. in this design, the hardware circuit and software programming are both realized at the judge of hardware circuit and imitation of software program. this system c
4、an fulfill the function of measure and displaying under the demanded conditions. over the designing of the whole system, the method of modularity is used. key words: at89c51 mcu; digital voltmeter; modularity 目目 錄錄 緒論緒論.1 第一篇第一篇 硬件部分的設(shè)計(jì)硬件部分的設(shè)計(jì).1 1. 數(shù)據(jù)采集部分的設(shè)計(jì).2 1.1 交流信號(hào)和直流信號(hào)的采樣.2 2. 量程自動(dòng)轉(zhuǎn)換電路的設(shè)計(jì).4 3.
5、模數(shù)轉(zhuǎn)換單元的設(shè)計(jì).5 4. 控制電路的設(shè)計(jì).7 4.1總體概況.7 一.主要功能.7 二.內(nèi)部結(jié)構(gòu)框圖.8 三.外部引腳說(shuō)明.9 4.2 單片機(jī)在系統(tǒng)中的應(yīng)用.11 5. 顯示部分的設(shè)計(jì).12 5.1鍵盤(pán)顯示8279芯片.12 5.2 8279的組成和基本工作原理.13 5.3 8279引腳及功能.15 5.4 8279的工作方式及命令字格式.17 第二篇第二篇 軟件系統(tǒng)的設(shè)計(jì)軟件系統(tǒng)的設(shè)計(jì).23 1. mcs-51 單片機(jī)匯編語(yǔ)言.23 2. 主程序的設(shè)計(jì).23 3. 子程序的設(shè)計(jì).25 3.1采樣程序的設(shè)計(jì).25 3.2 量程處理程序的設(shè)計(jì).26 3.21 采樣及其處理程序.26 3.2
6、2 計(jì)算部分的設(shè)計(jì).28 3.23 顯示部分的軟件設(shè)計(jì).29 3.3 超量程處理.29 4. 系統(tǒng)程序清單.29 設(shè)計(jì)總結(jié)設(shè)計(jì)總結(jié).41 參考文獻(xiàn)參考文獻(xiàn).41 緒論緒論 在電氣測(cè)量中,電壓是一個(gè)很重要的參數(shù)。如何準(zhǔn)確地測(cè)量模擬信號(hào)的電壓值,一直 是電測(cè)儀器研究的內(nèi)容之一。數(shù)字電壓表是通用儀器中使用較廣泛的一種測(cè)試儀器,很多 電量或非電量經(jīng)變化后都用可數(shù)字電壓表完成測(cè)試。因此,數(shù)字電壓表被廣泛地應(yīng)用于科 研和生產(chǎn)測(cè)試中。 本文將介紹一種以單片機(jī)為核心的電壓測(cè)量?jī)x表,它能夠測(cè)量電壓量,能夠自動(dòng)進(jìn)行 量程選擇,并且測(cè)量結(jié)果能夠通過(guò)數(shù)碼管顯示,從而具有一定的智能性。本文將就這一系 統(tǒng)的硬件電路部分和
7、軟件程序部分分別作以介紹。在硬件部分,本文就系統(tǒng)的各個(gè)組成模 塊的原理作了詳細(xì)的介紹。另外,在每一模塊電路中都對(duì)元器件的選擇作了簡(jiǎn)單的介紹, 其中包括有關(guān)數(shù)值的計(jì)算和分析。在軟件部分,詳細(xì)闡述了各個(gè)模塊電路的軟件設(shè)計(jì)方法 和設(shè)計(jì)中的細(xì)節(jié)。 第一第一篇篇 硬件硬件部分的設(shè)計(jì)部分的設(shè)計(jì) 分析本設(shè)計(jì),可以看出其主要任務(wù)就是對(duì)電壓信號(hào)能夠自動(dòng)選擇合適的量程進(jìn)行測(cè)量 并顯示。本設(shè)計(jì)要求采用單片機(jī)進(jìn)行控制,由于單片機(jī)的有效輸入輸出信號(hào)均為數(shù)字信號(hào), 而對(duì)于整個(gè)系統(tǒng)的前向通道有效信號(hào)均應(yīng)為模擬信號(hào),所以在設(shè)計(jì)過(guò)程中必然包括模擬量 轉(zhuǎn)換為數(shù)字量單元的設(shè)計(jì)。根據(jù)要求本設(shè)計(jì)中采用的是 v/f 轉(zhuǎn)換電路。對(duì)于 v/
8、f 轉(zhuǎn)換電路, 要使其轉(zhuǎn)換具有良好的線(xiàn)性度和精度必須使其輸入電壓變化范圍較小。而本系統(tǒng)中要求測(cè) 量的電壓范圍是 0500v,無(wú)法滿(mǎn)足 v/f 轉(zhuǎn)換的要求。所以,前向模擬通道的設(shè)計(jì)要包括量 程轉(zhuǎn)換部分,即對(duì)大信號(hào)進(jìn)行分壓變小,對(duì)小信號(hào)進(jìn)行放大,顯然,這樣不僅能滿(mǎn)足 v/f 轉(zhuǎn)換電路的要求,而且也能有效的防止超量程測(cè)量。另外,前向通道的設(shè)計(jì)還應(yīng)包括對(duì)模 擬信號(hào)的采集部分。本設(shè)計(jì)框圖如圖 1-1 所示: 圖圖1-11-1 設(shè)計(jì)總框圖設(shè)計(jì)總框圖 在以后的各節(jié)中,將分別介紹各個(gè)部分的設(shè)計(jì)。 1.1. 數(shù)據(jù)采集部分的設(shè)計(jì)數(shù)據(jù)采集部分的設(shè)計(jì) 根據(jù)本系統(tǒng)的要求所采集的信號(hào)應(yīng)為電壓信號(hào),同時(shí)電壓信號(hào)還應(yīng)有交流和
9、直流之分。 所以在設(shè)計(jì)中應(yīng)該具有相應(yīng)的處理電路,使最終的信號(hào)得以統(tǒng)一。對(duì)于交流信號(hào)可以采用 交/直流變換的方法變?yōu)橹绷鳎@樣最終進(jìn)入模/數(shù)轉(zhuǎn)換單元(即 v/f 轉(zhuǎn)換單元)的模擬信 號(hào)就應(yīng)該為直流電壓信號(hào)。對(duì)于信號(hào)變換部分應(yīng)該注意的是所采樣的信號(hào)種類(lèi)應(yīng)能夠通知 控制部分(單片機(jī)) ,以使控制部分做出相應(yīng)的計(jì)算處理,只有這樣才能保證最終的顯示結(jié) 果的正確性。 1.11.1 交流信號(hào)和直流信交流信號(hào)和直流信號(hào)的采樣號(hào)的采樣 本設(shè)計(jì)中所采用的交直流轉(zhuǎn)換電路如圖 1-2 所示: 分析此電路,可以看出此電路集精密全波整流、量程切換、信號(hào)過(guò)零比較于一體。 cd4053 是三組單刀雙擲集成模擬開(kāi)關(guān),開(kāi)關(guān) x
10、承擔(dān)了全波整流的任務(wù),其控制端 a 受 控于比較器的輸出電平。圖中 u10 工作于同相放大狀態(tài),運(yùn)放 u11 工作于反相放大狀態(tài), 比較器的輸入引自 u10 的放大輸出信號(hào),這有利于提高比較器對(duì)信號(hào)的靈敏度。電路輸入 交流信號(hào)的正半波時(shí),同相連接的比較器 u9 輸出高電平,模擬開(kāi)關(guān) x 接通運(yùn)放 u10 輸出信 號(hào)送后續(xù)的模擬信號(hào)與數(shù)字信號(hào)的轉(zhuǎn)換單元;電路輸入交流信號(hào)的負(fù)半波時(shí),比較器 u9 輸 出低電平,模擬開(kāi)關(guān) x 接通反相器 u11 的輸出信號(hào)送后續(xù)的模擬信號(hào)與數(shù)字信號(hào)的轉(zhuǎn)換單 v/f mcu 元。由此完成了由 u9 過(guò)零躍變的準(zhǔn)數(shù)字量控制的全波整流過(guò)程。這個(gè)準(zhǔn)數(shù)字信號(hào)就可以用 來(lái)通知控
11、制部分所進(jìn)行測(cè)量的是交流信號(hào)還是直流信號(hào),以使控制部分進(jìn)行相應(yīng)的計(jì)算和 顯示。 cd4053 的另兩組模擬開(kāi)關(guān) y 和 z 承擔(dān)了三個(gè)量程的切換任務(wù),它們的控制端 b 和 c 通過(guò)來(lái)自單片機(jī)的量程切換命令。 2 3 7 6 5 1 84 u9 lm311 3 2 1 84 u11a ne5532 3 2 1 84 u10a ne5532 p1.2 p1.3 p1.4 r30 0.5k r17 6k r20 5k vcc r16 10k -vccgnd vcc r31 0.5k x0 12 x1 13 y0 2 y1 1 z0 5 z1 3 inh 6 a 11 b 10 c 9 vee 7 x
12、 14 y 15 z 4 cd4053 r18 5k r10 1k r9 1k r19 5k 500 r7 1uf c7 1k r vcc 500 r8 gnd 99k r69k r5 q0 e5 v e5 圖圖 1-21-2 交直流轉(zhuǎn)換電路交直流轉(zhuǎn)換電路 另外,圖 1-2 電路能同樣有效地用于直流信號(hào)的前置處理。電路的輸入端無(wú)論接入的 是直流正信號(hào)還是直流負(fù)信號(hào),輸出的幅值都是 0 伏以上的直流正信號(hào),這對(duì)于后續(xù)電路 的設(shè)計(jì)尤其適用,而此時(shí)可以從比較器輸出的電平高低獲知是正輸入還是負(fù)輸入。特別重 要的示,直流信號(hào)和交流信號(hào)具有同樣的傳輸增益,給交直流參數(shù)的測(cè)量軟件同一處理提 供了極大的方便。
13、 顯然,此電路滿(mǎn)足本設(shè)計(jì)的要求,而且它集量程轉(zhuǎn)換于一體,為量程轉(zhuǎn)換部分的設(shè)計(jì) 提供了方便,節(jié)省了硬件資源。 2.2. 量程自動(dòng)轉(zhuǎn)換電路的設(shè)計(jì)量程自動(dòng)轉(zhuǎn)換電路的設(shè)計(jì) 在儀表的設(shè)計(jì)過(guò)程中,量程轉(zhuǎn)換的設(shè)計(jì)是相當(dāng)重要的。所設(shè)計(jì)的系統(tǒng)應(yīng)該具有自動(dòng)轉(zhuǎn) 換量程的功能,并且能夠自動(dòng)判斷是否超量程測(cè)量。這樣才能夠?yàn)楹罄m(xù)的模數(shù)轉(zhuǎn)換單元提 供適當(dāng)?shù)妮斎腚妷海蛊滢D(zhuǎn)換具有良好的精度和線(xiàn)性度。在本設(shè)計(jì)中模數(shù)轉(zhuǎn)換單元選擇的 是電壓/頻率轉(zhuǎn)換電路,對(duì)于 v/f 轉(zhuǎn)換電路,其輸入電壓選擇 05v。這樣,經(jīng)過(guò)量程轉(zhuǎn)換 后的電壓范圍就應(yīng)該為 05v。因?yàn)楸鞠到y(tǒng)的輸入電壓范圍是 0500v,故我們可以選擇 1/100 作為其最大電
14、壓的量程檔,500v 經(jīng)過(guò) 1/100 分壓后降為 5v,恰好可以滿(mǎn)足 v/f 轉(zhuǎn)換 的要求。 在本設(shè)計(jì)中,對(duì)于電壓信號(hào)設(shè)置了五個(gè)量程,即 1/100 檔,1/10 檔,1 檔,10 檔, 100 檔。1/100 檔和 1/10 檔由分壓電路來(lái)完成,它們是用來(lái)測(cè)量較大電壓的。而1 檔, 10 檔,100 檔則是應(yīng)用放大電路來(lái)完成的,它們則是用來(lái)測(cè)量較小的電壓的。在本設(shè) 計(jì)中,1 檔,10 檔,100 檔可由交直流轉(zhuǎn)換部分的電路來(lái)實(shí)現(xiàn),見(jiàn)圖 1-4。此電路中 的多路選擇開(kāi)關(guān) cd4053 可以用來(lái)選擇放大倍數(shù),在該電路中分別設(shè)置了1,10 和 100 的放大倍數(shù)。具體選擇多大的放大倍數(shù)可以通過(guò)單
15、片機(jī)的引腳 p1.3 和 p1.4 電平來(lái) 控制。本設(shè)計(jì)中 cd4053 各個(gè)開(kāi)關(guān)的導(dǎo)通與單片機(jī)引腳的關(guān)系見(jiàn)表 1-1 所示。 表表 1-11-1:cd4053cd4053 與單片機(jī)引腳的關(guān)系與單片機(jī)引腳的關(guān)系 c(p1.4) b(p1.3)y 選通情況 z 選通情況 0 0 yy0 0 1 yy1 zz0 1 0 yy0 1 1 yy1 zz1 本設(shè)計(jì)中 1/100 和 1/10 分壓比的選擇也由單片機(jī)引腳控制多路選擇開(kāi)關(guān)來(lái)實(shí)現(xiàn)。由于 本系統(tǒng)要求的電壓測(cè)量范圍是 0500v,所以多路開(kāi)關(guān)的選擇應(yīng)特別注意其耐壓值。在本設(shè) 計(jì)中采用的是 max4602,因?yàn)樗哪蛪褐悼蛇_(dá)到兩千伏左右,故可以應(yīng)用
16、在本系統(tǒng)中。分壓 比的選擇由單片機(jī)的 p1.0 和 p1.1 來(lái)控制。電路圖見(jiàn)圖 1-3。 900kr3 90kr2 10kr1 x0 13 x1 14 x2 15 x3 12 x4 1 x5 5 x6 2 x7 4 inh 6 a 11 b 10 c 9 vee 7 x 3 max4602 gnd in(v) gnd p1.0 p1.1 圖圖 1-3 量程轉(zhuǎn)換部分的分壓電路量程轉(zhuǎn)換部分的分壓電路 由上述分析可知量程的轉(zhuǎn)換由兩部分(即分壓和放大)共同完成,所以在量程的選擇 時(shí)需注意兩部分的關(guān)系,即選用分壓時(shí)放大電路的放大倍數(shù)要選為 1,選用放大時(shí)信號(hào)要 直接進(jìn)來(lái)而不經(jīng)過(guò)分壓。 3.3. 模數(shù)轉(zhuǎn)
17、換模數(shù)轉(zhuǎn)換單元的設(shè)計(jì)單元的設(shè)計(jì) 單片機(jī)對(duì)模擬信號(hào)的讀取通常是采用 a/d 轉(zhuǎn)換方式,這一方法對(duì)輸出阻抗低,惰性強(qiáng), 變化緩慢,傳輸距離長(zhǎng)的信號(hào),采用 a/d 轉(zhuǎn)換的抗干擾性能就比較差。對(duì)于不需要較快檢 測(cè)速度的信號(hào),如果采用 v/f 變換器代替原有的 a/d 轉(zhuǎn)換器,把電壓信號(hào)轉(zhuǎn)換成與之對(duì)應(yīng) 的頻率信號(hào)(f=kv),由單片機(jī) cpu 計(jì)數(shù)器在采樣周期內(nèi)對(duì)頻率脈沖進(jìn)行計(jì)數(shù),采樣時(shí), cpu 發(fā)出計(jì)數(shù)指令,定時(shí)時(shí)間一到,計(jì)數(shù)停止,從讀到的計(jì)數(shù)值乘以一定的系數(shù),就可以 得到相應(yīng)電壓值。 本設(shè)計(jì)中,采用的是 lm331 轉(zhuǎn)換芯片(v/f)將模擬信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的頻率信號(hào),具體 電路如圖 1-4 所示:
18、圖圖 1-41-4 v/fv/f 轉(zhuǎn)換電路轉(zhuǎn)換電路 lm331 是單片集成芯片,在 v/f 轉(zhuǎn)換器中,它是 lm31 系列中的一種,它作為一種簡(jiǎn) 單廉價(jià)的電路很適用于模/數(shù)轉(zhuǎn)換。它使用了新的溫度補(bǔ)償能隙基準(zhǔn)電路,在整個(gè)工作溫度 范圍內(nèi)和低到 4.0v 電源電壓下都有較高的精度,最大線(xiàn)性度達(dá) 0.01%,6 個(gè)數(shù)量級(jí)的動(dòng)態(tài) 范圍,即滿(mǎn)量程的頻率范圍為 1hz 100khz。其數(shù)字脈沖重復(fù)率正比于模擬輸入電壓的幅 值。這類(lèi)器件的高精度,高線(xiàn)性度,低溫移及單調(diào)性的組合所提供的性能是其它技術(shù)難以 實(shí)現(xiàn)的。逐次近似 a/d 轉(zhuǎn)換器定期進(jìn)行“抽樣” ,因此易受噪聲尖峰的影響,而電壓頻 率轉(zhuǎn)換器的輸出端一直
19、在進(jìn)行積分,因此能對(duì)噪聲或變化的輸入信號(hào)進(jìn)行平滑,特別適合 于噪聲工作環(huán)境。 對(duì) v/f 變換,整個(gè)電路都是線(xiàn)性放大。對(duì) lm331,根據(jù) v/f 變換的原理,其輸出頻率與 輸入電壓的關(guān)系滿(mǎn)足下面的公式: f=(v/2.09)(r/r )(1/r )(1/c ) (1-3) insltt 由公式 1-3 可以看出輸出頻率 f 與輸入電壓 v成正比。 in 對(duì) v/f 轉(zhuǎn)換,滿(mǎn)度頻率 f 大,閘門(mén)周期短,轉(zhuǎn)換快,分辨率高,但同時(shí)線(xiàn)性度下降。 因此在選擇參數(shù) r、r 、r 、c 時(shí)格外要注意。本設(shè)計(jì)中的輸入電壓 vi 在 05v(即量 sltt 程轉(zhuǎn)換后的電壓均為 05v)內(nèi)變化,輸出 f 選擇在
20、 010khz 內(nèi)變化,既可滿(mǎn)足轉(zhuǎn)換率又 可滿(mǎn)足分辨率的要求。 在本設(shè)計(jì)中,為了消除干擾,在輸入信號(hào)端加一個(gè)低通濾波器,c=1uf,r=100k,低通 濾波的截止頻率為: in 7 rc 5 ref 2 gnd 4 vcc 8 out 1 thr 6 freq 3 lm311 lm311 out 6 +v 8 gnd 5 c 3 nc 1 nc 4 a 2 en 7 6n137 6n137 r27 10k r28 10k r4 5k r35 62k r26 62k r22 22k r23 2kr21 5.1k t0 c6 1ufr31 1k -vcc vcc vcc gnd c5 0.05uf
21、 c8 0.01uf gnd r43 100k q3 q0 vdd r30 5k r24 12k vcc f=1/(2rc)1.59hz 圖 1-4 中,選擇 r (r26)為 62k,r (r22)為 5.1k,c (c5)為 0.01uf,r 為 r24+r30, ltts 仔細(xì)調(diào)節(jié) r30 即可滿(mǎn)足輸入為 5v 時(shí),輸出 f 為 10khz。 lm331 由 7 腳輸入電壓,由 5 腳輸入偏置電流,5 腳最大保持電壓為 7vs,2 腳的參考電 壓為 1.9v。流入 c6 的 iaver=i(1.1 r c )f。f 輸出期間(t=1.1 r c ),c14 充電到 tttt v ,此后,
22、i=0,f 無(wú)輸出,c14 從 v 放電到 v,而后比較器工作,開(kāi)始另一個(gè)循環(huán),整個(gè) xxin 過(guò)程始終保持電荷平衡。 lm331 的輸出接光電耦合器 6n137,6n137 采用射極輸出,不改變輸出相位,集電極開(kāi) 路,內(nèi)部有脈沖整形電路,其輸出可直接接單片機(jī)的引腳,而不會(huì)改變信號(hào)的頻率輸出。 使用光電耦合器,一方面可以抑制較大的隨機(jī)干擾信號(hào)進(jìn)入單片機(jī), (6n137 最大可抑 制 3000v 的噪聲干擾) ,減少進(jìn)入單片機(jī)的干擾信號(hào)修改單片機(jī)內(nèi)部寄存器的數(shù)值或發(fā)生死 機(jī)的現(xiàn)象;另一方面可以避免數(shù)字電路,模擬電路的共地,因而能有效的抑制由于數(shù)字電 路,模擬電路的共地帶來(lái)的地電位脈沖引起的數(shù)據(jù)抖
23、動(dòng)現(xiàn)象。 4.4. 控制電路控制電路的設(shè)計(jì)的設(shè)計(jì) 4.14.1 總體概況總體概況 一一. .主要功主要功能能 mcs-51 系列單片機(jī)是美國(guó) intel 公司在 1980 年推出的高性能 8 位單片微型計(jì)算機(jī),比 原來(lái)的 mcs-48 系列結(jié)構(gòu)更為先進(jìn),功能增強(qiáng),它包括 51 和 52 兩個(gè)子系列。 在 51 子系列中,主要有 8031、8051、8751 三種機(jī)型,他們的指令系統(tǒng)與芯片引腳完 全兼容,僅片內(nèi) rom 有所不同。51 子系列的主要功能為: 8 位 cpu。 片內(nèi)帶振蕩器,振蕩頻率 fosc 范圍為 1.212mhz;可有時(shí)鐘輸出。 128 個(gè)字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器。 4k 字節(jié)的
24、片內(nèi)程序存儲(chǔ)器(8031 無(wú)) 。 程序存儲(chǔ)器的尋址范圍為 64k 字節(jié)。 片外數(shù)據(jù)存儲(chǔ)器的尋址范圍為 64k 字節(jié)。 21 個(gè)字節(jié)專(zhuān)用寄存器。 4 個(gè) 8 位并行 i/o 接口:p0、p1、p2、p3。 1 個(gè)全雙工串行 i/o 接口,可多機(jī)通信。 2 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。 中斷系統(tǒng)有 5 個(gè)中斷源,可編程為兩個(gè)優(yōu)先級(jí)。 111 條指令,含乘法指令和除法指令。 有強(qiáng)的位尋址、位處理能力。 片內(nèi)采用單總線(xiàn)結(jié)構(gòu)。 用單一+5v 電源。 二二. .內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框圖 mcs-51 系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如下圖 1-5 所示: 圖圖 通道0驅(qū)動(dòng)器通道2驅(qū)動(dòng)器 ram地址 鎖存器 ra
25、m 通道0鎖存器通道2鎖存器rom b寄存器 程序地址寄存器 緩沖器 pc遞增器 程序計(jì)數(shù)器 dptr指針 vcc gnd p1.0p1.7 堆棧指針sp acc tmp2 psw 通道3鎖存器 通道1鎖存器 通道1驅(qū)動(dòng)器通道3驅(qū)動(dòng)器 tmp1 中斷、串行口和定時(shí)器邏輯 振蕩器 p3.0p3.7 rst ea ale psen xtal2xtal1 alu (+5v) 指 令 寄 存 定 時(shí) 邏 輯 指 令 譯 碼 1-51-5 mcs-51mcs-51 系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖 由圖可大致看到:它含運(yùn)算器、控制器、片內(nèi)存儲(chǔ)器、4 個(gè) i/o接口、串行接口、定 時(shí)器/計(jì)
26、數(shù)器、中斷系統(tǒng)、振蕩器等功能部件。圖中 sp 是堆棧指針寄存器,棧區(qū)占用了片 內(nèi) ram 的部分單元;未見(jiàn)通用寄存器(工作寄存器) ,因單片機(jī)片內(nèi)有存儲(chǔ)器,與訪(fǎng)問(wèn)工 作寄存器一樣方便,所以就把一定數(shù)量的片內(nèi) ram 字節(jié)劃作工作寄存器區(qū);psw 是程序 狀態(tài)字寄存器,簡(jiǎn)稱(chēng)程序狀態(tài)字,相當(dāng)于其他計(jì)算機(jī)的標(biāo)志寄存器;dptr 是數(shù)據(jù)指針寄 存器,在訪(fǎng)問(wèn)片外 ram、片外 rom、甚至擴(kuò)展 i/o 接口時(shí)特別有用;b 寄存器又稱(chēng)乘法 寄存器,它與累加器 a 協(xié)同工作,可進(jìn)行乘法操作和除法操作。 三三. .外部引腳說(shuō)明外部引腳說(shuō)明 mcs-51 系列單片機(jī)芯片有 40 個(gè)引腳。用 hmos 工藝制造的
27、芯片采用雙列直插式封 裝,見(jiàn)下圖 1-6。低功耗的、采用 chmos 工藝制造的機(jī)型(在型號(hào)中間加一“c”字作為識(shí) 別,如 80c31、80c51、87c51)也有用方封裝結(jié)構(gòu)的。 p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 rst v rxd p3.0 txd p3.1 int0 p3.2 int1 p3.3 t0 p3.4 t1 p3.5 wr p3.6 rd p3.7 xtal xtal v pd 2 1 ss vcc p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 ea/v ale/prog psen p2.7 p2.
28、5 p2.4 p2.3 p2.2 p2.1 p2.0 dd p2.6 mcs51系列 單片機(jī) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 (8031) (8051) 圖圖 1-6 mcs-51 系列單片機(jī)芯片引腳圖系列單片機(jī)芯片引腳圖 現(xiàn)將各引腳分別說(shuō)明如下: 1.主電源引腳 vcc:接+5v 電源正端。 vss:接+5v 電源地端。 2.外接晶體引腳 xtal1:片內(nèi)反相放大器輸入端。 xtal2:片內(nèi)反相放大器輸出
29、端。外接晶體時(shí),xtal1 與 xtal2 各接晶體的一端, 借外接晶體與片內(nèi)反相放大器構(gòu)成振蕩器。 3.輸入/輸出引腳 p0.0p0.7:p0 口的 8 個(gè)引腳。在不接片外存儲(chǔ)器與不擴(kuò)展 i/o 接口時(shí),可作為準(zhǔn)雙 向輸入/輸出接口。在接有片外存儲(chǔ)器或擴(kuò)展 i/o 接口時(shí),p0 口分時(shí)復(fù)用為低 8 位地址總線(xiàn) 和雙向數(shù)據(jù)總線(xiàn)。 p1.0p1.7:p1 口的 8 個(gè)引腳。可作為準(zhǔn)雙向 i/o 接口使用。 p2.0p2.7:p2 口的 8 個(gè)引腳。一般可作為準(zhǔn)雙向 i/o 接口;在接有片外存儲(chǔ)器或擴(kuò) 展 i/o 接口且尋址范圍超過(guò) 256 個(gè)字節(jié)時(shí),p2 口用為高 8 位地址總線(xiàn)。 p3.0p3
30、.7:p3 口的 8 個(gè)引腳。除作為準(zhǔn)雙向 i/o 接口使用外,還具有第二功能,見(jiàn) 表 2-2。 表表 2-2: 輸入輸入/輸出引腳輸出引腳 引腳第二功能 p3.0rxd (串行輸入口) p3.1txd (串行輸出口) p3.2 (外部中斷 0 請(qǐng)求輸入端)int0 p3.3 (外部中斷 1 請(qǐng)求輸入端)int1 p3.4t0 (定時(shí)器/計(jì)數(shù)器 0 計(jì)數(shù)脈沖輸入端) p3.5t1 (定時(shí)器/計(jì)數(shù)器 1 計(jì)數(shù)脈沖輸入端) p3.6 (片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸入端)wr p3.7 (片外數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸入端)rd 4.控制端 ale/:地址鎖存有效信號(hào)輸出端。在訪(fǎng)問(wèn)片外程序存儲(chǔ)器期間,每機(jī)
31、器周期prog 該信號(hào)出現(xiàn)兩次,其下降沿用于控制鎖存 p0 口輸出的低 8 位地址。 :片外程序存儲(chǔ)器讀選通信號(hào)輸出端,或稱(chēng)片外取指信號(hào)輸出端。在向片外程psen 序存儲(chǔ)器讀取指令或常數(shù)期間,每個(gè)機(jī)器周期該信號(hào)兩次有效(低電平) ,以通過(guò)數(shù)據(jù)總線(xiàn) p0 口讀回指令或常數(shù)。 在訪(fǎng)問(wèn)片外數(shù)據(jù)存儲(chǔ)器期間,信號(hào)將不出現(xiàn)。psen rst/vpd:ret 寫(xiě)全是 reset,是復(fù)位端。單片機(jī)的振蕩器工作時(shí),該引腳上出現(xiàn)持 續(xù)兩個(gè)機(jī)器周期的高電平就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)回復(fù)到初始狀態(tài)。上電時(shí),考慮到 振蕩器有一定的起振時(shí)間,該引腳上高電平必須持續(xù) 10ms 以上才能保證有效復(fù)位。 vcc 掉電期間,該引
32、腳如接備用電源 vpd(+5v0.5v),可用于保存片內(nèi) ram 中的 數(shù)據(jù)。當(dāng) vcc 下降到某規(guī)定值以下,vpd 便向片內(nèi) ram 供電。 /vdd:片外程序存儲(chǔ)器選用端。該引腳有效(低電平)時(shí)只選用片外程序存儲(chǔ)器,ea 否則計(jì)算機(jī)上電或復(fù)位后先選用片內(nèi)程序存儲(chǔ)器。 綜上所述,對(duì) mcs-51 系列單片機(jī)的引腳可歸納出下列兩點(diǎn): 單片機(jī)功能多,引腳少,許多引腳都具有第二功能。 單片機(jī)對(duì)外呈三總線(xiàn)形式。由 p2、p0 組成 16 位地址總線(xiàn);由 p0 分時(shí)復(fù)用為數(shù)據(jù) 總線(xiàn);由 ale、rst、與 p3 口中的、t0、t1、pseneaint0int1wr 共 10 個(gè)引腳組成控制總線(xiàn)。因是
33、16 位地址線(xiàn),使片外存儲(chǔ)器的尋址范圍達(dá)到 64k 字rd 節(jié)。 4.24.2 單片機(jī)單片機(jī)在系統(tǒng)中的應(yīng)用在系統(tǒng)中的應(yīng)用 在整個(gè)系統(tǒng)中,單片機(jī)的控制功能為:采用 t0 口對(duì) v/f 轉(zhuǎn)換之后的頻率進(jìn)行計(jì)數(shù),采 用 t1 口進(jìn)行定時(shí),采用 p1.0、p1.1、p1.3 和 p1.4 進(jìn)行量程選擇,采用 p1.2 口判斷所測(cè) 信號(hào)是交流信號(hào)還是直流信號(hào),采用 p0.0 口作為顯示電路的清零端,采用串行輸入端 rxd 作為移位寄存器的輸入端,采用串行輸出端 txd 作為移位脈沖,電路如圖 1-7 所示: ea/vpp 31 xtal1 19 xtal2 18 rst 9 p3.7(rd) 17 p3
34、.6(wr) 16 p3.2(int0) 12 p3.3(int1) 13 p3.4(t0) 14 p3.5(t1) 15 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 (ad0)p0.0 39 (ad1)p0.1 38 (ad2)p0.2 37 (ad3)p0.3 36 (ad4)p0.4 35 (ad5)p0.5 34 (ad6)p0.6 33 (ad7)p0.7 32 (a8)p2.0 21 (a9)p2.1 22 (a10)p2.2 23 (a11)p2.3 24 (a12)p2.4 25 (a13)p2.5 26 (a
35、14)p2.6 27 (a15)p2.7 28 psen 29 ale/prog 30 (txd)p3.1 11 (rxd)p3.0 10 gnd 20 vcc 40 at89c51 p0 p1 p2 p3 p4 p5 t0 txd rxd p0.0 dp1 dp2 dp3 510kr1 510kr2 510kr3 p0.0 dp1 dp2 dp3 3k r7 3k r6 3k r5 3k r4 vdd 10k r29 22uf c3 vdd 33pf c2 33pf c1 y1 12m at89c51 p1.3 圖圖 1-71-7 控制部分電路圖控制部分電路圖 系統(tǒng)的控制過(guò)程為:t1 口定時(shí)
36、,t0 口采樣,定時(shí)時(shí)間到,采樣結(jié)束,通過(guò)單片機(jī)進(jìn) 行計(jì)算并選擇適當(dāng)?shù)牧砍蹋缓笤龠M(jìn)行采樣、計(jì)算、顯示。 5.5. 顯示顯示部分部分的設(shè)計(jì)的設(shè)計(jì) 5.15.1 鍵盤(pán)顯示鍵盤(pán)顯示 82798279 芯片芯片 圖圖 1-81-8 顯示電路顯示電路 8279 是一種可編程的鍵盤(pán)/顯示器接口芯片。它既具有按鍵處理功能,又具有自動(dòng)顯 示功能,在單片機(jī)系統(tǒng)中應(yīng)用很廣泛。8279 內(nèi)部有鍵盤(pán) fifo(先進(jìn)先出堆棧)/傳感器, 雙重功能的 8864bram,鍵盤(pán)控制部分可控制 8864 個(gè)按鍵或控制 88 陣列方式的 傳感器。該芯片能自動(dòng)消除鍵抖動(dòng)并具有雙鍵鎖定保護(hù)功能。顯示 ram 容量為 168,即 顯
37、示器最大配置可達(dá) 16 位 led 數(shù)碼顯示。 5.25.2 82798279 的組成和基本工作原理的組成和基本工作原理 圖 1-9 為 8279 內(nèi)部結(jié)構(gòu)框圖。 數(shù)據(jù)緩沖器i/o 控制 fifo/傳感器 ram 的狀態(tài)寄存器 鍵盤(pán)去抖動(dòng)與控 制 88fifo/傳感 器 ram 控制與定時(shí)寄 存器 顯示地址 寄存器 168 顯 示 ram 顯示寄存器 定時(shí)與控 制 掃描計(jì)數(shù)器 回復(fù) outa03 outb03 bd sl03 rl07 時(shí)鐘復(fù)位d0d7 a0 rdwrcs irq 圖圖 1-9 8279 內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框圖 由圖可知,8279 由下列電路組成: 1)數(shù)據(jù)緩沖器和 i/o
38、控制 數(shù)據(jù)緩存器為雙向緩沖器,連接內(nèi)、外總線(xiàn),用于傳送 cpu 和 8279 之間的命令或數(shù)據(jù)。 i/o 控制線(xiàn)用于 cpu 對(duì) 8279 內(nèi)部各種寄存器、緩沖器讀寫(xiě)數(shù)據(jù)和讀寫(xiě)狀態(tài)命令的控制。 是片選信號(hào),=0 時(shí) 8279 被選通,cpu 才能對(duì)其進(jìn)行讀、寫(xiě)操作;、cscsrd 是來(lái)自 cpu 的讀、寫(xiě)控制信號(hào);a0 用于區(qū)別信息的特性,a01,表示數(shù)據(jù)線(xiàn)輸入的wr 是指令,輸出的是狀態(tài)字;a00,表示輸入輸出的是數(shù)據(jù)。 2)控制與定時(shí)寄存器及定時(shí)控制 控制與定時(shí)寄存器用來(lái)寄存鍵盤(pán)和顯示器的工作方 式,以及由 cpu 編程的其他操作方式。這些寄存器一旦接收并鎖存 cpu 送來(lái)的命令,就通 過(guò)
39、譯碼產(chǎn)生相應(yīng)的信號(hào),從而完成相應(yīng)的控制功能。 定時(shí)控制包含基本的計(jì)數(shù)鏈,首級(jí)計(jì)數(shù)器是一個(gè)可編程的 n 分頻計(jì)數(shù)器。n 可以在 cntl/stb shift 231 之間由軟件編程,以便從外部時(shí)鐘 clk 分頻得到內(nèi)部所需要的 100khz 時(shí)鐘。然后再 經(jīng)過(guò)分頻,為鍵盤(pán)掃描提供適當(dāng)?shù)闹鹦袙呙桀l率和顯示時(shí)間。 3)掃描計(jì)數(shù)器 掃描計(jì)數(shù)器由兩種工作方式:編碼方式和譯碼方式。 編碼工作方式時(shí),計(jì)數(shù)器作二進(jìn)制計(jì)數(shù),4 位計(jì)數(shù)狀態(tài)從掃描線(xiàn) sl0sl3 輸出。外接 4/16 譯碼器,能提供 16 位 led 的字位控制;外接 3/8 譯碼器,能為行列式鍵盤(pán)提供 8 列 掃描信號(hào),與 rl0rl7 構(gòu)成
40、88 鍵盤(pán)的行列掃描。 譯碼方式工作時(shí),掃描計(jì)數(shù)器的最低二位被譯碼后,從 sl0sl3 輸出一位低電平,可 接 4 位 led 或 48 鍵盤(pán)。 4)回復(fù)緩沖器、鍵盤(pán)去抖動(dòng)及控制、回復(fù)緩沖器用來(lái)接收并鎖存來(lái)自回復(fù)線(xiàn) rl0rl7 的 8 個(gè)回復(fù)信號(hào)。 (1)在鍵盤(pán)工作方式中,回復(fù)線(xiàn)為行列式鍵盤(pán)的行(列)輸入線(xiàn)。在逐行逐列掃描時(shí), 回復(fù)線(xiàn)用來(lái)搜尋每一行(列)中閉合的鍵。當(dāng)某一鍵閉合時(shí),去抖電路被置位,延時(shí) 10ms 后,再檢驗(yàn)該鍵是否繼續(xù)閉合,并將該鍵的地址和附加的移位、控制狀態(tài)一起形成鍵盤(pán)數(shù) 據(jù),送入 8279 內(nèi)部 fifo ram(先入先出存儲(chǔ)器) 。鍵盤(pán)數(shù)據(jù)格式如表 3-3 所示: 表表
41、 3-33-3 鍵盤(pán)數(shù)據(jù)格式鍵盤(pán)數(shù)據(jù)格式 d7d6d5d4d3d2d1d0 控制移位掃描回復(fù) 控制(d7)和移位(d6)的狀態(tài)由 cntl、shift 端外接的兩個(gè)附加按鍵決定; 掃描(d5、d4、d3)來(lái)自?huà)呙栌?jì)數(shù)器,是閉合鍵所在列的編號(hào),由 sl0sl3 確定; 回復(fù)(d2、d1、d0)是閉合鍵所在行的編號(hào),由 rl0rl7 確定。 (2)在傳感器開(kāi)關(guān)狀態(tài)矩陣方式中,回復(fù)線(xiàn)的內(nèi)容直接被送往相應(yīng)的傳感器 ram(即 fifo 存儲(chǔ)器) 。 (3)在選通輸入方式工作時(shí),回復(fù)線(xiàn)的內(nèi)容在 cntl/stb 信號(hào)的脈沖上升沿被送入 fifo ram。 5)fifo/傳感器 ram 及其狀態(tài)寄存器 f
42、ifo/傳感器 ram 是一個(gè)雙重功能的 88 位 ram。 在鍵盤(pán)或選通方式工作時(shí),它是 fifo ram,其寫(xiě)入或讀出遵循先入先出的原則。fifo 狀態(tài)寄存器用來(lái)存放 fifo ram 的狀態(tài),如 ram 是滿(mǎn)還是空,其中存有多少數(shù)據(jù),是否操作 出錯(cuò)等。若 fifo ram 不空,例如已存有閉合鍵的鍵值,狀態(tài)邏輯將產(chǎn)生 irq=1 信號(hào),向 cpu 申請(qǐng)中斷。 在傳感器矩陣方式工作時(shí),這個(gè)存儲(chǔ)器又是傳感器存儲(chǔ)器,它存放著傳感器矩陣中的 每一個(gè)傳感器狀態(tài)。在此方式中,若檢索出傳感器的變化,irq 信號(hào)變?yōu)楦唠娖?,?cpu 申請(qǐng)中斷。 6)顯示 ram 和顯示地址寄存器 顯示 ram 用來(lái)存
43、儲(chǔ)顯示數(shù)據(jù),容量為 168 位。在顯 示過(guò)程中,存儲(chǔ)的顯示數(shù)據(jù)輪流從顯示寄存器輸出。顯示寄存器分為 a、b 兩組, outa30 和 outb30 可以單獨(dú)送數(shù),也可以組成一個(gè) 8 位的字。顯示寄存器的輸出與顯 示掃描配合,不斷從顯示 ram 中讀出顯示數(shù)據(jù),同時(shí)輪流驅(qū)動(dòng)被選中的顯示器件,以達(dá)到 多路復(fù)用的目的,使顯示器件呈現(xiàn)穩(wěn)定的顯示狀態(tài)。 顯示地址寄存器用來(lái)寄存 cpu 讀/寫(xiě)顯示 ram 的地址,它可以由命令設(shè)定,也可以設(shè)置 成在每次讀出或?qū)懭胫笞詣?dòng)遞增。 5.35.3 82798279 引腳及功能引腳及功能 8279 是具有 40 個(gè)引腳的雙列直插式封裝的芯片,其引腳及功能如圖 1-
44、10 所示。 下面介紹各引腳功能。 1)數(shù)據(jù)線(xiàn) d0d7 是雙向三態(tài)數(shù)據(jù)總線(xiàn),在接口電路中與系統(tǒng)數(shù)據(jù)總線(xiàn)相連,用以傳送 cpu 與 8279 之間的數(shù)據(jù)和命令。 2)地址線(xiàn) 0 選中 8279,當(dāng) a01 為命令字及狀態(tài)字地址。 cs a00 為片內(nèi)數(shù)據(jù)地址,故 8279 芯片占用兩個(gè)端口地址。 3)控制線(xiàn) 8279 有較多的控制線(xiàn)。 (1)clk:時(shí)鐘輸入線(xiàn) 8279 所需時(shí)鐘頻率為 100khz,該頻率通常由 8051 單片機(jī) ale 端分頻得來(lái)。ale 的頻率 為單片機(jī)系統(tǒng)主頻的 1/6,再由指令送入分頻系數(shù),從而得到 100khz 的 8279 時(shí)鐘頻率。 (2)irq:中斷請(qǐng)求輸出線(xiàn)
45、,高電平有效。 vcc rl1 rl0 cntl/stb shift sl3 sl2 sl1 sl0 outb0 outb1 outb2 outb3 outa0 outa1 outa2 outa3 bd cs a0 rl2 rl3 clk irq rl4 rl5 rl6 rl7 reset rd wr d0 d1 d2 d3 d4 d5 d6 d7 gnd 8279 irq d0d7 rd wr cs a0 reset clk rl7rl0 shift cntl/stb sl3sl10 outa30 outb30 bd 8 8 4 4 4 1 40 2 39 3 38 4 37 5 36 6
46、35 7 34 8 33 9 32 31 10 8279 30 11 29 28 12 27 13 26 14 25 15 24 16 17 23 18 22 19 20 21 cpu 接口 鍵盤(pán)數(shù)據(jù) 數(shù)據(jù)顯示 圖圖 1-10 8279 引腳及功能引腳及功能 (a)管腳配置管腳配置; (b)引腳功能引腳功能 (a) (b) (3)、:讀、寫(xiě)輸入控制線(xiàn)。 rdwr (4)sl0sl3:掃描輸出線(xiàn),用來(lái)作為掃描鍵盤(pán)和顯示的代碼輸出或直接輸出線(xiàn)。 (5)rl0rl7:回復(fù)輸入線(xiàn),它們是鍵盤(pán)或傳感器矩陣的信號(hào)輸入線(xiàn)。 (6)shift:來(lái)自外部鍵盤(pán)或傳感器矩陣的輸入信號(hào),它是 8279 鍵盤(pán)數(shù)據(jù)的次高
47、位即 d6 位的狀態(tài),該位狀態(tài)控制鍵盤(pán)上/下檔功能。在傳感器方式和選通方式中,該引腳無(wú)用。 (7)cntl/stb:控制/選通輸入線(xiàn),高電平有效。鍵盤(pán)方式時(shí),鍵盤(pán)數(shù)據(jù)最高位 (d7)的信號(hào)輸入到該引腳,以擴(kuò)充鍵功能;選通方式時(shí),當(dāng)該引腳信號(hào)上升沿到時(shí),把 rl0rl7 的數(shù)據(jù)存入 fifo ram 中。 (8)outa0outa3:通常作為顯示信號(hào)的高 4 位輸出線(xiàn)。 (9)outb0outb3:通常作為顯示信號(hào)的低 4 位輸出線(xiàn)。 (10):顯示熄滅輸出線(xiàn),低電平有效。當(dāng)0 時(shí)將顯示全熄滅。 bdbd 5.45.4 82798279 的工作方式及的工作方式及命令字格式命令字格式 一、8279
48、 的工作方式 8279 有三種工作方式:鍵盤(pán)方式、顯示方式和傳感器方式。 1)鍵盤(pán)工作方式 8279 在鍵盤(pán)方式工作時(shí)可設(shè)置為雙鍵互鎖方式和 n 鍵巡回方式。 雙鍵互鎖方式:若有兩個(gè)或多個(gè)鍵同時(shí)按下時(shí),不管按鍵先后順序如何,只能識(shí)別最 后一個(gè)被釋放的鍵,并把該鍵值送入 fifo ram 中。 n 鍵巡回方式:一次按下任意個(gè)鍵均可被識(shí)別,以按鍵被掃描順序把鍵值存入 fifo ram 中。 2)顯示方式 8279 的顯示方式又可分為左端入口和右端入口方式。 顯示數(shù)據(jù)只要寫(xiě)入顯示 ram 則可由顯示器顯示出來(lái),因此顯示數(shù)據(jù)寫(xiě)入 ram 的順序, 決定了顯示的次序。 左端入口方式即顯示位置從顯示器最左
49、端 1 位(最高位)開(kāi)始,以后顯示的字符逐個(gè) 向右順序排列。 右端入口方式即顯示位置從顯示器最右端 1 位(最低位)開(kāi)始,以后顯示的字符逐個(gè) 向左順序排列。 3)傳感器方式 傳感器方式是把傳感器的開(kāi)關(guān)狀態(tài)送入傳感器 ram 中。當(dāng) cpu 對(duì)傳感器矩陣掃描時(shí), 一旦發(fā)現(xiàn)傳感器狀態(tài)發(fā)生變化就發(fā)出中斷請(qǐng)求(irq 置“1” ) ,中斷響應(yīng)后轉(zhuǎn)入中斷處理程 序。 二、8279 的命令字及其格式 8279 的各種工作方式都要通過(guò)對(duì)命令寄存器的設(shè)置來(lái)實(shí)現(xiàn)。8279 共有 8 種命令,通過(guò) 這些命令設(shè)置工作寄存器,來(lái)選擇各種工作方式。命令寄存器共 8 位,其格式如下: d7 d6 d5d4 d3 d2 d
50、1 d0 命令特征位(3 位) 有關(guān)命令內(nèi)容(5 位) 8279 的一條命令由兩大部分組成,一部分為命令特征,代表某一類(lèi)命令,由命令寄存 器高 3 位 d7d5 決定。d7d5 三位的狀態(tài)可組合出 8 種形式,分別對(duì)應(yīng) 8 種命令,故稱(chēng) 為命令特征位。另一部分為命令的具體內(nèi)容,由 d4d0 決定。每一種特征所代表的命令如 表 1-4 所示。 表表 1-4:1-4: 82798279 命令特征表命令特征表 d7 d6 d5代表的命令種類(lèi) 0 0 0鍵盤(pán)/顯示命令 0 0 1時(shí)鐘編程命令 0 1 0讀 fifo/傳感器 ram 命令 0 1 1讀顯示器 ram 命令 1 0 0寫(xiě)顯示命令 1 0
51、1顯示禁止/熄滅命令 1 1 0消除命令 1 1 1結(jié)束中斷/出錯(cuò)方式設(shè)置命令 下面詳細(xì)說(shuō)明各種命令中,d4d0 各位的設(shè)置方法,以便確定各種命令字。 1)鍵盤(pán)/顯示命令 特征位 d7d5000 d4,d3 兩位用來(lái)設(shè)定 4 種顯示方式,d2d0 三位用以設(shè)定 8 種鍵盤(pán)/顯示掃描方式, 分別如表 1-5 和表 1-6 所示。 由于顯示是硬件掃描顯示,因此顯示方式種規(guī)定了掃描顯示的位數(shù)(8 位、16 位)和 第 1 個(gè)顯示的字符位置(最左端或最右端) 。 表表 1-5:1-5: 顯示方式顯示方式 d4 d3顯示方式 0 08 個(gè)字符顯示,左端入口方式 0 116 個(gè)字符顯示,左端入口方式 1
52、08 個(gè)字符顯示,右端入口方式 1 116 個(gè)字符顯示,右端入口方式 表表 1-6:1-6: 鍵盤(pán)鍵盤(pán)/ /顯示掃描方式顯示掃描方式 d2 d1 d0鍵盤(pán)/顯示掃描方式 0 0 0編碼掃描鍵盤(pán),雙鍵鎖定 0 0 1譯碼掃描鍵盤(pán),雙鍵鎖定 0 1 0編碼掃描鍵盤(pán),n 鍵輪回 0 1 1譯碼掃描鍵盤(pán),n 鍵輪回 1 0 0編碼掃描傳感器矩陣 1 0 1譯碼掃描傳感器矩陣 1 1 0選通輸入,編碼顯示掃描 1 1 1選通輸入,譯碼顯示掃描 表 1-6 中所謂編碼掃描指掃描代碼直接由掃描線(xiàn) sl0sl3 輸出,每次只有 1 位是低電 平(4 選 1) 。 所謂譯碼掃描,掃描代碼經(jīng) sl0sl3 外接譯
53、碼器輸出。由于鍵盤(pán)最大 8864 個(gè)鍵, 由 sl0sl2 接 38 譯碼器,譯碼器的 8 位輸出作為鍵盤(pán)掃描輸出線(xiàn)(列線(xiàn)) ,rl0rl7 為輸入線(xiàn)(行線(xiàn)) 。8279 最多驅(qū)動(dòng) 16 位顯示器,故可由 sl0sl3 接一個(gè) 416 譯碼器, 譯碼器 16 位輸出為顯示掃描輸出線(xiàn)(16 選 1) ,決定第幾位顯示。顯示字段碼由 outa0outa3 和 outb0outb3 輸出。 以上表 1-4、表 1-5、表 1-6 三個(gè)表相互組合可得到各種鍵盤(pán)/顯示命令。 2)時(shí)鐘編程命令 一般單片機(jī)的 ale 端接 8279 的 clk 端,但 ale 端輸出的脈沖是主機(jī)頻率的 1/6,而 8279
54、 工作只需 100khz 的時(shí)鐘脈沖,利用分頻系數(shù)可把 clk 端輸入脈沖再分頻以達(dá)到產(chǎn)生 100khz 脈沖之目的。分頻系數(shù)是由時(shí)鐘編程命令輸入。 由表 1-4 可見(jiàn)時(shí)鐘編程命令特征位 d7d5001。 d4d0 用來(lái)設(shè)定分頻系數(shù)。 3)讀 fifo/傳感器 ram 命令 特征位 d7d5010。d2d0 為 8279 中 fifo 及傳感器 ram 的首地址。d3 無(wú)用。d4 控 制 ram 地址自動(dòng)加 1 位:d41 時(shí) cpu 讀完一個(gè)數(shù)據(jù),ram 地址自動(dòng)加 1,準(zhǔn)備讀下一個(gè)單 元數(shù)據(jù);d40 時(shí) cpu 讀完一個(gè)數(shù)據(jù)后,地址不變。 4)讀顯示 ram 命令 此命令用來(lái)讀顯示器 ra
55、m,其格式如下: 特征位 d7d5011。d41ram 地址自動(dòng)加 1,d40 不加 1。d3d0 為顯示 ram 中的 地址。 5)寫(xiě)顯示 ram 命令 特征位 d7d5100。d4 是地址自動(dòng)加 1 控制,d41 地址自動(dòng)加 1,d40 地址不加 1。d3d0 是欲寫(xiě)入的 ram 地址,若連續(xù)寫(xiě)入則表示 ram 首地址。命令格式同讀顯示 ram。 6)顯示器禁止寫(xiě)入/熄滅命令 特征位 d7d5101。d4 為無(wú)用位,可設(shè)為“1”或“0” 。d3 為禁止 a 組顯示 ram 寫(xiě) 入,d31 禁止。d2 為禁止 b 組顯示 ram 寫(xiě)入,d21 禁止。d1 為 a 組顯示熄滅控制, d11 時(shí)
56、熄滅,d10 恢復(fù)顯示。d0 為 b 組顯示熄滅控制,d01 時(shí)熄滅,d00 恢復(fù)顯示。 利用該命令可以控制 a、b 兩組顯示器,哪組繼續(xù)顯示,哪組被熄滅。 7)清除命令 此命令用以清除顯示 ram 和 fifo 中的內(nèi)容。 特征位 d7d5110。d0 為總清除特征位,d01 把顯示 ram 和 fifo 全可清除。d1=1 清除 fifo 狀態(tài),使中斷輸出線(xiàn)復(fù)位,傳感器 ram 的讀出地址清 0。d4d2 設(shè)定清除顯示 ram 的方式,如表 1-7 所示。 表表 1-7:1-7: 清除顯示清除顯示 ramram 方式方式 d4d3 d2消除方式 0 將全部顯示 ram 清為 0 1 0將顯
57、示 ram 置為 20h(a 組0010 b 組0000)1 1 1將顯示 ram 置為 ffh 0d00 不清除 d11 仍按上述方式清除 8)結(jié)束中斷/出錯(cuò)方式設(shè)置命令 特征位 d7d5111。 d41 時(shí)(其 d3d0 位任意)有兩種不同作用。 (1)在傳感器方式,用此命令結(jié)束傳感器 ram 的中斷請(qǐng)求。 因?yàn)樵趥鞲衅鞴ぷ鞣绞綍r(shí),每當(dāng)傳感器狀態(tài)發(fā)生變化,掃描電路自動(dòng)將傳感器狀態(tài)寫(xiě) 入傳感器 ram,同時(shí)發(fā)出中斷申請(qǐng)即將 irq 置高電平,并禁止再寫(xiě)入傳感器 ram。中斷響應(yīng) 后,從傳感器 ram 讀走數(shù)據(jù)進(jìn)行中斷處理,但中斷標(biāo)志 irq 的撤除分兩種情況。若讀 ram 地址自動(dòng)加 1 標(biāo)
58、志位為“0” ,中斷響應(yīng)后 irq 自動(dòng)變低,撤銷(xiāo)中斷申請(qǐng);若讀 ram 地址自 動(dòng)加 1 標(biāo)志位為“1” ,中斷響應(yīng)后 irq 不能自動(dòng)變低,必須通過(guò)結(jié)束中斷命令來(lái)撤銷(xiāo)中斷 請(qǐng)求。 (2)在設(shè)定為鍵盤(pán)掃描 n 鍵輪回方式時(shí)作為特定錯(cuò)誤方式設(shè)置命令。 在鍵盤(pán)掃描 n 鍵輪回工作方式,又給 8279 寫(xiě)入結(jié)束中斷/錯(cuò)誤方式命令,則 8279 將以 一種特定的錯(cuò)誤方式工作,即在 8279 消顫周期內(nèi),如果發(fā)現(xiàn)多個(gè)按鍵同時(shí)按下,則將 fifo 狀態(tài)字中錯(cuò)誤特征位置“1” ,并發(fā)出中斷請(qǐng)求阻止寫(xiě)入 fifo ram。 根據(jù)上述 8 種命令可以確定 8279 的工作方式。在 8279 初始化時(shí)把各種命令
59、送入命令 地址口,根據(jù)其特征位可以把命令存入相應(yīng)的命令寄存器,執(zhí)行程序時(shí) 8279 能自動(dòng)尋址相 應(yīng)的命令寄存器。 三、8279 的狀態(tài)字及其格式 狀態(tài)字顯示出 8279 的工作狀態(tài)。狀態(tài)字和 8 種命令字共用 1 個(gè)地址口。當(dāng) a01 時(shí), 從 8279 命令/狀態(tài)口地址讀出的是狀態(tài)字。狀態(tài)字格式如表 1-8 所示: 表表 1-81-8 狀態(tài)字格式狀態(tài)字格式 d7d71 表示顯示無(wú)效,此時(shí)不能對(duì)顯示 ram 寫(xiě)入 d6d61 表示至少有 1 個(gè)鍵閉合;在特殊錯(cuò)誤方式時(shí)有多鍵同時(shí)按下錯(cuò)誤 d5d51 表示 fiforam 已滿(mǎn),再輸入 1 個(gè)字則溢出 d4d41 表示 fifo 中已空,無(wú)數(shù)據(jù)
60、可讀 d3d31 表示 fiforam 中數(shù)據(jù)已滿(mǎn) d2d0fifo ram 中數(shù)據(jù)個(gè)數(shù) 狀態(tài)字主要用于鍵盤(pán)和選通工作方式,以指示 fiforam 中的字符數(shù)及有無(wú)錯(cuò)誤發(fā)生。 四、8279 數(shù)據(jù)輸入輸出格式 對(duì) 8279 輸入/輸出數(shù)據(jù)不僅要先確定數(shù)據(jù)地址口,而且數(shù)據(jù)存放也要按一定格式,其 格式在鍵盤(pán)和傳感器方式有所不同。 1) 鍵盤(pán)掃描方式數(shù)據(jù)輸入格式 鍵盤(pán)的行號(hào)、列號(hào)及控制鍵位置如表 1-9 所示: 表表 1-9:1-9: 鍵盤(pán)的行號(hào)、列號(hào)及控制鍵位置鍵盤(pán)的行號(hào)、列號(hào)及控制鍵位置 d7控制鍵 cntl 狀態(tài) d6控制鍵 shift 狀態(tài) d5d3被按鍵所在列號(hào)(由 sl0sl2 狀態(tài)確定)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物實(shí)驗(yàn)攪拌機(jī)租賃合同
- 質(zhì)量監(jiān)控管理制度的秘訣
- 電商運(yùn)營(yíng)兼職人員錄用合同
- 海上石油鉆探海域租賃合同
- 安防監(jiān)控勞務(wù)施工協(xié)議
- 幼兒園內(nèi)環(huán)?;顒?dòng)協(xié)議
- 聲學(xué)隔音涂料施工合同
- 網(wǎng)絡(luò)代理合同范本
- 設(shè)備拆除合同范本
- 證券投資木門(mén)安裝協(xié)議
- 淺談校園影視在學(xué)校教育中的作用
- 無(wú)公害農(nóng)產(chǎn)品查詢(xún)
- 試劑、試藥、試液的管理規(guī)程
- 研究生課程應(yīng)用電化學(xué)(課堂PPT)
- 通信綜合網(wǎng)管技術(shù)規(guī)格書(shū)doc
- 六宮數(shù)獨(dú)可直接打印共192題
- 班會(huì):如何克服浮躁心理PPT優(yōu)秀課件
- 四宗宗義比較略記
- Monsters歌詞下載,Monsters原唱歌詞中文翻譯,Monsters簡(jiǎn)譜KatieSky
- 全國(guó)各地區(qū)代碼
- 氣動(dòng)系統(tǒng)內(nèi)部結(jié)露的機(jī)理研究
評(píng)論
0/150
提交評(píng)論