畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液位控制器設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液位控制器設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液位控制器設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液位控制器設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液位控制器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、華北科技學(xué)院畢業(yè)設(shè)計(jì)1 緒論隨著微電子工業(yè)的迅速發(fā)展,單片機(jī)控制的智能型控制器廣泛應(yīng)用于電子產(chǎn)品中。并且目前,我國(guó)住宅小區(qū)樓房自來(lái)水供水系統(tǒng)主要采用高塔供水,即在樓頂或者另外建設(shè)的高塔上面建個(gè)蓄水池以保證用戶水壓的恒定。目前大多數(shù)的住宅小區(qū)都是采用人工加水的辦法,即當(dāng)水用完的時(shí)候,就人工開(kāi)啟水泵進(jìn)行加水,十分不便。所以這一切問(wèn)題的存在,都在呼喚一種簡(jiǎn)單經(jīng)濟(jì)的高塔水位檢測(cè)報(bào)警控制系統(tǒng)的誕生。傳統(tǒng)的控制方式存在控制精度低、能耗大的缺點(diǎn),而自動(dòng)控制系統(tǒng), 依據(jù)用水量的變化自動(dòng)調(diào)節(jié)系統(tǒng)的運(yùn)行參數(shù),保持水壓恒定以滿足用水要求, 從而提高了供水系統(tǒng)的質(zhì)量。此裝置成本低,安裝方便,靈敏性好,是節(jié)約水源,方便

2、家庭和單位控制水塔水位的理想裝置。本次設(shè)計(jì)-基于單片機(jī)的液位控制器設(shè)計(jì),利用單片機(jī)為控制核心,設(shè)計(jì)一個(gè)對(duì)供水箱水位進(jìn)行監(jiān)控的系統(tǒng)。根據(jù)監(jiān)控對(duì)象的特征,要求實(shí)時(shí)檢測(cè)水箱的液位高度,并與開(kāi)始預(yù)設(shè)定值做比較,由單片機(jī)控制固態(tài)繼電器的開(kāi)斷進(jìn)行液位的調(diào)整,最終達(dá)到液位的預(yù)設(shè)定值。檢測(cè)值若高于上限設(shè)定值時(shí),要求報(bào)警,斷開(kāi)繼電器,控制水泵停止上水;檢測(cè)值若低于下限設(shè)定值,要求報(bào)警,開(kāi)啟繼電器,控制水泵開(kāi)始上水?,F(xiàn)場(chǎng)實(shí)時(shí)顯示測(cè)量值,從而實(shí)現(xiàn)對(duì)水箱液位的監(jiān)控。液位控制器的硬件主要包括由單片機(jī)、液位傳感器、鍵盤(pán)電路、數(shù)碼顯示電路、ad轉(zhuǎn)換器、報(bào)警電路、控制水泵電路等。設(shè)計(jì)的主要內(nèi)容是:基于單片機(jī)實(shí)現(xiàn)的液位控制器是

3、以8051芯片為核心,由鍵盤(pán)、數(shù)碼管顯示、ad模數(shù)轉(zhuǎn)換、筒式電容傳感器,電源和控制部分等組成。工作過(guò)程如下:水箱(水塔)液位發(fā)生變化時(shí),即把電容變化量轉(zhuǎn)化成電壓信號(hào);該信號(hào)經(jīng)過(guò)反相比例運(yùn)算放大電路放大后變成幅度為05 v標(biāo)準(zhǔn)信號(hào),送入ad轉(zhuǎn)換器,ad轉(zhuǎn)換器把模擬信號(hào)變成數(shù)字信號(hào)量,由單片機(jī)進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,并進(jìn)行處理,根據(jù)設(shè)定要求控制輸出,同時(shí)數(shù)碼管顯示液位高度。通過(guò)鍵盤(pán)設(shè)置上限值,下限值。該系統(tǒng)控制器特點(diǎn)是直觀地顯示水位高度,可任意控制水位高度。2 本課題主要研究?jī)?nèi)容本設(shè)計(jì)是采用8051單片機(jī)為核心芯片,及其相關(guān)硬件來(lái)實(shí)現(xiàn)的水體液位控制系統(tǒng),在用液位傳感器測(cè)液位的同時(shí),cpu循環(huán)檢測(cè)傳感器輸

4、出狀態(tài),并用3位八段led顯示液位高度,檢測(cè)液位數(shù)據(jù),實(shí)施報(bào)警安全提示,當(dāng)水體液位低于用戶設(shè)定的值時(shí),系統(tǒng)自動(dòng)打開(kāi)泵上水,當(dāng)水位到達(dá)設(shè)定值時(shí),系統(tǒng)自動(dòng)關(guān)閉水泵。2.1系統(tǒng)硬件總體方案系統(tǒng)的原理是采用電容式液位傳感器對(duì)液面進(jìn)行控制,并把液位狀態(tài)通過(guò)模數(shù)轉(zhuǎn)換器adc0809傳到單片機(jī)中,再通過(guò)3位八段led顯示器顯示出液位的測(cè)量值及報(bào)警安全提示。用led顯示是因?yàn)樗哂酗@示清晰、亮度高、使用電壓低、光電轉(zhuǎn)換效能高、壽命長(zhǎng)等特點(diǎn),根據(jù)當(dāng)前的液位值和用戶設(shè)定的水位決定是否進(jìn)行開(kāi)、關(guān)水泵,需要是否開(kāi)啟和關(guān)閉驅(qū)動(dòng)閥門(mén)的電動(dòng)機(jī)。2.2設(shè)計(jì)的研究進(jìn)程本設(shè)計(jì)第3章主要介紹了核心芯片8051及adc0809轉(zhuǎn)換芯

5、片、mc14499芯片、74ls373芯片、led數(shù)碼管、x25045芯片,對(duì)他們的端口、功能與用途進(jìn)行介紹。第4章主要介紹了系統(tǒng)的硬件設(shè)計(jì),包括液位傳感器設(shè)計(jì),顯示電路設(shè)計(jì),鍵盤(pán)電路設(shè)計(jì),繼電器控制水泵加水電路,報(bào)警電路,電源電路,看門(mén)狗電路,對(duì)它們的原理、結(jié)構(gòu)和電路連接進(jìn)行了,在此我著重介紹了本設(shè)計(jì)所使用的傳感器,因?yàn)閭鞲衅鞯男阅茉谡麄€(gè)系統(tǒng)中起著非常重要的作用,尤其對(duì)檢測(cè)精確度起著重要的作用。第5章介紹了整個(gè)系統(tǒng)的軟件設(shè)計(jì)。3 主要芯片介紹3.1核心芯片8051單片機(jī)計(jì)算機(jī)芯片mcs-51是一個(gè)電腦晶片,英特爾公司生產(chǎn)系列。它是在mcs-48系列的基礎(chǔ)上發(fā)展的高性能的8位單片機(jī)。所出的系列

