[畢業(yè)設(shè)計(jì)]基于單片機(jī)的冬棗保鮮庫(kù)恒溫控制系統(tǒng)_第1頁(yè)
[畢業(yè)設(shè)計(jì)]基于單片機(jī)的冬棗保鮮庫(kù)恒溫控制系統(tǒng)_第2頁(yè)
[畢業(yè)設(shè)計(jì)]基于單片機(jī)的冬棗保鮮庫(kù)恒溫控制系統(tǒng)_第3頁(yè)
[畢業(yè)設(shè)計(jì)]基于單片機(jī)的冬棗保鮮庫(kù)恒溫控制系統(tǒng)_第4頁(yè)
[畢業(yè)設(shè)計(jì)]基于單片機(jī)的冬棗保鮮庫(kù)恒溫控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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、 第一章 緒論第一節(jié) 冬棗保鮮庫(kù)恒溫控制系統(tǒng)概述本畢業(yè)設(shè)計(jì)的冬棗保鮮庫(kù)恒溫控制系統(tǒng),是面向冬棗果農(nóng)的小型保鮮庫(kù)。它以單片機(jī)為核心,利用其他溫度檢測(cè)元件和執(zhí)行機(jī)構(gòu)及時(shí)、自動(dòng)地對(duì)保鮮庫(kù)進(jìn)行溫度控制,從而提高保鮮能力,延長(zhǎng)保鮮時(shí)間,帶來(lái)更大的經(jīng)濟(jì)效益。該系統(tǒng)有鍵盤(pán)可以進(jìn)行很方便地控制,實(shí)現(xiàn)以下功能:被控溫度設(shè)定,控制精度設(shè)定,對(duì)溫度采樣點(diǎn)的查詢,并能顯示數(shù)據(jù)。由于是面向普通果農(nóng)的,考慮果農(nóng)的實(shí)際的可投資額,盡量在不降低系統(tǒng)性能的前提下,采用價(jià)格低的元器件,降低了整個(gè)系統(tǒng)的造價(jià),節(jié)省投資。該系統(tǒng)采用8031單片機(jī),下面對(duì)此做詳細(xì)介紹。第二節(jié) 單片機(jī)的特點(diǎn)所謂單片機(jī),就是把中央處理器cpu(centra

2、l processing unit)、隨機(jī)存取存儲(chǔ)器ram(random access memory)、只讀存儲(chǔ)器(read only memory)、定時(shí)器計(jì)數(shù)器以及i/o(input/output)接口電路等主要計(jì)算機(jī)部件,集成在一塊集成電路芯片上的微型計(jì)算機(jī)。雖然單片機(jī)只是一個(gè)芯片,但從組成和功能上看,它已具有了微機(jī)系統(tǒng)的含義。單片機(jī)的主要功能在于實(shí)現(xiàn)計(jì)算機(jī)控制,現(xiàn)在單片機(jī)的應(yīng)用日益廣泛深入,諸如在儀器儀表,家用電器和專用裝備的智能化,在過(guò)程控制方面單片機(jī)也扮演著越來(lái)越重要的角色。單片機(jī)是微型機(jī)的一個(gè)分類,它的應(yīng)用系統(tǒng)也包括硬件系統(tǒng)和軟件系統(tǒng)。硬件系統(tǒng)和微型機(jī)一樣。軟件系統(tǒng)只有監(jiān)控程序和

3、目標(biāo)碼的應(yīng)用程序。概括地說(shuō),單片機(jī)具有以下五個(gè)主要特點(diǎn):1. 受集成度限制,片內(nèi)存儲(chǔ)器容量較小。一般rom小于8k字節(jié),ram小于256字節(jié),但可在外部進(jìn)行擴(kuò)展,通常rom、ram可分別擴(kuò)展至64k字節(jié)或128k字節(jié)。2. 可靠性好。芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,其抗干擾優(yōu)于一般的通用的cpu;程序指令及常數(shù)、表格固化在rom中不易被損壞;許多信號(hào)通道均在同一個(gè)芯片內(nèi),故可靠性高。3. 易擴(kuò)展。片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必須的部件。芯片外部有許多供擴(kuò)展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。4. 控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)指令系統(tǒng)中均有

4、極豐富的條件分支轉(zhuǎn)移指令、i/o口的邏輯操作及位處理功能。一般來(lái)說(shuō),單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微處理器。5. 一般單片機(jī)內(nèi)無(wú)監(jiān)控程序或系統(tǒng)通用管理軟件,只放置有用戶調(diào)試好的應(yīng)用程序。第三節(jié)單片機(jī)在冬棗保鮮庫(kù)恒溫控制系統(tǒng)中的應(yīng)用單片機(jī)具有功能強(qiáng)、體積小、結(jié)構(gòu)緊湊、性能/價(jià)格比高等優(yōu)點(diǎn),因此很適合用于智能控制系統(tǒng)。在冬棗保鮮庫(kù)恒溫控制系統(tǒng)中,單片機(jī)的應(yīng)用主要有以下幾點(diǎn):1. 系統(tǒng)控制與管理該系統(tǒng)的控制和管理由單片機(jī)進(jìn)行,在測(cè)量過(guò)程中能夠自動(dòng)啟動(dòng)信號(hào)采樣,數(shù)據(jù)處理完畢后,發(fā)出信號(hào)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)動(dòng)作,并對(duì)鍵盤(pán)的命令及時(shí)響應(yīng)、識(shí)別和處理。2. 數(shù)據(jù)處理數(shù)據(jù)處理是計(jì)算機(jī)的獨(dú)特功能,是其它

5、各種儀器設(shè)備無(wú)法實(shí)現(xiàn)的。在測(cè)量過(guò)程中,單片機(jī)承擔(dān)了全部的計(jì)數(shù)、計(jì)時(shí)和數(shù)據(jù)處理任務(wù),并存儲(chǔ)重要的設(shè)定值和精度值。第二章方案構(gòu)思與選擇方案構(gòu)思與選擇是本設(shè)計(jì)中十分重要的一環(huán),是影響性能/價(jià)格的主要因素。在進(jìn)行方案構(gòu)思與選擇時(shí),應(yīng)考慮到如下幾個(gè)方面的問(wèn)題:1.采用新穎測(cè)量方法。首先必須選擇最合適的測(cè)量原理,以充分利用微機(jī)的運(yùn)算和控制功能,從而簡(jiǎn)化其他硬件電路,提高測(cè)量精度和儀器性能2.操作性要好。操作性好,包括兩個(gè)方面含義,即使用方便和維護(hù)容易。3.可靠性高??煽啃愿呤菍?duì)系統(tǒng)設(shè)計(jì)最重要的一個(gè)基本要求。4.價(jià)格要便宜。在滿足精度、速度等同等條件下,盡可能采用價(jià)格低的元器件,以降低整個(gè)系統(tǒng)的費(fèi)用。第一節(jié)

