單容水箱液位檢測儀設(shè)計(jì)(共23頁)_第1頁
單容水箱液位檢測儀設(shè)計(jì)(共23頁)_第2頁
單容水箱液位檢測儀設(shè)計(jì)(共23頁)_第3頁
單容水箱液位檢測儀設(shè)計(jì)(共23頁)_第4頁
單容水箱液位檢測儀設(shè)計(jì)(共23頁)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 PAGE 22課程設(shè)計(jì)(論文(lnwn))任務(wù)及評語院(系):電氣(dinq)工程學(xué)院 教研室:自動化 學(xué) 號學(xué)生姓名專業(yè)班級課程設(shè)計(jì)(論文)題目單容水箱液位檢測儀設(shè)計(jì)課程設(shè)計(jì)(論文)任務(wù)課題完成的功能、設(shè)計(jì)任務(wù)及要求、技術(shù)參數(shù)實(shí)現(xiàn)功能水箱是常用的儲水裝置,單片機(jī)控制的水箱液位檢測儀,液位高度:10cm30cm,控制要求:(1)系統(tǒng)每隔2分鐘采集一次液位值,正常情況下,由顯示器顯示;(2)當(dāng)液位達(dá)到30cm以上時(shí),紅色指示燈常亮,并伴有聲音報(bào)警,低于10cm時(shí),黃色指示燈亮,也伴有聲音報(bào)警;當(dāng)液位10cm30cm之間時(shí),綠色指示燈長亮。設(shè)計(jì)任務(wù)及要求1、分析系統(tǒng)功能,選擇單片機(jī)、傳感器和功能

2、模塊;2、設(shè)計(jì)系統(tǒng)的硬件電路圖;3、編寫相應(yīng)的軟件,完成控制系統(tǒng)的控制要求;4、上機(jī)調(diào)試、完善程序;5、按學(xué)校規(guī)定格式,撰寫、打印設(shè)計(jì)說明書一份;設(shè)計(jì)說明書應(yīng)在4000字以上。技術(shù)參數(shù)液位檢測范圍0cm100cm ,檢測精度1 cm 。進(jìn)度計(jì)劃1、布置任務(wù),查閱資料,確定系統(tǒng)設(shè)計(jì)方案(2天)2、系統(tǒng)硬件設(shè)計(jì)及模塊選擇(3天)3、系統(tǒng)軟件設(shè)計(jì)及編寫功能程序及調(diào)試(3天)4、撰寫、打印設(shè)計(jì)說明書(1天)5、驗(yàn)收及答辯(1天)指導(dǎo)教師評語及成績平時(shí): 論文質(zhì)量: 答辯: 總成績: 指導(dǎo)教師簽字: 年 月 日注:成績:平時(shí)20% 論文質(zhì)量(zhling)60% 答辯20% 以百分制計(jì)算摘 要隨著微電子

3、工業(yè)的迅速發(fā)展(fzhn),單片機(jī)控制的智能型控制器廣泛應(yīng)用于電子產(chǎn)品中。本系統(tǒng)(xtng)采用單片機(jī)STC89C51為控制核心來實(shí)現(xiàn)(shxin)水位的基本控制功能。系統(tǒng)由鍵盤、LCD12864、PCF8591、液位傳感器LM1042、電源和控制部分組成。系統(tǒng)從硬件電路設(shè)計(jì),軟件與上位機(jī)軟件設(shè)計(jì)等幾個(gè)方面介紹了基于單片機(jī)的單容水箱液位檢測儀設(shè)計(jì)過程,給出相應(yīng)的軟件設(shè)計(jì)流程圖和C語言程序以及原理圖,并用keil軟件編程仿真。最終實(shí)現(xiàn)了液位的實(shí)時(shí)測量與監(jiān)控。系統(tǒng)可根據(jù)需要設(shè)定水位控制的高度,同時(shí)具備超限報(bào)警和故障報(bào)警功能,具有良好的檢測控制功能。關(guān)鍵詞:STC89C51;LCD12864顯示;液

