微機(jī)原理及應(yīng)用課程設(shè)計(jì)說(shuō)明書(shū)基于8501的過(guò)負(fù)荷控制系統(tǒng)_第1頁(yè)
微機(jī)原理及應(yīng)用課程設(shè)計(jì)說(shuō)明書(shū)基于8501的過(guò)負(fù)荷控制系統(tǒng)_第2頁(yè)
微機(jī)原理及應(yīng)用課程設(shè)計(jì)說(shuō)明書(shū)基于8501的過(guò)負(fù)荷控制系統(tǒng)_第3頁(yè)
微機(jī)原理及應(yīng)用課程設(shè)計(jì)說(shuō)明書(shū)基于8501的過(guò)負(fù)荷控制系統(tǒng)_第4頁(yè)
微機(jī)原理及應(yīng)用課程設(shè)計(jì)說(shuō)明書(shū)基于8501的過(guò)負(fù)荷控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

1、課程設(shè)計(jì)報(bào)告( 2010 - 2011年度第1學(xué)期)名 稱(chēng): 微機(jī)原理及應(yīng)用課程設(shè)計(jì) 題 目: 基于8501的過(guò)負(fù)荷控制系統(tǒng) 院 系: 電力工程系 班 級(jí): 農(nóng)電0701 學(xué)生姓名: 指導(dǎo)教師: 設(shè)計(jì)周數(shù): 兩周 成 績(jī): 日期: 2010年12月24日目錄目錄2基于8051的過(guò)負(fù)荷控制系統(tǒng)3設(shè)計(jì)任務(wù)31硬件電路設(shè)計(jì)31.2 電壓形成31.2.1互感器31.2.2電流變換器31.2.3低通濾波31.3.a/d轉(zhuǎn)換31.3.1模擬多路開(kāi)關(guān)31.3.2采樣保持電路31.3.3逐次比較式模數(shù)轉(zhuǎn)換器件ad574a31.4.單片機(jī)8501的最小系統(tǒng)31.4.1單片機(jī)8051簡(jiǎn)介31.4.2振蕩和復(fù)位電路

2、31.5出口和報(bào)警電路31.6顯示和鍵盤(pán)31.6.1芯片mc144931.6.2鍵盤(pán)31.6.3鍵盤(pán)和顯示電路31.7 eeprom擴(kuò)展32軟件設(shè)計(jì)32.1 a/d轉(zhuǎn)換子程序32.2顯示子程序32.3 報(bào)警和出口子程序33總結(jié)3參考文獻(xiàn)3基于8051的過(guò)負(fù)荷控制系統(tǒng)設(shè)計(jì)任務(wù)用一個(gè)mcs-51系列單片機(jī)8051實(shí)現(xiàn)對(duì)負(fù)荷電流的實(shí)時(shí)監(jiān)示。當(dāng)電流超過(guò)一定值時(shí),系統(tǒng)自動(dòng)的發(fā)告警信號(hào),即通知管理人員發(fā)生了過(guò)載。如果電流值在10秒內(nèi)還沒(méi)有返回,就自動(dòng)出口切斷負(fù)荷,以保護(hù)設(shè)備不受電流熱效應(yīng)的危害。 基于8051的過(guò)負(fù)荷控制系統(tǒng)是一個(gè)微型計(jì)算機(jī)系統(tǒng),所以應(yīng)該包含軟件系統(tǒng)和硬件系統(tǒng)。1硬件電路設(shè)計(jì) 硬件系統(tǒng)中又

3、分為:電壓形成,模數(shù)轉(zhuǎn)換,微機(jī)最小系統(tǒng),鍵盤(pán)與顯示,告警及出口,和eeprom擴(kuò)充。如圖(1)所示。下面就分別予以說(shuō)明。圖(1)功能流程圖1.2 電壓形成由于單片機(jī)不能處理電流信號(hào),所以要把大的電流量先通過(guò)互感器轉(zhuǎn)化為小電流信號(hào),然后再把電流量轉(zhuǎn)化成適合單片機(jī)處理的電壓信號(hào)。電壓形成回路包括互感器,電流變換器和低通濾波。 1.2.1互感器選lmk1-0.5低壓電流互感器。 1.2.2電流變換器電流互感器二次電流數(shù)值對(duì)微機(jī)電路不適用,需要電流變換器將電流值變?yōu)榉翟?v以?xún)?nèi)的電壓值,電流變換器的優(yōu)點(diǎn)是只要鐵芯不飽和,則其二次電流及并聯(lián)電阻上的二次電壓的波形可基本保持與一次側(cè)電流波形相同且同相,即