6、設(shè)計(jì)目的冬棗的保鮮期短,常溫下僅能保鮮6-7天,超期則變軟,失去經(jīng)濟(jì)價(jià)值,為了提高市場(chǎng)競(jìng)爭(zhēng)能力,需要延長(zhǎng)保鮮期,故一個(gè)合適的保鮮庫(kù)是很重要的。既要滿足保鮮的要求而且果農(nóng)能負(fù)擔(dān)得起投資,并有較高的效益。有資料顯示,保鮮庫(kù)溫度控制16以下,冬棗可貯存1個(gè)月;用0.03mmpve塑料袋包裝,溫度控制在0-1,可貯存2個(gè)月。因此,在計(jì)算機(jī)技術(shù)廣泛應(yīng)用的現(xiàn)在,我們不難設(shè)計(jì)一個(gè)以微處理器為核心的數(shù)字式恒溫控制系統(tǒng),以對(duì)溫度進(jìn)行測(cè)量,這樣不但測(cè)量結(jié)果精確,而且可靠性高,控制及時(shí),價(jià)格便宜,使用起來(lái)靈活方便,降低人工強(qiáng)度。由于此測(cè)量裝置是以單片計(jì)算機(jī)8031為處理器,具有工業(yè)上穩(wěn)定和可靠的優(yōu)點(diǎn),因此具有適合惡

7、劣的工作環(huán)境的特點(diǎn)。第二節(jié)設(shè)計(jì)要求在進(jìn)行設(shè)計(jì)時(shí)把要實(shí)現(xiàn)的任務(wù)與功能合理的分配給硬件和軟件。這其中既要考慮到滿足精確性、可靠性、實(shí)時(shí)性的要求,又要做到硬件軟件合理,盡可能地提高性能/價(jià)格比。硬件的設(shè)計(jì)主要采用大規(guī)模集成電路,軟件的設(shè)計(jì)主要采用mcs51匯編語(yǔ)言。第三節(jié)硬件的選擇根據(jù)設(shè)計(jì)要求,本系統(tǒng)所要求的控制精度不是很高,所以在選擇硬件時(shí)選用了一些價(jià)格低廉性能基本符合要求的元器件。選用8031單片機(jī)、2764rom、a/d轉(zhuǎn)換器adc0809、led顯示電路和熱敏電阻及聲光報(bào)警器等元器件達(dá)到設(shè)計(jì)要求。該系統(tǒng)的適時(shí)數(shù)據(jù)處理量不大,所以沒(méi)有選用外部ram,a/d轉(zhuǎn)換器也只是8位轉(zhuǎn)換。在此控制系統(tǒng)中,

8、應(yīng)用8031最小系統(tǒng)對(duì)各采樣點(diǎn)、設(shè)定值、精度值的溫度及時(shí)、準(zhǔn)確的儲(chǔ)存和數(shù)據(jù)處理控制。通常的單片機(jī)應(yīng)用系統(tǒng)中,使用的顯示器主要有l(wèi)ed(發(fā)光二極管顯示器)和lcd(液晶顯示器)。由于只是對(duì)溫度值進(jìn)行顯示,所以選擇led顯示器進(jìn)行數(shù)字顯示即可。對(duì)最主要的控制對(duì)象溫度,采用四個(gè)熱敏電阻分布式采樣,用a/d轉(zhuǎn)換器adc0809進(jìn)行模數(shù)轉(zhuǎn)換。當(dāng)系統(tǒng)發(fā)現(xiàn)被控溫度異常時(shí),聲光報(bào)警器及時(shí)發(fā)出信號(hào)。由于本次設(shè)計(jì)是理論設(shè)計(jì),故對(duì)熱敏電阻、聲光報(bào)警器等沒(méi)有具體指明是何種器件。第四節(jié)軟件的設(shè)計(jì)由于溫度對(duì)象是比較難控制的,滯后很大,而且保鮮庫(kù)現(xiàn)場(chǎng)的環(huán)境封閉性較高,因此在對(duì)溫度的檢測(cè)和控制上結(jié)合實(shí)際情況以方便編程為主,對(duì)

9、可能發(fā)生的環(huán)境溫度進(jìn)行測(cè)量和顯示,并在溫度異常時(shí)報(bào)警。以負(fù)反饋控制理論為指導(dǎo),當(dāng)庫(kù)內(nèi)的溫度與設(shè)定值的偏差在經(jīng)過(guò)控制算法計(jì)算后超過(guò)控制精度二倍的時(shí)候,發(fā)出控制信號(hào),采取相應(yīng)的升溫或降溫手段,單片機(jī)不斷地對(duì)四路采樣信號(hào)進(jìn)行采樣和計(jì)算,在庫(kù)溫與設(shè)定值還存在較小偏差時(shí),停止升溫或降溫動(dòng)作,防止調(diào)節(jié)過(guò)度。軟件設(shè)計(jì)的具體程序圖和詳細(xì)說(shuō)明請(qǐng)參照第四章:冬棗保鮮庫(kù)恒溫控制系統(tǒng)軟件設(shè)計(jì)。第三章冬棗保鮮庫(kù)恒溫控制系統(tǒng)硬件電路介紹冬棗保鮮庫(kù)恒溫控制系統(tǒng)硬件電路大體上可分為四個(gè)部分,即8031最小系統(tǒng)、熱敏電阻溫度傳感部分、led顯示器、a/d轉(zhuǎn)換器。下面分別介紹這幾部分的結(jié)構(gòu)原理。第一節(jié) 8031最小系統(tǒng)一、803

10、1最小應(yīng)用系統(tǒng)的構(gòu)成8031是片內(nèi)無(wú)程序存儲(chǔ)器的供應(yīng)狀態(tài)芯片,因此其最小應(yīng)用系統(tǒng)必須在片外擴(kuò)展eprom。圖3-1為外接程序存儲(chǔ)器的最小應(yīng)用系統(tǒng)。vcc p0.07rst/vpd 8031vss ale xtal1 p2.04 xtal2 psen74ls373ga7a0o7o02764eproma12a8oer2r1+5vco1co2圖3.1 8031最小應(yīng)用系統(tǒng)片外8k字節(jié)單元地址要求地址線13根(a0a12),它由p0口和p2.0p2.4組成。地址鎖存信號(hào)為ale。程序存儲(chǔ)器的選取信號(hào)為psen,由于程序存儲(chǔ)器只有一片,故其片選信號(hào)直接接地。8031芯片本身的連接除ea必須接地,表明選擇