4、位檢測 目 錄 TOC o 1-3 f h z HYPERLINK l _Toc423441364 第1章 緒論(xln) PAGEREF _Toc423441364 h 1 HYPERLINK l _Toc423441365 第2章 課程設(shè)計(jì)的方案(fng n) PAGEREF _Toc423441365 h 3 HYPERLINK l _Toc423441366 2.1 概述(i sh) PAGEREF _Toc423441366 h 3 HYPERLINK l _Toc423441367 2.2 系統(tǒng)組成總體結(jié)構(gòu) PAGEREF _Toc423441367 h 3 HYPERLINK l

5、 _Toc423441368 第3章 硬件設(shè)計(jì) PAGEREF _Toc423441368 h 4 HYPERLINK l _Toc423441369 3.1 硬件設(shè)計(jì)概要 PAGEREF _Toc423441369 h 4 HYPERLINK l _Toc423441370 3.1.1 系統(tǒng)硬件電路設(shè)計(jì)原則 PAGEREF _Toc423441370 h 4 HYPERLINK l _Toc423441371 3.1.2 系統(tǒng)硬件選擇 PAGEREF _Toc423441371 h 4 HYPERLINK l _Toc423441372 3.2 單片機(jī)最小系統(tǒng)設(shè)計(jì) PAGEREF _Toc4

6、23441372 h 7 HYPERLINK l _Toc423441373 3.3 液位傳感器電路設(shè)計(jì) PAGEREF _Toc423441373 h 7 HYPERLINK l _Toc423441374 3.4 AD轉(zhuǎn)換單元硬件設(shè)計(jì) PAGEREF _Toc423441374 h 8 HYPERLINK l _Toc423441375 3.5 其他電路及系統(tǒng)PCB圖 PAGEREF _Toc423441375 h 9 HYPERLINK l _Toc423441376 第4章 軟件設(shè)計(jì) PAGEREF _Toc423441376 h 10 HYPERLINK l _Toc42344137

7、7 4.1 系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc423441377 h 10 HYPERLINK l _Toc423441378 4.2 各模塊程序分析 PAGEREF _Toc423441378 h 11 HYPERLINK l _Toc423441379 4.2.1 主程序設(shè)計(jì) PAGEREF _Toc423441379 h 11 HYPERLINK l _Toc423441380 4.2.2 顯示模塊軟件設(shè)計(jì) PAGEREF _Toc423441380 h 12 HYPERLINK l _Toc423441381 4.2.3 A/D轉(zhuǎn)換程序設(shè)計(jì) PAGEREF _Toc42344138

8、1 h 13 HYPERLINK l _Toc423441382 第5章 系統(tǒng)測試 PAGEREF _Toc423441382 h 16 HYPERLINK l _Toc423441383 第6章 課程設(shè)計(jì)總結(jié) PAGEREF _Toc423441383 h 17 HYPERLINK l _Toc423441384 參考文獻(xiàn) PAGEREF _Toc423441384 h 18 HYPERLINK l _Toc423441385 附錄 PAGEREF _Toc423441385 h 19緒論(xln)隨著我國的國民經(jīng)濟(jì)與生活水平的發(fā)展,各個(gè)行業(yè)對自動化的需求也日益增加,為減少污染、節(jié)約資源,單

9、片機(jī)的控制技術(shù)得到了廣泛的應(yīng)用。無論是在工業(yè)生產(chǎn)中,還是在其他行業(yè),水都是人們生活中不可或缺的資源,大部分都會使用到水箱,水箱里的水位控制就是最重要的問題了,以前都會有專門(zhunmn)的人看管,既浪費(fèi)人力,又不能準(zhǔn)確的判斷水位高低。所以以單片機(jī)控制水箱的水位就得到了廣泛應(yīng)用。水位控制系統(tǒng)是以水位為被控參數(shù)的控制系統(tǒng),它在工業(yè)生產(chǎn)的各個(gè)領(lǐng)域都有廣泛的應(yīng)用。在目前的過程控制領(lǐng)域中水位控制的研究引起了廣泛的關(guān)注,隨著集成電路規(guī)模的日趨大型化、復(fù)雜化,各種復(fù)雜的液位控制系統(tǒng)已成為一個(gè)(y )研究焦點(diǎn)。單片機(jī)是靠程序運(yùn)行的,并且是可以修改的,通過不同的程序?qū)崿F(xiàn)不同的功能。尤其是特殊的獨(dú)特的一些功能,

