[畢業(yè)設(shè)計]基于單片機的冬棗保鮮庫恒溫控制系統(tǒng)_第1頁
[畢業(yè)設(shè)計]基于單片機的冬棗保鮮庫恒溫控制系統(tǒng)_第2頁
[畢業(yè)設(shè)計]基于單片機的冬棗保鮮庫恒溫控制系統(tǒng)_第3頁
[畢業(yè)設(shè)計]基于單片機的冬棗保鮮庫恒溫控制系統(tǒng)_第4頁
[畢業(yè)設(shè)計]基于單片機的冬棗保鮮庫恒溫控制系統(tǒng)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、最小應(yīng)用系統(tǒng)的構(gòu)成8031是片內(nèi)無程序存儲器的供應(yīng)狀態(tài)芯片,因此其最小應(yīng)用系統(tǒng)必須在片外擴展eprom。圖3-1為外接程序存儲器的最小應(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組成。地址鎖存信號為ale。程序存儲器的選取信號為psen,由于程序存儲器只有一片,故其片選信號直接接地。8031芯片本身的連接除ea必須接地,表明選擇外

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

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

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

14、引腳雙列直插式集成電路芯片,引腳排列請見圖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.4p2

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

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

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

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

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

20、 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ù)位操作還對單片機的個別引腳信號有影響。2. 復(fù)位信號及其產(chǎn)生rst引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩脈沖周期(即2個機器周期以上),若使用頻率為6mhz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。整個復(fù)位電路包括芯片內(nèi)外兩部分。外部電路產(chǎn)生的復(fù)位信號(rst)送史密特觸發(fā)器,再由片內(nèi)

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

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

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

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

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

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

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

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

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

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

31、算公式為: (216計數(shù)初值)晶振周期12 或(216計數(shù)初值)機器周期其時間單位與晶振周期或機器周期相同。八、 74ls373簡介74ls373是八d鎖存器,對于置數(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所示。這個八位的寄存器的特點是專為驅(qū)動大電容或相對低阻抗的負載而設(shè)計

32、的三態(tài)輸出,高阻抗的第三狀態(tài)被提高的邏輯電平驅(qū)動,給這一寄存器提供如下能力:即不需要接口上拉部件。在總線 結(jié)構(gòu)中,74ls373可以直接接到總線上,并驅(qū)動總線。對于用作緩沖寄存器、i/o通道、雙向總 線驅(qū)動器及工作寄存器,特別有 吸引力。ls373是透明d型鎖存器,即當(dāng)允許端(g)為高電平時,q輸出將隨數(shù)據(jù)(d)輸入。當(dāng)允許端為低電平時,輸出端將被鎖存在已經(jīng)建立起的數(shù)據(jù)電平上。九、 2764eprom存儲器2764是一種8k8位的紫外線電擦除可編程只讀存儲器,單一+5v供電,工作電流為75ma,維持電流為35ma,讀出時間最大為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顯示塊中有七個發(fā)光 二極管構(gòu)成,因此也稱之為七段led顯示器,其排列見圖3-7。 此外,顯示器中還有一個圓點型發(fā)光二極管

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論