11、外部存儲(chǔ)器外,還必須有復(fù)位和時(shí)鐘電路。二、 8031單片機(jī)的基本組成romram時(shí)鐘電路cpu定時(shí)器/計(jì)數(shù)器并行接口p0 p1p2 p3串行接口txd rxd中斷系統(tǒng)int0 int1t0 t1圖3-2 8031單片機(jī)的結(jié)構(gòu)框圖8031單片機(jī)的基本組成見(jiàn)圖3-2。 各部分介紹如下:1. 中央處理器(cpu)中央處理器是單片機(jī)的核心,完成運(yùn)算和控制功能。8031的cpu能處理8位的二進(jìn)制數(shù)或代碼。2. 內(nèi)部程序存儲(chǔ)器(內(nèi)部ram)8031芯片內(nèi)部共有256個(gè)ram單元,但其中后128個(gè)單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128個(gè)單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存

12、儲(chǔ)器是指前128單元,簡(jiǎn)稱內(nèi)部ram。3. 內(nèi)部程序存儲(chǔ)器(內(nèi)部rom)8031內(nèi)部沒(méi)有專用的程序存儲(chǔ)器,必須依靠外部芯片來(lái)擴(kuò)展其程序存儲(chǔ)器。4. 定時(shí)器/計(jì)數(shù)器8031共有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)時(shí)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。5. 并行i/o口8031共有四個(gè)8位的i/o口(p0、p1、p2、p3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。6. 串行口8031單片機(jī)有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。1 402 393 384 375 366 357 348 33875

132913 2814 2715 2616 2517 2418 2319 2220 217. 中斷控制系統(tǒng)8031單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8031共有5個(gè)中斷源,即外部中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。全部中斷分為高級(jí)和低級(jí)共二個(gè)優(yōu)先級(jí)別。8. 時(shí)鐘電路8031芯片內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。系統(tǒng)允許的最高晶振頻率為12mhz。從上述內(nèi)容可以看出,8031雖然是一個(gè)單片機(jī)芯片,但作為計(jì)算機(jī)應(yīng)該具有的基本部件它都包括,因此實(shí)際上它已是一個(gè)簡(jiǎn)單的微型計(jì)算機(jī)了。三、8031的信號(hào)引腳8031是標(biāo)準(zhǔn)的4

14、0引腳雙列直插式集成電路芯片,引腳排列請(qǐng)見(jiàn)圖3-3。 1 402 393 384 375 366 357 348 3387518051803121 2922 2823 2724 2625 2526 2427 2328 2229 21p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7rst/vpdp3.0/rxdp3.1/txdp3.2/int0p3.3/int1p3.4/t0p3.5/t1p3.6/wrp3.7/rdxtal2xtal1vssvccp0.0p0.1p0.2p0.3p0.4p0.5p0.6p0.7ea/vppale/progpsenp2.7p2.6p2.5p2.4p

15、2.3p2.2p2.1p2.0vss圖3-31. 信號(hào)引腳介紹p0.0p0.7 p0口8位雙向口線p1.0p1.7 p1口8位雙向口線p2.0p2.7 p2口8位雙向口線p3.0p3.7 p3口8位雙向口線ale 地址鎖存控制信號(hào)在系統(tǒng)擴(kuò)展時(shí),ale用于控制把p0口輸出的低8位地址送鎖存器鎖存起來(lái)以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。此外由于ale是以晶振頻率六分之一的固定頻率輸出的正脈沖,因此可作為外部時(shí)鐘或外部定時(shí)脈沖使用。psen 外部程序存儲(chǔ)器讀選通信號(hào)在讀外部rom時(shí)psen有效,以實(shí)現(xiàn)外部rom單元的讀操作。ea 訪問(wèn)程序存儲(chǔ)器的控制信號(hào)當(dāng)ea信號(hào)為低電平時(shí),對(duì)rom的讀操作是從內(nèi)部程序存儲(chǔ)

16、器開(kāi)始,并可延至外部程序存儲(chǔ)器。rst 復(fù)位信號(hào)當(dāng)輸入的復(fù)位信號(hào)延續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。xtal1和xtal2 外接晶體引線端當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。vss 地線vcc +5v電源以上就是8031單片機(jī)芯片40引腳的定義及簡(jiǎn)單功能說(shuō)明。2. 信號(hào)引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限的。例如8031系列把芯片引腳數(shù)目限定為40條,但單片機(jī)為實(shí)現(xiàn)其功能所需要的數(shù)目卻遠(yuǎn)遠(yuǎn)超過(guò)此數(shù)目,因此就出現(xiàn)了需要與可能的矛盾。如何解決這個(gè)矛盾?“兼職”是唯一可行的辦法,

17、即給一些信號(hào)引腳賦以雙重功能。如果把前述的信號(hào)定義為引腳的第一功能的話,則根據(jù)需要再定義的信號(hào)就是它的第二功能。下面介紹某些信號(hào)引腳的第二功能??诰€第二功能信號(hào)名稱p3.0rxd串行數(shù)據(jù)接收p3.1txd串行數(shù)據(jù)發(fā)送p3.2int0外部中斷0申請(qǐng)p3.3int1外部中斷1申請(qǐng)p3.4t0定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入p3.5t1定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入p3.6wr外部ram寫(xiě)選通p3.7rd外部ram讀選通表3-1 p3口的第二功能(1) p3口線的第二功能p3口的8條口線都定義有第二功能,詳見(jiàn)表3-1。(2) eprom存儲(chǔ)器程序固化所需要的信號(hào)有內(nèi)部eprom的單片機(jī)芯片(例如8751),為寫(xiě)入

18、程序需提供專門(mén)的編程脈和編程電源,這些信號(hào)也是由信號(hào)引腳以第二功能的形式提供的,即:編程脈沖:30腳(ale/prog)編程電壓(25v)31腳(ea/vpp)(3) 備用電源引入8031單片機(jī)的備用電源也是以第二功能的方式由9腳(rst/vpd)引入的。當(dāng)電源發(fā)生故障電壓下降到下限值時(shí),備用電源經(jīng)此端向內(nèi)部ram提供電壓,以保護(hù)內(nèi)部ram中的信息不丟失。以上把8031單片機(jī)的全部信號(hào),分別以第一功能和第二功能的形式給出。對(duì)于9、30和31各引腳,由于第一功能信號(hào)第二功能信號(hào)是計(jì)算機(jī)在不同工作方式下的信號(hào),因此不會(huì)發(fā)生使用上的矛盾。但是p3口的情況卻有所不同,它的第二功能信號(hào)都是單片機(jī)的重要控

19、制信號(hào)。因此在實(shí)際使用時(shí),都是先按需要選用第二功能信號(hào),剩下的口線才以第一功能的身份作數(shù)據(jù)位的輸入輸出使用。四、 8031的復(fù)位工作方式8031單片機(jī)共有復(fù)位、程序執(zhí)行、單步執(zhí)行、掉電保護(hù)、低功耗以及eprom編程和校驗(yàn)等6種工作方式。這里只介紹復(fù)位方式。1. 復(fù)位操作復(fù)位是單片機(jī)的初始化操作,其主要功能是把pc初始化為0000h,使單片機(jī)從0000h單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)進(jìn)入死鎖狀態(tài)時(shí),為了擺脫困境,也需按復(fù)位鍵以重新啟動(dòng)。除了pc之外,復(fù)位操作還對(duì)一些專用寄存器有影響,它們的復(fù)位狀態(tài)如下: pc 0000h tcon 00h ac