6、產(chǎn)品有8051、8031、8751。其代表就是8051。其他系列的單片機(jī)都以它為核心,所以本設(shè)計(jì)采用的核心芯片是8051單片機(jī)。cpu是它的核心設(shè)備,從功能上看,cpu包括兩個(gè)部分:運(yùn)算器和控制器,它執(zhí)行對(duì)輸入信號(hào)的分析和處理。整個(gè)系統(tǒng)電控部分以atmel公司的8051為核心芯片,控制信號(hào)采集、處理、輸出三個(gè)過(guò)程。這種芯片內(nèi)置4keprom,因?yàn)橄到y(tǒng)要求控制線較多,如果采用8031外置eprom程序控制結(jié)構(gòu),則造成控制線不夠;而8051卻可以利用p0、p2口作控制總線,大大簡(jiǎn)化了硬件結(jié)構(gòu),并可以直接控制鍵盤(pán)參數(shù)輸入、led數(shù)據(jù)顯示,方便現(xiàn)場(chǎng)調(diào)試和維護(hù),使整個(gè)系統(tǒng)的通用性和智能化得到了很大的提高

7、。系統(tǒng)的原理是采用電容式傳感器測(cè)量液體的液位值,通過(guò)單片機(jī)的轉(zhuǎn)換與分析在led上顯示及輸出控制;根據(jù)當(dāng)前的液位值和用戶設(shè)定的水位決定是否進(jìn)行開(kāi)關(guān)水泵,以及是否到達(dá)危險(xiǎn)高、低水位,需要關(guān)閉閥門(mén)。圖3-1 8051管腳圖上圖是8051的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)i/o口,中斷口線與p3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:pin40:正電源腳,正常工作或?qū)ζ瑑?nèi)eprom抄寫(xiě)程序時(shí),接+5v電源。pin19:時(shí)鐘xtal1腳,片內(nèi)振蕩電路的輸入端。pin18:時(shí)鐘xtal2腳,片內(nèi)振蕩電路的輸出端。8051的時(shí)鐘有兩種方式,一種是片內(nèi)

8、時(shí)鐘振蕩方式,但需在18和19腳外接石英晶體(2-12mhz)和振蕩電容,振蕩電容的值一般取10pf-30pf。另外一種是外部時(shí)鐘方式,即將xtal1接地,外部時(shí)鐘信號(hào)從xtal2腳輸入。本設(shè)計(jì)采用外部時(shí)鐘電路,外接晶振和電容組成振蕩器。輸入輸出(i/o)引腳:pin39-pin32為p0.0-p0.7輸入輸出腳,pin1-pin8為p1.0-p1.7輸入輸出腳,pin21-pin28為p2.0-p2.7輸入輸出腳,pin10-pin17為p3.0-p3.7輸入輸出腳。在對(duì)單片機(jī)設(shè)計(jì)中,p0口作為程序存儲(chǔ)器擴(kuò)展口,且是擴(kuò)展并行輸入/輸出接口的接口,另外也作為模數(shù)轉(zhuǎn)換的數(shù)據(jù)傳輸口,p2口為程序存

9、儲(chǔ)器擴(kuò)展口的高8位地址總線口,p1口為輸入/輸出口。pin9:reset/復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開(kāi)始工作,在reset引腳上出現(xiàn)2個(gè)時(shí)鐘周期以上的高平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器pc指向0000h, p0-p3輸出口全部為高電平,堆棧指針寫(xiě)入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開(kāi)始執(zhí)行程序。8051的初始態(tài)如下: 表3-1 寄存器初始狀態(tài)特殊功能寄存器初始態(tài)特殊功能寄存器初始態(tài)acc00hb00hpsw00hsp07h07h00hth000hdpl00htl000hipxxx00000bth100hie0x000

10、00btl100htmod00htcon00hsconxxxxxxxxbsbuf00hp0-p31111111bpcon0xxxxxxxb8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)圖3-2。此外,reset/vpd是一復(fù)用腳,vcc掉電期間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部ram的數(shù)據(jù)不丟失, 此設(shè)計(jì)采用自動(dòng)復(fù)位電路圖3-2 復(fù)位電路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)外部程序

11、存儲(chǔ)器,ale會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是eprom,在編程其間,prog將用于輸入編程脈沖。pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),pc的16位地址數(shù)據(jù)將出現(xiàn)在p0和p2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到p0口上,由cpu讀入并執(zhí)行。在編程時(shí),ea/vpp腳還需加上21v的編程電壓。3.2 adc0809轉(zhuǎn)換芯片3.2.1 adc0809的邏輯結(jié)構(gòu)adc0809是典型的8位8通道逐次逼近型a/d轉(zhuǎn)換器,采用cmos工藝制造。它由一個(gè)8路模擬開(kāi)關(guān)、一個(gè)地址鎖存譯碼器、一個(gè)a/d轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成(見(jiàn)圖3-4)。多路開(kāi)關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入

12、,共用a/d轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存a/d 轉(zhuǎn)換完的數(shù)字量,當(dāng)oe端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。八路模擬量開(kāi)關(guān)地址鎖存與譯碼器8路a/d轉(zhuǎn)換器三態(tài)輸出鎖存器in0in1in2in3in4in5in6in7stclkeocd0d1d2d3d4d5d6d70eabcalevref(+)vref(-) 圖 3-4 adc0809的內(nèi)部結(jié)構(gòu)3.2.2 adc0809 的通道選擇地址鎖存與譯碼電路完成對(duì)a、b、c3個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道的選擇。通道選擇如表3-2所示表3-2 adc00809的通道選擇c(addc) b(addb) a(adda)選

13、擇的通道0 0 0in00 0 1in10 1 0in21 1 1in31 0 0in41 0 1in51 1 0in61 1 1in73.2.3 adc0809的引腳圖及各引腳作用adc0809芯片為28引腳雙列直插式封裝,其引腳排列見(jiàn)圖3-5。 圖3-5 ad0809的管腳圖 in0in7:8條模擬量輸入通道。adc0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是05v,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 adda、addb、addc:模擬通道地址線。這3根地址線用于對(duì)模擬通道進(jìn)行選擇,其譯碼關(guān)系如表所示,ad

14、da為低位地址,addc為高位地址。 ale:地址鎖存信號(hào)。對(duì)應(yīng)于ale上跳沿時(shí),adda、addb、addc地址狀態(tài)送入地址鎖存器中。 start:轉(zhuǎn)換啟動(dòng)信號(hào)。在start信號(hào)上跳沿時(shí),所有內(nèi)部寄存器清0;在start下跳沿時(shí),開(kāi)始進(jìn)行a/d轉(zhuǎn)換。在a/d轉(zhuǎn)換期間,start信號(hào)應(yīng)保持低電平。該信號(hào)可簡(jiǎn)寫(xiě)為st。 d0d7:數(shù)據(jù)輸出線。該數(shù)據(jù)輸出線為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)總線直接相連。 oe:輸出允許信號(hào)。它用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換后的數(shù)據(jù)。oe=0時(shí)輸出數(shù)據(jù)線呈高阻態(tài);oe=1時(shí)輸出允許。 clk:時(shí)鐘信號(hào)。adc0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界

