51單片機(jī)畢業(yè)設(shè)計論文_第1頁
51單片機(jī)畢業(yè)設(shè)計論文_第2頁
51單片機(jī)畢業(yè)設(shè)計論文_第3頁
51單片機(jī)畢業(yè)設(shè)計論文_第4頁
51單片機(jī)畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

TOC\o"1-5"\h\z1主要芯片介紹2核心芯片8051單片機(jī)2ADC0809轉(zhuǎn)換芯片5ADC0809的邏輯結(jié)構(gòu)5ADC0809的通道選擇6ADC0809的引腳圖及各引腳作用6MC14499芯片8.MC14499的結(jié)構(gòu)及功能介紹8MC14499在單片機(jī)中的應(yīng)用1074LS373芯片13LED數(shù)碼管15LED數(shù)碼管顯示器的結(jié)構(gòu)15LED數(shù)碼管顯示器的顯示段碼17LED顯示器的參數(shù)18X25045182系統(tǒng)硬件設(shè)計20系統(tǒng)設(shè)計原理和系統(tǒng)框圖21設(shè)計原理21系統(tǒng)框圖21液位傳感器設(shè)計22傳感器原理22傳感器的組成22測量原理23將電容轉(zhuǎn)化成電信號部分24電信號放大電路設(shè)計25A/D0809模數(shù)轉(zhuǎn)換25顯示電路的設(shè)計27鍵盤電路29矩陣式鍵盤的工作原理30硬件電路設(shè)計及電路圖30繼電器控制水泵加水電路31報警電路32電源電路33直流電源電路33備用電源切換電路34看門狗電路353系統(tǒng)軟件的設(shè)計38軟件設(shè)計流程圖38矩陣鍵盤程序設(shè)計40程序設(shè)計內(nèi)容40系統(tǒng)程序40ADC0809模數(shù)轉(zhuǎn)換流程圖424結(jié)論45附錄A46附錄B47主要芯片介紹核心芯片8051單片機(jī)計算機(jī)芯片MCS-51是一個電腦晶片,它是在MCS-48系列的基礎(chǔ)上發(fā)展的高性能的8位單片機(jī)。所出的系列產(chǎn)品有8051、8031、8751。其代表就是8051。其他系列的單片機(jī)都以它為核心,所以本設(shè)計采用的核心芯片是8051單片機(jī)。CPU^它的核心設(shè)備,從功能上看,CPU包括兩個部分:運(yùn)算器和控制器,它執(zhí)行對輸入信號的分析和處理。整個系統(tǒng)電控部分以ATME公司的8051為核心芯片,控制信號采集、處理、輸出三個過程。這種芯片內(nèi)置4KEPROMS為系統(tǒng)要求控制線較多,如果采用8031外置EPROM1序控制結(jié)構(gòu),則造成控制線不夠;而8051卻可以利用PRP2口作控制總線,大大簡化了硬件結(jié)構(gòu),并可以直接控制鍵盤參數(shù)輸入、LED數(shù)據(jù)顯示,方便現(xiàn)場調(diào)試和維護(hù),使整個系統(tǒng)的通用性和智能化得到了很大的提高。系統(tǒng)的原理是采用電容式傳感器測量液體的液位值,通過單片機(jī)的轉(zhuǎn)換與分析在LEDh顯示及輸出控制;根據(jù)當(dāng)前的液位值和用戶設(shè)定的水位決定是否進(jìn)行開關(guān)水泵,以及是否到達(dá)危險高、低水位,需要關(guān)閉閥門。1PIOP00PllP01P12P02P13P03P14P04P15P05Pl?P06P17P07INTIP20INTOP21P22T1P23TOP24WVPP26P27MlX2RESETRXDTXD而ALE/PWEPSEN3923333?4非535634733S32J21122221523241425312627192S101891130d298051圖1-18051管腳圖上圖是8051的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:Pin40:正電源腳,正常工作或?qū)ζ瑑?nèi)EPRO眇寫程序時,接+5V電源。Pin19:時鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。Pin18:時鐘XTAL2卻,片內(nèi)振蕩電路的輸出端。8051的時鐘有兩種方式,一種是片內(nèi)時鐘振蕩方式,但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10PF-30PE另外一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入。本設(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輸入輸出腳。在對單片機(jī)設(shè)計中,P0口作為程序存儲器擴(kuò)展口,且是擴(kuò)展并行輸入/輸出接口的接口,另外也作為模數(shù)轉(zhuǎn)換的數(shù)據(jù)傳輸口,P2口為程序存儲器擴(kuò)展口的高8位地址總線口,P1口為輸入/輸出口。Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在RESETS腳上出現(xiàn)2個時鐘周期以上的高平,系統(tǒng)

即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0"。RESE礎(chǔ)高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。8051的初始態(tài)如下:表1-1寄存器初始狀態(tài)特殊功能寄存器初始態(tài)特殊功能寄存器初始態(tài)ACC00HB00HPSW00HSP07H07H00HTH000HDPL00HTL000HIPxxx00000BTH100HIEOxOOOOOBTL100HTMOD00HTCON00HSCONxxxxxxxxBSBUF00HP0-P31111111BPCONOxxxxxxxB8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見圖1-2。止匕外,RESET/Vd是一復(fù)用腳,Vcc掉電期間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM勺數(shù)據(jù)不丟失,此設(shè)計采用自動復(fù)位電路|R2午10K上電自動復(fù)位電路手動復(fù)位|R2午10K上電自動復(fù)位電路手動復(fù)位圖1-2復(fù)位電路Pin30:ALE/P當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機(jī)是EPROM在編程其間,prog將用于輸入編程脈沖。Pin29:PSEN當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU賣入并執(zhí)行。在編程時,EA/VPp腳還需加上21V的編程電壓。ADC0809轉(zhuǎn)換芯片ADC0809的邏輯結(jié)構(gòu)ADC080弟典型的8位8通道逐次逼近型A/D轉(zhuǎn)換器,采用CMOS藝制造。它由一個8路模擬開關(guān)、一個地址鎖存譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成(見圖1-3)。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)。端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。STCLKIN0IN1IN2IN3IN4IN5關(guān)IN6IN7VREF(+)A/D轉(zhuǎn)換輸出器鎖VREF(-)0EEOCD0STCLKIN0IN1IN2IN3IN4IN5關(guān)IN6IN7VREF(+)A/D轉(zhuǎn)換輸出器鎖VREF(-)0EEOCD0D1D2D3D4D5D6D7圖1-3ADC0809的內(nèi)部結(jié)構(gòu)ADC0809的通道選擇地址鎖存與譯碼電路完成對AB、C訃地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道的選擇。通道選擇如表1-2所示表1-2ADC00809的通道選擇C(ADDC)B(ADDB)A(ADDA)選擇的通道000IN0001IN1010IN2111IN3100IN4101IN5110IN6111IN7ADC0809的引腳圖及各引腳作用ADC0809E片為28引腳雙列直插式封裝,具引腳排列見圖1-4XIN-0rti5b2-l2-2IN*12-32-4IN-22-52-6IN-32-7lsb2-8IN-4EOCIN-5ADD-AIN-fiADD由ADD-CIN-7ALEreft)EHABLESTARTreft+)CLOCK<21272019%IEe115[4217132542452322IE912610ADC08W圖1-4AD0809的管腳圖⑴IN0—IN7:8條模擬量輸入通道。ADC080附輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。⑵ADDAADDBADDC模擬通道地址線。這3根地址線用于對模擬通道進(jìn)行選擇,其譯碼關(guān)系如表所示,ADDAM氐位地址,ADD@高位地址。ALE:地址鎖存信號。對應(yīng)于ALE上跳沿時,ADDAADDBADDO址狀態(tài)送入地址鎖存器中。⑷START:轉(zhuǎn)換啟動彳9號。在START言號上跳沿時,所有內(nèi)部寄存器清0;在STARTF跳沿時,開始進(jìn)行A/D轉(zhuǎn)換。在A/D轉(zhuǎn)換期間,START1號應(yīng)保持低電平。該信號可簡寫為ST。⑸D0?D7:數(shù)據(jù)輸出線。該數(shù)據(jù)輸出線為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)總線直接相連。⑹OE:輸出允許信號。它用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換后的數(shù)據(jù)。OE=0寸輸出數(shù)據(jù)線呈高阻態(tài);OE=1時輸出允許。⑺CLK:時鐘信號。ADC0809勺內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,通常使用頻率為500kHz的時鐘信號。⑻EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號。當(dāng)EOC=0寸,表示正在進(jìn)行轉(zhuǎn)換;EOC=1寸,表示轉(zhuǎn)換結(jié)束。實際使用中該狀態(tài)信號既可以作為查詢的狀態(tài)標(biāo)志,還可以作為中斷請求信號使用。⑼Vref:參考電壓。參考電壓作為逐次逼近的基準(zhǔn),并用來與輸入的模擬信號進(jìn)行比較。其典型值為+5V(Vref(+)=+5V,Vref(-)=0)ADC080思帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及與微型計算機(jī)兼容的控制邏輯的CMOSS件,其轉(zhuǎn)換方法為逐次逼近型。在A/D轉(zhuǎn)換器內(nèi)部含有一個高阻抗斬波穩(wěn)定比較器,以及一個逐次逼近型寄存器。8路的模擬開關(guān)由地址鎖存器和譯碼器控制,可以在8個通道中任意訪問一個通道的模擬信號。由于多路開關(guān)的地址輸入部分能夠進(jìn)行鎖存和譯碼,而且三態(tài)TTL輸出也可以鎖存,所以它易于與微型計算機(jī)接口。MC14499芯片.MC14499的結(jié)構(gòu)及功能介紹串行輸入BC則-十進(jìn)制碼輸出的硬件譯碼驅(qū)動器MC1449費(fèi)MOTOROLA]生產(chǎn)的一種叫新型的CMOS1成塊。一片MC1449同以直接驅(qū)動和控制四塊LED八段顯示器,由于其顯示方式為動態(tài)掃描,因此消耗功率較低,在單片機(jī)系統(tǒng)中,采用MC14499勾成的顯示器接口具有所需I/O口線占用數(shù)量少,單片控制顯示器多的特點,因而得到較廣泛的使用。LED譯碼驅(qū)動器的管腳配置如圖1-5所示:vddTOC\o"1-5"\h\zDATAbOSCCLKIVEKB111IVSSIIMC14499圖1-5MC14499的管腳圖片內(nèi)主要包含有一個20位移位寄存器、一個鎖存器、一個多路輸出器及譯碼驅(qū)動器和振蕩器。移位寄存器主要保存外部串行輸入的數(shù)據(jù),鎖存器保存顯示器所需顯示的數(shù)據(jù),兩者中的數(shù)據(jù)均為BCM的形式,多路輸出器輸出從鎖存器中取出的BC叩數(shù)據(jù),經(jīng)段譯碼器譯碼后,換成點七段碼送至段驅(qū)動器的a?g和小數(shù)點DP八只輸出腳上,而片內(nèi)振蕩器的振蕩信號,經(jīng)四分頻及位譯碼后提供四個位控信號,由位驅(qū)動器分別送至四條位控制線(I,II,III,IV),以供對顯示器的輪流掃描。芯片的主要控制信號有:⑴a?g,DR七段碼及小數(shù)點輸出;⑵I?IV:字位選擇輸出,用來產(chǎn)生LED選通信號;⑶D:申行數(shù)據(jù)接收端;⑷OSC振蕩器外接電容端,外接電容使片內(nèi)振蕩產(chǎn)生200?800Hz掃描信號,以防LED顯示器閃爍;⑸CLK:時鐘輸入端,用以提供串行接收的控制時鐘信號,標(biāo)準(zhǔn)時鐘頻率為250KHZ⑹ENB:使能端,為0時,MC14499fc許接收串行數(shù)據(jù)輸入;為1時,禁止接收串行數(shù)據(jù),并將片內(nèi)移位寄存器的數(shù)據(jù)送入鎖存器中保存。MC1449的一次可接收20位串行輸入數(shù)據(jù),在每次時鐘信號的下降沿,用行數(shù)據(jù)被送入片內(nèi)的移位寄存器。MC1449吶部接收數(shù)據(jù)的移位寄存器為20位,這20位數(shù)據(jù)可按圖4分為四組BCDK和一組小數(shù)點選擇位,提供給四個LED顯示器。20位數(shù)據(jù)中的前四位用于控制4個LED顯示器的小數(shù)點是否顯示,后16位是4個LED顯示器的BCCB輸入數(shù)據(jù),BCD?與顯示器顯示字符的相應(yīng)關(guān)系如表1-3所示,若顯示器采用共陰型,則各小數(shù)點的相應(yīng)位為“1”時小數(shù)點顯示,為“0”時熄滅。

移位1234567891011121314151617181920IIIIIIIV編碼I編碼II編碼III編碼IVENBCLK圖1-6MC14499串行數(shù)據(jù)輸入的時序圖ENBCLK圖1-6MC14499串行數(shù)據(jù)輸入的時序圖圖1-7一幀串行輸入數(shù)據(jù)格式表1-3MC14499內(nèi)的BC加與顯示字符的關(guān)系BC加顯示器BC加顯示器00000100080001110019001021010n001131011101004110011010151101口011061110一011171111熄滅MC14499在單片機(jī)中的應(yīng)用由于MC14499T控制四個顯示器,顯示方式為動態(tài)掃描,譯碼及動態(tài)掃描由硬件管理,因此,采用LED譯碼驅(qū)動器MC1449歐構(gòu)成單片應(yīng)用系統(tǒng)的顯示器接口,可以大大減少I/O□線的占用數(shù)量,減少耗電及占用CPU勺時間,并使得電路較為簡單。實用中,MCS-51單片機(jī)與MC14499勺接口電品&有并行I/O口控制和串行I/O口控制兩種方式。A.并行I/O口控制方式此種方式可由MCS-51系列單片機(jī)的P1或P3口的三根I/O口線提供時鐘信號、串行數(shù)據(jù)和使能信號此種方式可由MCS-51系列單片機(jī)的P1或P3口的三根I/O口線提供時鐘信號、串行數(shù)據(jù)和使能信號接口電路如圖1-8所示:OC圖1-8MC14499并行I/O口控制方式與單片機(jī)的接口電路B.串行I/O口控制方式此種方式由MCS-5此種方式由MCS-5俾片機(jī)的RXD(P3.0)提供串行輸入的BCM顯示數(shù)據(jù),TXD(P3.1)提供時鐘信號,再由P1或P3口提供一根I/O線以輸出MC1449駛能端所需的信號,單片機(jī)用行口的工作方式為0方式,接口電路如圖1-9所示:此時應(yīng)注意:由于MCS-51單片機(jī)從用行口輸出數(shù)據(jù)時,發(fā)送順序為從數(shù)據(jù)低位到高位,而MC14499等BCM數(shù)據(jù)譯為十進(jìn)制數(shù)時,卻是將原數(shù)據(jù)的低位作為高位處理的,如將某次數(shù)據(jù)的最后八位10000100B(84H)送入MC14499寸,從低位到高位被分布于其移位寄存器的13?20單元中,即最低位0在13單元,最高位1在20單元,MC14499s行譯碼時,卻是將0作為最高位,1作為最低位處理的,于是成為001000001B(21H),即段碼III數(shù)據(jù)為0010B,顯示器顯示“2”,段碼IV數(shù)據(jù)為0001B,顯示器顯示“1”,因此,必須將欲顯示的壓縮BCD?進(jìn)行循環(huán)位移(即將最低位移至最高位,第二位移至第七位,其余類推)后再送入MC14499以保證顯示的正確性。C1-9MC14499串行I/O口控制方式與單片機(jī)的接口電路74LS373芯片74ls373是常用的地址鎖存器芯片,它是一個三態(tài)8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲器,通常需要74ls373芯片。Vcc07DZ06°60505SLE□ILdLJ山山山LJEILd也J0E0(}0()01。1。20203。3GN。圖1-1074LS373引腳圖引出端符號⑴D0?D7:數(shù)據(jù)輸入端⑵OE:三態(tài)允許控制端(低電平有效)⑶LE:鎖存允許端⑷O0?O7:數(shù)據(jù)輸出端當(dāng)三態(tài)允許控制端OE為低電平時,O0?O7為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng)OE為高電平時,OAO7呈高阻態(tài),即不驅(qū)動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時,O隨數(shù)據(jù)D而變。當(dāng)LE為低電平時,0被鎖存在已建立的數(shù)據(jù)電平。當(dāng)LE端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善400mM?00?????Di口3Di口3口7LATCH。一