20、c 00h tl0 00h psw 00h th0 00h sp 00h tl1 00h dptr 0000h th1 00h p0p3 ffh scon 00h ip 000000b sbuf 不定 ie 0000000b pcon 00000b tmod 00h復(fù)位操作還對(duì)單片機(jī)的個(gè)別引腳信號(hào)有影響。2. 復(fù)位信號(hào)及其產(chǎn)生rst引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩脈沖周期(即2個(gè)機(jī)器周期以上),若使用頻率為6mhz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)4us才能完成復(fù)位操作。整個(gè)復(fù)位電路包括芯片內(nèi)外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)(rst)送史密特觸發(fā)器,再由片

21、內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的s5p2時(shí)刻對(duì)史密特觸發(fā)器的輸出進(jìn)行采樣。然后得到內(nèi)部復(fù)位操作所需要的信號(hào)。3. 復(fù)位方式復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的,只要電源vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中按鍵電平復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與vcc電源接通實(shí)現(xiàn)的,而按鍵脈沖復(fù)位則是利用rc微分電路產(chǎn)生的正脈沖來(lái)實(shí)現(xiàn)的。五、 8031的時(shí)鐘電路在8031芯片內(nèi)部有一個(gè)高增利益反相放大器,其輸入端為芯片引腳xtal1,其輸出端為引腳xtal2。而在芯片外部

22、,xtal1和xtal2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘電路。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。一般電容c1和c2取30pf左右。晶體的振蕩頻率范圍是1.2mhz12mhz。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)運(yùn)轉(zhuǎn)速度也就快。但反過(guò)來(lái)運(yùn)行速度快對(duì)存儲(chǔ)器的要求就高,對(duì)印刷板的工藝要求也高(線間寄生電容要?。?。8031在通常應(yīng)用情況下,使用振蕩頻率為6mhz的石英晶體,而12mhz主要是在高速串行通信的情況下才使用。六、 8031的定時(shí)器/計(jì)數(shù)器1. 定時(shí)方法概述在單片機(jī)的應(yīng)用中,可供選擇的定時(shí)方法有:(

23、1) 軟件定時(shí)軟件定時(shí)是靠執(zhí)行一個(gè)循環(huán)程序以進(jìn)行時(shí)間延遲。軟件定時(shí)的特點(diǎn)是時(shí)間精確,且不需外加硬件電路。但軟件定時(shí)需占用cpu從而增加cpu開(kāi)銷(xiāo),因此軟件定時(shí)的時(shí)間不宜太長(zhǎng)。此外軟件定時(shí)方法在某些情況下無(wú)法使用。(2) 硬件定時(shí)對(duì)于時(shí)間較長(zhǎng)的定時(shí),常使用硬件電路來(lái)完成。硬件定時(shí)方法的特點(diǎn)是定時(shí)功能完全由硬件電路完成,不占cpu時(shí)間。但通過(guò)改變電路中的元件參數(shù)來(lái)調(diào)節(jié)定時(shí)時(shí)間,在使用上不夠靈活方便。(3) 可編程定時(shí)器定時(shí)這種定時(shí)方法是通過(guò)對(duì)系統(tǒng)時(shí)鐘脈沖的計(jì)數(shù)來(lái)實(shí)現(xiàn)的。計(jì)數(shù)值通過(guò)程序來(lái)設(shè)定,改變計(jì)數(shù)值,也就改變了定時(shí)時(shí)間,使用起來(lái)既靈活又方便。此外,由于采用計(jì)數(shù)方法來(lái)實(shí)現(xiàn)定時(shí),因此可編程定時(shí)器都兼

24、有計(jì)數(shù)功能,可以對(duì)外部脈沖進(jìn)行計(jì)數(shù)。在單片機(jī)應(yīng)用中,定時(shí)與計(jì)數(shù)的需求較多,為了使用方便并增加單片機(jī)的功能,就把定時(shí)電路集成在芯片中,稱之為定時(shí)器/計(jì)數(shù)器。 8031單片機(jī)內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器。2.定時(shí)器/計(jì)數(shù)器的定時(shí)計(jì)數(shù)功能作為基本內(nèi)容,8031單片機(jī)共有兩個(gè)可編程的定時(shí)器/計(jì)數(shù)器,分別稱定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1。它們都是16位加法計(jì)數(shù)結(jié)構(gòu),分別由th0和tl0及th1和tl1兩個(gè)8位計(jì)數(shù)器構(gòu)成。8031的每個(gè)定時(shí)器/計(jì)數(shù)器都具有定時(shí)和計(jì)數(shù)兩種功能。(1) 計(jì)數(shù)功能所謂計(jì)數(shù)是指對(duì)外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù)。8031芯片

25、有t0(p3.4)和t1(p3.5)兩個(gè)信號(hào)引腳,分別是這兩個(gè)計(jì)數(shù)器的計(jì)數(shù)輸入端。外部輸入的脈沖在負(fù)跳變時(shí)有效,進(jìn)行計(jì)數(shù)器加1。計(jì)數(shù)方式下,單片機(jī)在每個(gè)機(jī)器周期的s5p2節(jié)拍對(duì)外部計(jì)數(shù)脈沖進(jìn)行采樣。如果前一個(gè)機(jī)器周期采樣為高電平,后一個(gè)機(jī)器周期采樣為低電平即為一個(gè)有效的計(jì)數(shù)脈沖。在下一機(jī)器周期的s3p1進(jìn)行計(jì)數(shù)??梢?jiàn)采樣計(jì)數(shù)脈沖是在二個(gè)機(jī)器周期進(jìn)行的。鑒于此,計(jì)數(shù)脈沖的頻率不能高于振蕩脈沖頻率的1/24。(2) 定時(shí)功能定時(shí)功能也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,不過(guò)這時(shí)的計(jì)數(shù)脈沖來(lái)自單機(jī)內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖。也就是每個(gè)機(jī)器周期計(jì)數(shù)器加1。 由于一個(gè)機(jī)器周期等于12個(gè)振蕩脈沖周期,因