15、提供,通常使用頻率為500khz的時(shí)鐘信號(hào)。 eoc:轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。當(dāng)eoc=0時(shí),表示正在進(jìn)行轉(zhuǎn)換;eoc=1時(shí),表示轉(zhuǎn)換結(jié)束。實(shí)際使用中該狀態(tài)信號(hào)既可以作為查詢的狀態(tài)標(biāo)志,還可以作為中斷請(qǐng)求信號(hào)使用。 vref:參考電壓。參考電壓作為逐次逼近的基準(zhǔn),并用來(lái)與輸入的模擬信號(hào)進(jìn)行比較。其典型值為+5v(vref(+)=+5v,vref(-)=0) adc0809是帶有8位a/d轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及與微型計(jì)算機(jī)兼容的控制邏輯的cmos組件,其轉(zhuǎn)換方法為逐次逼近型。在a/d轉(zhuǎn)換器內(nèi)部含有一個(gè)高阻抗斬波穩(wěn)定比較器,以及一個(gè)逐次逼近型寄存器。8路的模擬開(kāi)關(guān)由地址鎖存器和譯碼器控制,可以在8個(gè)通

16、道中任意訪問(wèn)一個(gè)通道的模擬信號(hào)。由于多路開(kāi)關(guān)的地址輸入部分能夠進(jìn)行鎖存和譯碼,而且三態(tài)ttl輸出也可以鎖存,所以它易于與微型計(jì)算機(jī)接口。3.3 mc14499芯片3.3.1.mc14499的結(jié)構(gòu)及功能介紹串行輸入bcd碼-十進(jìn)制碼輸出的硬件譯碼驅(qū)動(dòng)器mc14499是motorola公司生產(chǎn)的一種叫新型的cmos集成塊。一片mc14499可以直接驅(qū)動(dòng)和控制四塊led八段顯示器,由于其顯示方式為動(dòng)態(tài)掃描,因此消耗功率較低,在單片機(jī)系統(tǒng)中,采用mc14499構(gòu)成的顯示器接口具有所需i/o口線占用數(shù)量少,單片控制顯示器多的特點(diǎn),因而得到較廣泛的使用。led譯碼驅(qū)動(dòng)器的管腳配置如圖3-6所示:圖3-6

17、mc14499的管腳圖片內(nèi)主要包含有一個(gè)20位移位寄存器、一個(gè)鎖存器、一個(gè)多路輸出器及譯碼驅(qū)動(dòng)器和振蕩器。移位寄存器主要保存外部串行輸入的數(shù)據(jù),鎖存器保存顯示器所需顯示的數(shù)據(jù),兩者中的數(shù)據(jù)均為bcd碼的形式,多路輸出器輸出從鎖存器中取出的bcd碼數(shù)據(jù),經(jīng)段譯碼器譯碼后,換成點(diǎn)七段碼送至段驅(qū)動(dòng)器的ag和小數(shù)點(diǎn)dp八只輸出腳上,而片內(nèi)振蕩器的振蕩信號(hào),經(jīng)四分頻及位譯碼后提供四個(gè)位控信號(hào),由位驅(qū)動(dòng)器分別送至四條位控制線(i,ii,iii,iv),以供對(duì)顯示器的輪流掃描。芯片的主要控制信號(hào)有: ag,dp:七段碼及小數(shù)點(diǎn)輸出; iiv:字位選擇輸出,用來(lái)產(chǎn)生led選通信號(hào); d: 串行數(shù)據(jù)接收端; o

18、sc:振蕩器外接電容端,外接電容使片內(nèi)振蕩產(chǎn)生200800hz掃描信號(hào),以防led顯示器閃爍; clk:時(shí)鐘輸入端,用以提供串行接收的控制時(shí)鐘信號(hào),標(biāo)準(zhǔn)時(shí)鐘頻率為250khz; :使能端,為0時(shí),mc14499允許接收串行數(shù)據(jù)輸入;為1時(shí),禁止接收串行數(shù)據(jù),并將片內(nèi)移位寄存器的數(shù)據(jù)送入鎖存器中保存。mc14499每一次可接收20位串行輸入數(shù)據(jù),在每次時(shí)鐘信號(hào)的下降沿,串行數(shù)據(jù)被送入片內(nèi)的移位寄存器。mc14499內(nèi)部接收數(shù)據(jù)的移位寄存器為20位,這20位數(shù)據(jù)可按圖4分為四組bcd碼和一組小數(shù)點(diǎn)選擇位,提供給四個(gè)led顯示器。20位數(shù)據(jù)中的前四位用于控制4個(gè)led顯示器的小數(shù)點(diǎn)是否顯示,后16位

19、是4個(gè)led顯示器的bcd碼輸入數(shù)據(jù),bcd碼與顯示器顯示字符的相應(yīng)關(guān)系如表3-3所示,若顯示器采用共陰型,則各小數(shù)點(diǎn)的相應(yīng)位為“1”時(shí)小數(shù)點(diǎn)顯示,為“0”時(shí)熄滅。d1d2dnclkd圖 3-7 mc14499串行數(shù)據(jù)輸入的時(shí)序圖移位ii1iii2iv345678910111213141516編碼iv17181920編碼iii編碼ii編碼ii圖3-8一幀串行輸入數(shù)據(jù)格式表3-3 mc14499內(nèi)的bcd碼與顯示字符的關(guān)系bcd碼顯示器bcd碼顯示器00000100080001110019001021010001131011101004110011010151101011061110011171

20、111熄滅3.3.2 mc14499在單片機(jī)中的應(yīng)用由于mc14499可控制四個(gè)顯示器,顯示方式為動(dòng)態(tài)掃描,譯碼及動(dòng)態(tài)掃描由硬件管理,因此,采用led譯碼驅(qū)動(dòng)器mc14499來(lái)構(gòu)成單片應(yīng)用系統(tǒng)的顯示器接口,可以大大減少i/o口線的占用數(shù)量,減少耗電及占用cpu的時(shí)間,并使得電路較為簡(jiǎn)單。實(shí)用中,mcs-51單片機(jī)與mc14499的接口電路有并行i/o口控制和串行i/o口控制兩種方式。a. 并行i/o口控制方式此種方式可由mcs-51系列單片機(jī)的p1或p3口的三根i/o口線提供時(shí)鐘信號(hào)、串行數(shù)據(jù)和使能信號(hào)。接口電路如圖3-9所示:4708vddvssosciiiiiiivmc14499abbbc

