基于單片機(jī)的液位控制系統(tǒng)設(shè)計_第1頁
基于單片機(jī)的液位控制系統(tǒng)設(shè)計_第2頁
基于單片機(jī)的液位控制系統(tǒng)設(shè)計_第3頁
基于單片機(jī)的液位控制系統(tǒng)設(shè)計_第4頁
基于單片機(jī)的液位控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要液位智能監(jiān)控系統(tǒng)是現(xiàn)在生產(chǎn)生活中必不可少的部件,它的性能和工作質(zhì)量的優(yōu)良不僅對生產(chǎn)有著巨大的影響,而且也關(guān)系著生產(chǎn)的安全。近年來隨著計算機(jī)在社會領(lǐng)域的滲透,單片機(jī)的應(yīng)用不斷走向深入,同時帶動傳統(tǒng)控制檢測日新月益。基于單片機(jī)的液位測量裝置具有測量準(zhǔn)確、重復(fù)性好、功耗低、使用壽命較長的特點(diǎn),是廣泛采用的技術(shù)。在基于單片機(jī)的液位測量裝置基礎(chǔ)上,擴(kuò)展實(shí)時監(jiān)控、數(shù)據(jù)采集、計算機(jī)串行通信等功能,從而能夠通過科學(xué)的方法將液位測量應(yīng)用在工業(yè)、經(jīng)濟(jì)、生活等領(lǐng)域。 本文從硬件和軟件兩方面來講述液位自動控制過程。在控制過程中,以單片機(jī)為核心控制部件,并通過數(shù)碼管顯示液位高度。軟件的設(shè)計采用模塊化結(jié)構(gòu),使程序設(shè)

2、計的邏輯關(guān)系更加簡潔明了,使硬件在軟件的控制下協(xié)調(diào)運(yùn)作。最終實(shí)現(xiàn)了液位的實(shí)時測量與監(jiān)控。最后,本文總結(jié)了設(shè)計過程中出現(xiàn)的問題及解決方法?!娟P(guān)鍵詞】單片機(jī),液位測量,控制,實(shí)時監(jiān)控1AbstractThe intelligent control system is now the production and life of the essential components of its performance and quality of the good work for more than a great influence, and also relations with the pro

3、duction safety. In recent years, with the computer penetration in the social field, the application of SCM is to keep at the same time, traditional control testing update on Crescent benefits. The liquid level measurement device base on MCU is widely used because of many characteristics such as high

4、 measurement accuracy, good repeatability, low power consumption and long useful time.Beyond the liquid level measurement device based on MCU, expand the functions of real-time monitoring, data acquisition, serial communication. Through the new functions, the scientific method of the liquid level me

5、asurement could be widely used in industry, economy, life and other fields.In this paper, both hardware and software for automatic control of the liquid level on the process. In the control of mainly through the single-chip microcomputer as the core control components, and through digital display of

6、 a digital liquid level. Software using assembly language for programming, so that the implementation of Directive speed, to save storage space. In order to facilitate the expansion and changes to the design of modular software structure, so that the logic of the relationship between program design

7、more concise, Hardware software co-operation under the control of it. Ultimately achieved the level of real-time measurement and monitoring. Finally, the paper summarizes the problems and solutions of the design process, describes briefly the method of data processing.【Keywords】MCU,Liquid Level Meas

8、urement, Control,Real-time monitor目 錄一 、緒論 .11.1 引言 .11.2 課題背景與研究意義.11.3 本課題主要研究內(nèi)容 .2二、系統(tǒng)設(shè)計方案 .32.1 基本功能及要求分析 .32.2 系統(tǒng)設(shè)計方案的選擇 .3三、 硬件電路設(shè)計 .53.1 AT89C51 單片機(jī)簡介 .53.2 復(fù)位電路及時鐘電路 .73.3 傳感器的選用 .83.4 A/D 轉(zhuǎn)換電路的設(shè)計 .93.4.1 ADC0809 主要信號引腳的功能 .103.4.2 ADC0809 與 AT89C51 單片機(jī)的連接 .113.5 按鍵設(shè)計 .123.5.1 按鍵去抖.123.5.2 獨(dú)

9、立式鍵盤接口電路.133.6 顯示單元硬件設(shè)計 .133.7 存儲單元硬件設(shè)計.153.8 通信單元硬件設(shè)計 .173.9 繼電器電路設(shè)計 .18四 、系統(tǒng)軟件設(shè)計 .204.1 系統(tǒng)軟件及主程序設(shè)計 .204.1.1 系統(tǒng)軟件編譯開發(fā)環(huán)境.204.1.2 系統(tǒng)主程序流程圖.204.2 系統(tǒng)初始化.214.3 各模塊軟件設(shè)計 .214.3.1 按鍵部分軟件設(shè)計.214.3.2 顯示模塊的軟件設(shè)計.234.3.3 A/D 轉(zhuǎn)換模塊軟件設(shè)計 .234.3.4 電機(jī)控制模塊軟件設(shè)計.244.3.5 時間模塊軟件設(shè)計.25五、結(jié) 論 .27參考文獻(xiàn) .28致 謝 .29附 錄 .30 一 、緒論1.1

