久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7406|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)水塔水位控制仿真加程序 含畢業(yè)設(shè)計(jì)(論文)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
歡迎大家下載



全部資料下載:
基于單片機(jī)的液位自動(dòng)控制與檢測(cè).rar (3.86 MB, 下載次數(shù): 265)


畢業(yè)設(shè)計(jì)(論文)預(yù)覽


題    目 單片機(jī)液位檢測(cè)及
           顯示電路設(shè)計(jì)   
專    業(yè) 電氣工程及其自動(dòng)化
班    級(jí)
學(xué)    生
指導(dǎo)教師



摘 要

隨著社會(huì)的進(jìn)步,生產(chǎn)工藝和生產(chǎn)技術(shù)的發(fā)展,人們對(duì)液位檢測(cè)提出了更高的要求。由于新型電子技術(shù)、微電子技術(shù)和微型計(jì)算機(jī)被廣泛的應(yīng)用,單片機(jī)控制系統(tǒng)以其控制精度高,性能穩(wěn)定可靠,設(shè)置操作方便,造價(jià)低等諸多特點(diǎn),被應(yīng)用到液位系統(tǒng)的控制中來。
本文介紹了以LM型液位傳感器,A/D轉(zhuǎn)換芯片ADC0809,以及AT89C51單片機(jī)作為主控元件的液位檢測(cè)系統(tǒng)的設(shè)計(jì)方法。本文分別從液位檢測(cè),A/D轉(zhuǎn)換,數(shù)碼管顯示,超限報(bào)警等幾個(gè)方面對(duì)硬件電路進(jìn)行了比較詳細(xì)的介紹,然后對(duì)A/D轉(zhuǎn)換程序,數(shù)碼管顯示程序,超限報(bào)警程序等做了比較詳細(xì)的闡述,并用流程圖做進(jìn)一步的解釋。
通過軟件和硬件的聯(lián)合調(diào)試,實(shí)現(xiàn)了在一定范圍內(nèi)對(duì)液位的調(diào)節(jié),動(dòng)態(tài)顯示出液位結(jié)果,實(shí)現(xiàn)報(bào)警,完全實(shí)現(xiàn)了任務(wù)書上的要求。

關(guān)鍵詞:液位檢測(cè)、A/D轉(zhuǎn)換、LM型液位傳感器、超限報(bào)警

Abstract

As society advances, the development of production processes and production technologies,the detection of the level control system have a higher demand. New electronic technology of microelectronics technology and miniature computers is widely used. Single chip control system to set up  operationswith high control accuracy, reliable performance, convenient,low cost, is applied to the level contral.
This article describes the LM-type liquid level sensor and A / D conversion chip ADC0809, and AT89C51 microcontroller as the main control componentof the liquid level detection system design methods. This article respectively from the liquid level detection, A/D converter, Digital display, Limit alarm and several aspects of the hardware circuit have conduct a more detailed description. Then the A/D conversion process, Digital tube display program, Limit alarm procedures have a fairly detailed, and using a flow chart for further explanation.
Through joint debugging of software and hardware, The basic realization of the regulation on the level within a certain range of liquid level regulation, Dynamically shows the level results, Achieve alarm, Entirely Achieve the requirements of the mission statement.

Keywords: the liquid level detection, A/D converter, lm-type liquid level sensor, limit alarm



大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)
目 錄
第1章 緒論………………………………………………………………1
1.1 液位檢測(cè)系統(tǒng)的概況………………………………………………1
1.2 國(guó)內(nèi)外研究動(dòng)態(tài)…………………………………………………… 1
1.3 本次畢業(yè)設(shè)計(jì)的意義……………………………………………… 2
1.4 本次畢業(yè)設(shè)計(jì)的任務(wù)……………………………………………… 2
第2章 硬件電路設(shè)計(jì)………………………………………………………3
2.1 硬件電路工作原理………………………………………………… 3
2.2 硬件電路設(shè)計(jì)……………………………………………………… 3
2.2.1 系統(tǒng)總體設(shè)計(jì)框圖…………………………………………… 3
2.2.2 核心芯片的介紹……………………………………………… 4
2.3 硬件電路各模塊設(shè)計(jì)………………………………………………10
2.3.1 電源電路設(shè)計(jì)…………………………………………………10
2.3.2 單片機(jī)最小系統(tǒng)電路設(shè)計(jì)……………………………………10
2.3.3 顯示電路設(shè)計(jì)…………………………………………………11
2.3.4 液位傳感器的接口電路設(shè)計(jì)…………………………………12
2.3.5 AT89C51與ADC0809的接口電路設(shè)計(jì)…………………………13
2.3.6 報(bào)警電路設(shè)計(jì)…………………………………………………14
2.4 硬件電路總結(jié)………………………………………………………14
第3章 軟件設(shè)計(jì)………………………………………………………… 17
3.1 AT89C51的I/O口應(yīng)用…………………………………………… 17
3.1.1 P0口的信號(hào)輸入…………………………………………… 17
3.1.2 P1口的信號(hào)輸入…………………………………………… 17
3.1.3 P2口的信號(hào)輸入…………………………………………… 17
3.1.4 P3口的信號(hào)輸入…………………………………………… 18
3.2 軟件模塊設(shè)計(jì)………………………………………………………19
3.2.1 主程序的設(shè)計(jì)…………………………………………………19
3.2.2 A/D轉(zhuǎn)換的設(shè)計(jì)………………………………………………20
3.2.3 顯示子程序的設(shè)計(jì)……………………………………………21
3.2.4 報(bào)警子程序的設(shè)計(jì)……………………………………………24
3.3 軟件設(shè)計(jì)總結(jié)………………………………………………………25
第4章 聯(lián)機(jī)調(diào)試…………………………………………………………28
4.1 仿真電路調(diào)試…………………………………………………… 28
4.2 硬件電路調(diào)試…………………………………………………… 29
4.3 硬件電路調(diào)試出現(xiàn)的問題及解決方法………………………… 30
4.4 軟件程序調(diào)試………………………………………………………30
4.5 軟件程序調(diào)試出現(xiàn)的問題及解決方法………………………… 31
4.6 聯(lián)機(jī)調(diào)試總結(jié)…………………………………………………… 31
第5章 結(jié)論………………………………………………………………32
致謝……………………………………………………………………… 33
參考文獻(xiàn)………………………………………………………………… 34
附錄……………………………………………………………………… 36

1