4、它的傳變可使原信息不失真。電流變換器的缺點(diǎn)是,在非周期分量的作用下容易飽和,線性度差,動(dòng)態(tài)范圍也較小。如圖(2)所示,z是低通濾波及a/d輸入端等回路構(gòu)成的綜合阻抗,rlh為電流變換器二次側(cè)并聯(lián)電阻,其值遠(yuǎn)小于z。因此,可得u2=rlhi2=rlhi1nlh,設(shè)計(jì)時(shí)使圖(2)電流變換器1.2.3低通濾波在實(shí)際電力系統(tǒng)中運(yùn)行時(shí),電流中可能會(huì)產(chǎn)生高次諧波分量。由乃奎斯特采樣定理知道,(fs為采樣頻率,f為信號(hào)頻率)才不會(huì)發(fā)生頻譜混疊。信號(hào)頻率越高,對(duì)硬件的要求越高。再者過(guò)高的諧波含量會(huì)多cpu的工作造成干擾,影響測(cè)量結(jié)果的準(zhǔn)確性,而且會(huì)造成裝置的誤動(dòng)作。所以要采取模擬低通濾波,把高次諧波從信號(hào)中濾

5、除,只保留多我們有用的工頻分量。實(shí)際上電流互感器對(duì)高頻分量已經(jīng)有了相當(dāng)大的抑制作用,因此不必對(duì)抗頻譜混疊的模擬低通濾波器提出很?chē)?yán)格的要求,如不一定要求有很陡的過(guò)渡帶,也不一定要求阻帶要有很理想的衰耗特性。最簡(jiǎn)單的模擬低通濾波器如圖(3)所示:其中一種設(shè)計(jì)為:r=1k,c=0.1uf。圖(3)低通濾波器1.3.a/d轉(zhuǎn)換將模擬量轉(zhuǎn)化為數(shù)字量,該部分包括模擬多路開(kāi)關(guān),采樣保持和模數(shù)轉(zhuǎn)化。1.3.1模擬多路開(kāi)關(guān)a/d器件的轉(zhuǎn)換速率是很快的,往往一個(gè)a/d芯片可以承擔(dān)若干路的模數(shù)轉(zhuǎn)化工作。但在同一時(shí)刻,一個(gè)a/d卻只能轉(zhuǎn)換一路模擬量。所以就要用一個(gè)模擬多路開(kāi)關(guān),分不同的時(shí)刻將模擬量送到a/d中,供模數(shù)

6、轉(zhuǎn)化,實(shí)現(xiàn)分時(shí)轉(zhuǎn)化各路模擬量的目的。圖(4)ad5701管腳圖ad7501是8路選通一路的模擬多路開(kāi)關(guān)集成器件,如圖(4)所示。三路電壓量分別輸入到ad7501的s0,s1,s2的三個(gè)端口。有三根地址線(a0,a1,a2)選擇將信號(hào)輸送到out,給采樣保持器。由于ad7501是八路選通一路,但所用到的信號(hào)只有3路,所以把a(bǔ)2接地。讓單片機(jī)的p1.0,p1.1輸出信號(hào)來(lái)控制芯片工作。工作過(guò)程如下表所示:a2a1a0en導(dǎo)通0001s10011s20101s3表(1)ad7501工作真值表1.3.2采樣保持電路采樣保持電路又稱(chēng)s/h電路,其作用是在一個(gè)極短的時(shí)間內(nèi)測(cè)量模擬輸入量在該時(shí)刻的瞬時(shí)值,并