21、defgdpclkdp1.0p1.1p1.28051+5v0.015fc圖3-9 mc14499并行i/o口控制方式與單片機(jī)的接口電路b.串行i/o口控制方式此種方式由mcs-51單片機(jī)的rxd(p3.0)提供串行輸入的bcd碼顯示數(shù)據(jù),txd(p3.1)提供時(shí)鐘信號(hào),再由p1或p3口提供一根i/o線以輸出mc14499使能端所需的信號(hào),單片機(jī)串行口的工作方式為0方式,接口電路如圖3-10所示:此時(shí)應(yīng)注意:由于mcs-51單片機(jī)從串行口輸出數(shù)據(jù)時(shí),發(fā)送順序?yàn)閺臄?shù)據(jù)低位到高位,而mc14499將bcd碼數(shù)據(jù)譯為十進(jìn)制數(shù)時(shí),卻是將原數(shù)據(jù)的低位作為高位處理的,如將某次數(shù)據(jù)的最后八位10000100b

22、(84h)送入mc14499時(shí),從低位到高位被分布于其移位寄存器的1320單元中,即最低位0在13單元,最高位1在20單元,mc14499進(jìn)行譯碼時(shí),卻是將0作為最高位,1作為最低位處理的,于是成為001000001b(21h),即段碼iii數(shù)據(jù)為0010b,顯示器顯示“2”,段碼iv數(shù)據(jù)為0001b,顯示器顯示“1”,因此,必須將欲顯示的壓縮bcd碼進(jìn)行循環(huán)位移(即將最低位移至最高位,第二位移至第七位,其余類推)后再送入mc14499,以保證顯示的正確性。4708vddvssosciiiiiiivmc14499abbbcdefgdpclkdtxdrxdp3.48051+5v0.015fc圖3

23、-10 mc14499串行i/o口控制方式與單片機(jī)的接口電路3.4 74ls373芯片74ls373是常用的地址鎖存器芯片,它是一個(gè)三態(tài)8d觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要74ls373芯片。圖3-11 74ls373 引腳圖引出端符號(hào): d0d7: 數(shù)據(jù)輸入端 oe: 三態(tài)允許控制端(低電平有效) le: 鎖存允許端 o0o7: 數(shù)據(jù)輸出端 當(dāng)三態(tài)允許控制端oe為低電平時(shí),o0o7為正常邏輯狀態(tài),可用來(lái)驅(qū)動(dòng)負(fù)載或總線。當(dāng)oe為高電平時(shí),o0o7呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。 當(dāng)鎖存允許端le為高電平時(shí),o隨數(shù)據(jù)d而變。當(dāng)le為低電

24、平時(shí),o被鎖存在已建立的數(shù)據(jù)電平。當(dāng)le 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善400mv。 圖3-12 74ls373 邏輯圖表3-4 74ls373真值表dnleonhhlhlhllxllq0xxh從以上的結(jié)構(gòu)分析我們可以看出,74ls373最基本的功能是鎖存數(shù)據(jù)。在單片機(jī)的接口中74ls373的作用是分離p0口的低8位地址和數(shù)據(jù)總線。由于mcs-51單片機(jī)的p0口是分時(shí)復(fù)用的地址/數(shù)據(jù)總線。因此在進(jìn)行i/o接口擴(kuò)展和存儲(chǔ)器擴(kuò)展時(shí),可以利用地址鎖存器將地址信號(hào)從地址/數(shù)據(jù)總線中分離出來(lái),以實(shí)現(xiàn)總線的分時(shí)復(fù)用,74ls373是最常用的鎖存器之一。3.5 led數(shù)碼管3.5

25、.1 led數(shù)碼管顯示器的結(jié)構(gòu)led顯示器是一種由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管。單片機(jī)系統(tǒng)中通常使用8段led數(shù)碼顯示器,其外形及引腳如圖3-13(a)所示,由圖可見(jiàn)8段led顯示器由8個(gè)發(fā)光二極管組成。其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,通過(guò)不同的組合可用來(lái)顯示各種數(shù)字,包括af在內(nèi)的部分英文字母和小數(shù)點(diǎn)“.”等字樣。 a 數(shù)碼管引腳排列 b led顯示器兩種不同的接法圖3-13 led 數(shù)碼管顯示器led顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起構(gòu)成共陽(yáng)極,使用時(shí)共陽(yáng)極接+5v,每個(gè)發(fā)光二極

26、管的陽(yáng)極通過(guò)電阻與輸入端相連。當(dāng)陰極端輸入低電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平時(shí)不點(diǎn)亮。這稱為共陽(yáng)極led顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起構(gòu)成共陰極,使用時(shí)共陰極接地,每個(gè)發(fā)光二極管的陰極通過(guò)電阻與輸入端相連。當(dāng)陽(yáng)極端輸入高電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平時(shí)不點(diǎn)亮。這稱為共陰極led顯示器。如圖3-13(b)所示。3.5.2 led數(shù)碼管顯示器的顯示段碼為了顯示字符,要為led顯示器提供顯示段碼(或稱字形代碼),組成一個(gè)“8”字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給led顯示器的顯示段碼為1個(gè)字節(jié)。各段碼位的對(duì)應(yīng)關(guān)系如表3-5:表3-5 段碼

27、位與顯示段的對(duì)應(yīng)關(guān)系段碼位d7d6d5d4d3d2d1d0顯示段dpgfedcba用led顯示器顯示十六進(jìn)制數(shù)和空白字符與p的顯示段碼如表3-6所示:表3-6 十六進(jìn)制數(shù)和空白字符與p的顯示段碼字型共陽(yáng)極段碼共陰極段碼字型共陽(yáng)極段碼共陰極段碼0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3b0h4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h07h空白ffh00h880h7fhp8ch73h共陰和共陽(yáng)結(jié)構(gòu)的led顯示器各筆劃段名和安排位置是相同的,當(dāng)二極管導(dǎo)通時(shí),相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃

28、段組合從而顯示各種字符。8個(gè)筆劃段dp、g、f、e、d、c、b、a對(duì)應(yīng)于1b(8位)的d7、d6、d5、d4、d3、d2、d1、d0,于是用8位二進(jìn)制碼就可以表示欲顯示字符的字形代碼。例如,對(duì)于共陰極led顯示器,當(dāng)公共陰極接地(為零電平),而陽(yáng)極dpgfedcba各段為01110011時(shí),顯示器顯示“p”字符,即對(duì)于共陰極led顯示器,“p”字符的字形碼是073。如果是共陽(yáng)極led顯示器,公共陽(yáng)極接高電平,顯示“p”字符的字形代碼應(yīng)為10001100(0x8c)。3.5.3 led顯示器的參數(shù) 由于led顯示器是以led為基礎(chǔ)的,所以它的光、電特性及極限參數(shù)意義大部分與發(fā)光二極管的相同。但由