10、這是別的器件需要費(fèi)很大的力氣才能做到的,有些則是花大力氣也很難做到的。為什么一點(diǎn)要用單片機(jī)呢,原因很簡單,只因?yàn)閱纹瑱C(jī)通過自己編寫的程序便可以實(shí)現(xiàn)高智能、高效率以及高可靠性?,F(xiàn)代電子系統(tǒng)的基本核心是嵌入式計(jì)算機(jī)系統(tǒng)(簡稱嵌入式系統(tǒng)),而單片機(jī)是最典型、最廣泛、最普及的嵌入式系統(tǒng)。目前我國在單片機(jī)測控裝置研究、生產(chǎn)、應(yīng)用中,取得了很大的成績,總結(jié)了很多經(jīng)驗(yàn),但是各行業(yè)仍處于發(fā)展期,經(jīng)調(diào)查,更多科研研究在這方面開展的工作更看重的是理論和算法,數(shù)年來這方面的研究的論文較多,但著重生產(chǎn)實(shí)際的很少。一些發(fā)達(dá)國家在單片機(jī)新型系統(tǒng)研究、制造和應(yīng)用上,已積累了很多經(jīng)驗(yàn),奠定了基礎(chǔ),進(jìn)入了國際市場。我國在新型測

11、控裝置與系統(tǒng)研究、制造、應(yīng)用和經(jīng)驗(yàn)上,與其他發(fā)達(dá)國家相比還存在差距,但是我國的研究人員已經(jīng)克服很多困難,并在不斷地摸索中前進(jìn),有望在相關(guān)領(lǐng)域趕上甚至超過發(fā)達(dá)國家的技術(shù)水平,這是發(fā)展趨勢。在工農(nóng)業(yè)生產(chǎn)以及日常生活應(yīng)用中,常常會需要對容器中的水位進(jìn)行自動控制。比如自動控制冰箱、水池、水槽、鍋爐等容器中的蓄水量,生活中抽水馬桶的自動補(bǔ)水控制、自動電熱水器、電開水機(jī)的自動進(jìn)水控制等。雖然各種水位控制的技術(shù)要求不同、精度不同,但是基本的控制原理可以歸納為一般的反饋控制方式,他們的主要區(qū)別在于檢測水位的方式、反饋方式、以及控制器上的區(qū)別。隨著單片機(jī)和微機(jī)技術(shù)的不斷發(fā)展,由PC機(jī)和多臺單片機(jī)構(gòu)成的多機(jī)向網(wǎng)絡(luò)

12、發(fā)展。單片機(jī)自問世以來,性能不斷地提高和完善,體積小、速度快、功率低的特點(diǎn)使它的應(yīng)用領(lǐng)域日益廣泛。一般,工業(yè)控制系統(tǒng)的工作環(huán)境差,干擾性強(qiáng),利用單片機(jī)控制就能克服這些缺點(diǎn),因此單片機(jī)在控制領(lǐng)域得到廣泛的應(yīng)用,使用單片機(jī)控制液體的水位是個(gè)很好的選擇?;?1單片機(jī)的液位控制系統(tǒng)既滿足系統(tǒng)精度的要求,同時(shí)具有可靠性。課程設(shè)計(jì)的方案(fng n) 概述(i sh)本次設(shè)計(jì)(shj)主要是綜合應(yīng)用所學(xué)知識,設(shè)計(jì)單容水箱液位檢測儀,并在實(shí)踐的基本技能方面進(jìn)行一次系統(tǒng)的訓(xùn)練。能夠較全面地鞏固和應(yīng)用“單片機(jī)”課程中所學(xué)的基本理論和基本方法,并初步掌握小型單片機(jī)系統(tǒng)設(shè)計(jì)的基本方法。 應(yīng)用場合: 應(yīng)用于自動控制