10、 引言隨著微電子工業(yè)的迅速發(fā)展, 1976 年單片機(jī)的推出為電子電路設(shè)計提供了新的思路,也促進(jìn)了模擬電路向數(shù)字電路發(fā)展的歷程。它在一片芯片上集成了完整的計算機(jī)系統(tǒng)。單片機(jī)控制的智能型控制器廣泛應(yīng)用于電子產(chǎn)品中,與不同類型的傳感器相結(jié)合,實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、流量、速度、厚度、壓力、溫度等物理量的測量;在家用電器設(shè)備中,單片機(jī)已廣泛用于電視機(jī)、錄音機(jī)、電冰箱、電飯鍋、微波爐、洗衣、高級電子玩具、家用防盜報警等各種家電設(shè)備中。在計算機(jī)網(wǎng)絡(luò)和通信、醫(yī)用設(shè)備、工商、金融、科研、教育、國防、航空航天等領(lǐng)域都有著十分廣泛的應(yīng)用1。單片機(jī)自問世以來,性能不斷提高和完善,體積小、速度快、功耗低的特點(diǎn)

11、使它的應(yīng)用領(lǐng)域日益廣泛。一般,工業(yè)控制系統(tǒng)的工作環(huán)境差,干擾強(qiáng),利用單片機(jī)控制就能克服這些缺點(diǎn),因此單片機(jī)在控制領(lǐng)域得到廣泛的應(yīng)用,使用單片機(jī)控制液體液位是很好的選擇。液位控制一般指對某一液位進(jìn)行控制調(diào)節(jié),使其達(dá)到所要求的控制精度。液位控制系統(tǒng)是以液位為被控參數(shù)的控制系統(tǒng),它在工業(yè)生產(chǎn)的各個領(lǐng)域都有廣泛的應(yīng)用。如在建材行業(yè)中,玻璃窯爐液位的穩(wěn)定對窯爐的使用壽命和產(chǎn)品的質(zhì)量起著至關(guān)重要的作用。液位的自動控制,是近年來新開發(fā)的一項新技術(shù),它是微型計算機(jī)軟件、硬件、自動控制等幾項技術(shù)緊密結(jié)合的產(chǎn)物。11.2 課題背景與研究意義在工農(nóng)業(yè)生產(chǎn)中,常常需要測量液體液位。隨著國家工業(yè)的迅速發(fā)展,液位測量技術(shù)

12、被廣泛應(yīng)用到石油、化工、醫(yī)藥、食品等各行各業(yè)中。單片機(jī)智能控制器,使學(xué)生有了更深層次的了解。綜合分析后選擇了由單片機(jī)控制的智能液位控制器作為一個研究項目,充分激發(fā)學(xué)生分析問題和解決問題通過培訓(xùn)和知識的綜合應(yīng)用的潛力。在教學(xué)和科學(xué)研究,也經(jīng)常遇到需要液位控制實(shí)驗(yàn)裝置。此外,上村的液位控制水塔水位控制、污水處理設(shè)備和有毒、腐蝕性液體液位控制得到了廣泛的應(yīng)用。在工業(yè)生產(chǎn)過程中,有很多地方需要對容器內(nèi)的介質(zhì)進(jìn)行液位控制,使之高精度地保持在給定的數(shù)值,工程作業(yè)采用的是微機(jī)控制和原有的儀表控制,微機(jī)控制有以下明顯優(yōu)勢。(1)直觀而集中的顯示各運(yùn)行參數(shù),能顯示液位狀態(tài);(2)在運(yùn)行中可以隨時方便的修改各種各

13、樣的運(yùn)行參數(shù)的控制值,并修改系統(tǒng)的控制參數(shù),可以方便的改變液位的上限、下限;(3) 具有水體控制過程的自動化處理以及監(jiān)控軟件良好的人機(jī)界面,操作人員在監(jiān)控計算機(jī)上能根據(jù)控制效果及時修運(yùn)行參數(shù),這樣能有效地減少工人的疲勞和失誤,提高生產(chǎn)過程的實(shí)時性、安全性。本設(shè)計基于AT89C51單片機(jī),包括測量電路部分、AD轉(zhuǎn)換部分、鍵盤輸入控制部分、液位實(shí)時數(shù)顯輸出部分以及液位控制部分(原理圖中不涉及) ,還可在此基礎(chǔ)上添加報警器(不涉及) 。1.3 本課題主要研究內(nèi)容本設(shè)計以水箱供水為模型,設(shè)計以單片機(jī)為基礎(chǔ)的液位測量監(jiān)控記錄系統(tǒng)。具有實(shí)時液位測量監(jiān)控數(shù)據(jù)處理等功能。設(shè)計具體內(nèi)容分為以下幾個方面:(1)系

14、統(tǒng)硬件電路設(shè)計; (2)畫出電路方框圖,敘述主要模塊的功能及他們之間的控制關(guān)系和數(shù)據(jù)傳輸;(3)系統(tǒng)軟件設(shè)計。編制相應(yīng)的控制程序,用C語言進(jìn)行編譯并調(diào)試。 2二、系統(tǒng)設(shè)計方案 2.1 基本功能及要求分析本設(shè)計是采用AT89C51單片機(jī)為核心芯片,及其相關(guān)硬件來實(shí)現(xiàn)的液位控制系統(tǒng),在用液位傳感器測液位的同時, CPU循環(huán)檢測傳感器輸出狀態(tài),并用3位七段LED顯示液位高度,檢測液位數(shù)據(jù),實(shí)施報警安全提示,當(dāng)水體液位低于用戶設(shè)定的值時,系統(tǒng)自動打開泵上水,當(dāng)水位到達(dá)或高于設(shè)定值時,系統(tǒng)自動關(guān)閉水泵或打開排水泵。有以下幾點(diǎn)基本要求:(1)要求能夠?qū)崿F(xiàn)較高精度的測量;(2)以單片機(jī)AT89C51為基礎(chǔ),