大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)
第1章  緒 論
隨著人們生活水平和工業(yè)標(biāo)準(zhǔn)的提高,液位的檢測(cè)越來越受到人們重視,檢測(cè)的精度和實(shí)時(shí)性要求也越來越高,另外還要求系統(tǒng)能提供對(duì)液位的自動(dòng)控制功能。今后液位的監(jiān)測(cè)和控制系統(tǒng)的研究將是一個(gè)重要的課題。
1.1 液位檢測(cè)系統(tǒng)的概況
在日常生產(chǎn)和生活中經(jīng)常遇到液位的檢測(cè)和控制問題。尤其在許多工業(yè)生產(chǎn)系統(tǒng)中,需要對(duì)系統(tǒng)的液位或物料位進(jìn)行檢測(cè)和控制,特別是對(duì)具有腐蝕性的液體液位的測(cè)量,傳統(tǒng)的電極法是采用差位分布電極,通過給電脈沖來檢測(cè)液面,電極長(zhǎng)期浸泡在液體中,極易被腐蝕、電解、失去靈敏性,因而對(duì)測(cè)試設(shè)備的抗腐蝕性要求較高。LM型液壓傳感器采用316L不銹鋼膜片及PVC塑料螺紋頭相結(jié)合,可測(cè)量水、其它液體及氣體液位。LM型液壓傳感器采用擁有專利技術(shù)的低成本不銹鋼傳感器,其安裝在PVC塑料過程接頭內(nèi)。監(jiān)控工程實(shí)施方便、迅速、易做到實(shí)時(shí)控制,而且測(cè)量精度又能達(dá)到工業(yè)實(shí)用的要求,所以有廣泛的應(yīng)用前景。為了降低工人的勞動(dòng)強(qiáng)度,改善工人的工作環(huán)境,節(jié)省財(cái)力、物力,避免資源的浪費(fèi),特別是對(duì)一些具有高溫、高壓、低溫、低壓、有輻射性、毒性、易揮發(fā)易爆等液體,就要對(duì)液位進(jìn)行檢測(cè),而且液位的檢測(cè)顯得尤為重要。今后液位的監(jiān)測(cè)和控制系統(tǒng)的研究將是一個(gè)重要的課題。
1.2 國(guó)內(nèi)外研究動(dòng)態(tài)
隨著工業(yè)生產(chǎn)自動(dòng)化高速發(fā)展, 對(duì)液位檢測(cè)和控制技術(shù)的要求也越來越高。為解決生產(chǎn)中的測(cè)量問題, 一方面是采用新的測(cè)量原理, 開發(fā)新的液位檢測(cè)儀表, 擴(kuò)大檢測(cè)的手段, 另一方面需要朝著實(shí)現(xiàn)微機(jī)化和智能化的方向發(fā)展。近些年來, 微電子技術(shù)的發(fā)展使得液位檢測(cè)技術(shù)發(fā)生了根本性的變化。新的檢測(cè)原理與電子部件的應(yīng)用使得液位計(jì)更趨向小型化和微型化, 特別是一些小型現(xiàn)場(chǎng)液位開關(guān)發(fā)展極快, 如光纖液位計(jì), 由于沒有可動(dòng)部件, 所以可靠性高, 不僅可現(xiàn)場(chǎng)顯示, 而且可以發(fā)出控制信號(hào)。與此同時(shí), 液位檢測(cè)和控制也正向著智能化方向發(fā)展, 在液位測(cè)量領(lǐng)域內(nèi)廣泛應(yīng)用微處理技術(shù), 以實(shí)現(xiàn)故障診斷和報(bào)警功能, 提高測(cè)量的精確度、可靠性、安全性和多功能化。在應(yīng)用和設(shè)計(jì)液位計(jì)時(shí)盡量實(shí)現(xiàn)精確測(cè)量,提高液位檢測(cè)系統(tǒng)對(duì)惡劣環(huán)境的抵抗能力, 以便在惡劣環(huán)境下準(zhǔn)確、可靠地工作。
1.3 本次畢業(yè)設(shè)計(jì)的意義
目前,市面上進(jìn)行液位測(cè)量的儀表種類繁多,但是同時(shí)具有測(cè)量、監(jiān)控、數(shù)據(jù)記錄及處理的液位測(cè)量裝置并不多。在某些工業(yè)控制系統(tǒng)中,數(shù)據(jù)的測(cè)量這一基本功能已不能滿足現(xiàn)代工業(yè)的要求,往往需要對(duì)大批數(shù)據(jù)進(jìn)行記錄,對(duì)其進(jìn)行后期處理分析,實(shí)現(xiàn)差錯(cuò)控制、工藝改善、資源優(yōu)化等一系列工作。在液位測(cè)量這一領(lǐng)域中,如江河湖海、城市用水等方面,大量數(shù)據(jù)長(zhǎng)時(shí)間,多網(wǎng)點(diǎn)的采集記錄分析具有普遍的意義。液位的變化分析,有助于人們進(jìn)一步對(duì)自然環(huán)境、天氣變化甚至是災(zāi)害預(yù)警提供可靠的支持。單片微機(jī)在許多過程控制設(shè)備和產(chǎn)品中都得到廣泛的應(yīng)用。由于其體積小,價(jià)格低,具有邏輯判斷、定時(shí)計(jì)數(shù)、程序控制等多種功能,在各個(gè)領(lǐng)域、各個(gè)行業(yè)都得到了廣泛應(yīng)用。不僅有常用的8位機(jī),而且4位單片機(jī)和16位單片機(jī)也得到了普及,隨著過程控制精度要求的增加和運(yùn)算速度的增快,單片機(jī)得到了進(jìn)一步的應(yīng)用。
1.4 本次畢業(yè)設(shè)計(jì)的任務(wù)
本文的主要任務(wù)是以單片機(jī)為主控制器,開發(fā)一個(gè)基于液位傳感器的液位監(jiān)控系統(tǒng),可測(cè)量并顯示液位高度。設(shè)定最高液位和最低液位,當(dāng)液位高于最高液位或低于最低液位時(shí)發(fā)出報(bào)警信號(hào),提醒工作人員液位信息。研究設(shè)計(jì)內(nèi)容包括:
(一)液位檢測(cè)的基本原理與方法;
(二)液位檢測(cè)系統(tǒng)的整體方案設(shè)計(jì);
(三)模數(shù)轉(zhuǎn)換電路的設(shè)計(jì);
(四)顯示電路設(shè)計(jì);
(五)系統(tǒng)軟件流程設(shè)計(jì);
(六)電源電路的設(shè)計(jì);
(七)PCB布線及硬件抗干擾設(shè)計(jì)。
設(shè)計(jì)完成之后提供一個(gè)可以應(yīng)用于一般工業(yè)的液位檢測(cè)及顯示系統(tǒng)的設(shè)計(jì)方案,測(cè)量范圍和測(cè)量精度滿足一般工業(yè)應(yīng)用需要。通過畢業(yè)設(shè)計(jì)的整個(gè)過程,可以綜合運(yùn)用傳感器、單片機(jī)、電子電路和程序設(shè)計(jì)等方面的知識(shí),鍛煉和提高科研的能力。

第2章  硬件電路設(shè)計(jì)
2.1 硬件電路工作原理
該系統(tǒng)以AT89C51作為核心控制部件,外加傳感器,一片A/D轉(zhuǎn)換芯片和數(shù)碼管來完成系統(tǒng)的預(yù)期任務(wù),即液位的檢測(cè)、顯示和超限報(bào)警。傳感器實(shí)現(xiàn)液位信號(hào)到電壓信號(hào)的轉(zhuǎn)換,再由8位A/D轉(zhuǎn)換芯片ADC0809將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),實(shí)現(xiàn)液位信息的輸入,AT89C51從ADC0809讀取液位信息后進(jìn)行數(shù)據(jù)處理和超限判斷,隨后將處理過的數(shù)據(jù)輸出到數(shù)碼管顯示,設(shè)置最高液位和最低液位,若液位超限則由單片機(jī)報(bào)警。
2.2  硬件電路設(shè)計(jì)
2.2.1  系統(tǒng)總體設(shè)計(jì)框圖
圖2—1 系統(tǒng)總體設(shè)計(jì)框圖
各部分功能:
  • 電源部分提供+5V電壓供系統(tǒng)各部分使用。
  • LM傳感器實(shí)現(xiàn)液位信息到電壓信號(hào)的轉(zhuǎn)換。
  • ADC0809將傳感器輸出的電壓信號(hào)經(jīng)A/D轉(zhuǎn)換后送到單片機(jī)。
  • AT89C51為處理器,實(shí)現(xiàn)液位信息的接收、數(shù)據(jù)處理、和輸出到數(shù)碼管。
  • 蜂鳴器部分在單片機(jī)檢測(cè)到液位超限是由單片機(jī)驅(qū)動(dòng)LED燈亮滅報(bào)警。
  • 單片機(jī)對(duì)液位數(shù)據(jù)處理后輸出,數(shù)碼管顯示。