7、在模擬-數(shù)字轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換的期間內(nèi)保持其輸出不變。對(duì)采樣保持電路的要求高質(zhì)量的采樣保持電路應(yīng)滿足以下幾點(diǎn):(1) ch上的電壓按一定的精度(如誤差小于0.1%)跟蹤上usr所需要的最小采樣寬度tc(或稱(chēng)為截獲時(shí)間),對(duì)快速變化的信號(hào)采樣時(shí),要求tc盡量短,以便可以用很窄的采樣脈沖,這樣才能更準(zhǔn)確的反映某一時(shí)刻的usr值。(2) 保持時(shí)間要長(zhǎng)。通常用下降率來(lái)表示保持能力。(3) 模擬開(kāi)關(guān)的動(dòng)作延時(shí)、閉合電阻和開(kāi)斷時(shí)的漏電流要小。上述(1)和(2)兩個(gè)指標(biāo)一方面決定所用阻抗變換器的質(zhì)量,另一方面也和電容器ch的容量有關(guān)。就截獲時(shí)間來(lái)說(shuō),希望ch越小越好,但必須遠(yuǎn)大于雜散電容;就保持時(shí)間來(lái)說(shuō),ch大

8、一些更有利。因此設(shè)計(jì)者應(yīng)根據(jù)使用場(chǎng)合的特點(diǎn),在二者之間權(quán)衡后,選擇合適的ch值,同時(shí),要求選擇漏電流小的電容器ch。ch不宜用太小的值,因?yàn)楸3帜芰﹄Sch下降而下降。選擇方案是取ch=0.01完全可以忽略,而達(dá)到0.1%的采樣跟蹤精度所需的最小截獲時(shí)間約為20s,僅相當(dāng)于工頻電氣角度的0.36度,這是完全允許的。如圖(5)為lf398采樣保持電路。圖(5)采樣保持電路lf398采樣脈沖s/h由單片機(jī)的p1.3口提供。s/h=1時(shí)采樣,s/h=0時(shí)保持。rp用于調(diào)節(jié)零漂。1.3.3逐次比較式模數(shù)轉(zhuǎn)換器件ad574a1.3.3.1逐次逼近法模數(shù)轉(zhuǎn)換器的基本原理和過(guò)程原理:逐位比較式a/d轉(zhuǎn)換是把待

9、轉(zhuǎn)換的直流模擬電壓與一組呈二進(jìn)制關(guān)系的標(biāo)準(zhǔn)電壓一位一位由高至低逐位進(jìn)行比較,決定每位是去碼(為0)還是留碼(為1),從而實(shí)現(xiàn)模擬電壓到二進(jìn)制數(shù)碼的轉(zhuǎn)換。一般由邏輯控制與定時(shí)電路、電壓比較器、逐次逼近邏輯寄存器sar、d/a轉(zhuǎn)換電路和三態(tài)輸出數(shù)據(jù)鎖存器等組成。過(guò)程:1)首先啟動(dòng)轉(zhuǎn)換器開(kāi)始工作,寄存器全部清零,uo輸出為0。2)定時(shí)電路控制逐位比較的節(jié)拍,由高到低逐位比較。第一位的比較:置d1=“1”,這時(shí)d/a轉(zhuǎn)換電路輸出uo=ur2-1,電壓比較器比較輸入電壓ui與uo的大小。若uiuo,則作留碼處理,保留d1=“1”,否則作去碼處理,使d1=“0”;第二位比較:置d2=“1”,這時(shí)d/a轉(zhuǎn)換

10、電路輸出uo=d1ur2-1+ur2-2,電壓比較器比較輸入電壓ui與uo的大小,根據(jù)比較結(jié)果決定d2是去碼還是留碼。以此類(lèi)推直到第n位比較結(jié)束。3)輸出轉(zhuǎn)換結(jié)束信號(hào)sts,輸出有效的n位二進(jìn)制數(shù)據(jù)。1.3.3.2 逐次比較式a/dad574a是12位逐次逼近型ad轉(zhuǎn)換器。它具有三態(tài)緩沖器輸出電路,可直接與單片機(jī)接口;片內(nèi)集成有時(shí)鐘電路,無(wú)需外接時(shí)鐘;典型的轉(zhuǎn)換時(shí)間可達(dá)25s;有10v和20v兩檔模擬量電壓輸入端,既可以單極性輸入,也可以雙極性輸入。表(2)是ad574a與8051的接口電路。cecsr/c12/8a0工作狀態(tài)0xxxx禁止x1xxx禁止100x0啟動(dòng)12位轉(zhuǎn)換100x1啟動(dòng)8