13、冰箱、水池、水槽、鍋爐等容器中的蓄水量,生活中抽水馬桶的自動補(bǔ)水控制、自動電熱水器、電開水機(jī)的自動進(jìn)水控制等。 系統(tǒng)組成總體結(jié)構(gòu)系統(tǒng)方案設(shè)計(jì)液位控制是利用把液位的狀態(tài)轉(zhuǎn)換成模擬信號,再通過模數(shù)轉(zhuǎn)換芯片PCF8591把輸出狀態(tài)直接接到單片機(jī)的I/O接口,單片機(jī)經(jīng)過運(yùn)算控制,輸出信號,輸出接口接LCD12864進(jìn)行顯示,實(shí)現(xiàn)液位的報(bào)警和鍵盤的顯示與控制。圖2.1即是系統(tǒng)結(jié)構(gòu)框圖。圖2.1 系統(tǒng)結(jié)構(gòu)框圖硬件(yn jin)設(shè)計(jì)硬件(yn jin)設(shè)計(jì)概要系統(tǒng)(xtng)硬件電路設(shè)計(jì)原則一般在系統(tǒng)硬件電路設(shè)計(jì)應(yīng)遵循以下原則: (1)盡可能選擇標(biāo)準(zhǔn)化、模塊化的典型電路,且符合單片機(jī)應(yīng)用系統(tǒng)的常規(guī)用法。

14、(2)系統(tǒng)中相關(guān)的器件要盡可能做到性能匹配。 (3)可靠性及抗干擾設(shè)計(jì)是硬件設(shè)計(jì)不可缺少的一部分。可靠性、抗干擾能力與硬件系統(tǒng)自身素質(zhì)有關(guān),必須認(rèn)真對待。 (4)硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用程序設(shè)計(jì)一起考慮。軟件能實(shí)現(xiàn)的功能盡可能由軟件完成,以簡化硬件結(jié)構(gòu)。但“軟化”的結(jié)果也許會使響應(yīng)時(shí)間比硬件的響應(yīng)時(shí)間長。在實(shí)時(shí)性要求比較高的場合應(yīng)采用硬件完成。 (5)單片機(jī)外接電路較多時(shí),必須考慮其驅(qū)動能力系統(tǒng)硬件選擇(1)主控元器件單片機(jī)的選擇單片機(jī)選擇STC89C51,STC系列單片機(jī)是美國STC公司最新推出的一種新型51內(nèi)核的單片機(jī)。STC89C51RC是采用8051核的ISP(In System Progr

15、amming)在系統(tǒng)可編程芯片,最高工作時(shí)鐘頻率為80MHz,片內(nèi)含8K Bytes的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,具有在系統(tǒng)可編程(ISP)特性,配合PC端的控制程序即可將用戶的程序代碼下載進(jìn)單片機(jī)內(nèi)部,省去了購買通用編程器,而且速度更快。STC89C51RC系列單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的兼容8051 內(nèi)核單片機(jī),是高速/ 低功耗的新一代8051 單片機(jī),全新的流水線/精簡指令集結(jié)構(gòu),內(nèi)部集成MAX810 專用復(fù)位電路。89C51單片機(jī)的引腳如圖3.1所

16、示:圖3.1 STC89C51引腳圖各引腳簡單(jindn)功能(gngnng)介紹(jisho):VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。

17、當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序

18、存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。(2)液晶(yjng)顯示器的選擇液晶顯示的原理(yunl)(LCD)是用液晶物理特性,通過電壓的顯示區(qū)域控制,有電的人說這即能夠顯示圖形。液晶顯示器與厚度薄,適于大規(guī)模集成電路直接驅(qū)動技術(shù)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn)(tdin),已被廣泛應(yīng)用于便攜式電腦、數(shù)碼相機(jī)、PDA移動通訊工具等。帶中文