2.2.2  核心芯片的介紹
(1)單片機(jī)AT89C51
單片機(jī)應(yīng)用系統(tǒng)的基本構(gòu)成:
圖2—2 單片機(jī)應(yīng)用系統(tǒng)的基本構(gòu)成
AT89C51主要參數(shù):
型號(hào)
存儲(chǔ)器
定時(shí)器
I/O
串行口
中斷
速度(MH)
其他特點(diǎn)
E2PROM
ROM
RAM
89C51
4K
128
2
32
1
6
24
低電壓
圖2—3 AT89C51主要參數(shù)
AT89C51含 E2PROM電可編閃速存儲(chǔ)器。有兩級(jí)或三級(jí)程序存儲(chǔ)器保密系統(tǒng),防止E2PROM中的程序被非法復(fù)制。不用紫外線擦除,提高了編程效率。程序存儲(chǔ)器E2PROM容量可達(dá)20K字節(jié)。
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。
1. AT89C51主要特性:
與MCS-51兼容,4K字節(jié)可編程閃爍存儲(chǔ)器,壽命:1000寫/擦循環(huán),全靜態(tài)工作:0HZ-24HZ,三級(jí)程序存儲(chǔ)器鎖定8位CPU;振蕩頻率1.2-12MHz;128個(gè)字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器(片內(nèi)RAM);21個(gè)專用寄存器;4KB的片內(nèi)程序存儲(chǔ)器;8位并行I/O口P0,P1,P2,P3;一個(gè)全雙工串行I/O口;2個(gè)16位定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源,分為2個(gè)優(yōu)先級(jí)。
2. I/O口引腳:
a:P0口,雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用;
b:P1口,8位準(zhǔn)雙向I/O口
c:p2口,8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用;
d:P3口,8位準(zhǔn)雙向I/O口,雙功能復(fù)用。
(2)A/D轉(zhuǎn)換器ADC0809
A/D轉(zhuǎn)換芯片ADC0809為8路模擬信號(hào)的分時(shí)采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道抵制鎖存用譯碼電路,其轉(zhuǎn)換時(shí)間為100μs左右。

  • ADC0809的內(nèi)部結(jié)構(gòu):
圖2—4 ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖


圖中多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,這是一種經(jīng)濟(jì)的多路數(shù)據(jù)采集方法。地址鎖存與譯碼電路完成對(duì)A、B、C 3個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換結(jié)果通過三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,
圖2—5 ADC0809的通道選擇表         圖2—6 ADC0809引腳圖
  • ADC0809功能介紹:
分辨率為8位;最大不可調(diào)誤差小于+_1LSB;單一+5V供電,模擬輸入范圍0~5V;具有鎖存控制的8路模擬開關(guān);可鎖存三態(tài)輸出,輸出與TTL兼容;功耗為15mw;不必進(jìn)行零點(diǎn)和滿度調(diào)整;轉(zhuǎn)換速度取決芯片的始終頻率,它的時(shí)鐘為10kHZ~1.2MHZ.當(dāng)時(shí)鐘為500KHZ,轉(zhuǎn)換速度為100us。
  • ADC0809的原理
ADC0809是一款8位AD轉(zhuǎn)換器,數(shù)據(jù)獲取的關(guān)鍵部分是它的8位模/數(shù)轉(zhuǎn)換器。這個(gè)部分主要由N位逐次逼近寄存器SAR,D/A轉(zhuǎn)換器,比較器,置數(shù)選擇電路組成。轉(zhuǎn)換過程如下:
A.選選置數(shù)電路置SAR的最高位為“1”,其余位為“0”,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成的模擬電壓Uo與輸入模擬電壓Ui在電壓比較器進(jìn)行比較,若Ui大于等于Uo,則保留最高位“1”,若Ui小于Uo,則最高位為“0”。
B.置次高位為“1”,低位全為“0”,按上述步驟進(jìn)行轉(zhuǎn)換,比較,判斷。
C.重復(fù)此過程,直到確定SAR的最低位的值取“1”,還是“0”為止。此時(shí),SAR內(nèi)容就是對(duì)應(yīng)的輸入模擬電壓轉(zhuǎn)換后的數(shù)字量。








圖2—7 ADC0809的工作時(shí)序圖
3)LM型液壓傳感器
LM系列液壓傳感器采用316L不銹鋼膜片及PVC塑料螺紋頭相結(jié)合,可測(cè)量水、其它液體及氣體液位。LM系列液壓傳感器采用擁有專利技術(shù)的低成本不銹鋼傳感器安裝在PVC塑料過程接頭內(nèi)。該設(shè)計(jì)可使傳感器具有多種外形,方便客戶應(yīng)用于需要高性能、小尺寸的壓力和真空系統(tǒng)。傳感器標(biāo)準(zhǔn)輸出為0.5~4.5V,供電為5V。
特    點(diǎn): 螺紋接口式,-20~85℃工作溫度范圍,±0.1%非線性,±3.0%總誤差,固態(tài)結(jié)構(gòu)
應(yīng)    用: 灌溉系統(tǒng),RV和船舶水位保持,蓄水和水循環(huán)系統(tǒng),小型罐體液位,冷卻器&蒸氣冷凝設(shè)備
技術(shù)指標(biāo):
類   型: 表壓
量   程: 0~1,2,5,15,30,50,150(psi)
精 確 度: ±5%(<5Psi);±3%(>5Psi)
輸   出: 0.5~4.5V
電氣連接: 電纜                       
工作溫度: -35℃~85℃
供電電源: 5VDC                       圖2—8 LM系列液壓傳感器
特   點(diǎn): 低成本,微量程(最佳量程1Psi~15Psi),適于OEM客戶批量應(yīng)用。
典型應(yīng)用: 灌溉,RV和船用郵箱液位,水存儲(chǔ)和水回收系統(tǒng),小罐體液位,冷凝器,蒸發(fā)冷卻塔

  
圖2—9  LM傳感器尺寸外形圖        圖2—10  LM傳感器電氣連接圖