11、位轉(zhuǎn)換101接1腳(+5v)x12位并行輸出有效101接15腳(0v)0高8位輸出有效101接15腳(0v)1低4位輸出有效表(2)ad574邏輯控制真值表分析上表可以得出:當(dāng)ce=1, cs=0同時(shí)滿足時(shí),ad574a才處于工作狀態(tài)。當(dāng)其處于工作狀態(tài)時(shí), r/c=0啟動(dòng)轉(zhuǎn)換, r/c=1進(jìn)行數(shù)據(jù)的讀寫(xiě)輸出。12/8和a0用來(lái)控制轉(zhuǎn)換字長(zhǎng)和數(shù)據(jù)格式, a0=0啟動(dòng)完整的12位轉(zhuǎn)換, a0=1啟動(dòng)完整的8位轉(zhuǎn)換。當(dāng)ad574a處于讀數(shù)據(jù)狀態(tài)時(shí)(r/c=1), a0與12/8控制數(shù)據(jù)輸出的格式12/8=1,對(duì)應(yīng)12位并行輸出。12/8=0則對(duì)應(yīng)8位雙字節(jié)輸出。a0=0.,高八位輸出, a0=1對(duì)應(yīng)

12、低四位輸出。refin:內(nèi)部解碼網(wǎng)絡(luò)所需要的參考輸入電壓;refout:內(nèi)部參考電壓輸出線;bipoff:補(bǔ)償調(diào)整線。在refin和refout加一個(gè)100的電位器,用來(lái)調(diào)整各量程的增益。bipoff用于在模擬量輸入為0的時(shí)候,把a(bǔ)dc輸出的數(shù)字量調(diào)整到0,即單極性輸入時(shí)bipoff電平應(yīng)在0附近。在雙極性附近時(shí),bipoff應(yīng)在10v附近。如圖(6)所示為ad574a與單片機(jī)8501的接口電路。ce為使能端,且必須為高電平才能啟動(dòng)ad574a,所以講它通過(guò)與非門(mén)與8051的讀寫(xiě)控制端子接在一起,只有8051允許讀寫(xiě)時(shí),才啟動(dòng)ad574a。sts是ad574a的工作狀態(tài)指示端。sts=1表示轉(zhuǎn)

13、換器處于轉(zhuǎn)換狀態(tài),sts返回低電平時(shí),表示a/d轉(zhuǎn)換完畢。在設(shè)計(jì)中,我們讓8051查詢(xún)?cè)摱说臓顟B(tài)來(lái)了解ad574a的工作狀態(tài)。ad574a的工作過(guò)程如下:當(dāng)ce為高電平,為低電平時(shí),ad574a啟動(dòng)轉(zhuǎn)換,此時(shí)相應(yīng)的sts=1。此時(shí)8051通過(guò)讀p3.2的狀態(tài)得知ad574a處于轉(zhuǎn)換狀態(tài),就等待其轉(zhuǎn)換結(jié)束。當(dāng)ad574a轉(zhuǎn)換結(jié)束后,ad574a使sts=0,8051查詢(xún)到這一信息后開(kāi)始從輸入p0口讀入數(shù)據(jù)。由于12/8=0,所以數(shù)據(jù)要分兩次讀進(jìn)8051,由于p0口沒(méi)有數(shù)據(jù)a0=0,首先高八位讀入8051。此時(shí)p0口的數(shù)據(jù)狀態(tài)被74ls273保持住,a0=1,再?gòu)膒0口讀入低四位數(shù)據(jù)。完成以后,使