15、設(shè)計外圍電路;(3)電路設(shè)計,包括AD轉(zhuǎn)換模塊、數(shù)顯模塊、鍵盤輸入模塊; (4)對測量電路的各種精度指標(biāo)進(jìn)行測試(非線性誤差、重復(fù)性、滯后、靈敏度、抗側(cè)向能力大小、溫變對靈敏度的影響等指標(biāo))。2.2 系統(tǒng)設(shè)計方案的選擇液位控制方法有很多,主要有兩種類型和被廣泛應(yīng)用,一種是簡單的機(jī)械控制裝置的控制,一種是復(fù)雜的控制器控制模式。兩種方法的實(shí)現(xiàn)如下: (1)簡單的機(jī)械控制方式。常用的形式一個浮標(biāo)類型和電極式,這種控制的優(yōu)點(diǎn)是結(jié)構(gòu)簡單,成本低。問題是精度不高,不能進(jìn)行數(shù)字顯示,此外,它很容易引起誤操作,只能單獨(dú)控制,與電腦是難以實(shí)現(xiàn)。 (2)復(fù)雜的控制器控制模式。這種控制方式是通過壓力傳感器安裝在泵出

16、口管、出口壓力成標(biāo)準(zhǔn)的工業(yè)電氣模擬信號,經(jīng)前置放大器和多通道開關(guān)、A / D 轉(zhuǎn)換成數(shù)字信號發(fā)送給單片機(jī),單片機(jī)操作和給定參數(shù)的比較,PID 算法,得出調(diào)整參數(shù);通過 D / A 轉(zhuǎn)換調(diào)節(jié)電壓/頻率控制裝置對于一個給定的輸入,來控制輸出電壓的變化,來調(diào)整電機(jī)轉(zhuǎn)速,以達(dá)到控制水位的目的。鑒于上述兩種控制方式,和設(shè)計滿足性能要求,選擇第二種控制方式,同時,考慮到成本需要刪除PID控制。最終的解決方案是形式,利用單片機(jī)為控制核心,設(shè)計一個系統(tǒng)來監(jiān)測水箱水位。根據(jù)監(jiān)測對象的特性,實(shí)時檢測的要求水箱液位高度,并開始集數(shù)據(jù)比較,采用單片機(jī)控制固態(tài)繼電器打開調(diào)整水平,最終實(shí)現(xiàn)水平集點(diǎn)。如果值高于上限3值,報

17、警,斷開繼電器,控制水泵停止;如果讀數(shù)低于下限值,報警,打開繼電器來控制泵上水?,F(xiàn)場實(shí)時顯示測量值,從而實(shí)現(xiàn)水位監(jiān)測,原理流程圖如圖2-1所示。圖 2-1 原理流程圖傳感器P0 P1AT89C51 P2 P3AD 轉(zhuǎn)換器鍵盤控制量輸入其他控制P3&0 x3c數(shù)據(jù)顯示&0 x3c液體變量模擬量4三、 硬件電路設(shè)計3.1 AT89C51 單片機(jī)簡介AT89C51 是一種帶 4K 字節(jié) FLASH 存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機(jī)。AT89C51

18、 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。 單片機(jī)可擦除只讀存儲器可以抹去反復(fù) 100000 次。該設(shè)備采用 ATMEL 高密度非易失存儲器制造技術(shù),和行業(yè)標(biāo)準(zhǔn)的 MCS - 51 指令集和輸出管兼容。由于多功能 8 位 CPU 和閃存在單一芯片,ATMEL AT89C51 單片機(jī)的結(jié)合是一種有效的和微控制器 AT89C51 的精簡版本2。AT89C51 為許多嵌入式控制系統(tǒng)提供了一個高靈活性和低價格。外形及引腳排列如圖 3-1 所示。圖 3-1 AT89C51 引腳圖a) VCC:供電電壓。b) GND:接地。P0口:P0口是一個8位雙向I/O端口。作為輸出,每個可以驅(qū)動八個

19、TTL邏輯電平。寫“1”,為P0端口用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器,P0口低8地址/數(shù)據(jù)重用。在這種模式下,P0內(nèi)部上拉電阻。在FLASH編程中,P0口還用于接收指令字節(jié),例行檢查,輸出字節(jié)順序。例行檢查,需要外部上拉電阻。P1:P1口是一個內(nèi)部上拉電阻8位雙向I/O端口,P1輸出緩沖區(qū)可以驅(qū)動四個TTL邏輯水平。P1端口寫“1”,此時內(nèi)部上拉電阻的端口,可以作為一個輸入端口。當(dāng)用作輸入、外部拉銷由于內(nèi)部阻力,輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的5外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下所示:在FLA