29、于led顯示器內(nèi)含多個(gè)發(fā)光二極管,所以需有如下特殊參數(shù): 發(fā)光強(qiáng)度比 由于數(shù)碼管各段在同樣的驅(qū)動(dòng)電壓時(shí),各段正向電流不相同,所以各段發(fā)光強(qiáng)度不同。所有段的發(fā)光強(qiáng)度值中最大值與最小值之比為發(fā)光強(qiáng)度比。比值可以在1.52.3間,最大不能超過(guò)2.5。 脈沖正向電流 若筆畫(huà)顯示器每段典型正向直流工作電流為if,則在脈沖下,正向電流可以遠(yuǎn)大于if。脈沖占空比越小,脈沖正向電流可以越大。3.6 x25045x25045是8腳集成電路,它將eeprom、看門(mén)狗定時(shí)器、電壓監(jiān)控三種功能組合在單個(gè)芯片之內(nèi),大大簡(jiǎn)化了硬件設(shè)計(jì),提高了系統(tǒng)的可靠性,減少了對(duì)印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單

30、片機(jī)外圍芯片。x25045 引腳如圖3-14所示。圖3-14 x25045引腳圖其引腳功能如下: :片選擇輸入; so:串行輸出,數(shù)據(jù)由此引腳逐位輸出; si:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫(xiě)入x25045; sck:串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫(xiě)入,下降沿將數(shù)據(jù)輸出; :寫(xiě)保護(hù)輸入。當(dāng)它低電平時(shí),寫(xiě)操作被禁止; vss:地; vcc:電源電壓; reset:復(fù)位輸出。x25045在讀寫(xiě)操作之前,需要先向它發(fā)出指令,指令名及指令格式如表3-7所示表3-7 x25045的指令及其含義指令名指令格式操作wren00000110設(shè)置寫(xiě)使能鎖存器(允許寫(xiě)操作)wrdi00000100復(fù)位寫(xiě)使能

31、鎖存器(禁止寫(xiě)操作)rdsr00000101讀狀態(tài)寄存器wrsr00000001寫(xiě)狀態(tài)寄存器read0000a8011把開(kāi)始于所選地址的存儲(chǔ)器中的數(shù)據(jù)讀出write0000a8010把數(shù)據(jù)寫(xiě)入開(kāi)始于所選地址的存儲(chǔ)器4 系統(tǒng)硬件設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)原理和系統(tǒng)框圖4.1.1設(shè)計(jì)原理本設(shè)計(jì)采用筒式電容傳感器采集液位的高度。主要利用其兩電極的覆蓋面積隨被測(cè)液體液位的變化而變化,從而引起對(duì)應(yīng)電容量變化的關(guān)系進(jìn)行液位測(cè)量。由于從傳感器得出的電壓一般在030mv之間,太小不易測(cè)量,所以要通過(guò)放大電路進(jìn)行放大。從放大電路出來(lái)的是模擬量,送入adc0809轉(zhuǎn)換成數(shù)字量,adc0809連接于單片機(jī),把信號(hào)送入單片機(jī)

32、。通過(guò)單片機(jī)控制水泵的運(yùn)轉(zhuǎn)。顯示電路連接于單片機(jī)用于顯示水位的高度。該顯示接口用一片mc14499和單片機(jī)連接以驅(qū)動(dòng)數(shù)碼管。4.1.2系統(tǒng)框圖被測(cè)物理量電容式傳感器放大,整形,濾波a/d轉(zhuǎn)換器單片機(jī)控制設(shè)備顯示設(shè)備圖4-1 系統(tǒng)框圖 被測(cè)物理量:主要是指非電的物理量,在這里為水位。 電容式傳感器:將輸入的物理量轉(zhuǎn)換成相應(yīng)的電信號(hào)輸出,實(shí)現(xiàn)非電量到電量的變換。傳感器的精度直接影響到整個(gè)系統(tǒng)的性能,所以是系統(tǒng)中一個(gè)重要的部件。 放大,整形,濾波:傳感器的輸出信號(hào)一般不適合直接去轉(zhuǎn)換數(shù)字量,通常要進(jìn)行放大,濾波等環(huán)節(jié)的預(yù)處理來(lái)完成。 a/d轉(zhuǎn)換器:實(shí)現(xiàn)將模擬量轉(zhuǎn)換成數(shù)字量,常用的是并行比較型、逐次逼

33、近式、積分式等。在此用到逐次逼近式。 單片機(jī):目前的數(shù)據(jù)采集系統(tǒng)功能和性能日趨完善,因此主控部分一般都采用單片機(jī)。 顯示設(shè)備:在此用到8段數(shù)碼管。 控制設(shè)備:控制電動(dòng)機(jī)的運(yùn)行或關(guān)閉。 由上圖可觀察到傳感器通過(guò)對(duì)液面進(jìn)行測(cè)量,輸出模擬信號(hào),再通過(guò)模數(shù)轉(zhuǎn)換器把輸入的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),通過(guò)8051單片機(jī)的運(yùn)算控制,再通過(guò)led進(jìn)行顯示,通過(guò)報(bào)警裝置進(jìn)行報(bào)警,報(bào)警顯示之后再通過(guò)對(duì)閥門(mén)的開(kāi)啟實(shí)現(xiàn)對(duì)水體的液位進(jìn)行調(diào)節(jié)控制,閥門(mén)的驅(qū)動(dòng)設(shè)備是電動(dòng)機(jī)。4.2液位傳感器設(shè)計(jì)在液體液位控制系統(tǒng)中,傳感器的選擇是非常重要的,傳感器是能感受規(guī)定的被測(cè)量,并按照一定的規(guī)律轉(zhuǎn)換成可用輸出信號(hào)的器件或裝置,它通常由敏感

34、元件和轉(zhuǎn)換元件組成,它的性能直接影響到整個(gè)檢測(cè)系統(tǒng),對(duì)檢測(cè)精確度起著重要的作用。傳感器的種類很多,有溫度傳感器,加速度傳感器,光學(xué)傳感器,壓力傳感器的,本設(shè)計(jì)主要采用電容式液位傳感器進(jìn)行控制,再把檢測(cè)的電信號(hào)通過(guò)adc0809輸入到單片機(jī)進(jìn)行分析,再由led進(jìn)行顯示和鍵盤(pán)控制,實(shí)行對(duì)液位的報(bào)警。4.2.1 傳感器原理電容式液位傳感器系統(tǒng),通過(guò)傳感器測(cè)量電路將液位高度變化轉(zhuǎn)換成相應(yīng)的電壓脈沖寬度變化, 再由單片機(jī)進(jìn)行測(cè)量并轉(zhuǎn)換成相應(yīng)的液位高度進(jìn)行顯示,該系統(tǒng)對(duì)液位深度具有測(cè)量、顯示與設(shè)定功能, 并具有結(jié)構(gòu)簡(jiǎn)單、成本低廉、性能穩(wěn)定等優(yōu)點(diǎn)。4.2.2 傳感器的組成圖4-2為傳感器部分的結(jié)構(gòu)原理圖。它