14、74ls373輸出口復(fù)歸,重新使a0=0,cs以便啟動(dòng)下一次轉(zhuǎn)換。圖(6)ad574a與8051的接口電路。1.4.單片機(jī)8501的最小系統(tǒng)1.4.1單片機(jī)8051簡(jiǎn)介一個(gè)8位中央處理器;片內(nèi)震蕩器和時(shí)鐘電路;4k的rom;256字節(jié)的數(shù)據(jù)存儲(chǔ)器;32條i/o線;2個(gè)或者3個(gè)定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí);全雙工串行口。1.4.2振蕩和復(fù)位電路振蕩晶體選6mhz(可在1.2mhz12mhz之間選選),電容值可在20pf100pf之間選擇,電容值對(duì)振蕩電路的輸出頻率的大小,穩(wěn)定性和起振速度有少許影響,但在60pf70pf時(shí)具有較高的穩(wěn)定性。復(fù)位電路中電容c的作用是去耦,消除串入復(fù)位端

15、的干擾。該電路為手動(dòng)復(fù)位電路,當(dāng),8051出現(xiàn)死機(jī)后按復(fù)位鍵8051復(fù)位。eavpp接高電平+5v表示8051從內(nèi)部讀取程序和數(shù)據(jù)。如果地址超出了片內(nèi)的存儲(chǔ)器地址時(shí),單片機(jī)自動(dòng)轉(zhuǎn)到外部程序存儲(chǔ)器。圖(7)8501的最小系統(tǒng)電路1.5出口和報(bào)警電路當(dāng)系統(tǒng)判定電流超過(guò)了允許值時(shí)就要啟動(dòng)報(bào)警,如果電流在規(guī)定的時(shí)間內(nèi)還沒(méi)有返回,系統(tǒng)就要出口跳閘。當(dāng)系統(tǒng)中判定電流超過(guò)定值時(shí),就使p1.3置低電平,那么+5v的電源通過(guò)510的上拉電阻使報(bào)警回路接通,發(fā)光二極管和揚(yáng)聲器得電后發(fā)出告警信號(hào),以通知管人員。當(dāng)電流超過(guò)定值一個(gè)規(guī)定的時(shí)間后電流仍未復(fù)歸,這時(shí)使p1.2置低電平,那么此時(shí)+5v的電源通過(guò)510的下拉電

16、阻使發(fā)光二極管導(dǎo)通發(fā)光,驅(qū)動(dòng)光敏三極管導(dǎo)通線圈k1得電,輔助觸點(diǎn)k1閉合,斷路器的跳閘線圈接通,驅(qū)動(dòng)短路器驅(qū)動(dòng)跳閘。加一段延時(shí)的作用是:(1)過(guò)電流分為瞬時(shí)性過(guò)電流和永久性過(guò)電流,如果是永久性過(guò)電流,則需要切除負(fù)荷。如果是瞬間的過(guò)電流,對(duì)電器的危害很小可以不用理睬。(2)如果現(xiàn)場(chǎng)有管理人員,當(dāng)他得知過(guò)電流后趕緊手動(dòng)停掉了一部分電器,電流復(fù)歸了,系統(tǒng)能轉(zhuǎn)入正常檢測(cè)狀態(tài)。1.6顯示和鍵盤(pán)1.6.1芯片mc1449由于mc14499片內(nèi)具有bcd譯碼器和串行接口,所以它幾乎可以與任何單片機(jī)相連。mc14499每次可以接受20位串行數(shù)據(jù),20位串行數(shù)據(jù)提供了4位bcd碼和4位小數(shù)點(diǎn)選擇。這20位數(shù)據(jù)將