20、SH編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。引腳號第二功能:P1.0/T2 (定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1/T2EX (定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5, P1.6, P1.7 (在系統(tǒng)編程用)P2口:P2口是一個內(nèi)部上拉電阻8位雙向I / O端口,P2輸出緩沖區(qū)可以驅(qū)動四個TTL邏輯水平。P2端口寫“1”,此時內(nèi)部上拉電阻的端口,可以作為一個輸入端口。當(dāng)用作輸入、外部拉銷由于內(nèi)部阻力,輸出電流(IIL)。在訪問外部程序存儲器或16位地址讀取外部數(shù)據(jù)存儲器(如執(zhí)行MOVX)、P2口發(fā)出高八地址。在這個應(yīng)用程序中,P2使用強(qiáng)大的內(nèi)部上拉發(fā)送1口。

21、在使用8位地址(如MOVX)訪問外部數(shù)據(jù)存儲、P2的內(nèi)容輸出P2門閂。在FLASH編程和校準(zhǔn),P2口也得到高8位地址字節(jié)和一些控制信號3。P3口:P3口是一個內(nèi)部上拉電阻8位雙向I / O端口,P3輸出緩沖區(qū)可以驅(qū)動四個TTL邏輯水平。P3寫“1”,這次內(nèi)部上拉電阻的端口,可以作為一個輸入端口。當(dāng)用作輸入、外部拉銷由于內(nèi)部阻力,輸出電流(IIL)。P3口也被用作AT89C51特殊功能使用。P3.0 RXD(串行輸入口)c) P3.1 TXD(串行輸出口)d) P3.2 /INT0(外部中斷0)e) P3.3 /INT1(外部中斷1)f) P3.4 T0(記時器0外部輸入)g) P3.5 T1(

22、記時器1外部輸入)h) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)i) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)j) P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。RST復(fù)位輸入。當(dāng)振蕩器工作時,在RST引腳加兩個機(jī)器周期以上的高電平來使單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問外部程序存儲器和數(shù)據(jù)存儲器,ALE(地址鎖存器允許)輸出的脈6沖用于鎖低 8 個字節(jié)的地址。在 FLASH 編程,引入編程脈沖。在正常時期,ALE 結(jié)束周期在恒頻輸出脈沖信號,此頻率是振蕩器頻率的 1/6。注意:當(dāng)訪問外部數(shù)據(jù)內(nèi)存會跳過脈沖。閃存編程時,還用于輸入脈沖編程。如果有必要,可以基于特殊功能寄存器(SFR)單位 8E

23、H 單元中的 D0 的位置,可以禁止 ALE 操作。位置之后,啤酒只有在執(zhí)行 MOVX MOVC指令是 ALE 才行。此外, 該引腳會被微弱拉高,單片機(jī)執(zhí)行外部應(yīng)用程序,應(yīng)設(shè)置 ALE禁止位無效4。PSEN程序存儲允許(PSEN)輸出的外部程序存儲器讀取控制信號,當(dāng)以AT89S52由外部程序存儲器取指令(或數(shù)據(jù)),每臺機(jī)器周期PSEN有效兩次,兩個脈沖輸出,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP外部訪問只允許CPU訪問外部程序內(nèi)存(地址是0000 h FFFFH),EA結(jié)束必須保持低水平(地面)。注意:如果加密LB1是編程,將重置時內(nèi)部鎖存EA端狀態(tài)。EA端為高電

24、平,CPU執(zhí)行內(nèi)部程序存儲指令。閃存編程,當(dāng)然,這必須的是使用12 v電壓Vpp編程。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.2 復(fù)位電路及時鐘電路 復(fù)位電路的基本功能是:提供一個復(fù)位信號時,系統(tǒng)電源,直到電力系統(tǒng)穩(wěn)定后,撤銷復(fù)位信號。為目的的可靠、穩(wěn)定的電源由一個特定的時間延遲,直到取消復(fù)位信號后,在這種情況下,電源開關(guān)或電源插頭造成的抖動和影響的過程中恢復(fù)。圖1所示的RC復(fù)位電路可以實(shí)現(xiàn)上述基本功能,圖3為其輸入-輸出特性。但解決不了電源毛刺(A點(diǎn))和電源緩慢下降(電池電壓不足)等問題 而且改變RC常數(shù)延時會令驅(qū)動能力變差電路,如圖

25、3-2所示。7圖 3-2 復(fù)位電路及時鐘電路上圖中網(wǎng)絡(luò)標(biāo)號RST連接單片機(jī)RST引腳,具有上電復(fù)位與手動復(fù)位的功能;XTAL1與XTAL2連接單片機(jī)XTAL1和XTAL2引腳,且并聯(lián)兩個30pF匹配電容使晶振起振。由于單片機(jī)P0口作普通I/O口時不能輸出高電平,因此需接上拉電阻,實(shí)際電路中,使用8*10K電阻作為上拉電阻。3.3 傳感器的選用 壓力傳感器是工業(yè)實(shí)踐中最為常用的一種傳感器,其廣泛應(yīng)用于各種工業(yè)自控環(huán)境,涉及水利水電、鐵路交通、智能建筑、生產(chǎn)自控、航空航天、軍工、石化、油井、電力、船舶、機(jī)床、管道等眾多行業(yè),壓力傳感器是工業(yè)實(shí)踐中最為常用的一種傳感器,一般普通的壓力傳感器輸出為模擬