35、主要是由細(xì)長(zhǎng)的不銹鋼管(半徑為r1 ) 、同軸絕緣導(dǎo)線(半徑為r0 ) 以及其被測(cè)液體共同構(gòu)成的金屬圓柱形電容器構(gòu)成。該傳感器主要利用其兩電極的覆蓋面積隨被測(cè)液體液位的變化而變化, 從而引起對(duì)應(yīng)電容量變化的關(guān)系進(jìn)行液位測(cè)量。圖4-2 傳感器原理圖4.2.3 測(cè)量原理由圖4-2 可知,當(dāng)可測(cè)量液位h=0 時(shí),傳感器處于空載狀態(tài),此時(shí)電容量為最小。不銹鋼管與同軸絕緣導(dǎo)線構(gòu)成的金屬圓柱形電容器之間存在電容,此時(shí)得到電容量為: (4-1)式中, 為電容量,單位為f;為絕對(duì)介電常數(shù)(約為8.85f/m);l 為液位最大高度; r1為不銹鋼管半徑;r0為絕緣導(dǎo)線半徑, 單位為m 。當(dāng)可測(cè)量液位為h 時(shí),

36、傳感器處于滿載狀態(tài),此時(shí)電容量為最大,即:式中, 為被測(cè)液體的相對(duì)介電常數(shù), 單位為f/m 。當(dāng)0hl時(shí),傳感器的電容量為: (4-2)因此, 當(dāng)傳感器內(nèi)液位由零增加到h 時(shí), 其電容的變化量c 可由式(4-1)和式(4-2)得 (4-3)由式可知, 參數(shù),, r1 , r0 都是定值。所以電容的變化量c 與液位變化量h 呈近似線性關(guān)系??梢?jiàn), 傳感器的電容量值 的大小與電容器浸入液體的深度h 成線性關(guān)系。由此, 只要測(cè)出電容值便能計(jì)算出水位。4.2.4 將電容轉(zhuǎn)化成電信號(hào)部分 采用運(yùn)算法測(cè)量電路來(lái)轉(zhuǎn)化。該電路由傳感器和固定的標(biāo)準(zhǔn)電容以及運(yùn)算放大器ne5532組成,如圖4-3所示,其中u為信號(hào)

37、源電壓,為輸出電壓。圖4-3 運(yùn)算放大器測(cè)量電路原理圖運(yùn)算放大器的反饋原理可知,當(dāng)運(yùn)算放大器的輸入阻抗很高、增益也很大時(shí),則可以認(rèn)為運(yùn)算放大器的輸入電流i=0, u=0,并且,得出下列公式 (4-5)于是可得 (4-6)在液位測(cè)量中,將電容變化量代入式(4-6)得到與液位h成正比關(guān)系,即 (4-7)式(4-7)結(jié)果是在假設(shè)運(yùn)算放大器的開(kāi)環(huán)增益的條件下得出來(lái)的。實(shí)際上,運(yùn)算放大器的一般不會(huì)滿足上述條件,所以信號(hào)輸出仍然有一定的非線性誤差。但是,當(dāng)增益和輸入阻抗足夠大時(shí),這種誤差就會(huì)相當(dāng)小。4.2.5 電信號(hào)放大電路設(shè)計(jì)由于從傳感器得出的電壓一般在030mv之間,太小不易測(cè)量,所以要通過(guò)放大電路進(jìn)

38、行放大,如圖4-4所示,采用最基本的反相比例運(yùn)算放大電路。圖4-4比例放大電路根據(jù)反相比例運(yùn)算放大電路的公式= -(r2/r1),于是第一個(gè)運(yùn)放選擇r1=3k,r2=500k,r4=r1/r2。r3=r5=1k,r6=r3/r5,可知第二個(gè)運(yùn)放是一個(gè)反相器,把第一個(gè)運(yùn)放得到的電壓反相成正的。于是將30mv電壓放大成5v。4.3 a/d0809模數(shù)轉(zhuǎn)換本設(shè)計(jì)采用a/d轉(zhuǎn)換器adc0809。adc0809是cmos單片型逐次逼近式ad轉(zhuǎn)換器,由于輸出級(jí)有8位三態(tài)輸出鎖存器,因而adc0809的數(shù)據(jù)輸出端可以直接與單片機(jī)的數(shù)據(jù)總線連接。adc0809的工作過(guò)程是:首先輸入3位地址,并使ale=1,將

39、地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) a/d轉(zhuǎn)換,之后eoc輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到a/d轉(zhuǎn)換完成,eoc變?yōu)楦唠娖?,指示a/d轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)oe輸入高電平時(shí),輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上.adc0809轉(zhuǎn)換是采用逐次比較的方法完成a/d轉(zhuǎn)換的,由單一的+5v供電,片內(nèi)帶有鎖存功能的8路選一的模擬開(kāi)關(guān),由a,b,c引腳的編碼來(lái)確定所選通道。adc0809完成一次轉(zhuǎn)換需要100us左右,輸出具有ttl三態(tài)鎖存緩沖器,可直接連到mcs-51的數(shù)據(jù)總

40、線上,通過(guò)適當(dāng)?shù)耐饨与娐?,adc0809可對(duì)0-5v的模擬信號(hào)進(jìn)行轉(zhuǎn)換。adc0809與單片機(jī)的接口電路如圖4-5所示,其中d觸發(fā)器對(duì)單片機(jī)的頻率進(jìn)行分頻作用,74ls373將地址信號(hào)從地址/數(shù)據(jù)總線中分離出來(lái),以實(shí)現(xiàn)總線的分時(shí)復(fù)用圖4-5 adc0809與單片機(jī)的接口電路4.4 顯示電路的設(shè)計(jì)發(fā)現(xiàn)需要3位的led足可滿足本設(shè)計(jì)的顯示精度要求,為了減少所需的i/o數(shù)量,降低成本,采用動(dòng)態(tài)顯示控制方式。通過(guò)對(duì)顯示接口電路的綜合分析,發(fā)現(xiàn)測(cè)距儀利用串行輸入bcd碼十進(jìn)制譯碼驅(qū)動(dòng)顯示器件mc14499來(lái)完成與單片機(jī)系統(tǒng)的顯示接口較為簡(jiǎn)單可靠。用mc14499設(shè)計(jì)的led顯示器動(dòng)態(tài)顯示接口電路如圖4-