19、字庫的12864 是一種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體 中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864,內(nèi)置8192個(gè)16*16 點(diǎn)漢字,和128個(gè)16*8 點(diǎn)ASCII 字符 集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點(diǎn)陣的漢字。也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶 顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。(3)AD轉(zhuǎn)換器的選擇A/D轉(zhuǎn)換器件和芯片單片

20、機(jī)實(shí)現(xiàn)數(shù)據(jù)采集普通的外部設(shè)備。A/D轉(zhuǎn)換器性能的不同,各種數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)中。本設(shè)計(jì)選用的是PCF8591,PCF8591是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I2C總線接口。PCF8591的3個(gè)地址引腳A0, A1和A2可用于硬件地址編程,允許在同個(gè)I2C總線上接入8個(gè)PCF8591器件,而無需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號都是通過雙線雙向I2C總線以串行的方式進(jìn)行傳輸。(4)液位傳感器選擇LM1042液位檢測器使用熱阻探針的技術(shù)來檢測非可燃性液體液面高度,能提供一個(gè)正比于液

21、位的高度的輸出,可進(jìn)行單次或重復(fù)測量,所有控制熱阻探針、檢測熱阻探針的短路、開路所需要的監(jiān)控電路都集成在LM1042芯片內(nèi)部。此外該芯片也可以采用其它的傳感器信號或線性輸入作為輸入信號。 該器件采用的是16腳DIP封裝。芯片的主要特點(diǎn)有: 1、集成有熱阻探針的控制電路; 2、可以選擇熱阻或線性信號作為輸入; 3、可單次測量或重復(fù)測量; 4、電源或控制輸入端有50V瞬態(tài)電壓保護(hù)電路; 5、在復(fù)位時(shí)切換,延時(shí)的功能可以避免瞬態(tài)信號的影響;6、具有探針短路、開路檢測的功能。單片機(jī)最小系統(tǒng)(xtng)設(shè)計(jì)要使單片機(jī)按照設(shè)計(jì)要求(yoqi)正常工作,完整單片機(jī)最基本的工作要求,考慮到系統(tǒng)無需精確地定時(shí)功

22、能,且為了方便串口通信波特率的計(jì)算,采用11.0592MHz的晶振提供系統(tǒng)時(shí)鐘。并附加復(fù)位電路,組成單片機(jī)最小系統(tǒng)。根據(jù)電路設(shè)計(jì)規(guī)范和STC89C51芯片手冊,設(shè)計(jì)時(shí)鐘(shzhng)電路與復(fù)位電路如圖3.2:圖3.2 單片機(jī)最小系統(tǒng)圖3.2中具有上電復(fù)位與手動復(fù)位的功能;單片機(jī)的XTAL1與XTAL2引腳并聯(lián)兩個(gè)30pF電容和一個(gè)晶振是電路起振。由于單片機(jī)P0口作普通I/O口時(shí)不能輸出高電平,因此需接上拉電阻,實(shí)際電路中,使用8個(gè)10K電阻作為上拉電阻。液位傳感器設(shè)計(jì)在LM1042傳感器電路中,7腳和10腳主要用于對探針2的調(diào)整,由于本系統(tǒng)只用到探針1,故可將7腳和10腳直接接地;1腳是熱阻