17、保存在mc14499中,可靠的驅(qū)動(dòng)4位led顯示鎖存器中的數(shù)據(jù)字符。mc14499顯示接口芯片管腳配置如圖(1)所示。片內(nèi)主要包括一個(gè)20位移位寄存器、一個(gè)鎖存器、一個(gè)多路輸出器,有多路輸出器輸出的bcd碼經(jīng)段譯碼器譯碼后換成點(diǎn)七段送至段驅(qū)動(dòng)器輸出(a、b、c、d、e、f、g)和小數(shù)點(diǎn)dp。另外,由片內(nèi)振蕩器經(jīng)過(guò)四分頻的信號(hào),經(jīng)位譯碼后提供4個(gè)位控制信號(hào),經(jīng)位驅(qū)動(dòng)器條至四位控制線(i、ii、iii、iv)。芯片的主要控制信號(hào)有:d:串行數(shù)據(jù)輸入端。a、b、c、d、e、f、g:七段顯示輸出。dp:小數(shù)點(diǎn)輸出:i、ii、iii、iv:字位選擇端。ocs:振蕩器外接電容器,外接電容使片內(nèi)振蕩器產(chǎn)生2

18、00800hz掃描信號(hào)以防led顯示器閃爍。clk:時(shí)鐘輸入端,用以提供串行接受的控制時(shí)鐘。標(biāo)準(zhǔn)時(shí)鐘頻率為250khz。 en:使能端,為0時(shí)mc14499允許接收串行數(shù)據(jù)輸入:為1時(shí),片內(nèi)的移位寄存器將數(shù)據(jù)送入到鎖存器中鎖存。圖(8)mc1449 1.6.2鍵盤(pán)當(dāng)鍵盤(pán)上有鍵按下,要逐行或逐列的掃描,以斷定是那個(gè)鍵按下了。該設(shè)計(jì)中采用掃描法,在判定有鍵按下后逐列的置低電平,同時(shí)讀入列的狀態(tài),如果出現(xiàn)該列全1的狀態(tài),那么這時(shí)0狀態(tài)的行列交點(diǎn)的鍵就是所按下的鍵。目前無(wú)論是按鍵或鍵盤(pán)都是利用機(jī)械觸點(diǎn)閉合的合斷作用。一個(gè)電壓信號(hào)經(jīng)過(guò)觸點(diǎn)的閉合和斷開(kāi)狀態(tài)時(shí)會(huì)產(chǎn)生抖動(dòng)現(xiàn)象,抖動(dòng)的時(shí)間長(zhǎng)短與機(jī)械特性有關(guān)。按

19、鍵的穩(wěn)定閉合期,由操作人員的動(dòng)作所確定,一般為十幾分之一到幾秒的時(shí)間。為了保證cpu對(duì)鍵的一次閉合,僅作一次鍵輸入處理,必須去除抖動(dòng)的影響。該設(shè)計(jì)中采用軟件去抖得方法。在檢測(cè)到有鍵按下后加一個(gè)10ms的延時(shí)程序后再確認(rèn)鍵電平是否保持在閉合狀態(tài)電平,如果保持在閉合電平,則確認(rèn)為該鍵為真正的按下?tīng)顟B(tài),從而消除了抖動(dòng)的影響。圖(9)74ls164管腳圖管腳功能說(shuō)明:如圖(9)為74ls164管腳圖當(dāng)清除端mr為低電平時(shí),輸出端(q0q7)均為低電平。 串行數(shù)據(jù)輸入端(a,b)可控制數(shù)據(jù)。當(dāng) a、b任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(cp)脈沖上升沿作用下q0 為低電平。當(dāng)a、b 有一個(gè)為高

20、電平,則另一個(gè)就允許輸入數(shù)據(jù),并在cp 上升沿作用下決定q0 的狀態(tài)。 引腳功能:cp :時(shí)鐘輸入端;mr: 同步清除輸入端(低電平有效);a,b :串行數(shù)據(jù)輸入端;q0q7: 輸出端;真值表輸入輸出mrcpabq0q1q2q3q4q5q6q7lxxxxxllllllhlxxq0q1q2q3q4q5q6q7h上升hhhq1q2q3q4q5q6q7h上升lxlq2q3q4q5q6q7h上升xllq2q3q4q5q6q7表(3)74ls164真值表1.6.3鍵盤(pán)和顯示電路下面來(lái)說(shuō)明該電路的工作狀態(tài),如圖(10)為顯示和鍵盤(pán)接口電路。鍵盤(pán)部分:正常狀態(tài)p3.4與p3.5應(yīng)該檢測(cè)到高電平,當(dāng)出現(xiàn)低電平