26、此計(jì)數(shù)頻率為振蕩頻率的1/12。如果單片機(jī)采用12mhz晶振,則計(jì)數(shù)頻率為1mhz。即每微秒計(jì)數(shù)器加1。這樣不但可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以反過(guò)來(lái)按定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的預(yù)置值。3. 定時(shí)器/計(jì)數(shù)器控制寄存器與定時(shí)器/計(jì)數(shù)器有關(guān)的控制寄存器有:(1) 定時(shí)器控制寄存器(tcon)tcon寄存器既參與中斷控制又參與定時(shí)控制。其中有關(guān)定時(shí)的控制位有四位:tf0(tf1)計(jì)數(shù)溢出標(biāo)志位當(dāng)計(jì)數(shù)器溢出(計(jì)滿)時(shí),該位置1。使用查詢方式時(shí),此位作狀態(tài)位供查詢,但應(yīng)注意查詢有效后應(yīng)以軟件方法將該位清0;使用中斷方式時(shí),此位作中斷標(biāo)志位,在轉(zhuǎn)向中斷服務(wù)程序時(shí)由硬件自動(dòng)清0。tr0(tr1)定時(shí)器

27、運(yùn)行控制位tr0(tr1)=0 停止定時(shí)器/計(jì)數(shù)器工作tr0(tr1)=1 啟動(dòng)定時(shí)器/計(jì)數(shù)器工作該位根據(jù)需要以軟件方法使其置1或清0。(2) 工作方式控制寄存器(tmod)tmod寄存器是一個(gè)專用寄存器,用于控制兩個(gè)定時(shí)器/計(jì)數(shù)器的工作方式。但tmod寄存器不能位尋址,只能用字節(jié)傳送設(shè)置其內(nèi)容。各位定義如下:位序b7b6b5b4b3b2b1b0位符號(hào)gatec/tm1m0gatec/tm1m0從寄存器的位格式中可以看出,它的低半字節(jié)定義定時(shí)器/計(jì)數(shù)器0,高半字節(jié)定義定時(shí)器/計(jì)數(shù)器1。其中: gate門(mén)控位gate=0 以運(yùn)行控制位tr0(tr1)啟動(dòng)定時(shí)器gate=1 以外中斷請(qǐng)求信號(hào)(in

28、t0或int1)啟動(dòng)定時(shí)器c/t定時(shí)方式或計(jì)數(shù)方式選擇位c/t=0 定時(shí)工作方式c/t=1 計(jì)數(shù)工作方式 m1m0工作方式選擇位m1m0=00 方式0m1m0=01 方式1m1m0=10 方式2m1m0=11 方式3(3) 中斷允許寄存器(ie) ea中斷允許總控制位 et0(et1)定時(shí)/計(jì)數(shù)中斷允許控制位et0(et1)=0 禁止定時(shí)/計(jì)數(shù)中斷et0(et1)=1 允許定時(shí)/計(jì)數(shù)中斷七、 8031定時(shí)器計(jì)數(shù)器工作方式8031的定時(shí)器計(jì)數(shù)器共有四種工作方式,在冬棗保鮮庫(kù)恒溫控制系統(tǒng)的設(shè)計(jì)中主要應(yīng)用了定時(shí)器的工作方式1,下面主要介紹方式1。方式1是16位計(jì)數(shù)結(jié)構(gòu)的工作方式,計(jì)數(shù)器由低8位tl和

29、高8位th構(gòu)成。圖3-4是定時(shí)器/計(jì)數(shù)器0在工作方式1的邏輯結(jié)構(gòu)(定時(shí)器/計(jì)數(shù)器1也與此相同)。tf0th0 tl08位 8位12分頻oscc/t=0c/t=1t0(p3.4)tr0gateint0(p3.2)圖3-4 定時(shí)器/計(jì)數(shù)器工作方式1邏輯結(jié)構(gòu)控制如圖所示,當(dāng)c/t=0時(shí),多路開(kāi)關(guān)接通振蕩脈沖的十二分頻輸出,16位計(jì)數(shù)器以此計(jì)數(shù),這就是定時(shí)工作方式。當(dāng)c/t=1時(shí),多路開(kāi)關(guān)接通計(jì)數(shù)引腳(t0),外部計(jì)數(shù)脈沖由引腳t0輸入。當(dāng)計(jì)數(shù)脈沖發(fā)生負(fù)跳變時(shí),計(jì)數(shù)器加1,這就是計(jì)數(shù)工作方式。不管是哪種工作方式,當(dāng)tl的計(jì)數(shù)溢出時(shí),就會(huì)向th進(jìn)位,而全部16位計(jì)數(shù)溢出時(shí),則向計(jì)數(shù)溢出標(biāo)志位tf進(jìn)位。這

30、里說(shuō)明一下工作方式控制寄存器中門(mén)控位(gate)的功能。當(dāng)gate=0時(shí),由于gate信號(hào)封鎖了或門(mén),使引腳int0無(wú)效。而這時(shí)或門(mén)輸出端的高電平狀態(tài)卻打開(kāi)了與門(mén),因此可以由tr0的狀態(tài)來(lái)控制計(jì)數(shù)脈沖的接通與斷開(kāi)。這時(shí)如果tr0=0,則斷開(kāi)模擬開(kāi)關(guān),停止計(jì)數(shù),定時(shí)器/計(jì)數(shù)器不能工作。因此在單片機(jī)的定時(shí)或計(jì)數(shù)應(yīng)用中要注意gate位的清0。當(dāng)gate=1,同時(shí)又tr0=1時(shí),有關(guān)電路的或門(mén)和與門(mén)全部打開(kāi),計(jì)數(shù)脈沖的接通與斷開(kāi)由外引腳int0控制。當(dāng)該信號(hào)為高電平時(shí)計(jì)數(shù)器工作,而當(dāng)該信號(hào)為低電平時(shí)計(jì)數(shù)器停止工作。當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是: 165526(216)當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間

31、計(jì)算公式為: (216計(jì)數(shù)初值)晶振周期12 或(216計(jì)數(shù)初值)機(jī)器周期其時(shí)間單位與晶振周期或機(jī)器周期相同。八、 74ls373簡(jiǎn)介74ls373是八d鎖存器,對(duì)于置數(shù)全部并行存取。三態(tài)輸出控制、允許。其功能表如下:三態(tài)允許控制端鎖存允許端d輸出lhhhlhllllq0hz1 202 193 184 175 166 157 148 139 1210 11en1q1d2d2q3q3d4d4qgndvcc8q8d7d7q6q6d5d5qle圖3-5 74ls373引腳圖 表3-2 74ls373功能表74ls373的引腳如圖3-5所示。這個(gè)八位的寄存器的特點(diǎn)是專為驅(qū)動(dòng)大電容或相對(duì)低阻抗的負(fù)載而設(shè)