LATCH。一

Q

GD.IGI?—4c>Oy斤kk?—4c>Oy斤kk可阡rf邙OoI:01I02|o3|04|0§|(圖1-1174LS373邏輯圖表1-474LS373真值表DnLEOEOnHHLHLHLLXLLQ0XXH*Z從以上的結(jié)構(gòu)分析我們可以看出,741s373最基本的功能是鎖存數(shù)據(jù)。在單片機(jī)的接口中741s373的作用是分離P0口的低8位地址和數(shù)據(jù)總線。由于MCS-51單片機(jī)的P0口是分時復(fù)用的地址/數(shù)據(jù)總線。因此在進(jìn)行I/O接口擴(kuò)展和存儲器擴(kuò)展時,可以利用地址鎖存器將地址信號從地址/數(shù)據(jù)總線中分離出來,以實現(xiàn)總線的分時復(fù)用,741S373是最常用的鎖存器之一。LED數(shù)碼管LED數(shù)碼管顯示器的結(jié)構(gòu)LED顯示器是一種由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管。單片機(jī)系統(tǒng)中通常使用8段LED數(shù)碼顯示器,其外形及引腳如圖1-12(a)所示,由圖可見8段LED顯示器由8個發(fā)光二極管組成。其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)

點用,通過不同的組合可用來顯示各種數(shù)字,包括A?F在內(nèi)的部分英文字母和DPY7-SEGDP共陽極八段數(shù)碼府顯示鑄+Wcom共陽極八段數(shù)碼府顯示鑄+Wcoma數(shù)碼管引腳排列abcdeIgdp人人一人—人人人L人人bLED顯示器兩種不同的接法圖1-12LED數(shù)碼管顯示器LED顯示器有兩種不同的形式:一種是8個發(fā)光二極管的陽極都連在一起構(gòu)成共陽極,使用時共陽極接+5V,每個發(fā)光二極管的陽極通過電阻與輸入端相連。當(dāng)陰極端輸入低電平時,段發(fā)光二極管就導(dǎo)通點亮,而輸入高電平時不點亮。這稱為共陽極LED顯示器;另一種是8個發(fā)光二極管的陰極都連在一起構(gòu)成共陰極,使用時共陰極接地,每個發(fā)光二極管的陰極通過電阻與輸入端相連。當(dāng)陽極端輸入高電平時,段發(fā)光二極管就導(dǎo)通點亮,而輸入低電平時不點亮。這稱為共陰極LED顯示器。如圖1-12(b)所示。LED數(shù)碼管顯示器的顯示段碼為了顯示字符,要為LED顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如表1-5:表1-5段碼位與顯示段的對應(yīng)關(guān)系段碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba用LED顯示器顯示十六進(jìn)制數(shù)和空白字符與P的顯示段碼如表1-6所示:表1-6十六進(jìn)制數(shù)和空白字符與P的顯示段碼字型0共陽極段碼C0H共陰極段碼3FH字型9共陽極段碼90H共陰極段碼6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6卜d39H499H66HDA1HT5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFHT00H880H7FHP8c卜d73H共陰和共陽結(jié)構(gòu)的LED顯示器各筆劃段名和安排位置是相同的,當(dāng)二極管導(dǎo)通時,相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合從而顯示各種字符。8個筆劃段dp、g、f、e、d、c、b、a對應(yīng)于1B(8位)的D7D6DSD4D3D22D1、D0于是用8位二進(jìn)制碼就可以表示欲顯示字符的字形代碼。例如,對于共陰極LED顯示器,當(dāng)公共陰極接地(為零電平),而陽極dpgfedcba各段為01110011時,顯示器顯示"P'字符,即對于共陰極LED顯示器,"P'字符的字形碼是0X73。如果是共陽極LED顯示器,公共陽極接高電平,顯示"P'字符的字形代碼應(yīng)為10001100(0x8C)。LED顯示器的參數(shù)由于LED顯示器是以LED為基礎(chǔ)的,所以它的光、電特性及極限參數(shù)意義大部分與發(fā)光二極管的相同。但由于LED顯示器內(nèi)含多個發(fā)光二極管,所以需有如下特殊參數(shù):⑴發(fā)光強(qiáng)度比由于數(shù)碼管各段在同樣的驅(qū)動電壓時,各段正向電流不相同,所以各段發(fā)光強(qiáng)度不同。所有段的發(fā)光強(qiáng)度值中最大值與最小值之比為發(fā)光強(qiáng)度比。比值可以在1.5?2.3問,最大不能超過2.5。⑵脈沖正向電流若筆畫顯示器每段典型正向直流工作電流為IF,則在脈沖下,正向電流可以遠(yuǎn)大于IFo脈沖占空比越小,脈沖正向電流可以越大。1.6X25045X25045是8腳集成電路,它將EEPRQM看門狗定時器、電壓監(jiān)控三種功能組合在單個芯片之內(nèi),大大簡化了硬件設(shè)計,提高了系統(tǒng)的可靠性,減少了對印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機(jī)外圍芯片。X25045引腳如圖1-13所示。0CSVccSORESET2WPSCKV?SL㈱邛圖1-13X25045引腳圖其引腳功能如下:⑴CS:片選擇輸入;⑵SO:串行輸出,數(shù)據(jù)由此引腳逐位輸出;⑶SI:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入X25045;⑷SCK:串行時鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出;⑸WP:寫保護(hù)輸入。當(dāng)它低電平時,寫操作被禁止;⑹Vss:地;⑺Vcc:電源電壓;⑻RESET復(fù)位輸出。X25045在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表1-7所示表1-7X25045的指令及其含義指令名指令格式操作WREN00000110設(shè)置寫使能鎖存器(允許寫操作)WRDI00000100復(fù)位寫使能鎖存器(禁止寫操作)RDSR00000101讀狀態(tài)寄存器