26、信號,模擬信號是指信息參數(shù)在給定范圍內(nèi)表現(xiàn)為連續(xù)的信號。 或在一段連續(xù)的時間間隔內(nèi),其代表信息的特征量可以在任意瞬間呈現(xiàn)為任意數(shù)值的信號。而我們通常使用的壓力傳感器主要是利用壓電效應(yīng)制造而成的,這樣的傳感器也稱為壓電傳感器5。電阻應(yīng)變片的工作原理:金屬電阻應(yīng)變片的工作原理是吸附在基體材料上應(yīng)變電阻隨機(jī)械形變而產(chǎn)生阻值變化的現(xiàn)象,俗稱為電阻應(yīng)變效應(yīng)。金屬導(dǎo)體的電阻值可用下式表示:式中:金屬導(dǎo)體的電阻率(cm2/m)8S導(dǎo)體的截面積(cm2)L導(dǎo)體的長度(m)我們以金屬絲應(yīng)變電阻為例,當(dāng)金屬絲受外力作用時,其長度和截面積都會發(fā)生變化,從上式中可很容易看出,其電阻值即會發(fā)生改變,假如金屬絲受外力作用

27、而伸長時,其長度增加,而截面積減少,電阻值便會增大。當(dāng)金屬絲受外力作用而壓縮時,長度減小而截面增加,電阻值則會減小。只要測出加在電阻的變化(通常是測量電阻兩端的電壓),即可獲得應(yīng)變金屬絲的應(yīng)變情。k) 其引腳分布如圖3-3所示。1腳為信號輸出();2腳為信號輸出();3腳為激勵電壓;4腳為地;5腳為信號輸出(+);6腳為信號輸出(+)。l)l) 在水箱底部安裝1根直徑為5 mm的軟管,一端安裝在水箱底部;另一端與傳感器連接。水箱水位高度發(fā)生變化時,引起軟管內(nèi)氣壓變化,然后傳感器把氣壓轉(zhuǎn)換成電壓信號,輸送到AD轉(zhuǎn)換器。圖 3-3 SY-9411L-D 引腳圖3.4 A/D轉(zhuǎn)換電路的設(shè)計 m) 本

28、次課程設(shè)計使用AD轉(zhuǎn)換器件是ADC0809,ADC0809是8路模擬信號的分時采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道抵制鎖存用譯碼電路,它的轉(zhuǎn)換時間為100s左右,選用為28引腳的雙列直插式封裝的ADC0809芯片,其引腳分布如圖3-4。9n)圖 3-4 ADC0809 引腳圖3.4.1 ADC0809主要信號引腳的功能o) IN7IN0模擬量輸入通道p) ALE地址鎖存允許信號。對應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。q) START啟動信號轉(zhuǎn)換。上升沿開始,重置ADC0809;引導(dǎo)ROM開始下降,開始A / D轉(zhuǎn)換,期間的A / D轉(zhuǎn)換,一開始就應(yīng)該保持低電平。有時簡寫

29、為ST。r) CLK時鐘信號。ADC0809里面沒有時鐘電路,外部世界提供的時鐘信號,所以有一個時鐘信號。通常使用的時鐘信號頻率為500KHz。s) A、B、C地址線。 選擇通道端口線,A為低地址,C為高地址,在引腳圖中就為ADDA,ADDB和ADDC。t) D7D0數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,能和單片機(jī)的數(shù)據(jù)線直接相連。其中D0為最低位,D7為最高位。u) EOC轉(zhuǎn)換結(jié)束信號。EOC置0,進(jìn)行轉(zhuǎn)換;EOC置1,轉(zhuǎn)換結(jié)束。使用時該狀態(tài)信號即能作為查詢的狀態(tài)標(biāo)志,也可以作為中斷請求信號使用。v) OE輸出允許信號。用來控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE置0,輸出數(shù)據(jù)線呈高阻態(tài)

30、;OE置1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。w) Vcc +5V電源。10Vref參考電源參考電壓用來與輸入的模擬信號進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V, Vref(-)=-5V). 設(shè)計滿偏電壓為5V,則VREF輔助參考電壓為5V/2=2.5V,在10%的誤差范圍內(nèi),無需過分苛刻參考電壓的電壓源,由于系統(tǒng)中DC5V供電,采用兩只相同阻值電阻分壓,便能近似得到2.5V的參考電壓。系統(tǒng)中使用 10K 電阻與 150pF 電容組成 RC 振蕩電路,根據(jù)技術(shù)手冊計算公式: (3-KHzRCfclk606)( 1 . 111)其振蕩頻率約為606kHz,滿足芯片要求。另外,以壓

31、阻式壓力傳感器為模型,壓阻式壓力傳感器阻值變化與液位的高度是成正比的,因此需要將電阻值轉(zhuǎn)換為電壓值匹配A/D轉(zhuǎn)換器。常用的阻抗-電壓轉(zhuǎn)換法如歐姆法。由于被測阻抗兩端電壓正比于被測電阻,可把被測阻抗轉(zhuǎn)換為電壓測量。即 (3-2)xNxRaIU式中,是轉(zhuǎn)化電壓,恒定電流,為被測電阻,為比例系數(shù)。因此,液位高度xUNIxRa的變化同樣正比于輸入電壓,故而A/D轉(zhuǎn)換器輸出的數(shù)據(jù)正比于液位高度。為了簡化設(shè)計調(diào)試過程,使用系統(tǒng)內(nèi)部5V電壓作為模擬輸入,VIN(-)直接接地,通過接入傳感器分壓將阻抗轉(zhuǎn)換為電壓信號,接入電位器可實(shí)現(xiàn)模擬輸入6。3.4.2 ADC0809與AT89C51單片機(jī)的連接x) 電路連