23、探針輸入端;5腳為探針故障端;6腳是電源端;3、4腳分別接PNP管的發(fā)射極和集電極用于給探針提供200MA的固定電流;16腳為模擬電壓輸出端,輸出與液位成正比的模擬電壓;12、13腳用來調(diào)整探針的測量周期;9、14腳外接兩個(gè)電容作為探針的記憶電容,記憶探針的電壓值。如圖3.3是LM1042的外圍電路連接圖圖3.3 LM1042外圍(wiwi)電路圖AD轉(zhuǎn)換單元(dnyun)硬件設(shè)計(jì)AD轉(zhuǎn)換模塊(m kui)是系統(tǒng)中較為重要的一部分,由于涉及到模擬部分,AD轉(zhuǎn)換器的結(jié)構(gòu)較為復(fù)雜,如圖3.4是本設(shè)計(jì)中AD轉(zhuǎn)換電路圖。圖3.4 AD轉(zhuǎn)換電路圖上圖中網(wǎng)絡(luò)標(biāo)號SDA和SCL接到單片機(jī)的引腳上,PCF85

24、91的3個(gè)地址引腳A0, A1和A2接到地上,4個(gè)模擬通道選其中一個(gè)通道作為采集數(shù)據(jù)用。其他電路及系統(tǒng)PCB圖蜂鳴器的作用,蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器電路設(shè)計(jì)時(shí)需加一個(gè)NPNMOS管來驅(qū)動蜂鳴器。設(shè)計(jì)電路如圖3.5。根據(jù)原理圖畫出如圖3.6所示系統(tǒng)PCB圖。圖3.5 蜂鳴器電路圖圖3.6 系統(tǒng)(xtng)PCB圖軟件設(shè)計(jì)系統(tǒng)軟件(x tn run jin)設(shè)計(jì)(shj)8051系類單片機(jī)共擁有111條系統(tǒng)指令,可實(shí)現(xiàn)51種基本操作。然而匯編語言指令卻有程序的

25、可讀性低,程序開發(fā)人員的開發(fā)時(shí)間長與開發(fā)難度大,程序移植性差等缺點(diǎn)。C語言是一種編譯型程序設(shè)計(jì)語言。它兼顧了多種高級語言的特點(diǎn),并具備匯編語言的功能(gngnng)。用C語言來編寫目標(biāo)系統(tǒng)軟件程序,會大大縮短開發(fā)周期,增加軟件的可讀性,便于改進(jìn)和擴(kuò)充。用C語言進(jìn)行51系列單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢。keilC51開發(fā)工具套件可用于匯編C語言程序、匯編源程序,鏈接和定位目標(biāo)文件和庫,創(chuàng)建HEX文件以及調(diào)試目標(biāo)程序。本設(shè)計(jì)使用KeilC51Vision5為開發(fā)編譯環(huán)境,使用C語言編寫程序,實(shí)現(xiàn)各模塊功能設(shè)計(jì)。系統(tǒng)主程序的功能主要是完成對單片機(jī)的初始化,設(shè)置警戒液位的上下限,實(shí)時(shí)顯示

26、液位值以及鍵盤掃描等工作。如圖4.1程序流程圖。圖4.1 系統(tǒng)程序流程圖各模塊(m kui)程序分析主程序設(shè)計(jì)(chn x sh j)每個(gè)程序都是從main函數(shù)的起點(diǎn)開始執(zhí)行,這意味著每個(gè)程序都必須(bx)在某個(gè)位置包含一個(gè)main函數(shù)。下面給出本次設(shè)計(jì)的主程序:void main( void )Init_ST7920();while( 1 ) DisplayUpdata();if(!KEY_ADD) DelayMs(5); if(!KEY_ADD) while(!KEY_ADD); num_L2+; if(num_L230) num_L2=20; if(!KEY_DEC) DelayMs(5

27、); if(!KEY_DEC) while(!KEY_DEC); num_L2-;if(num_L2num_L2)bee=!bee;LCD_POS(2,0);i=0;while(dis2i!=0)Write_Data(dis2i);i+;DelayMs(50);A/D轉(zhuǎn)換(zhunhun)程序設(shè)計(jì)本設(shè)計(jì)(shj)采用PCF8591,PCF8591片內(nèi)有控制(kngzh)寄存器,單片機(jī)通過向該寄存器寫入控制字來控制A/D和D/A轉(zhuǎn)換,為此在轉(zhuǎn)換之前要進(jìn)行寫控制字傳送。操作過程中,在PCF8591接收到的每個(gè)應(yīng)答信號的后沿觸發(fā)A/D轉(zhuǎn)換,隨后就是讀出轉(zhuǎn)換結(jié)果,但讀出的是前一次的轉(zhuǎn)換結(jié)果。所以“讀數(shù)