WRSR00000001寫狀態(tài)寄存器READ0000A8011把開始于所選地址的存儲器中的數(shù)據(jù)讀出WRITE0000A8010把數(shù)據(jù)寫入開始于所選地址的存儲器2系統(tǒng)硬件設(shè)計系統(tǒng)設(shè)計原理和系統(tǒng)框圖設(shè)計原理本設(shè)計采用筒式電容傳感器采集液位的高度。主要利用其兩電極的覆蓋面積隨被測液體液位的變化而變化,從而引起對應(yīng)電容量變化的關(guān)系進(jìn)行液位測量。由于從傳感器得出的電壓一般在0?30m叱問,太小不易測量,所以要通過放大電路進(jìn)行放大。從放大電路出來的是模擬量,送入ADC0809^換成數(shù)字量,ADC0809連接于單片機(jī),把信號送入單片機(jī)。通過單片機(jī)控制水泵的運(yùn)轉(zhuǎn)。顯示電路連接于單片機(jī)用于顯示水位的高度。該顯示接口用一片MC14499口單片機(jī)連接以驅(qū)動數(shù)碼管。系統(tǒng)框圖圖2-1系統(tǒng)框圖⑴被測物理量:主要是指非電的物理量,在這里為水位。⑵電容式傳感器:將輸入的物理量轉(zhuǎn)換成相應(yīng)的電信號輸出,實現(xiàn)非電量到電量的變換。傳感器的精度直接影響到整個系統(tǒng)的性能,所以是系統(tǒng)中一個重要的部件。⑶放大,整形,濾波:傳感器的輸出信號一般不適合直接去轉(zhuǎn)換數(shù)字量,通常要進(jìn)行放大,濾波等環(huán)節(jié)的預(yù)處理來完成。⑷A/D轉(zhuǎn)換器:實現(xiàn)將模擬量轉(zhuǎn)換成數(shù)字量,常用的是并行比較型、逐次逼近式、積分式等。在此用到逐次逼近式。⑸單片機(jī):目前的數(shù)據(jù)采集系統(tǒng)功能和性能日趨完善,因此主控部分一般都采用單片機(jī)。(6)顯示設(shè)備:在此用到8段數(shù)碼管。⑺控制設(shè)備:控制電動機(jī)的運(yùn)行或關(guān)閉。由上圖可觀察到傳感器通過對液面進(jìn)行測量,輸出模擬信號,再通過模數(shù)轉(zhuǎn)換器把輸入的模擬信號轉(zhuǎn)換成數(shù)字信號,通過8051單片機(jī)的運(yùn)算控制,再通過LED進(jìn)行顯示,通過報警裝置進(jìn)行報警,報警顯示之后再通過對閥門的開啟實現(xiàn)對水體的液位進(jìn)行調(diào)節(jié)控制,閥門的驅(qū)動設(shè)備是電動機(jī)。液位傳感器設(shè)計在液體液位控制系統(tǒng)中,傳感器的選擇是非常重要的,傳感器是能感受規(guī)定的被測量,并按照一定的規(guī)律轉(zhuǎn)換成可用輸出信號的器件或裝置,它通常由敏感元件和轉(zhuǎn)換元件組成,它的性能直接影響到整個檢測系統(tǒng),對檢測精確度起著重要的作用。傳感器的種類很多,有溫度傳感器,加速度傳感器,光學(xué)傳感器,壓力傳感器的,本設(shè)計主要采用電容式液位傳感器進(jìn)行控制,再把檢測的電信號通過ADC0809俞入到單片機(jī)進(jìn)彳T分析,再由LED進(jìn)行顯示和鍵盤控制,實行對液位的報警。傳感器原理電容式液位傳感器系統(tǒng),通過傳感器測量電路將液位高度變化轉(zhuǎn)換成相應(yīng)的電壓脈沖寬度變化,再由單片機(jī)進(jìn)行測量并轉(zhuǎn)換成相應(yīng)的液位高度進(jìn)行顯示,該系統(tǒng)對液位深度具有測量、顯示與設(shè)定功能,并具有結(jié)構(gòu)簡單、成本低廉、性能穩(wěn)定等優(yōu)點。傳感器的組成圖2-2為傳感器部分的結(jié)構(gòu)原理圖。它主要是由細(xì)長的不銹鋼管(半徑為R1)、同軸絕緣導(dǎo)線(半徑為R0)以及其被測液體共同構(gòu)成的金屬圓柱形電容器構(gòu)成。該傳感器主要利用其兩電極的覆蓋面積隨被測液體液位的變化而變化,從而引起對應(yīng)電容量變化的關(guān)系進(jìn)行液位測量。