32、接主要涉及兩個問題。一是8路模擬信號通道的選擇,二是A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。ADC0809與AT89C51單片機(jī)的連接圖如圖3-5。11(2)圖 3-5 ADC0809 與 AT89C51 單片機(jī)的接線圖3.5 按鍵設(shè)計鍵盤作為單片機(jī)應(yīng)用系統(tǒng)中的一個重要部件,它可以實(shí)現(xiàn)向單片機(jī)系統(tǒng)輸入數(shù)據(jù)、發(fā)送命令等功能,是人工干預(yù)單片機(jī)的主要手段。3.5.1 按鍵去抖a) 通常鍵用于機(jī)械靈活切換,當(dāng)機(jī)械接觸打開,關(guān)閉,如下圖電壓很小。由于機(jī)械彈性接觸的影響,當(dāng)按鍵開關(guān)關(guān)閉不穩(wěn)定時,不要突然斷開連接。因此在關(guān)閉和打開的瞬間都伴隨著一系列的抖動,如下圖所示。握手的時間長度由按鍵的機(jī)械性能,一般為5 10

33、毫秒。b) 穩(wěn)定的按鈕關(guān)閉時間長度取決于操作人員的按鈕,一般為零幾秒幾秒。鍵抖動將導(dǎo)致多次按鈕是一種誤讀。確保CPU的閉鍵只是處理,必須刪除關(guān)鍵幀。讀鍵關(guān)閉穩(wěn)定狀態(tài)和判別關(guān)鍵發(fā)布進(jìn)一步處理后必須保持穩(wěn)定。鍵抖動,兩種方法可用,硬件或軟件。c) (1)硬件消抖:在按鍵數(shù)比較少的情況下時可用硬件方法消除抖動。如圖3-6所示。12d)圖 3-6 RS 觸發(fā)器硬件消抖e) 在兩個與非門組成RS觸發(fā)器。按鈕沒有按下時,輸出為1;鍵按下時,輸出為零。此時使用機(jī)械性能的按鈕,使鍵由于彈性抖動瞬時斷開跳(抖動)B,按鈕不返回到原始狀態(tài),雙穩(wěn)態(tài)電路狀態(tài)不改變,保持零輸出,不會產(chǎn)生波形的抖動。也就是說,即使B點(diǎn)電

34、壓波形是顫抖,但雙穩(wěn)態(tài)電路后,定期輸出矩形波。這一點(diǎn)通過分析RS觸發(fā)器的工作過程容易驗(yàn)證。f) (2)軟件消抖:如果按鈕,常用軟件握手,即檢測的關(guān)鍵執(zhí)行延遲程序關(guān)閉后,5 10毫秒的延遲女士,讓前沿抖動消失后再測試狀態(tài),如果你仍然保持密切國家水平,被認(rèn)為是一個真正的按鍵。當(dāng)他們測試按鈕被釋放,也想給5 10毫秒的延遲,女士保持沿抖動消失轉(zhuǎn)向處理程序的關(guān)鍵7。3.5.2 獨(dú)立式鍵盤接口電路考慮到本設(shè)計實(shí)際需要的按鍵較少,故采用獨(dú)立式鍵盤接口電路。它是將每個獨(dú)立按鍵按一對一的方式直接接到單片機(jī)的I/O口上,通過程序掃描查詢方式實(shí)現(xiàn)與單片機(jī)系統(tǒng)交互。在程序查詢方式下,通過I/O端口讀入按鍵狀態(tài),當(dāng)有

35、按鍵按下時,相應(yīng)的I/O端口變?yōu)榈碗娖剑幢话聪碌陌存I在上拉電阻作用下為高電平,這樣通過讀I/O口的狀態(tài)判斷是否有按鍵按下。如圖3-7所示,S2S5便是控制顯示用的按鍵。其作用就是通過按動它們實(shí)現(xiàn)對高13低警戒液位的設(shè)置。具體來說,S3、S4分別實(shí)現(xiàn)數(shù)字的增一與減一,S2、S5則作為高低警戒液位的模式選擇和確認(rèn)鍵。圖 3-7 系統(tǒng)按鍵電路3.6 顯示單元硬件設(shè)計在顯示單元上,使用了74LS273帶公共時鐘復(fù)位八位觸發(fā)器與74LS47共陽極BCD顯示譯碼驅(qū)動芯片,兩個芯片的管腳圖如圖3-8。74LS273與74LS47引腳功能說明:74LS273:1腳是復(fù)位CLR,低電平有效,當(dāng)1腳是低電平時

36、,輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部輸出圖 3-8 74LS273 及 74LS47 引腳圖140,即全部復(fù)位;當(dāng)1腳為高電平時,11(CLK)腳是鎖存控制端,并且是上升沿觸發(fā)鎖存,當(dāng)11腳有一個上升沿,立即鎖存輸入腳3、4、7、8、13、14、17、18的電平狀態(tài),并且立即呈現(xiàn)在在輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上。74LS47上BI/ROB,LI,RBI引腳為控制引腳,主要用于測試和脈沖控制,均為低電平有效,設(shè)計上不適用此項功能,因此均接