28、據(jù)0”是一次無效的操作??刂谱止?jié)用于實(shí)現(xiàn)器件的各種功能,如模擬信號由哪幾個(gè)通道輸入等??刂谱止?jié)存放在控制寄存器中,總線操作時(shí)為主控器發(fā)送的第二字節(jié)。其中:D1、D0兩位是A/D通道編號:00通道0,01通道1,10通道2,11通道3,自動增益選擇(有效位為1)。D5、D4模擬量輸入選擇:00為四路單輸入、01為三路差分輸入、10為單端和差分配合輸入、11為模擬輸出有效。當(dāng)系統(tǒng)為A/D轉(zhuǎn)換時(shí),模擬輸出容許為0.模擬量輸入選擇位取值由輸入方式?jīng)Q定,四路單輸入時(shí)取00,三路差分輸入時(shí)取01,單端與差分輸入時(shí)取10,二路差分輸入時(shí)取11.最低兩位時(shí)通道編號位,當(dāng)對0通道的模擬信號進(jìn)行A/D轉(zhuǎn)換時(shí)取00

29、,當(dāng)對1通道的模擬信號進(jìn)行A/D轉(zhuǎn)換時(shí)取01,當(dāng)對2通道的模擬信號進(jìn)行A/D轉(zhuǎn)換時(shí)取10,當(dāng)對3通道的模擬信號進(jìn)行A/D轉(zhuǎn)換時(shí)取11。在進(jìn)行數(shù)據(jù)操作時(shí),首先是主控器發(fā)出起始信號,然后發(fā)出讀尋址字節(jié),被控器做出應(yīng)答后,主控器從被控器讀出第一個(gè)數(shù)據(jù)字節(jié),接收器發(fā)出應(yīng)答,主控器從被控器件讀出第二個(gè)數(shù)據(jù)字節(jié),一直到主控器從被控器中讀出第n個(gè)數(shù)據(jù)字節(jié),接收器發(fā)出非應(yīng)答信號,最后主控器發(fā)出停止信號(啟動和停止信號只能由主控器件發(fā)出)。I2C總線基本數(shù)據(jù)傳輸格式。I2C總線上的數(shù)據(jù)傳輸按位進(jìn)行,高位在前,低位在后,每傳輸一個(gè)數(shù)據(jù)字節(jié)通過應(yīng)答信號(xnho)進(jìn)行一次聯(lián)絡(luò),傳送的字節(jié)數(shù)不受限制。啟動信號由主控器

30、件發(fā)出(fch),在發(fā)出啟動信號前,主控器件要通過檢測SCL和SDA來了解總線情況。若總線處于空閑狀態(tài),即可發(fā)出啟動信號,啟動數(shù)據(jù)傳輸。在啟動信號之后發(fā)出的必定是尋址字節(jié),尋址字節(jié)由7位從地址和1個(gè)方向位組成。其中從地址用于尋址從器件,而方向位用于規(guī)定數(shù)據(jù)傳輸方向。尋址字節(jié)通常寫為SLA+R/W,其中(qzhng)R代表讀,W代表寫。R/W=1時(shí),表示主控器件讀(接收)數(shù)據(jù);R/W=0時(shí),表示主控器件寫(發(fā)送)數(shù)據(jù)。所以通過尋址字節(jié)即可知道要尋哪個(gè)器件以及進(jìn)行哪個(gè)方向的數(shù)據(jù)傳輸。當(dāng)主控器件發(fā)出尋址字節(jié)后,其他各器件都接收到了總線上的尋址字節(jié),并與自己的從地址進(jìn)行比較,當(dāng)某器件比較相等確認(rèn)自己被