32、計(jì)的三態(tài)輸出,高阻抗的第三狀態(tài)被提高的邏輯電平驅(qū)動(dòng),給這一寄存器提供如下能力:即不需要接口上拉部件。在總線 結(jié)構(gòu)中,74ls373可以直接接到總線上,并驅(qū)動(dòng)總線。對(duì)于用作緩沖寄存器、i/o通道、雙向總 線驅(qū)動(dòng)器及工作寄存器,特別有 吸引力。ls373是透明d型鎖存器,即當(dāng)允許端(g)為高電平時(shí),q輸出將隨數(shù)據(jù)(d)輸入。當(dāng)允許端為低電平時(shí),輸出端將被鎖存在已經(jīng)建立起的數(shù)據(jù)電平上。九、 2764eprom存儲(chǔ)器2764是一種8k8位的紫外線電擦除可編程只讀存儲(chǔ)器,單一+5v供電,工作電流為75ma,維持電流為35ma,讀出時(shí)間最大為250ns。2764為28線雙列直插式封裝,其管腳配置如圖3-6

33、所示。2764 eprom 8k828272625242322217820919181716151011121314654321vccpgmnca8a9a11oea10ceo7o6o5o4o3vppa12a7a6a5a4a3a2a1a0o0o1o2o2gnda0a7:地址線o0o7:數(shù)據(jù)輸出線ce:片選線oe:數(shù)據(jù)輸出選通線pgm:編程脈沖輸入端vpp:編程電源圖3-6 2764引腳圖 g f gnd a be d gnd c dp圖3-7第二節(jié) led顯示電路通常的七段led顯示塊中有七個(gè)發(fā)光 二極管構(gòu)成,因此也稱之為七段led顯示器,其排列見(jiàn)圖3-7。 此外,顯示器中還有一個(gè)圓點(diǎn)型發(fā)光二極

34、管(在圖中以dp表示),用于顯示小數(shù)點(diǎn)。通過(guò)七段發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字、字母以及其它符號(hào)。第三節(jié) a/d轉(zhuǎn)換器一、 a/d轉(zhuǎn)換器概述a/d轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換,按轉(zhuǎn)換原理可分為四種,即:計(jì)數(shù)式a/d轉(zhuǎn)換器、雙積分式a/d轉(zhuǎn)換器、逐次逼近式a/d轉(zhuǎn)換器和并行式a/d轉(zhuǎn)換器。目前最常用的是雙積分式a/d轉(zhuǎn)換器和逐次逼近式a/d轉(zhuǎn)換器。雙積分a/d轉(zhuǎn)換器的主要優(yōu)點(diǎn)是轉(zhuǎn)換精度高,抗干擾性能好,價(jià)格便宜;但轉(zhuǎn)換速度較慢。因此這種轉(zhuǎn)換器主要用于速度要求不高的場(chǎng)合。另一種常用的a/d轉(zhuǎn)換器是逐次逼近式的,逐次逼近式a/d轉(zhuǎn)換器是一種速度較快,精度較高的轉(zhuǎn)換器。其轉(zhuǎn)換時(shí)間大約

35、在幾微秒到幾百微秒之間。在本設(shè)計(jì)中,由于控制精度的要求比較低,所以選用adc0809作為四路模擬采樣的a/d轉(zhuǎn)換器,它的轉(zhuǎn)換路數(shù)、精度和價(jià)格都非常合適,這里主要對(duì)adc0809介紹一下。二、 典型a/d轉(zhuǎn)換器芯片adc0809adc0809型8位mos型a/d轉(zhuǎn)換器,可實(shí)現(xiàn)8路模擬信號(hào)的分時(shí)采集,片內(nèi)有8路模擬選通開(kāi)關(guān),以及相應(yīng)的通道地址鎖存用的譯碼電路,其轉(zhuǎn)換時(shí)間為100微秒左右。其引腳圖如圖3-8所示:adc080928272625242322217820919181716151011121314654321in2in1in0abcaled7d6d5d4d0vref(-)d2in3in4i

36、n5in6in76starteocd3oeclockvccvref(+)gndd1圖3-8 adc0809引腳圖對(duì)adc0809主要信號(hào)引腳的功能說(shuō)明如下:in7in0模擬量輸入通道a、b、c地址線ale地址鎖存允許信號(hào)atart轉(zhuǎn)換啟動(dòng)信號(hào)d7d0數(shù)據(jù)輸出線oe輸出允許信號(hào)clk時(shí)鐘信號(hào)eoc轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)vcc+5v電源vref參考電源第四節(jié) 溫度檢測(cè)該系統(tǒng)采用四個(gè)熱敏電阻感知溫度。它具有靈敏度高、體積小、重量輕、熱慣性小、壽命長(zhǎng)以及價(jià)格便宜等優(yōu)點(diǎn)。它是負(fù)溫度特性,當(dāng)溫度升高時(shí),電阻值減小。其特性曲線時(shí)一條指數(shù)曲線,因此在使用時(shí)要選用合適的溫度范圍的熱敏電阻,使其溫度與阻值成線形關(guān)系,給

37、熱敏電阻通以恒定的電流,測(cè)量電阻兩端就得到一個(gè)電壓,再將此電壓經(jīng)a/d轉(zhuǎn)換變成數(shù)字量??紤]到計(jì)算調(diào)試和編程方便,取00hffh對(duì)應(yīng)05v和15.036.0,即0.2變化對(duì)應(yīng)數(shù)字變化量01h,調(diào)節(jié)可變電阻,使之相對(duì)應(yīng)。adc0809in3in2in1in0+5vrt圖3-9第五節(jié) 硬件電路原理圖該系統(tǒng)的硬件電路原理圖如后兩頁(yè)所示。包括主電路圖和鍵盤(pán)顯示電路圖。第四章 冬棗保鮮庫(kù)恒溫控制系統(tǒng)的軟件設(shè)計(jì)本章主要介紹冬棗保鮮庫(kù)恒溫控制系統(tǒng)的工作過(guò)程及其軟件設(shè)計(jì)。第一節(jié) 工作過(guò)程說(shuō)明該恒溫控制系統(tǒng)對(duì)四個(gè)采樣點(diǎn)的溫度進(jìn)行采樣,模/數(shù)轉(zhuǎn)換后,由主溫度控制程序?qū)Σ蓸有盘?hào)和設(shè)定值比較后做出相應(yīng)處理。在主程序控制