2.3 硬件電路各模塊設(shè)計(jì)
2.3.1  電源電路設(shè)計(jì)
圖2—11  電源電路
本系統(tǒng)供電為市電AC220v,經(jīng)變壓器TR1降為交流6v,經(jīng)整流橋堆BR1整流后得到脈動(dòng)直流電壓6v,再經(jīng)三端穩(wěn)壓器LM7805得到VCC(+5v) ,其中電解電容C4、C6、起濾波作用,C5、C7是旁路電容,起抑制干擾的作用。
2.3.2  單片機(jī)最小系統(tǒng)電路設(shè)計(jì)
圖2—12  單片機(jī)最小系統(tǒng)電路
RST:復(fù)位輸入。在單片機(jī)工作期間,當(dāng)此引腳上出現(xiàn)連接2個(gè)機(jī)器周期的高電平時(shí)可實(shí)現(xiàn)復(fù)位操作。復(fù)位電路除了具有上電復(fù)位功能外,還可通過復(fù)位鍵迫使RESET為高電平。當(dāng)系統(tǒng)通電時(shí),RESET引腳獲得高電平,隨著電容的充電,RESET引腳的高電平將逐漸下降。RESET的高電平只有保持足夠的時(shí)間(2個(gè)機(jī)械周期),單片機(jī)才可以進(jìn)行復(fù)位操作 。
時(shí)鐘電路采用12MHz的晶振,因?yàn)锳DC0809的工作時(shí)鐘最高允許值為12MHz,單片機(jī)ALE管腳2分頻后為500KHz,可以作為ADC0809轉(zhuǎn)換器的時(shí)鐘信號(hào)CLK。XTAL1:反向放大振蕩器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。XTAL1腳是內(nèi)部反相放大器的輸入端,而XTAL2腳是該放大器的輸出端。在晶體振蕩中,晶體工作于基本響應(yīng)模式,它作為一個(gè)感抗與外部電容形成并聯(lián)諧振,使正反饋放大器維持震蕩。所選電容為瓷片電容22PF,因?yàn)?2PF對(duì)于工作于1MHZ以上的晶振都能獲得良好的效果。
2.3.3  顯示電路設(shè)計(jì)
圖2—13  顯示電路
本設(shè)計(jì)由P1口控制七段發(fā)光二極管亮或滅,使用共陰極8段數(shù)碼管,由圖2.9可知,要使七段顯示器的某一段亮,則應(yīng)該是與該段相連的段選寄存器即P1口的某位線輸出為1。若使某段熄滅,則必須輸出0。例如要顯示數(shù)字4。則應(yīng)使P1口的P1.7-P1.0輸出為11100110B,若用一個(gè)字節(jié)表示該輸出值,即字形代碼為66H,依此類推,可以得到0—9一共10個(gè)十進(jìn)制數(shù)的字形代碼依次為3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH。
本設(shè)計(jì)由P2.0,P2.1,P2.2,P2.3做位選,以控制哪一位七段數(shù)碼管顯示,例如,要求第一位數(shù)碼管顯示,則應(yīng)設(shè)置P2.0為“1”,P2.1,P2.2,P2.3為“0”。
PNP型三極管9012起到增加驅(qū)動(dòng)電流的目的。電阻R12~R19控制通過數(shù)碼管的電流,R20~R23控制通過三極管9012的電流,R4~R11為單片機(jī)P1口的上拉電阻。

2.3.4  液位傳感器的接口電路設(shè)計(jì)
圖2—14  電位器RV1與ADC0809接口
設(shè)計(jì)所選LM型液位傳感器能夠根據(jù)不同的液位產(chǎn)生不同的電壓,電壓值大小范圍為0.5~4.5V,且能夠便于遠(yuǎn)距離傳輸。由于芯片ADC0809的輸入為0~5V的電壓,仿真時(shí)需要將輸入信號(hào)轉(zhuǎn)換為電壓信號(hào),為此外接一電位器R=1kΩ,把電壓轉(zhuǎn)換成0~5V電壓。在設(shè)計(jì)中,把電位器的1,3腳接+5V電壓和地線,調(diào)節(jié)滑鈕2能夠很好的得到0~5V電壓,因此可以用電位器模擬液位傳感器。

2.3.5  AT89C51與ADC0809的接口電路設(shè)計(jì)
圖2—15  AT89C51與ADC0809的接口電路
ADC0809與AT89C51相連接,ADC0809中的START與ALE相連通,ALE——地址鎖存允許信號(hào),對(duì)應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。START——轉(zhuǎn)換啟動(dòng)信號(hào)。START上升沿時(shí),復(fù)位ADC0809;START下降沿時(shí)啟動(dòng)芯片,開始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持 低電平。當(dāng)ALE上升沿時(shí),ALE鎖存數(shù)據(jù),A/D轉(zhuǎn)換截止,當(dāng)ALE下降沿時(shí),START低電平,ALE低電平,不鎖存,A/D轉(zhuǎn)換開始。P2.4,P2.5,P2.6,P2.7分別控制CLK,START和ALE,EOC,OE信號(hào),其控制A/D轉(zhuǎn)換的開始和截止。CLK使用AT89C51內(nèi)部時(shí)鐘信號(hào)。
ADDA,ADDB,ADDC相連通接地,信號(hào)輸入為000,表示輸入通道選擇為IN0口。8位數(shù)據(jù)信號(hào)線2-1~2-8與單片機(jī)的P1.0~P1.7相連,實(shí)現(xiàn)ADC0809與AT89C51的數(shù)據(jù)傳輸。
Vref——參考電源參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V, Vref(-)=0V)。
2.3.6  報(bào)警電路設(shè)計(jì)
圖2—16  報(bào)警電路
本電路的P3.0,P3.1作為高位和低位的報(bào)警控制線,通過設(shè)置高低液位報(bào)警線來實(shí)現(xiàn)報(bào)警功能。如果當(dāng)前液位高于設(shè)置的高位報(bào)警線時(shí),P3.0置低電平,高位報(bào)警燈亮。如果當(dāng)前液位低于于設(shè)置的低位報(bào)警線時(shí),P3.1置低電平,低位報(bào)警燈亮。如果當(dāng)前液位低于設(shè)置的高位液位且高于低位液位時(shí),高位報(bào)警燈和低位報(bào)警燈滅。
2.4 硬件電路總結(jié)
在本章中主要講述了硬件電路的結(jié)構(gòu),電路原理和部分芯片的功能,根據(jù)電路組成情況分成六個(gè)電路模塊,分別介紹了各個(gè)電路模塊的工作原理和功能,通過本次設(shè)計(jì)掌握了更多的基本硬件電路設(shè)計(jì)原理及其工作特點(diǎn)。并自行繪制電路原理圖,PCB封裝圖,為做PCB板做準(zhǔn)備。下面是電路的一些照片。
圖2—17  電路原理圖
圖2—18  PCB封裝圖
圖2—19  硬件電路圖
圖2—20  液位在3.00米時(shí)的實(shí)物圖
圖2—21  液位在4.01米時(shí)的實(shí)物圖