21、后就說(shuō)明鍵盤(pán)上有鍵按下了,此時(shí)調(diào)延時(shí)子程序,消除抖動(dòng)的影響。然后置首列掃描字,一列一列的去檢查,看在那一列出現(xiàn)了全1狀態(tài),此時(shí)便說(shuō)明該列有鍵按下。在掃描的過(guò)程中沒(méi)掃描一列就給相應(yīng)r4數(shù)據(jù)加1,到掃描結(jié)束,讀取r4中的數(shù)據(jù)就是鍵盤(pán)數(shù)字。當(dāng)p3.4檢測(cè)到低電平時(shí)r4從0開(kāi)始計(jì)數(shù),若p3.5檢測(cè)到低電平則r4從88開(kāi)始計(jì)數(shù)。為了確保單片機(jī)掃描有限次,所以就進(jìn)行鍵號(hào)初始化。顯示部分:該電路中由8051的串行數(shù)據(jù)發(fā)送端txd提供時(shí)鐘信號(hào),串行數(shù)據(jù)的接收端rxd輸出串行數(shù)據(jù),p1.4,p1.5,p1.6提供使能信號(hào)輸出端單片機(jī)的串行口工作在移位寄存器輸出方式(方式0)。圖(10)顯示和鍵盤(pán)接口電路1.7

22、eeprom擴(kuò)展為了描述方便我們僅就p1.4口上mc14499來(lái)說(shuō)明。當(dāng)p1.4為低電平時(shí),mc14499允許數(shù)據(jù)輸入,此時(shí)txd將信號(hào)的bcd碼送到mc14499中。mc14499經(jīng)過(guò)譯碼后將數(shù)據(jù)符號(hào)進(jìn)行顯示。當(dāng)p1.4上的信號(hào)變?yōu)楦唠娖綍r(shí)mc14499將顯示鎖存。用p1.4,p1.5,p1.6來(lái)選擇a,b,c三相的顯示。為了消除顯示的閃爍現(xiàn)象,加入延時(shí)程序,即過(guò)2秒鐘畫(huà)面刷新一次。數(shù)據(jù)存儲(chǔ)器eeprom的擴(kuò)展,選用2817a,它有3種工作方式,如表(4):ceoewer/b輸入/輸出狀態(tài)工作方式llh高阻輸出數(shù)據(jù)讀hxx高阻高阻未選中l(wèi)hll輸入數(shù)據(jù)字節(jié)寫(xiě)入表(4)2817真值表 是片選信

23、號(hào),與8051的p2.7相連,ce=0時(shí)選中該片,ce=1時(shí),2817a處于低功耗維持方式,此時(shí),數(shù)據(jù)總線和r/b處于高阻狀態(tài)。r/b為2817a的準(zhǔn)備好與忙狀態(tài)輸出引腳,與8051的p3.3相連,r/b=1,表示2817a處于空閑狀態(tài);r/b=0,表示 2817a正在進(jìn)行寫(xiě)入操作。在進(jìn)行字節(jié)寫(xiě)入時(shí),當(dāng)cpu發(fā)出寫(xiě)入命令后,2817a便所存地址、數(shù)據(jù)和控制信號(hào),從而啟動(dòng)一次寫(xiě)操作。在寫(xiě)入操作期間,r/b輸出低電平,此時(shí),2817a的數(shù)據(jù)總線呈高阻狀態(tài),因此,允許cpu在此期間執(zhí)行其他任務(wù)。一旦一次字節(jié)寫(xiě)入操作完畢,2817a便將r/b置為高電平,以此通知cpu可以進(jìn)行新的讀寫(xiě)操作。 oe與80