絕綠存線被測液體一二圖2-2傳感器原理圖絕綠存線被測液體一二圖2-2傳感器原理圖測量原理由圖2-2可知,當(dāng)可測量液位H=0時,傳感器處于空載狀態(tài),此時電容量為最小。不銹鋼管與同軸絕緣導(dǎo)線構(gòu)成的金屬圓柱形電容器之間存在電容7,此時得到電容量為:(2-1)2二;0L(2-1)ln(R1/R0)式中,Co為電容量,單位為F;%為絕對介電常數(shù)(約為8.85Xl0,2F/m);L為液位最大高度;R1為不銹鋼管半徑;R斷絕緣導(dǎo)線半徑,單位為m。當(dāng)可測量液位為H時,傳感器處于滿載狀態(tài),此時電容量為最大,即:C二———Lxln(R1/R0)式中,名為被測液體的相對介電常數(shù),單位為F/m。當(dāng)0<H<L時,傳感器的電容量為:2n2二;CH0H0(L-H)CHln(R1/R0)ln(R1/R0)因此,當(dāng)傳感器內(nèi)液位由零增加到H時,其電容的變化量AC可由式(2-1)和式(2-2)得

2二;0(一1)C=CH-C0=—0H(2-3)ln(R1/R0)由式可知,參數(shù)—1,R1,R0都是定值。所以電容的變化量AC與液位變化量H呈近似線性關(guān)系。可見,傳感器的電容量值Ch的大小與電容器浸入液體的深度H成線性關(guān)系。由此,只要測出電容值便能計算出水位。將電容轉(zhuǎn)化成電信號部分采用運(yùn)算法測量電路來轉(zhuǎn)化。該電路由傳感器Cx和固定的標(biāo)準(zhǔn)電容Co以及運(yùn)算放大器NE5532&成,如圖2-3所示,其中U為信號源電壓,U0為輸出電壓。圖2-3運(yùn)算放大器測量電路原理圖運(yùn)算放大器的反饋原理可知,當(dāng)運(yùn)算放大器的輸入阻抗很高、增益也很大時,則可以認(rèn)為運(yùn)算放大器的輸入電流I=0,U=0,并且Z0=^^,Zx,得jC0jCX出下列公式Cx(2-5)UZCx(2-5)UZxC0于是可得