41、6所示。用mcs - 51系列單片機(jī)作為控制核心的水位測(cè)量計(jì),其數(shù)據(jù)輸出既可以通過(guò)單片機(jī)的通用i/o口輸出,也可以通過(guò)單片機(jī)的串口用串行方式輸出。這里使用的單片機(jī)是8051 ,單片機(jī)的p3口為數(shù)據(jù)輸出口, 顯示器采用共陰極8段led, 顯示位數(shù)為3位,由于一片mc14499 可以驅(qū)動(dòng)4個(gè)led顯示器,因此該顯示接口只需用一片mc14499和單片機(jī)連接。圖是該動(dòng)態(tài)顯示接口的原理圖。p3.0用來(lái)向mc14499 發(fā)送數(shù)據(jù),p3.1用來(lái)向mc14499發(fā)送時(shí)鐘脈沖,p3.4用于控制單片機(jī)輸出數(shù)據(jù)向mc14499串行輸入(當(dāng)p3.4= 0時(shí),允許mc14499輸入數(shù)據(jù))。反相器74ls06作為顯示器的

42、位驅(qū)動(dòng), 8 個(gè)470的電阻是led 的限流電阻,使單片機(jī)8051輸出電平與mc14499輸入電平相兼容。由于mc14499 具有輸入自動(dòng)鎖存功能,而串行輸入一幀數(shù)據(jù)又需要一定的時(shí)間,所以led顯示的數(shù)據(jù)不會(huì)出現(xiàn)閃爍現(xiàn)象。圖4-6 mc14499與單片機(jī)的動(dòng)態(tài)顯示電路4.5 鍵盤(pán)電路鍵盤(pán)的作用有兩個(gè),其一輸入數(shù)據(jù),比如:0、1、2、3、4、5、6、7、8、9這些數(shù)字。其二是功能操作,比如:數(shù)據(jù)的輸入輸出,功能設(shè)置。基于此,有很多種方案實(shí)現(xiàn)這一操作。方案一、采用直接式獨(dú)立按鍵操作。這種方案的操作過(guò)程,就是直接從單片機(jī)i/o口引出通上拉電阻,接一按鍵,當(dāng)按鍵按下時(shí),單片機(jī)該端口為“0”,單片機(jī)通過(guò)

43、對(duì)此端口邏輯“0”判斷,來(lái)完成按鍵的識(shí)別,達(dá)到數(shù)據(jù)的輸入,功能的實(shí)現(xiàn)。從這一過(guò)程可知,完成任務(wù)需要單片機(jī)很多i/o口,花費(fèi)了很多cpu資源,此種方案不可取。方案二、矩陣鍵盤(pán)。矩陣鍵盤(pán),這里采用4x4矩陣鍵盤(pán),一共有16組情況,實(shí)現(xiàn)的方法也是利用單片機(jī)的i/o口,通過(guò)上拉電阻相接,4x4正好用到了單片機(jī)一個(gè)端口。采用這種方案既節(jié)約資源又方便,而且能夠滿足本設(shè)計(jì)的需要。綜上所述,在本設(shè)計(jì)中我們采用方案二。這里采用的是矩陣鍵盤(pán),鍵盤(pán)中對(duì)應(yīng)按鍵的序號(hào)排列如圖4-71023456789啟動(dòng)停止消除報(bào)警刪除加一減一圖4-7 矩陣鍵盤(pán)序號(hào)圖矩陣鍵盤(pán)的實(shí)現(xiàn)可采用查詢的辦法,也可以采用中斷的方法。4x4的意思即

44、:4根列線,4根行線,列線通上拉電阻接到電源上,因此無(wú)按鍵按下時(shí),各列線均為高電平。當(dāng)行線分別輸出低電平時(shí),有健按下,相應(yīng)的列線上會(huì)出現(xiàn)低電平。根據(jù)此原理,cpu對(duì)整個(gè)鍵盤(pán)進(jìn)行掃描。所謂掃描,即cpu不斷輪流對(duì)行線置低電平,然后檢查列線輸入狀態(tài),確定按鍵情況。4.5.1矩陣式鍵盤(pán)的工作原理 cpu先使行線p1.4線為低,其余行線p1.5-p1.7為高,即p1.4所在的行線為“0”狀態(tài),其余行為“1狀態(tài)。 cpu讀入輸入緩沖器的狀態(tài),以確定哪條列線為“0”狀態(tài),此時(shí),若p1.0為“0”狀態(tài),則為0鍵按下;若p1.1為“0”狀態(tài),則為“1”鍵按下;以此類推。 若輸入緩沖器的狀態(tài)全部為“1”狀態(tài),則

45、cpu繼續(xù)使行線p1.5為低,其余行線為高。再讀入輸入緩沖器的狀態(tài),以確定哪條列線為“0”狀態(tài),從而判斷是哪個(gè)鍵按下。 判斷出哪個(gè)鍵按下之后,程序轉(zhuǎn)入相應(yīng)的鍵處理程序4.5.2 硬件電路設(shè)計(jì)及電路圖硬件電路設(shè)計(jì)圖如圖4-8所示。把單片機(jī)的p1.0p1.7端口連接到“44行列式鍵盤(pán)”,其中p1.0-p1.3作為列線,p1.4-p1.7作為行線,把單片機(jī)的p0.0p0.7端口連接到共陰極“靜態(tài)數(shù)碼顯示模塊”區(qū)域中對(duì)應(yīng)的ag端口上;系統(tǒng)首先通過(guò)cpu對(duì)全部鍵盤(pán)進(jìn)行掃描,即把第一根行線置為“0”狀態(tài),其余行線置于“1”狀態(tài),讀入輸入緩沖器的狀態(tài),若其狀態(tài)全為“1”表明該行無(wú)鍵按下,再將第二根行線置為“

46、0”狀態(tài),同樣讀入輸入緩沖器的狀態(tài),如其狀態(tài)也全為“1”,則將第三根行線置為“0”狀態(tài),以此類推。如讀入輸入緩沖器的狀態(tài)不全為“1”,確定哪一根列線為“0”狀態(tài),當(dāng)某個(gè)鍵的行線和列線都為“0”狀態(tài)時(shí),表明該鍵按下。最后通過(guò)顯示程序?qū)⒃撴I的序號(hào)顯示出來(lái)。圖4-8 鍵盤(pán)與單片機(jī)的接口電路鍵盤(pán)接口電路用p1口接成44結(jié)構(gòu),共16個(gè)鍵。其中數(shù)字鍵10個(gè),功能鍵6個(gè),功能鍵有啟動(dòng)鍵、停止鍵、消除報(bào)警鍵、刪除鍵、加一鍵、減一鍵。4.6 繼電器控制水泵加水電路圖4-9 繼電器控制水泵加水的電路該電路由繼電器和閉合開(kāi)關(guān)、光電耦合器、電動(dòng)機(jī)、r2、r3、r4以及d1、q4等組成。當(dāng)水位在低水位或高水位時(shí)單片機(jī)給