24、51的psen相連,oe=0時(shí),控制地址線a0-a10指定單元的內(nèi)容從數(shù)據(jù)線d7-d0輸出。2817a在寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)之前,自動(dòng)地對(duì)將要寫(xiě)入的單元進(jìn)行擦除,因此,無(wú)須進(jìn)行專(zhuān)門(mén)的單元內(nèi)容擦除的操作。2軟件設(shè)計(jì)2.1 a/d轉(zhuǎn)換子程序start: mov r1,#20h ;a相a/d結(jié)果的高四位存放地址 mov r0,#7ch ;a/d的口地址,a0=0,r/c=0 mov r6,#03h ;通道計(jì)數(shù)器置初值(3個(gè)通道)qd: movx r0,a ;啟動(dòng)a/dlp: jb p3.3,lp ;等待a/d轉(zhuǎn)換結(jié)束 mov r0,#7dh ;a/d高八位數(shù)據(jù)口地址,a0=0,r/c=0 movx a

25、,r0 ;讀取高8位數(shù)據(jù) mov r2,a ;暫存于r2 anl a,0f0h ;屏蔽低四位 swap a ;交換 mov r1,a ;高四位放在20h mov r0,#7fh ;低四位地址 movx a,r0 ;讀取低四位 anl a,#0fh ;屏蔽高四位 mov r3,a ;低四位暫存于r3 mov a,r2 ;取高八位 anl a,#0fh ;屏蔽高四位 swap a ;中四位數(shù)據(jù)交換到d7d4 inc r1 mov r1,a ;中4位數(shù)據(jù)放21h mov a,r3 ;取低4位數(shù)據(jù) xchd a,r1 ;a和21h的低4位交換 inc r1 ;為下一路待轉(zhuǎn)化的數(shù)據(jù)分配存儲(chǔ)地址 acal

26、l pdata ;調(diào)用數(shù)據(jù)處理程序 djnz r6,qd ;檢查三路信號(hào)是否轉(zhuǎn)化完畢 ljmp start ;如果三路轉(zhuǎn)化完畢,重新啟動(dòng)轉(zhuǎn)化2.2顯示子程序dis: mov scon,#00h ;設(shè)串行口工作于方式0 mov r0,#ddta ;a相待顯示的字節(jié)地址 mov r2,#02h ;顯示字節(jié)數(shù) clr p1.4 ;啟動(dòng)mc14499,en=0loop1: mov a, r0 ;向串行口發(fā)送一個(gè)顯示字節(jié) mov sbuf,a stp1: jnb ti,stp1 ;檢查是否將數(shù)據(jù)發(fā)送完畢 clr ti inc r0 ;指向下一個(gè)要顯示的字節(jié)djnz r2,loop1setb p1.4 ;

27、該字節(jié)顯示完成,使p1.4置1,芯片保持顯示結(jié)果mov r0,#ddta ;b相待顯示的字節(jié)地址 mov r2,#02h ;顯示字節(jié)數(shù) clr p1.5 ;啟動(dòng)mc14499,en=0loop2: mov a, r0 ;向串行口發(fā)送一個(gè)顯示字節(jié) mov sbuf,a ;stp2: jnb ti,stp2 ;檢查是否將數(shù)據(jù)發(fā)送完畢 clr ti inc r0 ;指向下一個(gè)要顯示的字節(jié)djnz r2,loop2setb p1.5 ;該字節(jié)顯示完成,使p1.5置1,芯片保持顯示結(jié)果mov r0,#ddta ;b相待顯示的字節(jié)地址 mov r2,#02h ;待顯示的字節(jié)數(shù) clr p1.6 ;啟動(dòng)mc

28、14499,en=0loop3: mov a, r0 ;向串行口發(fā)送一個(gè)顯示字節(jié) mov sbuf,a ;stp3: jnb ti,stp3 ;檢查是否將數(shù)據(jù)發(fā)送完畢 clr ti inc r0 ;指向下一個(gè)要顯示的字節(jié)djnz r2,loop3setb p1.6 ;該字節(jié)顯示完成,使p1.4置1,芯片保持顯示結(jié)果acall delay ;調(diào)用延時(shí)程序ljmp disdelay:mov r5, #10;mov r7,#250 d1: movr6,#250d2: djnzr6,d2 djnz r7,d1 ; djnz r5,d1ret 2.3 報(bào)警和出口子程序start:mov a,71h ;把a(bǔ)相一個(gè)周波的有效值

溫馨提示

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