第3章  軟件設(shè)計(jì)
3.1 AT89C51的I/O口應(yīng)用
AT89C51共有P0,P1,P2,P3,4個(gè)8位的并行雙向I/O口。各個(gè)I/O口實(shí)現(xiàn)不同的功能,詳細(xì)情況如下。
3.1.1  P0口的信號(hào)輸入
在程序中將P0口做為段選口使用,顯示十位數(shù)字的段選信號(hào),下例為顯示十位數(shù)字的指令:
MOV DPTR,#TABLE            ;取段碼表首址。
MOV A,LED_2                ;取顯示的十位數(shù)字。
MOVC A,@A+DPTR             ;取段碼。
MOV P0,A                   ;輸出段碼的顯示。
TABLE:   DB 3FH,06H,5BH,4FH,66H        ;共陰極數(shù)碼管表
DB 6DH,7DH,07H,7FH,6FH
3.1.2  P1口的信號(hào)輸入
在程序中將P0口作為輸入口,用來讀A/D轉(zhuǎn)換值。設(shè)計(jì)中,要求選通通道0,并把轉(zhuǎn)化后得到數(shù)字量存入內(nèi)部RAM的35H單元中,下例為把轉(zhuǎn)化后的數(shù)字量存入內(nèi)部RAM中的指令:
CLR P2.5,   ;SRART置0,
MOV A,P1     ;
MOV R7,A
MOV 35H,R7
3.1.3  P2口的信號(hào)輸入
P2.0,P2.1,P2.2,P2.3做數(shù)碼管的位選信號(hào)用,要哪個(gè)數(shù)碼管亮,則置相應(yīng)位高電平,就可將其選中。例如要求顯示第一個(gè)數(shù)碼管,端口設(shè)置指令為:
CLR P2.0
CLR P2.1
CLR P2.2
CLR P2.3
P2.4,P2.5,P2.6,P2.7作為通用I/O口使用,與ADC0809連接。P2.4作為A/D轉(zhuǎn)換的CLK信號(hào),P2.5作為開始A/D轉(zhuǎn)換的啟動(dòng)信號(hào),P2.6作為查詢A/D轉(zhuǎn)換是否完成的判斷信號(hào),P2.7作為輸出A/D轉(zhuǎn)換的數(shù)字量允許信號(hào)。下例為P2.4,P2.5,P2.6,P2.7作為通用I/O口使用的指令:
CLOCK   BIT  P2.4
ST       BIT  P2.5
EOC     BIT  P2.6
OE      BIT  P2.7
3.1.4  P3口的信號(hào)輸入
P3.0、P3.1、P3.7作為通用I/O口使用,與LED燈和蜂鳴器相連,輸出報(bào)警信號(hào),如果當(dāng)前液位高于設(shè)置的高位報(bào)警線時(shí),P3.0置低電平,高位報(bào)警燈亮。如果當(dāng)前液位低于于設(shè)置的低位報(bào)警線時(shí),P3.1置低電平,低位報(bào)警燈亮。如果當(dāng)前液位低于設(shè)置的高位液位且高于低位液位時(shí),高位報(bào)警燈和低位報(bào)警燈滅。
H_ALM    BIT    P3.0
L_ALM    BIT    P3.1
LALM:    CLR    L_ALM          ;低位報(bào)警
         SETB   TR1
         CLR    FLAG
        LJMP   PROC
HALM:    CLR    H_ALM          ;高位報(bào)警
        SETB   TR1
         SETB   FLAG
         LJMP   PROC
3.2 軟件模塊設(shè)計(jì)
3.2.1  主程序的設(shè)計(jì)
系統(tǒng)分為初始化,A/D轉(zhuǎn)換,十進(jìn)制轉(zhuǎn)換,LED顯示,電機(jī)控制和報(bào)警電路。因此整個(gè)程序需要包含上述六個(gè)子程序。
其中,LED_0   定義地址30H,以存放顯示十進(jìn)制的小數(shù)點(diǎn)后十位數(shù)字。
LED_1   定義地址31H,以存放顯示十進(jìn)制的小數(shù)點(diǎn)后個(gè)位數(shù)字。
LED_2   定義地址32H,以存放顯示十進(jìn)制的個(gè)位數(shù)字。
ADC     定義地址35H,以存放經(jīng)A/D轉(zhuǎn)換后的數(shù)字。
流程圖如下:

圖3—1  主程序流程圖
3.2.2  A/D轉(zhuǎn)換的設(shè)計(jì)
ADC0809芯片實(shí)現(xiàn)A/D轉(zhuǎn)換的時(shí)間為0.1ms左右,A/D轉(zhuǎn)換后得到的數(shù)字量應(yīng)及時(shí)傳送到單片機(jī)進(jìn)行處理。
OE——輸出允許信號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。
ALE——地址鎖存允許信號(hào)。對(duì)應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。
START——轉(zhuǎn)換啟動(dòng)信號(hào)。START上升沿時(shí),復(fù)位ADC0809;START下降沿時(shí)啟動(dòng)芯片,開始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持 低電平。本信號(hào)有時(shí)簡(jiǎn)寫為ST。
CLK——時(shí)鐘信號(hào)。ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘信號(hào)引腳。通常使用頻率為500KHz的時(shí)鐘信號(hào)。
EOC——轉(zhuǎn)換結(jié)束信號(hào)。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號(hào)即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請(qǐng)求信號(hào)使用。
CLOCK    BIT    P2.4
ST         BIT    P2.5
EOC      BIT    P2.6
OE       BIT    P2.7
CLR       ST
SETB      ST
CLR       ST         ;啟動(dòng)轉(zhuǎn)換
JNB       EOC,$      ;等待輸出結(jié)果
SETB      OE         ;允許輸出
MOV      ADC,P1     ;讀取A/D轉(zhuǎn)換結(jié)果
CLR       OE         ;關(guān)閉輸出
MOV      A,ADC       ;將A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換成BCD碼


圖3—2  A/D轉(zhuǎn)換程序流程圖
3.2.3  顯示子程序的設(shè)計(jì)
設(shè)計(jì)中采用動(dòng)態(tài)掃描法,實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,并顯示小數(shù)點(diǎn)。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低
通過逐次選通P2.0,P2.1 ,P2.2,P2.3依次送十進(jìn)制的相應(yīng)字段碼給P1口,并延時(shí)5ms完成顯示。
顯示程序:
MOV    LED_0,#00H
MOV    LED_1,#00H
MOV    LED_2,#00H
MOV    LED_3,#00H
MOV    DPTR,#TABLE      ;送段碼表首地址
DISP:    MOV    A,LED_2
         MOVC   A,@A+DPTR
ORL    A,#80H                                                ;顯示小數(shù)點(diǎn)
                   MOV    BUFFER+2,A       ;送顯示緩存
         CLR    P2.1
         MOV    P0,A
         LCALL  DELAY
         SETB   P2.1
SETB   P2.0
         MOV    A,LED_1
         MOVC   A,@A+DPTR
         CLR    P2.0
         MOV    P0,A
         LCALL  DELAY
         RET
DELAY:  MOV    R6,#10            ;延時(shí)5ms
圖3—4  顯示子程序流程圖
3.2.4  報(bào)警子程序的設(shè)計(jì)
本電路的P3.0,P3.1作為高位和低位的報(bào)警控制線,通過設(shè)置高低液位報(bào)警線來實(shí)現(xiàn)報(bào)警功能。本設(shè)計(jì)要求為:液位在小于1.5米時(shí)低位報(bào)警燈亮進(jìn)行低位報(bào)警,液位在1.5~4米時(shí)燈都不亮,液位在大于4米時(shí)高位報(bào)警燈亮進(jìn)行高位報(bào)警。
報(bào)警程序:
MOV    H_TEMP,#153           ;204/255=0.6  高于80%報(bào)警
MOV    L_TEMP,#77            ;77/255=0.3   低于30%報(bào)警
MOV    A,ADC                 ;將A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換成BCD碼
         SUBB   A,L_TEMP      ;判斷是否低于下限
         JC     LALM
         MOV    A,H_TEMP
         MOV    R0,ADC
         SUBB   A,R0           ;判斷是否高于上限
         JC     HALM
         CLR    TR1
         LJMP   PROC