38、時(shí),主處理器響應(yīng)外中斷0的鍵盤(pán)的中斷請(qǐng)求,然后調(diào)用int0中斷處理程序,同時(shí)定時(shí)器0開(kāi)始30秒定時(shí),相應(yīng)的設(shè)定或者采樣點(diǎn)的溫度顯示處理完畢后,回到主程序,繼續(xù)對(duì)系統(tǒng)監(jiān)控。該系統(tǒng)是采用8位數(shù)字控制,為適應(yīng)不同氣候和保鮮要求,可以方便地用鍵盤(pán)來(lái)設(shè)定和查詢保鮮庫(kù)的被控溫度和控制精度,并且可對(duì)4個(gè)溫度采樣點(diǎn)的溫度進(jìn)行監(jiān)控和顯示,在溫度變化超出。因?yàn)闇囟仁莻€(gè)滯后大,不易控制的對(duì)象,所以在進(jìn)行控制時(shí),將控制精度擴(kuò)大二倍,這樣執(zhí)行結(jié)構(gòu)就不至于過(guò)于靈敏地動(dòng)作,降低損耗,而且使控制更加合理,不至于過(guò)度。當(dāng)采樣點(diǎn)溫度或者庫(kù)內(nèi)溫度超出設(shè)定值的三倍,溫度異常時(shí),系統(tǒng)自動(dòng)聲光報(bào)警,提醒管理員檢查處理。第二節(jié)軟件的有關(guān)說(shuō)

39、明1. 內(nèi)部ram的分配堆棧區(qū):60h被控溫度設(shè)定值:30h4路溫度采樣點(diǎn):31h,31h,33h,34h被控溫度精度:35h負(fù)溫差量:36h正溫差量:37h二倍精度:38h定時(shí)計(jì)數(shù):39h顯示緩沖單元:5fh,5eh,5dh,5ch2.控制參數(shù)溫度控制范圍:15.036.0可控制精度:0.08.00.2變化對(duì)應(yīng)數(shù)字變化量:01h3.鍵盤(pán)按鍵功能及溫度顯示四位溫度顯示:第1位0表示溫度在零上;表示溫度在零下第2、3、4位表示溫度值小數(shù)點(diǎn)固定在第3位鍵盤(pán)按鍵功能:09,數(shù)字設(shè)定鍵:a,被控溫度設(shè)定鍵:b,控制精度設(shè)定鍵:c,溫度查詢鍵:d,設(shè)定確認(rèn)鍵在查詢操作時(shí)0:被控溫度設(shè)定鍵14:4個(gè)溫度采

40、樣點(diǎn)的代號(hào)5:控制精度4. 鍵盤(pán)與顯示盤(pán)面設(shè)計(jì):5. 鍵盤(pán)操作:設(shè)定被控溫度,按a鍵,輸入溫度值,按d鍵確認(rèn) 設(shè)定控制精度,按b鍵,輸入精度值,按d鍵確認(rèn) 查詢溫度和控制精度,按c鍵,輸入查詢代號(hào)1023495cba8.67d圖4-1第三節(jié) 主程序流程圖及說(shuō)明復(fù)位初始化顯示設(shè)定值四路模擬采樣主溫度控制開(kāi)始圖4-2主程序的主要功能是在硬件系統(tǒng)加電復(fù)位后,進(jìn)行初始化。確立堆棧區(qū)并把顯示緩沖區(qū)指向設(shè)定值,然后對(duì)中斷控制器初始化,調(diào)用顯示設(shè)定值子程序,對(duì)四個(gè)采樣點(diǎn)的溫度進(jìn)行采樣,模/數(shù)轉(zhuǎn)換后,由主溫度控制程序?qū)Σ蓸有盘?hào)和設(shè)定值比較后做出相應(yīng)處理。然后再重復(fù)顯示采樣控制這三個(gè)步驟。主程序的流程圖如右圖4

41、-2所示。第四節(jié) 顯示子程序流程圖及說(shuō)明在該恒溫控制系統(tǒng)中,采用四位led顯示器,由于沒(méi)有串行數(shù)據(jù)通信的要求,而且溫度顯示的速度不需要高速,所以利用8031的串行口方式0的輸出方式,在串行口外接74ls164移位寄存器,構(gòu)成鍵盤(pán)顯示器接口,其硬件接口電路如硬件電路圖所示。在該圖中下邊的4個(gè)74ls164作為8位七段顯示器的靜態(tài)顯示口,上邊的74ls164作為鍵掃描輸出口,8031的p3.3作為同步脈沖輸出控制線。這種靜態(tài)顯示方式顯示器亮度高,很容易做到顯示不閃爍。靜態(tài)顯示的優(yōu)點(diǎn)是cpu不必頻繁地為顯示服務(wù),因而主程序可不必掃描顯示器,軟件設(shè)計(jì)比較簡(jiǎn)單,從而使單片機(jī)有更多的時(shí)間處理其他事務(wù)。程序

42、流程圖見(jiàn)下頁(yè)。如圖4-3所示。led顯示器在第二章已經(jīng)作了詳細(xì)的介紹,本重點(diǎn)介紹led顯示程序。為了存放要顯示的轉(zhuǎn)速值,在內(nèi)部ram中設(shè)置了顯示緩沖區(qū),其單元個(gè)數(shù)與led顯示位數(shù)相同。在本設(shè)計(jì)中,四個(gè)顯示器的緩沖單元是5fh5ch,與led顯示器的對(duì)應(yīng)關(guān)系為:led4led3led2led15fh5eh5dh5chynynp3.3置1,開(kāi)放顯示輸出r704h,置顯示位數(shù)指向顯示緩沖區(qū)單元首地址取出待顯示數(shù)加偏移量0dh查表取字形數(shù)據(jù)送串行緩沖器顯示ti=1?清中斷標(biāo)志取下一個(gè)數(shù)(r7)1=0?p3.3清0,關(guān)閉顯示器輸出返回disp圖4-3第五節(jié) 四路模擬采樣轉(zhuǎn)換子程序流程圖及說(shuō)明nyyr13

43、1h,數(shù)據(jù)存儲(chǔ)區(qū)首地址置a/d轉(zhuǎn)換器地址,指向通道0r704h,置通道數(shù)4啟動(dòng)a/d轉(zhuǎn)換r60ah,軟件延時(shí)計(jì)數(shù)空操作,等待轉(zhuǎn)換結(jié)束(r6)1=0?讀取轉(zhuǎn)換結(jié)果(r1)a(dptr)+1,指向下一個(gè)通道(r1)+1,指向下一個(gè)數(shù)據(jù)存儲(chǔ)單元(r7)1=0?nadcy采樣結(jié)束,返回圖4-4在該恒溫控制系統(tǒng)中四路模擬采樣是采用軟件延時(shí)的方法。由于adc0809片內(nèi)無(wú)時(shí)鐘,可利用8031提供的地址鎖存允許信號(hào)ale經(jīng)d觸發(fā)器二分頻后獲得,ale腳的頻率時(shí)8031單片機(jī)時(shí)鐘頻率的1/6。單片機(jī)的頻率采用6mhz,則ale腳的輸出頻率為1mhz,再二分頻后為500mhz,恰好符合adc0809對(duì)時(shí)鐘頻率的