37、高電平。A0A3是BCD輸入,分解74LS273輸出的高、低四位。ag用于共陽極數(shù)碼管的相應(yīng)管腳的連接。根據(jù)以上的設(shè)計思路,設(shè)計電路圖如圖3-9。15圖 3-9 顯示部分電路圖3.7 存儲單元硬件設(shè)計存儲模塊的硬件設(shè)計比較簡單,由于 AT89C51 單片機(jī)為數(shù)據(jù)線與低 8 位地址線復(fù)用,需要使用地址鎖存芯片 74LS373。上文中已敘述,使用 32KRAM 作為存儲芯片,因此選用與 51 系列兼容的 62256 隨機(jī)數(shù)據(jù)存儲器8。該模塊中使用的兩個芯片管腳功如圖 3-10 所示。在 62256 中,A0A14 管腳為地址總線,共 15 位,尋址范圍可達(dá)到32kB;I/O0I/O7 為 8 位三

38、態(tài)雙向數(shù)據(jù)接口;Vcc,Vss 為電源和地;CS 是片選接口,低電平有效;OE/WE 分別是讀選通和寫選通數(shù)據(jù)輸入輸入線,低電平有效。62256 分別是 32 K8 的高集成度的隨機(jī)存取存儲器,有 28 個引腳,采用雙列直插式結(jié)構(gòu),62256 的引腳分布如圖 3-10 所示。它們的內(nèi)部結(jié)構(gòu)與 6264 類似,也是由存儲器陣列、行列地址譯碼器以及數(shù)據(jù)輸入輸出控制邏輯組成。引腳功能和外部特性與 6264 基本相同,區(qū)別僅在于由于容量大,第 26 引腳為 A13 第 1 引腳為 A14。1674LS373 引腳位置和功能與 74LS273 差異不大,區(qū)別在于其 1 腳是輸出使能(OE) ,是低電平有

39、效,當(dāng) 1 腳是高電平時,不管輸入 3、4、7、8、13、14、17、18如何,也不管 11 腳(鎖存控制端,G)如何,輸出 2(Q0) 、5(Q1) 、6(Q2) 、9(Q3) 、12(Q4) 、15(Q5) 、16(Q6) 、19(Q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài)) ;當(dāng) 1 腳是低電平時,只要 11 腳(鎖存控制端,G)上出現(xiàn)一個下降沿,輸出2(Q0) 、5(Q1) 、6(Q2) 、9(Q3) 、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現(xiàn)輸入腳 3、4、7、8、13、14、17、18 的狀態(tài)。74LS273 也可以作為地址鎖存器來用,作鎖存器時,對 273 來說

40、,1(CLR)腳必須接高電平,ALE 信號經(jīng)過反相后接 11 腳(因?yàn)閱纹瑱C(jī)的 ALE 信號是以下降沿方式出現(xiàn))對 373 來說,1 腳接低電平,保證使能,11腳直接接單片機(jī)的 ALE 信號。按照常規(guī)的連接方法設(shè)計電路圖 3-11 如示。圖 3-11 存儲的單元電路3.8 通信單元硬件設(shè)計MAX485僅有8個管腳,電路設(shè)計比較簡單,如圖3-12。圖 3-10 62256 引腳圖17 RO 引腳接到單片機(jī)串口接收引腳 RXD(P3.0) ,DI 引腳接到單片機(jī)串口發(fā)送引腳TXD(P3.1) 。由于 MAX485 為半雙工通信方式,不能同時發(fā)送接收數(shù)據(jù),只能通過控制RE 和 DE 引腳的狀態(tài)來進(jìn)行

41、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的轉(zhuǎn)換。為了節(jié)省單片機(jī) I/O 口資源,將 RE 和 DE 引腳連在一起,輸入低電平時,MAX485 處于接收狀態(tài);輸入高電平時,其處于發(fā)送數(shù)據(jù)狀態(tài)。定義 RE 和 DE 連接在一起的網(wǎng)絡(luò)標(biāo)號為 E,接入單片機(jī) P1 口,用于發(fā)送與接收的轉(zhuǎn)換。A,B 端為發(fā)送接收差分信號端,一般需在 A,B 端之間加匹配電阻,匹配電阻為 120,硬件電路如圖 3-13。圖 3-13 串行通信模塊電路圖3.9 繼電器電路設(shè)計由于使用單片機(jī)I/O口的驅(qū)動電流較弱,不滿足繼電器吸合電流參數(shù)的要求,需使用三極管驅(qū)動繼電器吸合。設(shè)計電路如圖3-14。圖 3-12 MAX485 引腳圖18圖 3-14

42、繼電器部分電路圖為了防止電源尖峰脈沖引發(fā)的噪聲干擾以及高頻信號線間的耦合干擾,在電源入口處及芯片頂端或底端,接入去耦電容,以增強(qiáng)系統(tǒng)的穩(wěn)定性。電源指示燈設(shè)計如圖3-15。圖 3-15 電源指示燈電路圖19四 、系統(tǒng)軟件設(shè)計4.1 系統(tǒng)軟件及主程序設(shè)計4.1.1 系統(tǒng)軟件編譯開發(fā)環(huán)境C語言是一種編譯型程序設(shè)計語言。它兼顧了多種高級語言的特點(diǎn),并具備匯編語言的功能。用C語言來編寫目標(biāo)系統(tǒng)軟件,會大大縮短開發(fā)周期,增加軟件的可讀性,便于改進(jìn)和擴(kuò)充。用C語言進(jìn)行51系列單片機(jī)程序設(shè)計是單片機(jī)開發(fā)與應(yīng)用的必然趨勢。KEIL C51開發(fā)工具套件可用于匯編C語言程序、匯編源程序,鏈接和定位目標(biāo)文件和庫,創(chuàng)建