LALM:   CLR    L_ALM          ;低位報(bào)警
         SETB   TR1
         CLR    FLAG
         LJMP   PROC
HALM:   CLR    H_ALM          ;高位報(bào)警
         SETB   TR1
         SETB   FLAG
         LJMP   PROC


圖3—5  報(bào)警子程序流程圖
3.3 軟件設(shè)計(jì)總結(jié)
在本章中主要講述了軟件設(shè)計(jì)的一些情況,對(duì)軟件的一些功能進(jìn)行了解釋,根據(jù)程序組成情況分成六個(gè)程序模塊,分別介紹了各個(gè)程序模塊的工作原理和功能,對(duì)部分程序進(jìn)行了簡(jiǎn)單的注釋,通過流程圖直觀的表現(xiàn)出各個(gè)模塊的作用及程序運(yùn)行過程。在本次的軟件設(shè)計(jì)中,運(yùn)用Keil進(jìn)行編程,將編輯好的程序進(jìn)行編譯,查看是否語(yǔ)法錯(cuò)誤,如果沒有錯(cuò)誤,設(shè)置晶振頻率,編譯生成.Hex文件,進(jìn)行仿真。在此過程中,我收益良多,熟悉了單片機(jī)匯編語(yǔ)言的使用,對(duì)單片機(jī)的編程有了進(jìn)一步的理解,通過和同學(xué)的交流,學(xué)會(huì)了很多以前自己不能解決的問題。

第4章  調(diào)  試
4.1 仿真電路調(diào)試
在仿真程序中通過模塊編程,用Proteus軟件與Keil軟件相結(jié)合進(jìn)行調(diào)試,(調(diào)試程序見附錄I)
1.建立工程文件
1)點(diǎn)擊菜單project,選擇new project:
2)然后選擇要保存的路徑,輸入工程文件的名字,比如保存到論文目錄里,工程文件的名字為yang.uv2.
3)這時(shí)會(huì)彈出一個(gè)對(duì)話框,選擇單片機(jī)的型號(hào),你可以根據(jù)你使用的單片機(jī)來選擇,keil c51幾乎支持所有要求你的51核的單片機(jī),這里選AT89S51。
這時(shí)要新建一個(gè)源程序文件,建立一個(gè)匯編文件,輸入編寫好的程序。
保存。選擇要保存的路徑,在文件名里輸入文件名,注意一定要輸入擴(kuò)展名,這里有匯編語(yǔ)言,文件名為:yang.asm。
2. 調(diào)試程序
(1)點(diǎn)擊Target 1前面的+號(hào),展開里面的內(nèi)容source Group1:
(2)用右鍵點(diǎn)擊Sourece Group 1(注意用鼠標(biāo)的右鍵,而不是左鍵),將彈出一個(gè)菜單,選擇Add Files to Guoup'Source Group 1'.
(3)選擇剛才的文件yang.asm.這時(shí)在source group 1 里就有yang.asm文件
(4)單擊“Project”菜單,再在下拉菜單中單擊“Built Target”選項(xiàng)(或者使用快捷鍵F7),編譯成功后,再單擊“Project”菜單,在下拉菜單中單擊“Start/Stop Debug Session”(或者使用快捷鍵Ctrl+F5)。硬件仿真原理圖如下圖
圖4—1  仿真原理圖
3. 仿真結(jié)果
通過改變電位器阻值的變化來模擬液位的變化,液位數(shù)值在數(shù)碼管上顯示,液位在小于1.5米時(shí)低位報(bào)警燈報(bào)警,液位在1.5米到4.0米時(shí)不報(bào)警,液位大于4.0米時(shí)高位報(bào)警燈報(bào)警。芯片ADC0809的轉(zhuǎn)換精度為1/256,所以本電路的最小分辨率為0.05V。
4.2 硬件電路調(diào)試
1.焊接電路時(shí)注意布局是否合適,芯片擺放是否正確,元器件是否齊全。
2.焊接好電路后,用萬(wàn)用表檢測(cè)電路是否有短路、斷路現(xiàn)象發(fā)生,檢測(cè)地線和電源線是否短路。
3.用萬(wàn)用表按照電路原理圖重新檢查電路,檢查是否有焊接錯(cuò)誤的情況發(fā)生,檢查元器件是否虛焊。
4.插上芯片,注意管腳方向是否與PCB設(shè)計(jì)一致。
5.連通電源,檢查電路在沒有程序時(shí)是否與仿真結(jié)果一致。
4.3 硬件電路出現(xiàn)的問題及解決方法
1.電源接通后,發(fā)現(xiàn)ADC0809芯片發(fā)燙。
解決過程:開始考慮是否是電源接錯(cuò)了,導(dǎo)致接在ADC0809兩端的電壓過大導(dǎo)致的,用萬(wàn)用表檢測(cè)后發(fā)現(xiàn)電源正確,后經(jīng)老師指導(dǎo)找出問題是使用雙電源供電,兩個(gè)電源電壓有偏差,導(dǎo)致芯片發(fā)燙,后改正后芯片正常工作。
2.調(diào)試電路時(shí),數(shù)碼管有第一個(gè)不顯示。
解決過程:開始考慮是否是程序的問題導(dǎo)致數(shù)碼管不顯示,仔細(xì)檢查程序后,經(jīng)proteus仿真證明程序沒有問題,后考慮是不是數(shù)碼管出現(xiàn)問題,交換數(shù)碼管控制信號(hào)線后,發(fā)現(xiàn)第一個(gè)數(shù)碼管的信號(hào)線能使其他數(shù)碼管顯示,后用萬(wàn)用表檢測(cè)發(fā)現(xiàn)它的兩個(gè)管腳短路,證明第一個(gè)數(shù)碼管已損壞,不能顯示,于是重新?lián)Q取數(shù)碼管后,數(shù)碼管顯示正常。
4.4 軟件程序調(diào)試
本設(shè)計(jì)調(diào)試程序使用的是Keil編譯軟件和Proteus仿真軟件。先將編輯好的程序進(jìn)行編譯,檢查程序是否有語(yǔ)法上的錯(cuò)誤。在編譯、連接無(wú)錯(cuò)誤和警告后,把程序進(jìn)行分塊調(diào)試。然后用單步調(diào)試的方法進(jìn)行檢查寄存器中的內(nèi)容是否與預(yù)期結(jié)果一致。例如:顯示部分,在調(diào)試中,可以用相關(guān)窗口查看相應(yīng)寄存器的內(nèi)容,35H單元存放采樣值,30H,31H,32H,33H單元內(nèi)容則為其轉(zhuǎn)換值,再對(duì)比顯示的數(shù)據(jù)就可以知道是否正確。
運(yùn)行編譯生成.hex文件,然后在Proteus中加入.hex文件,進(jìn)行仿真,查看顯示是否正確,能否達(dá)到要求。進(jìn)行單步調(diào)試,查看硬件電路的電平是否和預(yù)期結(jié)果一致。
用STC_ISP_V3.1軟件將.hex文件燒寫進(jìn)單片機(jī)中,與硬件相連接。通電后,用萬(wàn)用表檢查電路的電壓是否與仿真圖中的電壓一致,用仿真結(jié)果驗(yàn)證硬件電路是否正確。
4.5 軟件程序調(diào)試出現(xiàn)的問題及解決方法
1.在仿真時(shí),ADC0809不能進(jìn)行仿真。
解決方法:在仿真時(shí)使用Proteus軟件,芯片ADC0809不能進(jìn)行仿真,系統(tǒng)提示是沒有模型,于是仿真時(shí)采用ADC0808芯片進(jìn)行。由于ADC0809與ADC0808的區(qū)別在于:ADC0808的輸出數(shù)據(jù)線D0~D7是從高位依次到低位,ADC0809的輸出數(shù)據(jù)線D0~D7是從低位依次到高位。于是采用ADC0808進(jìn)行仿真,ADC0809用在實(shí)物電路上。
2.在Keil中編輯程序時(shí),程序出現(xiàn)有錯(cuò)誤,其不能運(yùn)行。
解決方法:在Keil中運(yùn)行后雙擊出現(xiàn)的錯(cuò)誤,錯(cuò)誤行被指出來,根據(jù)程序的上下文,改正出現(xiàn)的錯(cuò)誤。由于在程序中START后少添加了“:”,使得程序不能運(yùn)行,改正后程序運(yùn)行正常。
4.6 聯(lián)機(jī)調(diào)試總結(jié)
聯(lián)機(jī)調(diào)試是做硬件電路中的一個(gè)很重要的環(huán)節(jié),它的調(diào)試結(jié)果直接體現(xiàn)出對(duì)硬件和軟件的熟悉程度,對(duì)任務(wù)的理解。
在整個(gè)調(diào)試過程中對(duì)Keil編譯軟件,STC_ISP_V3.1燒寫軟件和Proteus仿真軟件有了進(jìn)一步的認(rèn)識(shí)和理解,對(duì)AT89C51單片機(jī)的匯編語(yǔ)言有了更進(jìn)一步的了解,和同學(xué)的交流更進(jìn)一步的提高自己。通過對(duì)調(diào)試軟件和硬件時(shí)出現(xiàn)的一些問題的討論,使我能更好的對(duì)電路、程序有個(gè)更深的認(rèn)識(shí),使我學(xué)會(huì)了分析電路的方法和技巧。