47、p2.5送一個(gè)低電平導(dǎo)通光電耦合器然后光電耦合器驅(qū)動(dòng)q4導(dǎo)致繼電器閉合從而讓220v的交流電接通使水泵加水。其中光電耦合器是以光為媒介傳輸電信號(hào)的一種電一光一電轉(zhuǎn)換器件。它由發(fā)光源和受光器兩部分組成。把發(fā)光源和受光器組裝在同一密閉的殼體內(nèi),彼此間用透明絕緣體隔離。發(fā)光源的引腳為輸入端,受光器的引腳為輸出端,在本設(shè)計(jì)當(dāng)中發(fā)光源為發(fā)光二極管,受光器為光敏三極管。繼電器是具有隔離功能的自動(dòng)開(kāi)關(guān)元件,在我們?cè)O(shè)計(jì)當(dāng)中主要來(lái)做自動(dòng)控制作用,我們采用+5v的直流電來(lái)控制220v的交流電,以達(dá)到控制水泵的作用,因?yàn)槭窃谶@里是以一種弱電來(lái)控制強(qiáng)電所以安裝和使用的過(guò)程當(dāng)中我們一定要注意用電安全注意事項(xiàng)。 電磁式繼

48、電器一般由鐵芯、線圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))吸合。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱為“常開(kāi)觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱為“常閉觸點(diǎn)”。4.7 報(bào)警電路圖4-10 報(bào)警電路當(dāng)給p2.6口一個(gè)低電平時(shí),

49、管腳1為高電平,三極管導(dǎo)通,蜂鳴器發(fā)出報(bào)警,二極管導(dǎo)通發(fā)光。4.8 電源電路4.8.1 直流電源電路圖4-11 電源電路在各種電子設(shè)備中,直流穩(wěn)壓電源是必不可少的組成部分,它是電子設(shè)備唯一的能量來(lái)源,穩(wěn)壓電源的主要任務(wù)是將50hz的電網(wǎng)電壓轉(zhuǎn)換成穩(wěn)定的直流電壓和電流,從而滿足負(fù)載的需要,直流穩(wěn)壓電源一般由整流、濾波、穩(wěn)壓等環(huán)節(jié)組成。因?yàn)楸敬卧O(shè)計(jì)的元器件都可以使用+12v或是+5v的電源來(lái)驅(qū)動(dòng),所以我制作的穩(wěn)壓電源電路如圖4-11所示。本裝置的電源是通過(guò)整流橋整流后經(jīng)c5,c8濾波后由7805穩(wěn)定后提供穩(wěn)定的5v電壓。其中,變壓器將交流電源(220v/50hz)變換為符合整流電路所需要的交流電壓

50、;整流電路是具有單方向?qū)щ娦阅艿恼髌骷?,將交流電壓整流成單方向脈動(dòng)的直流電壓;濾波電路濾去單向脈動(dòng)直流電壓中的交流部分,保留直流成分,盡可能供給負(fù)載平滑的直流電壓,其中極性電容c5和c8起到濾波電容的作用,非極性電容c6和c7則可以改善負(fù)載的瞬態(tài)影響,使電路穩(wěn)定工作;穩(wěn)壓電路是一種自動(dòng)調(diào)節(jié)電路,在交流電源電壓波動(dòng)或負(fù)載變化時(shí),通過(guò)此電路使直流輸出電壓穩(wěn)定。4.8.2 備用電源切換電路備用電源切換電路由四個(gè)電阻及電壓比較器構(gòu)成電壓比較,正常情況下,v+v-輸出高電平,由兩個(gè)晶體管構(gòu)成的達(dá)林頓管,使繼電器開(kāi)啟,繼電器的常開(kāi)觸點(diǎn)閉合,常閉觸點(diǎn)斷開(kāi),此時(shí)單片機(jī)電源與電池相連,從而實(shí)現(xiàn)市電和蓄電池供電

51、的切換,保證電路的正常工作。如圖4-12所示。圖4-12 備用電源切換電路4.9看門(mén)狗電路在由單片機(jī)構(gòu)成的微型計(jì)算機(jī)系統(tǒng)中,由于單片機(jī)的工作常常會(huì)受到來(lái)自外界電磁場(chǎng)的干擾,造成程序的跑飛,而陷入死循環(huán),程序的正常運(yùn)行被打斷,由單片機(jī)控制的系統(tǒng)無(wú)法繼續(xù)工作,會(huì)造成整個(gè)系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果,所以出于對(duì)單片機(jī)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)的考慮,便產(chǎn)生了一種專門(mén)用于監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱“看門(mén)狗” ??撮T(mén)狗電路的應(yīng)用,使單片機(jī)可以在無(wú)人狀態(tài)下實(shí)現(xiàn)連續(xù)工作,其工作原理是:看門(mén)狗芯片和單片機(jī)的一個(gè)i/o引腳相連,該i/o引腳通過(guò)程序控制它定時(shí)地往看門(mén)狗的這個(gè)引腳上送入高電平(或低電平

52、),一旦單片機(jī)由于干擾造成程序跑飛后而陷入某一程序段不進(jìn)入死循環(huán)狀態(tài)時(shí),寫(xiě)看門(mén)狗引腳的程序便不能被執(zhí)行,這個(gè)時(shí)候,看門(mén)狗電路就會(huì)由于得不到單片機(jī)送來(lái)的信號(hào),便在它和單片機(jī)復(fù)位引腳相連的引腳上送出一個(gè)10ms的正脈沖,此脈沖即為復(fù)位信號(hào),使單片機(jī)發(fā)生復(fù)位,即程序從程序存儲(chǔ)器的起始位置開(kāi)始執(zhí)行,這樣便實(shí)現(xiàn)了單片機(jī)的自動(dòng)復(fù)位. 采用89c51單片機(jī)和x25045組成的看門(mén)狗電路,x25045硬件連接圖如圖4-13所示。x25045芯片內(nèi)包含有一個(gè)看門(mén)狗定時(shí)器,可通過(guò)軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門(mén)狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒(méi)有總線活動(dòng),則x25045將從reset輸出一個(gè)高電平信號(hào),經(jīng)過(guò)微分電路c10、r3輸出一個(gè)正脈沖,使cpu復(fù)位。圖22電路中,cpu的復(fù)位信號(hào)共有3個(gè):上電復(fù)位(c9、r13),人工復(fù)位(s、r12、r13)和watchdog復(fù)位(c10、r14),通過(guò)或門(mén)綜合后加到reset端。c10、r14的時(shí)間常數(shù)不必太大,有數(shù)百微秒即可,因?yàn)檫@時(shí)cpu的振蕩器已經(jīng)在工作。圖4-13 看門(mén)狗電路看門(mén)狗定時(shí)器的預(yù)置時(shí)間是通過(guò)x25045的狀態(tài)寄存器的相應(yīng)位來(lái)設(shè)定的。如表4-1所示,x25045狀態(tài)寄存器共有6位有含義,其中wd1、wd0和看門(mén)狗電路有關(guān),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論