44、要求。由于adc0809具有輸出三態(tài)鎖存器,其8位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連。地址譯碼引腳a,b,c分別與地址總線的低三位a0,a1,a2相連,以選通in0in7中的一個(gè)通路。將p2.7(地址總線最高位a15)作為片選信號(hào),在啟動(dòng)a/d轉(zhuǎn)換時(shí),由單片機(jī)的寫(xiě)信號(hào)和p2.7控制adc的地址鎖存和轉(zhuǎn)換啟動(dòng),由于ale和start連在一起,因此adc0809在鎖存通道地址的同時(shí),啟動(dòng)進(jìn)行轉(zhuǎn)換。在讀取轉(zhuǎn)換結(jié)構(gòu)時(shí),用單片機(jī)的讀信號(hào)和p2.7腳經(jīng)一級(jí)或非門(mén)后,產(chǎn)生的正脈沖作為oe信號(hào),用以打開(kāi)三態(tài)輸出鎖存器。分別對(duì)四路模擬信號(hào)輪流采樣一次,并依次把結(jié)果轉(zhuǎn)儲(chǔ)到數(shù)據(jù)存儲(chǔ)區(qū)。其程序流程圖如右圖4-4所示。第

45、六節(jié) 主溫度控制程序流程圖及說(shuō)明一、主溫度控制程序是關(guān)系到控制是否達(dá)到要求和是否控制合理的關(guān)鍵程序,在查閱了大量的溫控和保鮮技術(shù)資料,我按如下程序流程圖設(shè)計(jì)了該溫度控制程序。在控制設(shè)計(jì)中設(shè)置了兩個(gè)變量,即負(fù)溫差量和正溫差量,對(duì)保鮮庫(kù)的4個(gè)溫度采樣點(diǎn)的溫度進(jìn)行采樣,與設(shè)定值相減,其結(jié)果分別累加到正、負(fù)溫差量(溫差超過(guò)三倍的控制精度則報(bào)警)。由于庫(kù)里設(shè)置了空氣對(duì)流設(shè)備,使庫(kù)內(nèi)各處的溫度達(dá)到一致,所以當(dāng)正、負(fù)溫差量比較后,如果差值超出控制允許的范圍(程序設(shè)定為二倍精度),則溫度調(diào)節(jié)執(zhí)行機(jī)構(gòu)采取相應(yīng)的動(dòng)作,進(jìn)行加溫或降溫;如果未超出范圍,則設(shè)備不動(dòng)作,由庫(kù)內(nèi)的空氣對(duì)流設(shè)備自行調(diào)節(jié),這樣調(diào)節(jié)更加合理、經(jīng)

46、濟(jì)。二、程序內(nèi)部ram單元分配地址:被控溫度設(shè)定值:30h4路溫度采樣點(diǎn):31h,31h,33h,34h被控溫度精度:35h負(fù)溫差量:36h正溫差量:37h二倍精度:38h其流程圖如圖4-5所示。發(fā)出降溫信號(hào),報(bào)警ynnnnnnyyyy置r700h,36h00h,37h00hr031h,r149h取采樣值采樣設(shè)定?采樣減設(shè)定得正溫差值送37h累加溫差值三倍精度?(r7)1=0?正溫差量負(fù)溫差量?(正負(fù))溫差量二倍精度?設(shè)定減采樣得負(fù)偏差值送36h累加y(負(fù)正)溫差量二倍精度?二倍精度?發(fā)出升溫信號(hào),報(bào)警對(duì)應(yīng)采樣點(diǎn)報(bào)警control控制結(jié)束,返回圖4-5第七節(jié) 被控溫度設(shè)定值轉(zhuǎn)換程序流程圖及說(shuō)明

47、n4bh(r0)y取十位值,a(5eh)(a)=0?(a)*32hr0(a)取個(gè)位值,a(5dh)(a)*05hr0 (a)+(r0)取十分位值,a(5ch)(a)/02hr0(a)+(r0)取標(biāo)志位,a(5fh)(r0)+4bh轉(zhuǎn)換結(jié)果在a中sdzh返回在程序中利用鍵盤(pán)來(lái)設(shè)定被控溫度值,但是設(shè)定的是按照用戶習(xí)慣的攝氏溫度,在程序處理中采用的是8位數(shù)字量,所以需要專用程序來(lái)轉(zhuǎn)換,故設(shè)計(jì)此子程序。在設(shè)計(jì)時(shí),根據(jù)實(shí)際生產(chǎn)情況限定的溫度在15.036.0的范圍內(nèi),將這個(gè)范圍按0.1分為510個(gè)點(diǎn),故每0.2變化對(duì)應(yīng)數(shù)字量變化01h,1變化對(duì)應(yīng)05h,10變化對(duì)應(yīng)32h,將這個(gè)變化規(guī)律設(shè)定為數(shù)字轉(zhuǎn)換的

48、單位,先判斷標(biāo)志位,再對(duì)相應(yīng)的十位、個(gè)位、十分位分別轉(zhuǎn)換,最后存儲(chǔ)。由此來(lái)設(shè)計(jì)程序。其流程圖如右圖4-6所示。第八節(jié) 溫度顯示轉(zhuǎn)換程序流程圖及說(shuō)明該系統(tǒng)程序內(nèi)部處理以8位數(shù)字量進(jìn)行,所以在顯示時(shí),必須要把數(shù)字量轉(zhuǎn)換為攝氏值,即顯示緩沖區(qū)中的鍵碼值。其轉(zhuǎn)換原理和設(shè)定值轉(zhuǎn)化相同,只是將過(guò)程反過(guò)來(lái)而已。其流程圖如圖4-7所示。第九節(jié) 鍵盤(pán)掃描子程序流程圖及說(shuō)明利用8031的串行口方式0的輸出方式,在串行口外接74ls164移位寄存器,構(gòu)成鍵盤(pán)顯示器接口,8031的p2.6,p2.7作為鍵輸入線,p3.3作為同步脈沖輸出控制線。其流程圖如圖4-8所示。第十節(jié) 鍵盤(pán)中斷處理子程序流程圖及說(shuō)明該恒溫控制系統(tǒng)在主程序控制時(shí),不掃描鍵盤(pán),程序設(shè)計(jì)時(shí)將外部中斷0定義為鍵盤(pá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)論