第5章  結(jié)  論
在本次畢業(yè)設(shè)計(jì)中完成了電路原理圖設(shè)計(jì),PCB板設(shè)計(jì),電路焊接,程序的設(shè)計(jì),軟、硬件的聯(lián)機(jī)調(diào)試。硬件電路的各個(gè)模塊,包括單片機(jī)最小系統(tǒng)電路,A/D轉(zhuǎn)換電路,數(shù)碼管顯示電路,報(bào)警電路等都能夠正常工作。在與軟件進(jìn)行聯(lián)機(jī)調(diào)試時(shí),通過改變電位器阻值的變化來模擬液位的變化,液位數(shù)值在數(shù)碼管上顯示,液位在小于1.5米時(shí)低位報(bào)警燈報(bào)警,液位在1.5米到4.0米時(shí)不報(bào)警,液位大于4.0米時(shí)高位報(bào)警燈報(bào)警。芯片ADC0809的轉(zhuǎn)換精度為1/256,所以本電路的最小分辨率為1/256V。
本次畢業(yè)設(shè)計(jì)完成了任務(wù)書下達(dá)的所有任務(wù),實(shí)現(xiàn)了液位的檢測(cè)及液位的顯示,并實(shí)現(xiàn)了超限報(bào)警。顯示液位范圍為0~5m,顯示的最小分辨率為1/256V。它是一個(gè)可以應(yīng)用于一般工業(yè)的液位檢測(cè)及顯示系統(tǒng)的設(shè)計(jì)方案,測(cè)量范圍和測(cè)量精度滿足一般工業(yè)應(yīng)用需要。

致  謝
本次畢業(yè)設(shè)計(jì)是在寧耀斌老師的悉心指導(dǎo)下完成的,在論文設(shè)計(jì)期間受到寧老師很大的幫助和指導(dǎo),在這里衷心的感謝寧老師在本次畢業(yè)設(shè)計(jì)中給予的關(guān)心和支持。
同時(shí),在這次設(shè)計(jì)過程中還受到姬軍鵬老師的指導(dǎo)和幫助。在此,謹(jǐn)向他們?cè)诎倜Ξ?dāng)中給予的指導(dǎo)和幫助表示衷心的感謝。
同時(shí),本課題能順利完成還得到了孟杰、彭世業(yè)、白禮絨、孟環(huán)等同學(xué)的大力幫助,感謝他們?cè)诒菊n題的設(shè)計(jì)過程中給予了許多寶貴意見和幫助,在此一并向他們致謝!