31、尋址后,該器件就返回應(yīng)答信號,以作為被尋址的響應(yīng)。此時(shí),進(jìn)行數(shù)據(jù)傳輸?shù)闹鲝碾p方以及傳輸方向就確定了下來,然后進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸同樣以字節(jié)為單位,數(shù)據(jù)字節(jié)傳輸需要通過應(yīng)答信號進(jìn)行確認(rèn)。所以每傳輸一個(gè)字節(jié)就有一個(gè)應(yīng)答信號,直到數(shù)據(jù)傳輸完畢,主控器件發(fā)出停止信號。結(jié)束數(shù)據(jù)傳輸,釋放總線。I2C總線的狀態(tài)和信號:啟動信號和停止信號。串行數(shù)據(jù)傳輸?shù)拈_始和結(jié)束由總線的啟動信號和停止信號控制,啟動信號和停止信號只能由主控器件發(fā)出,它們對應(yīng)的是SCL的高電平與SDA的跳變。當(dāng)SCL線為高電平時(shí),主控器件在SDA線上產(chǎn)生一個(gè)電平負(fù)跳變時(shí),這便是啟動信號,總線啟動后,即可進(jìn)行數(shù)據(jù)傳輸。當(dāng)SCL線為高電平時(shí),主

32、控器件在SDA上產(chǎn)生一個(gè)電平正跳變,這便是總線的停止信號PCF851部分程序如下:Unsigned char ReadADC(unsigned char Chl) unsigned char Val;Start_I2c(); SendByte(AddWr); if(ack=0)return(0);SendByte(0 x40|Chl); if(ack=0)return(0);Start_I2c();SendByte(AddWr+1);if(ack=0)return(0);Val=RcvByte();NoAck_I2c(); Stop_I2c(); return(Val);系統(tǒng)(xtng)測試根

33、據(jù)所設(shè)計(jì)系統(tǒng)的軟件流程圖,編寫(binxi)相應(yīng)的程序在Keil軟件(run jin)環(huán)境下進(jìn)行編程編譯。通過制作PCB板子并焊接實(shí)物板進(jìn)行實(shí)驗(yàn)測試,實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能成功實(shí)現(xiàn)了水位檢測、電機(jī)故障檢測、處理和報(bào)警等功能,具有良好的檢測控制功能,可移植性和擴(kuò)展性強(qiáng)。如圖5.1是系統(tǒng)測試現(xiàn)象,當(dāng)液位超過所設(shè)定的液位值時(shí)即L1大于L2時(shí),蜂鳴器會發(fā)出聲音報(bào)警。圖5.1 系統(tǒng)測試圖課程設(shè)計(jì)總結(jié)(zngji)設(shè)計(jì)過程中我遇到(y do)了很多的困難,因?yàn)橹R是不連貫的,所以需要準(zhǔn)備很多方面的知識去融合,去聯(lián)系。由于在學(xué)習(xí)的時(shí)候更注重的是書面上的東西,而本次課程設(shè)計(jì)更多的是鍛煉了我們的動手(dng shu)動腦能力,讓我們有機(jī)會把課上學(xué)習(xí)的知識轉(zhuǎn)化為可以在實(shí)際生產(chǎn)生活中應(yīng)用的技術(shù)。本次課程設(shè)計(jì)的系統(tǒng)主要介紹了水體的液位檢測控制,介紹了STC89C51單片機(jī)在液位控制系統(tǒng)中的應(yīng)用,介紹了它們的引腳和在系統(tǒng)中的電路圖,利用LCD12864來進(jìn)行信號的輸出顯示,我設(shè)計(jì)的硬件系統(tǒng)的結(jié)構(gòu)簡化,系統(tǒng)精度高,具有良好的人機(jī)交互功能,并設(shè)有液位報(bào)警,有問題立即就能發(fā)現(xiàn)。通過自動調(diào)節(jié)控制液位并實(shí)現(xiàn)水體的液位報(bào)警。液位控制在

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論