UoCXCo(2-6)在液位測量中,將電容Cx變化量代入式UoCXCo(2-6)在液位測量中,將電容Cx變化量代入式(2-6)得到Uo與液位H成正比關(guān)系,即2二;0(.一??赨o=-Hln(R1/RO)Co(2-7)式(2-7)結(jié)果是在假設(shè)運(yùn)算放大器的開環(huán)增益At8的條件下得出來的。實際上,運(yùn)算放大器的一般不會滿足上述條件,所以信號輸出仍然有一定的非線性誤差。但是,當(dāng)增益和輸入阻抗足夠大時,這種誤差就會相當(dāng)小。2.2.5電信號放大電路設(shè)計由于從傳感器得出的電壓一般在0?30mv之間,太小不易測量,所以要通過放大電路進(jìn)行放大,如圖2-4所示,采用最基本的反相比例運(yùn)算放大電路。圖2-4比例放大電路根據(jù)反相比例運(yùn)算放大電路的公式Uo=-(R2/R1)Ui,于是第一個運(yùn)放選擇R1=3KR2=5ooKR4=R1//R2。R3=R5=1KR6=R3//R5,可知第二個運(yùn)放是一個反相器,把第一個運(yùn)放得到的電壓反相成正的。于是將3omVfe壓放大成5V。A/Do8o9模數(shù)轉(zhuǎn)換本設(shè)計采用A/D專換器ADC0809ADC080弟CMOS片型逐次逼近式A/D轉(zhuǎn)換器,由于輸出級有8位三態(tài)輸出鎖存器,因而ADC0809數(shù)據(jù)輸出端可以直接與單片機(jī)的數(shù)據(jù)總線連接。ADC080的工作過程是:首先輸入3位地址,并使ALE=1將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START升沿將逐次逼近寄存器復(fù)位。下降沿啟動A/D轉(zhuǎn)換,之后EOCJ出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EO改為高電平,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE俞入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上.ADC0809^換是采用逐次比較的方法完成A/D轉(zhuǎn)換的,由單一的+5VK電,片內(nèi)帶有鎖存功能的8路選一的模擬開關(guān),由A,B,C引腳的編碼來確定所選通道。ADC080盅成一次轉(zhuǎn)換需要100us左右,輸出具有TTL態(tài)鎖存緩沖器,可直接連到MCS-51勺數(shù)據(jù)總線上,通過適當(dāng)?shù)耐饨与娐?,ADC08097寸0-5V的模擬信號進(jìn)行轉(zhuǎn)換。ADC0809f單片機(jī)的接口電路如圖2-5所示,其中D觸發(fā)器對單片機(jī)的頻率進(jìn)行分頻作用,74ls373將地址信號從地址/數(shù)據(jù)總線中分離出來,以實現(xiàn)總線的分時復(fù)用

1P10P0(P11P0-P12P02P13P03P14P04P15P051P10P0(P11P0-P12P02P13P03P14P04P15P05P16P06P17P07INT1P2(INT0P2-P22T1P23T0P24DO£39~T~38~T"374,365,356347.33T-'32,總、21?22金15:241425252631P2、EA/VPP26P27X1X2RESETRXDTXDRDALE/WRpseF19:2810)-=—189l口1130p烏N298051T?d1——^~D2^~D3^-D544D17D2■18d3\13D4T卜14D5\J17D()\H8D-713D470。x8D?D0Q0.D1Q1.2D2Q2.3D3Q3.4D4Q46D5Q57D6Q6D7Q7-OELE69122574LS37326IN-0msb2D021)-1—J27IN-12-22-3,D120/D219;2-428IN-22-5£48J2-62-7lsb2嗎1IN-3,D6147D8/2IN-4EOC-73IN-5ADDADDADD-A.254IN-6B24C235IN-7ALt2216ref(-)ENABSTAILE9RT612ref(+)CLO?10ADC0809NOT圖2-5ADC0809與單片機(jī)的接口電路顯示電路的設(shè)計發(fā)現(xiàn)需要3位的LED足可滿足本設(shè)計白顯示精度要求,為了減少所需的I/O數(shù)量,降低成本,采用動態(tài)顯示控制方式。通過對顯示接口電路的綜合分析,發(fā)現(xiàn)測距儀利用串行輸入BCD3一十進(jìn)制譯碼驅(qū)動顯示器件MC1449家完成與單片機(jī)系統(tǒng)的顯示接口較為簡單可靠。用MC1449毀計的LED顯示器動態(tài)顯示接口電路如圖2-6所示。用MCS-51系列單片機(jī)作為控制核心的水位測量計,其數(shù)據(jù)輸出既可以通過單片機(jī)的通用I/O口輸出,也可以通過單片機(jī)的串口用串行方式輸出。這里使用的單片機(jī)是8051,單片機(jī)的P3口為數(shù)據(jù)輸出口,顯示器采用共陰極8段LED,顯示位數(shù)為3位,由于一片MC14499可以驅(qū)動4個LEE?示器,因此該顯示接口只需用一

片MC14499單片機(jī)連接。圖是該動態(tài)顯示接口的原理圖。P3.0用來同MC14499發(fā)送數(shù)據(jù),P3.1用來向MC1449發(fā)送時鐘脈沖,P3.4用于控制單片機(jī)輸出數(shù)據(jù)向MC1449串行輸入(當(dāng)P3.4=0時,允許MC1449蜿入數(shù)據(jù))。反相器74LS06乍為顯示器的位驅(qū)動,8個470Q的電阻是LED的限流電阻,使單片機(jī)8051輸出電平與MC1449蜿入電平相兼容。由于MC14499具有輸入自動鎖存功能,而串行輸入一幀數(shù)據(jù)又需要一定的時間,所以LED1示的數(shù)據(jù)不會出現(xiàn)閃爍現(xiàn)象。470QX8A0印C40.015F(1A3A2A1A0RCDMC14499\A19\A4\A5Bl/7406DPYaddcp\4E3\5國\6E5\7BB8B7DPY7-EGDPcdpgmdpoaDPYb7406DPY7-EGDP\1B0C40.015F(1A3A2A1A0RCDMC14499\A19\A4\A5Bl/7406DPYaddcp\4E3\5國\6E5\7BB8B7DPY7-EGDPcdpgmdpoaDPYb7406DPY7-EGDP\1B0\2B1\3B2^45<5B4卜6B57B6\8B7fgdpDPYdpA7406圖2-6MC14499與單片機(jī)的動態(tài)顯示電路鍵盤電路鍵盤的作用有兩個,其一輸入數(shù)據(jù),比如:0、1、2、3、4、5、6、7、8、9這些數(shù)字。其二是功能操作,比如:數(shù)據(jù)的輸入輸出,功能設(shè)置?;诖?,有很多種方案實現(xiàn)這一操作。方案一、采用直接式獨(dú)立按鍵操作。這種方案的操作過程,就是直接從單片機(jī)I/O口引出通上拉電阻,接一按鍵,當(dāng)按鍵按下時,單片機(jī)該端口為“0”,單片機(jī)通過對此端口邏輯“0”判斷,來完成按鍵的識別,達(dá)到數(shù)據(jù)的輸入,功能的實現(xiàn)。從這一過程可知,完成任務(wù)需要單片機(jī)很多I/O口,花費(fèi)了很多CPU資源,此種方案不可取。方案二、矩陣鍵盤。矩陣鍵盤,這里采用4X4矩陣鍵盤,一共有16組情況,實現(xiàn)的方法也是利用單片機(jī)的I/O口,通過上拉電阻相接,4X4正好用到了單片機(jī)一個端口。采用這種方案既節(jié)約資源又方便,而且能夠滿足本設(shè)計的需要。綜上所述,在本設(shè)計中我們采用方案二。這里采用的是矩陣鍵盤,鍵盤中對應(yīng)按鍵的序號排列如圖2-7圖2-7矩陣鍵盤序號圖矩陣鍵盤的實現(xiàn)可采用查詢的辦法,也可以采用中斷的方法。4X4的意思即:4根列線,4根行線,列線通上拉電阻接到電源上,因此無按鍵按下時,各列線均為高電平。當(dāng)行線分別輸出低電平時,有健按下,相應(yīng)的列線上會出現(xiàn)低電平。根據(jù)此原理,CPU寸整個鍵盤進(jìn)行掃描。所謂掃描,即CP懷斷輪流對行線置低電平,然后檢查列線輸入狀態(tài),確定按鍵情況。矩陣式鍵盤的工作原理(1)CPU先使行線P1.4線為低,其余行線P1.5-P1.7為高,即P1.4所在的行線為“0”狀態(tài),其余行為“1'狀態(tài)。⑵CPU讀入輸入緩沖器的狀態(tài),以確定哪條列線為“0”狀態(tài),此時,若P1.0為“0”狀態(tài),則為0鍵按下;若P1.1為“0”狀態(tài),則為“1”鍵按下;以此類推。⑶若輸入緩沖器的狀態(tài)全部為“1”狀態(tài),則CPU1續(xù)使行線P1.5為低,其余行線為高。再讀入輸入緩沖器的狀態(tài),以確定哪條列線為“0”狀態(tài),從而判斷是哪個鍵按下。⑷判斷出哪個鍵按下之后,程序轉(zhuǎn)入相應(yīng)的鍵處理程序硬件電路設(shè)計及電路圖硬件電路設(shè)計圖如圖2-8所示。把單片機(jī)的P1.0—P1.7端口連接至I“4X4行列式鍵盤”,其中P1.0-P1.3作為列線,P1.4-P1.7作為行線,把單片機(jī)的P0.0-P0.7端口連接到共陰極”靜態(tài)數(shù)碼顯示模塊”區(qū)域中對應(yīng)的a—g端口上;系統(tǒng)首先通過CP5t全部鍵盤進(jìn)行掃描,即把第一根行線置為“0”狀態(tài),其余行線置于“1”狀態(tài),讀入輸入緩沖器的狀態(tài),若其狀態(tài)全為“1”表明該行無鍵按下,再將第二根行線置為“0”狀態(tài),同樣讀入輸入緩沖器的狀態(tài),如其狀態(tài)也全為“1”,則將第三根行線置為“0”狀態(tài),以此類推。如讀入輸入緩沖器的狀態(tài)不全為“1”,確定哪一根列線為“0”狀態(tài),當(dāng)某個鍵的行線和列線都為“0”狀態(tài)時,表明該鍵按下。最后通過顯示程序?qū)⒃撴I的序號顯示出來。

I'——00VCC?T500QX4P10P00P11P01P12P02P13P03P14P04I'——00VCC?T500QX4P10P00P11P01P12P02P13P03P14P04P15P05P16P06P17P07INT1P20INT0P21P22T1P23T0P24P25EA/VPP26P27X1X2RESETFXDTXDRDALE7PWrPSENU?5319土151918123467880513938373635343332212223242526272810113029圖2-8鍵盤與單片機(jī)的接口電路鍵盤接口電路用P1口接成4X4結(jié)構(gòu),共16個鍵。其中數(shù)字鍵10個,功能鍵6個,功能鍵有啟動鍵、停止鍵、消除報警鍵、刪除鍵、加一鍵、減一鍵。繼電器控制水泵加水電路圖2-9繼電器控制水泵加水的電路該電路由繼電器和閉合開關(guān)、光電耦合器、電動機(jī)、R2、R3R4以及D1、Q4等組成。當(dāng)水位在低水位或高水位時單片機(jī)給P2.5送一個低電平導(dǎo)通光電耦合器然后光電耦合器驅(qū)動Q4#致繼電器15合從而讓220V的交流電接通使水泵加水。其中光電耦合器是以光為媒介傳輸電信號的一種電一光一電轉(zhuǎn)換器件。它由發(fā)光源和受光器兩部分組成。把發(fā)光源和受光器組裝在同一密閉的殼體內(nèi),彼此間用透明絕緣體隔離。發(fā)光源的引腳為輸入端,受光器的引腳為輸出端,在本設(shè)計當(dāng)中發(fā)光源為發(fā)光二極管,受光器為光敏三極管。繼電器是具有隔離功能的自動開關(guān)元件,在我們設(shè)計當(dāng)中主要來做自動控制作用,我們采用+5V的直流電來控制220V的交流電,以達(dá)到控制水泵的作用,因為是在這里是以一種弱電來控制強(qiáng)電所以安裝和使用的過程當(dāng)中我們一定要注意用電安全注意事項。電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開觸點”;處于接通狀態(tài)的靜觸點稱為“常閉觸點”。報警電路圖2-10報警電路當(dāng)給P2.6口一個低電平時,管腳1為高電平,三極管導(dǎo)通,蜂鳴器發(fā)出報警,二極管導(dǎo)通發(fā)光。電源電路2.8.12.8.1圖2-11電源電路在各種電子設(shè)備中,直流穩(wěn)壓電源是必不可少的組成部分,它是電子設(shè)備唯一的能量來源,穩(wěn)壓電源的主要任務(wù)是將50Hz的電網(wǎng)電壓轉(zhuǎn)換成穩(wěn)定的直流電壓和電流,從而滿足負(fù)載的需要,直流穩(wěn)壓電源一般由整流、濾波、穩(wěn)壓等環(huán)節(jié)組成。因為本次設(shè)計的元器件都可以使用+12V或是+5V的電源來驅(qū)動,所以我制作的穩(wěn)壓電源電路如圖2-11所示。本裝置的電源是通過整流橋整流后經(jīng)C5,C8濾波后由7805穩(wěn)定后提供穩(wěn)定的5V電壓。其中,變壓器將交流電源(220V/50Hz)變換為符合整流電路所需要的交流電壓;整流電路是具有單方向?qū)щ娦阅艿恼髌骷?,將交流電壓整流成單方向脈動的直流電壓;濾波電路濾去單向脈動直流電壓中的交流部分,保留直流成分,盡可能供給負(fù)載平滑的直流電壓,其中極性電容C5和C8起到濾波電容的作用,非極性電容C6和C7則可以改善負(fù)載的瞬態(tài)影響,使電路穩(wěn)定工作;穩(wěn)壓電路是一種自動調(diào)節(jié)電路,在交流電源電壓波動或負(fù)載變化時,通過此電路使直流輸出電壓穩(wěn)定。2.8.2備用電源切換電路備用電源切換電路由四個電阻及電壓比較器構(gòu)成電壓比較,正常情況下,V+<V-輸出低電平,達(dá)林頓管不工作,常閉觸點閉合,常開觸點斷開,此時單片機(jī)電源與直流電源VCC1相連;當(dāng)市電因停電而斷開的時候,V+>V-輸出高電平,由兩個晶體管構(gòu)成的達(dá)林頓管,使繼電器開啟,繼電器的常開觸點閉合,常閉觸點斷開,此時單片機(jī)電源與電池相連,從而實現(xiàn)市電和蓄電池供電的切換,保證電路的正常工作。如圖2-12所示。圖2-12備用電源切換電路看門狗電路在由單片機(jī)構(gòu)成的微型計算機(jī)系統(tǒng)中,由于單片機(jī)的工作常常會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環(huán),程序的正常運(yùn)行被打斷,由單片機(jī)控制的系統(tǒng)無法繼續(xù)工作,會造成整個系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果,所以出于對單片機(jī)運(yùn)行狀態(tài)進(jìn)行實時監(jiān)測的考慮,便產(chǎn)生了一種專門用于監(jiān)測單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱“看門狗”??撮T狗電路的應(yīng)用,使單片機(jī)可以在無人狀態(tài)下實現(xiàn)連續(xù)工作,其工作原理是:看門狗芯片和單片機(jī)的一個I/O引腳相連,該I/O引腳通過程序控制它定時地往看門狗的這個引腳上送入高電平(或低電平),一旦單片機(jī)由于干擾造成程序跑飛后而陷入某一程序段不進(jìn)入死循環(huán)狀態(tài)時,寫看門狗引腳的程序便不能被執(zhí)行,這個時候,看門狗電路就會由于得不到單片機(jī)送來的信號,便在它和單片機(jī)復(fù)位引腳相連的引腳上送出一個>10ms的正脈沖,此脈沖即為復(fù)位信號,使單片機(jī)發(fā)生復(fù)位,即程序從程序存儲器的起始位置開始執(zhí)行,這樣便實現(xiàn)了單片機(jī)的自動復(fù)位.采用89C51單片機(jī)和X25045組成的看門狗電路,X25045硬件連接圖如圖2-13所示。X25045芯片內(nèi)包含有一個看門狗定時器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時間。在看門狗定時器預(yù)置的時間內(nèi)若沒有總線活動,則X25045將從RESET輸出一個高電平信號,經(jīng)過微分電路CIOR3輸出一個正脈沖,使CPU?位。圖22電路中,CPU的復(fù)位信號共有3個:上電復(fù)位(C9、R13),人工復(fù)位(S、R12R13)和Watchdog復(fù)位(C10、R14),通過或門綜合后加到RESETS。C10R14的時間常數(shù)不必太大,有數(shù)百微秒即可,因為這時CPUI勺振蕩器已經(jīng)在工作。

看門狗定時器的預(yù)置時間是通過X25045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表2-1所示,X25045狀態(tài)寄存器共有6位有含義,其中WD1WD序口看門狗電路有關(guān),其余位和EEPROM工作設(shè)置有關(guān)。表2-1X25045狀態(tài)寄存器D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0WD1WD0BL1BL0WELWIPWD1WD0BL1BL0WELWIPWD10,WD0=0預(yù)置時間為1.4s。WD10,WD0=1預(yù)置時間為0.6s。WD11,WD0=0預(yù)置時間為0.2s。WD11,WD0=1禁止看門狗工作??撮T狗電路的定時時間長短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時最大循環(huán)周期的時間略長即可。編程時,可在軟件的合適地方加一條喂狗指令,使看門狗的定時時間永遠(yuǎn)達(dá)不到預(yù)置時間,系統(tǒng)就不會復(fù)位而正常工作。當(dāng)系統(tǒng)跑飛,用軟件陷阱等別的方法無法捕捉回程序時,則看門狗定時時間很快增長到預(yù)置時間,迫使系統(tǒng)復(fù)位。3系統(tǒng)軟件的設(shè)計軟件設(shè)計流程圖本軟件流程圖設(shè)計簡易合理,方便易于操控,能夠針對水位的不同狀態(tài)和不同外界條件進(jìn)行控制,水位運(yùn)行穩(wěn)定、控制品質(zhì)良好、控制效果明顯改善;同時大大提高了控制系統(tǒng)的抗干擾能力,保證了工業(yè)水體液位方面作業(yè)的穩(wěn)定運(yùn)行。下圖即為水位檢測主程序流程圖NNY顯示液位高度圖3-1水位檢測流程圖矩陣鍵盤程序設(shè)計程序設(shè)計內(nèi)容運(yùn)用80C51芯片編寫程序設(shè)計實現(xiàn)的矩陣式鍵盤。通過對矩陣鍵盤的硬件電路的設(shè)計及對其進(jìn)行程序匯編和運(yùn)行,通過單片機(jī)的內(nèi)部控制實現(xiàn)對硬件電路的設(shè)計,從而實現(xiàn)對4X4矩陣鍵盤的識別。用單片機(jī)的并行P1口連接4X4矩陣鍵盤,并以單片機(jī)的P1.0—P1.3口作鍵盤輸入的列線,以單片機(jī)的P1.4-P1.7口作為鍵盤輸入的行線,然后用P0.0-P0.7作輸出線,通過上拉電阻在顯示器上顯示液位。在硬件電路的基礎(chǔ)上加上軟件程序的控制來實現(xiàn)設(shè)計。具程序編寫的內(nèi)容是:⑴4X4矩陣鍵盤識別處理。⑵每個按鍵都有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU!信。鍵盤的一端(列線)通過電阻接VCC而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地;另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。系統(tǒng)程序該圖是一個總的系統(tǒng)框圖,首先CPUW入初始狀態(tài),CPUfe讓某一行線為低,其他行線為高,同時列線都為高,通過對按鍵進(jìn)行掃描,也就是通過按鍵后判斷列線是否為0來判斷是否有鍵按下,如果有就繼續(xù)執(zhí)行程序識別判斷是哪個鍵按下,然后通過P0口查詢顯示該數(shù)符,如果沒有按鍵按下就返回程序繼續(xù)掃描直到有鍵按下時才停止掃描。

A顯小程序⑴說明:判斷有鍵按下并且識別出是哪個鍵按下時,接著就通過顯示程序?qū)⑵渫ㄟ^數(shù)碼管顯示出來。該實驗用的是查表程序來實現(xiàn)相應(yīng)鍵的顯示的。將定義字偽指令地址賦給DPTR通過指令MOV(A,@A+DPT查到對應(yīng)字符白顯示碼送給A,再由A送給P0,最后由顯小器顯小出來。顯示器字形與字段的對應(yīng)關(guān)系如下:表3-1顯示器字形與字段對應(yīng)關(guān)系表字形D7D6D5D4D3D2D1D0編碼hgfedcba0001111113F10000011062010110115B3010011114F401100110665011010016D6011110017D70000011178011111117F9011011116FA0111011177B011111007CC0011100139D010111105EE0111100179F0111000171B延時程序說明:為防止抖動,使鍵盤識別失誤,于是我們運(yùn)用一個10ms的延時程序使之產(chǎn)生10ms的定時,對鍵盤再一次進(jìn)行掃描,檢查鍵盤的狀態(tài),當(dāng)兩次掃描到鍵位上有鍵按下時CPU才做處理。此延時程序是通過雙重循環(huán)結(jié)構(gòu)實現(xiàn)延時的。具匯編程序如下:DELAY10ms:MOVR6,#10D1:MOVR7,#248DJNZR7,$DJNZR6,D1RET其延時的時間計算過程為:設(shè)其晶振頻率為6MHZ則其機(jī)器周期為2us,又上述指令均為雙周期指令,因而,T=4+(4+10X4)X248+4=10920u-10msADC0809模數(shù)轉(zhuǎn)換流程圖ADC0809應(yīng)用說明如下:(1)ADC080吶部帶有輸出鎖存器,可以與單片機(jī)直接相連(2)初始化時,使ST和OE信號全為低電平。(3)送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。(4)在ST端給出一個至少有100ns寬的負(fù)脈沖信號。(5)是否轉(zhuǎn)換完畢,我們根據(jù)EOCJ號來判斷。(6)當(dāng)EO嘎為高電平時,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。程序設(shè)計內(nèi)容如下:(1)進(jìn)行A/D轉(zhuǎn)換時,采用查詢EOC勺標(biāo)志信號來檢測A/D轉(zhuǎn)換是否完畢,若完畢則把數(shù)據(jù)通過P0端口讀入,經(jīng)過數(shù)據(jù)處理之后在數(shù)碼管上顯示。(2)進(jìn)行A/D轉(zhuǎn)換之前,要啟動轉(zhuǎn)換的方法:ABC=000,選才?第0通道ST=0產(chǎn)生啟動轉(zhuǎn)換的負(fù)脈沖信號圖3-3模數(shù)轉(zhuǎn)換流程圖4結(jié)論本次設(shè)計基于單片機(jī)的液位控制系統(tǒng),主要介紹了以8051芯片為核心,由鍵盤、數(shù)碼管顯示、A/D模數(shù)轉(zhuǎn)換、電容傳感器測液位等組成的控制系統(tǒng)。另外介紹了ADC0809的工作原理,MC14499芯片的功能及在單片機(jī)中的應(yīng)用,74LS373芯片的功能及使用,LED數(shù)碼管介紹,X25045芯片的功能及使用方法。本文采用的是基于運(yùn)算法的電容式液位檢測傳感器,此傳感器通過傳感器測量電路將液位高度變化轉(zhuǎn)換成相應(yīng)的電壓脈沖寬度變化,又由于ADC0809是輸入模擬量信號單極性,電壓范圍是0-5V,若信號太小,不易測量,必須進(jìn)行放大;而傳感器得出的電壓一般在0?30mv之間,所以要通過反相比例運(yùn)算放大電路進(jìn)行放大。把模擬信號送到ADC0809真擬轉(zhuǎn)換器中變換成數(shù)字量送到單片機(jī)的P0口,通過741s373地址鎖存器將地址信號從地址/數(shù)據(jù)總線中分離出來,以實現(xiàn)總線的分時復(fù)用。由單片機(jī)進(jìn)行實時數(shù)據(jù)采集,并進(jìn)行處理,根據(jù)設(shè)定要求控制輸出,同時數(shù)碼管顯示液位高度。通過鍵盤設(shè)

溫馨提示

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

評論

0/150

提交評論