參考文獻(xiàn)
  • 趙遠(yuǎn)航. MCS-51 單片機(jī)C語(yǔ)言應(yīng)用程序接口技術(shù)及實(shí)例[M].航天工業(yè)出版社.2003.2
  • 陳國(guó)先. PIC單片機(jī)原理與接口技術(shù)[M].北京:電子工業(yè)出版社,2001:
  • 張毅剛. MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社 2003:
  • 孫向東,李守智等.電氣生產(chǎn)實(shí)習(xí)指導(dǎo)手冊(cè)[J].西安:理工大學(xué)電氣工程系 2004
  • 黃正瑾.電子設(shè)計(jì)競(jìng)賽[M].東南大學(xué)出版社,2001
  • 蔣廷彪. 單片機(jī)原理及應(yīng)用(MCS-51[M].重慶大學(xué)出版社,2003
  • 肖婧. 單片機(jī)系統(tǒng)設(shè)計(jì)與仿真---基于proteus [M].北京航空航天大學(xué)出版 2010.8
  • 周潤(rùn)景,袁偉亭,景曉松.ProteusMCS-51&ARM7系統(tǒng)中的應(yīng)用百例 [M].電子工業(yè)出版社,2006,10
  • 蔣廷彪,劉電霆,高富強(qiáng),方華 單片機(jī)原理及應(yīng)用(MCS-51[M].重慶大學(xué)出版社 2003,8
  • 彭軍.傳感器與檢測(cè)技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.
  • AUG AI-Dhaher, Integrating hardware and software for The    development of microcontroller-based systems. Microprocessor and Microsystems,25(2001) 317-328
  • Shuakla N V,Deshpande P B.Enhancing the robustness of internal-basedno nlinear ph control.Chemical Engineering Science,1993
  • Jae Hyeong Seo, Cang Ho Choi. A new simplified Space-Vector PWM Method for Three-level-Inverters [J].IEEE Trans on PE, July 2001, Vol.16(NO.4):545-550.
  • 8-Bit Microcontroller with 4K Bytes Flash AT89c51

附 錄
附錄1:電路原理圖
附錄2:參考程序

  1. LED_0    EQU    30H

  2. LED_1    EQU    31H

  3. LED_2    EQU    32H

  4. LED_3    EQU    33H

  5. BUFFER  EQU    34H           ;顯示緩存

  6. ADC      EQU    35H

  7. TCNTA    EQU    36H

  8. TCNTB    EQU    37H

  9. H_TEMP   EQU    38H          ;液位上限

  10. L_TEMP   EQU    39H          ;液位下限

  11. FLAG     BIT    00H

  12. H_ALM    BIT    P3.0

  13. L_ALM    BIT    P3.1

  14. SOUND    BIT    P3.7

  15. CLOCK   BIT    P2.4

  16. ST       BIT    P2.5

  17. EOC      BIT    P2.6

  18. OE       BIT    P2.7

  19.          ORG    00H

  20.          SJMP   START

  21.          ORG    0BH

  22.         LJMP   INT_T0

  23.          ORG    1BH

  24.          LJMP   INT_T1

  25. START:   MOV    LED_0,#00H

  26.          MOV    LED_1,#00H

  27.          MOV    LED_2,#00H

  28.           MOV    DPTR,#TABLE     ;送段碼表首地址

  29.          MOV    H_TEMP,#153     ;204/255=0.8  高于80%報(bào)警

  30.          MOV    L_TEMP,#77       ;77/255=0.3   低于30%報(bào)警

  31.          MOV    TMOD,#12H        ;開中斷

  32.          MOV    TH0,#245            

  33.          MOV    TL0,#0

  34.          MOV    IE,#8AH            

  35.          CLR    C

  36.          SETB   TR0        ;為ADC0808提供時(shí)鐘

  37. WAIT:   SETB   H_ALM

  38.          SETB   L_ALM

  39.          CLR    ST

  40.          SETB   ST

  41.          CLR    ST          ;啟動(dòng)轉(zhuǎn)換

  42.          JNB    EOC,[        DISCUZ_CODE_1        ]nbsp;      ;等待輸出結(jié)果

  43.          SETB   OE         ;允許輸出

  44.          MOV    ADC,P1     ;讀取A/D轉(zhuǎn)換結(jié)果

  45.          CLR    OE         ;關(guān)閉輸出

  46.          MOV    A,ADC       ;將A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換成BCD碼

  47.          SUBB   A,L_TEMP       ;判斷是否低于下限

  48.          JC     LALM

  49.          MOV    A,H_TEMP

  50.          MOV    R0,ADC

  51.          SUBB   A,R0           ;判斷是否高于上限

  52.          JC     HALM

  53.          CLR    TR1

  54.          LJMP   PROC

  55. LALM:   CLR    L_ALM          ;低位報(bào)警

  56.          SETB   TR1

  57.          CLR    FLAG

  58.          LJMP   PROC

  59. HALM:   CLR    H_ALM          ;高位報(bào)警

  60.          SETB   TR1

  61.          SETB   FLAG

  62.          LJMP   PROC

  63. PROC:   MOV    A,ADC         ;數(shù)值轉(zhuǎn)換

  64.          MOV    B,#51

  65.          DIV    AB

  66.          MOV    LED_2,A

  67.          MOV    A,B

  68.          MOV    B,#10

  69.          DIV    AB

  70.          MOV    LED_1,A

  71.          MOV    LED_0,B

  72.          LCALL  DISP            ;顯示A/D轉(zhuǎn)換結(jié)果

  73.          SJMP   WAIT

  74. INT_T0:  CPL    CLOCK          ;提供ADC0808時(shí)鐘

  75.          RETI

  76. INT_T1:  CPL    SOUND

  77.          INC    TCNTA

  78.          MOV    A,TANTA

  79.          JB     FLAG,I1         ;判斷是低位報(bào)警還是高位報(bào)警

  80.          CJNE   A,#30,RETUNE     ;低位報(bào)警聲

  81.          SJMP   I2

  82.       I1: CJNE   A,#20,RETUNE       ;高位報(bào)警聲

  83.      I2: MOV    TCNTA,#0

  84.          INC    TCNTB

  85.          MOV    A,TCNTB

  86.          CJNE   A,#25,RETUNE

  87.          MOV    TCNTA,#0

  88.          MOV    TCNTB,#0

  89.          LCALL  DELAY2

  90. RETUNE:  RETI

  91. DISP:    MOV    A,LED_0         ;數(shù)碼管顯示子程序

  92.          MOVC   A,@A+DPTR       ;將字段碼轉(zhuǎn)換顯示碼

  93.          CLR    P2.3

  94.          MOV    P0,A

  95.          LCALL  DELAY

  96.          SETB   P2.3

  97.          MOV    A,LED_1

  98.          MOVC   A,@A+DPTR

  99.          CLR    P2.2

  100.          MOV    P0,A

  101.          LCALL  DELAY

  102.          SETB   P2.2

  103.          MOV    A,LED_2

  104.          MOVC   A,@A+DPTR

  105. ORL    A,#80H                                              ;顯示小數(shù)點(diǎn)

  106.                    MOV    BUFFER+2,A       ;送顯示緩存

  107.          CLR    P2.1

  108.          MOV    P0,A

  109.          LCALL  DELAY

  110.          SETB   P2.1

  111.          RET

  112. DELAY:  MOV    R6,#10          ;延時(shí)5ms

  113. D1:      MOV    R7,#250

  114.          DJNZ   R7,$

  115.          DJNZ   R6,D1

  116.          RET

  117. DELAY2: MOV    R5,#20

  118. D2:      MOV    R6,#20

  119. D3:      MOV    R7,#250

  120.          DJNZ   R7,$

  121.          DJNZ   R6,D3

  122.          DJNZ   R5,D2

  123.          RET

  124. TABLE:  DB     3FH,06H,5BH,4FH,66H    ;0,1,2,3,4 共陰極接法

  125.          DB     6DH,7DH,07H,7FH,6FH     ;5,6,7,8,9,

  126.          END

復(fù)制代碼


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:436004 發(fā)表于 2018-11-30 15:05 | 只看該作者
此帖僅作者可見

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产91久久久久久吃药 | 日韩精品一区二区三区中文在线 | 日本成人中文字幕 | 在线观看亚洲专区 | 五月网婷婷 | 精品视频一区二区三区在线观看 | 精品福利视频一区二区三区 | 在线视频日韩 | 成人av资源在线 | 色橹橹欧美在线观看视频高清 | 亚洲色视频 | 狠狠干网| 天天插天天操 | 国产精品一区一区三区 | 黄频视频| 色噜噜狠狠色综合中国 | 欧美一区二区三区在线看 | 国产馆 | 亚洲精品9999久久久久 | 在线看一区二区三区 | 日韩精品人成在线播放 | 在线黄色网 | 夜夜久久 | 亚洲一区中文字幕在线观看 | 久久99精品视频 | 中文字幕色站 | 国产成人av一区二区三区 | www.狠狠干 | 欧美日韩高清 | 亚洲一区综合 | 一区二区视屏 | 亚洲永久字幕 | av在线一区二区 | 日日碰狠狠躁久久躁婷婷 | 国产视频中文字幕 | 天堂中文资源在线 | 午夜免费在线电影 | 国产中文字幕网 | 天天操夜夜艹 | 密室大逃脱第六季大神版在线观看 | 欧美在线视频一区二区 |