43、HEX文件以及調(diào)試目標(biāo)程序。本設(shè)計使用KEIL C51 Vision4為開發(fā)編譯環(huán)境,使用C語言編寫程序,實(shí)現(xiàn)各模塊功能設(shè)計9。4.1.2 系統(tǒng)主程序流程圖主程序流程圖如圖4-1所示開始設(shè)定液位上下限值,給定初值是否低于給定值模擬量輸入及 AD 轉(zhuǎn)換數(shù)顯輸出測量值高于上限是否開啟水閥測量值低于下限結(jié)束啟動報警取消報警關(guān)閉水閥否啟動報警取消報警開啟水閥否204.2 系統(tǒng)初始化該模塊在系統(tǒng)上電開機(jī)時將系統(tǒng)端口、數(shù)據(jù)存儲區(qū)、標(biāo)志位、指針、地址等賦予有含義的值。具體分為以下幾個模塊列表描述,見表4-1表4-1 初始化參數(shù)及含義模塊變量/端口初始值功能adRD/P1.31A/D轉(zhuǎn)換芯片數(shù)據(jù)讀入控制,初始

44、為不讀入adWR/P1.40A/D轉(zhuǎn)換芯片轉(zhuǎn)換控制,初始為停止E/P1.50通信接收發(fā)送控制,初始為接收DIS/P1.60顯示數(shù)據(jù)鎖存控制,初始為保持控制端口初始化RELAY/P1.71繼電器控制,初始狀態(tài)為斷開TMOD0 x22單片機(jī)片內(nèi)定時/計數(shù)器工作在方式二SCON0 x40串行口為8位UART工作方式TH10 xf4TL10 xf4波特率設(shè)置為4800bpsIE0禁止定時器中斷TR11啟動定時器波特率發(fā)生器初始化REN1允許串行口接收數(shù)據(jù)sec0 x00min0 x00hr0 x00date0 x01mon0 x01day0 x06時間初始化year0 x11初始化系統(tǒng)時間為2011年

45、1月1日0時0分0秒星期六其中sec,min,hr,date,mon,day,year依次為秒、分、時、日、月、星期、年xmark0 x7531數(shù)據(jù)存儲狀態(tài)標(biāo)志字節(jié)指針numtab0 x0001數(shù)據(jù)存儲區(qū)指針uplq0 xCF高液位警戒高度,初始值數(shù)據(jù)參數(shù)初始化downlq0 x10低液位警戒高度,初始值初始化過程中,調(diào)用A/D轉(zhuǎn)換模塊獲得首次液位數(shù)據(jù),并顯示,完成初始化工作4.3 各模塊軟件設(shè)計4.3.1 按鍵部分軟件設(shè)計本文采用了獨(dú)立式鍵盤,即每個按鍵單獨(dú)占用一根口線。在程序查詢方式下,通過I/O端口讀入按鍵狀態(tài),當(dāng)有按鍵按下時,相應(yīng)的端口變?yōu)榈碗娖?,這樣通過讀入I/O口狀態(tài)判斷是否有按鍵

46、按下。查詢式鍵盤的程序流程圖4-2。圖4-1 主程序流程圖21下面給出鍵盤掃描的主程序,其分支程序省略。void judge_key(void)uchar Key_value=0;Key_value=P3&0 x3c; /*讀取鍵值*/switch(Key_value)case 0 x38:delay(30000); /*調(diào)用延時子程序*/if(Key_value=(P3&0 x3c) /*進(jìn)行判斷按鍵是否為干擾*/manage_key2();break; /*調(diào)用子函數(shù)*/else break;case 0 x1c:delay(30000);if(Key_value=(P3&

47、amp;0 x3c)manage_key5();break;鍵盤管理程序入口Key_value=P3&0 x3c是否有按鍵按下調(diào)用延時程序Key_value=P3&0 x3c調(diào)用相應(yīng)子程序是否圖 4-2 鍵盤程序流程圖22else break;default:break;4.3.2 顯示模塊的軟件設(shè)計本文使用了靜態(tài)鎖存顯示,先對顯示數(shù)據(jù)進(jìn)行處理后再進(jìn)行鎖存控制。在硬件電路設(shè)計中使用的是74LS273芯片鎖存數(shù)據(jù)。當(dāng)在ALE輸入信號的下降沿到來時鎖存信號,因此首先給控制引腳高電平,延遲幾個時鐘周期待信號穩(wěn)定時,P0口輸出處理后的數(shù)據(jù),同樣延遲幾個時鐘周期待信號穩(wěn)定后,給控制引腳置低電平,數(shù)據(jù)鎖存,顯示就輸出10?,F(xiàn)將液位顯示部分程序簡略如下:display()DIS=0;_nop_();_nop_();_n

溫馨提示

  • 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

提交評論