蔬菜大棚溫度控制系統(tǒng)設(shè)計(jì).doc
《蔬菜大棚溫度控制系統(tǒng)設(shè)計(jì).doc》由會員分享,可在線閱讀,更多相關(guān)《蔬菜大棚溫度控制系統(tǒng)設(shè)計(jì).doc(26頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、上海農(nóng)林職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)題 目: 蔬菜大棚溫度控制系統(tǒng)的設(shè)計(jì) 系 別: 農(nóng)業(yè)信息工程 專 業(yè): 圖文信息技術(shù) 班 級: 圖文121 學(xué) 號: 146312115 姓 名: 許永冠 指導(dǎo)教師: 聶愛麗 完成日期: 2015年4月30 日 蔬菜大棚溫度控制系統(tǒng)的設(shè)計(jì)摘要:溫度控制是蔬菜大棚最重要的一個(gè)管理因素,溫度過高或過低,都會影響蔬菜的生長。傳統(tǒng)的溫度控制是用溫度計(jì)來測量,并根據(jù)此溫度人工來調(diào)節(jié)其溫度。但僅靠人工控制既耗人力,又容易發(fā)生差錯(cuò)。為此,現(xiàn)代的蔬菜大棚管理中通常需要溫度自動控制系統(tǒng),以簡單方便、快速的的控制大棚內(nèi)的溫度。本設(shè)計(jì)以AT89C51單片機(jī)為控制中心,用AD590
2、為溫度檢測元件,由溫度測量控制電路、鍵盤、顯示電路、報(bào)警電路等組成,實(shí)現(xiàn)對大棚環(huán)境溫度測量與控制,用戶可通過鍵盤設(shè)置需要報(bào)警的上下限值。文中從硬件和軟件兩方面介紹了溫度控制系統(tǒng),對硬件原理圖和程序流程圖進(jìn)行了系統(tǒng)的描述。該系統(tǒng)可擴(kuò)展性強(qiáng),配置簡單,操作方便,具有通用性,有效地節(jié)省了人力物力。關(guān)鍵詞:AT89C51單片機(jī) AD590溫度傳感器 越限報(bào)警 自動測控目 錄1 引言51.1選題背景及意義51.2 方案論證51.3 方案組成62 硬件電路設(shè)計(jì)72.2溫度采集電路82.3 A/D轉(zhuǎn)換電路102.4 按鍵電路設(shè)計(jì)102.5 溫度顯示電路112.6 其它電路123 軟件系統(tǒng)設(shè)計(jì)133.1程序流
3、程圖及分析144 總結(jié)18參考文獻(xiàn)19附 錄201 引言1.1選題背景及意義蔬菜的生長與溫度息息相關(guān),對于蔬菜大棚來說,最重要的一個(gè)管理因素是溫度控制。溫度太低,蔬菜就會被凍死或則停止生長,所以要將溫度始終控制在適合蔬菜生長的范圍內(nèi)。為此,智能的大棚溫度控制系統(tǒng)已經(jīng)成為農(nóng)民的迫切需要。傳統(tǒng)的測溫系統(tǒng)是在分立式溫度傳感器的基礎(chǔ)上發(fā)展起來的。由于這類傳感器的主要缺點(diǎn)是外圍電路比較復(fù)雜、測量精度較低、分辨率不高、需經(jīng)行溫度校正等,雖然它與被測對象直接接觸,不受中間介質(zhì)的影響,具有較高的精度;測量范圍廣,可從-501600進(jìn)行連續(xù)測量。但它的體積較大,使用也不夠方便。因此,分立式溫度傳感器逐漸被淘汰,
4、所以在其基礎(chǔ)上發(fā)展起來的溫度測控系統(tǒng)也逐漸被淘汰。模擬集成溫度傳感器的主要特點(diǎn)是功能單一、測溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。本設(shè)計(jì)的目的是讓管理者能夠及時(shí)的觀測到蔬菜大棚內(nèi)的溫度,將溫度始終控制在適合蔬菜生長的范圍內(nèi),幫助農(nóng)民提高農(nóng)作物的產(chǎn)量,減少管理者的工作量。1.2 方案論證在現(xiàn)代化的蔬菜大棚管理中通常有溫度自動控制系統(tǒng),以控制蔬菜大棚溫度,適應(yīng)生產(chǎn)需要,并以監(jiān)控采大棚內(nèi)各個(gè)角落的溫度變化情況,一旦出現(xiàn)異常現(xiàn)象就能報(bào)警,并能及時(shí)處理。但溫度自動測控系統(tǒng)有好多種方案,為此,需要進(jìn)行討論和比較,以找到最佳的設(shè)計(jì)方案
5、。1、測量部分方案一:采用熱敏電阻,可滿足4090的測量范圍,但熱敏電阻精度、重復(fù)性、可靠性都比較差,對于檢測小于1的溫度信號是不適用的。方案二:采用DS18B20。它是DALLAS公司專利產(chǎn)品,在2075范圍內(nèi)精度為0.5,但是在此范圍外的溫度測量卻誤差較大,而且其串行數(shù)字輸出方式采用軟件處理比較困難,開銷也大。方案三:采用溫度傳感器AD590。它具有較高的精度和重復(fù)性,相比于熱敏電阻精度有很大提高,非線性誤差為0.3,且檢測溫度范圍為:-55+155,完全滿足要求。綜上比較分析,選擇方案三,以實(shí)現(xiàn)較好的溫度測量實(shí)現(xiàn)。2、主機(jī)部分方案一:采用89C51,其內(nèi)部有4KB的閃爍存儲器,且編碼后以
6、并行方式傳輸數(shù)據(jù)。它的優(yōu)點(diǎn)是方便實(shí)現(xiàn),軟件開銷小。方案二:采用8051,其內(nèi)部無片內(nèi)程序存儲器,因此,必須在片外擴(kuò)展EPROM。綜合分析,采用方案一比較方便。1.3 方案組成由方案論證得到,溫度自動控制系統(tǒng)電路是以AT89C51單片機(jī)為控制核心來進(jìn)行整體設(shè)計(jì)的,并用集成溫度傳感器AD590為溫度的檢測元器件。因此,整個(gè)系統(tǒng)的硬件部分包括溫度采集放大電路、模數(shù)轉(zhuǎn)換電路、按鍵電路、數(shù)碼管顯示電路、聲光報(bào)警電路等。本設(shè)計(jì)的基本框圖如圖1-1所示。圖1-1 設(shè)計(jì)框圖蔬菜大棚溫度控制系統(tǒng)的基本功能: l 溫度檢測:采用AD590溫度傳感器作為檢測端。l 具有顯示功能:利用數(shù)碼管顯示溫度。l 具有用戶輸入
7、功能:利用鍵盤輸入對溫度的上下限進(jìn)行設(shè)置。l 具有報(bào)警功能:聲光報(bào)警。l 具有自動加熱制冷保護(hù)功能:如果實(shí)際測定的溫度值超過了系統(tǒng)設(shè)置的最高溫度,單片機(jī)就會發(fā)出命令,進(jìn)行制冷;如果實(shí)際測定的溫度值超過了系統(tǒng)設(shè)置的最低溫度,單片機(jī)會發(fā)出命令,進(jìn)行加熱;并伴隨著聲光報(bào)警。l 溫度歷史記錄查詢:蔬菜大棚管理人員可以隨時(shí)查詢采集過來的溫度歷史記錄。1 硬件電路設(shè)計(jì)本設(shè)計(jì)的溫度自動控制系統(tǒng)電路以AT89C51單片機(jī)為控制核心來進(jìn)行整體設(shè)計(jì)的。整個(gè)系統(tǒng)的硬件部分包括AD590的溫度采樣放大電路、ADC0809的模數(shù)轉(zhuǎn)換電路、按鍵電路、驅(qū)動電路、LED顯示電路、聲光報(bào)警電路、電源轉(zhuǎn)換電路等。再配上C語言的程
8、序使軟件得以實(shí)現(xiàn),進(jìn)而實(shí)現(xiàn)溫度自動控制的基本功能。系統(tǒng)硬件框圖如圖2-1所示:圖2-1 系統(tǒng)硬件框圖通過溫度傳感器對大棚中空氣進(jìn)行溫度采集,將采集的溫度信號經(jīng)放大濾波處理后,送給ADC0809進(jìn)行轉(zhuǎn)換,在傳輸給單片機(jī),由單片機(jī)控制數(shù)碼管顯示器,并比較采集的溫度與設(shè)定的溫度范圍是否一致,如果超出設(shè)定的溫度范圍,進(jìn)行聲光報(bào)警,再驅(qū)動繼電器對大棚進(jìn)行加熱或降溫處理。2.1 AT89C51單片機(jī)2.1.1 AT89C51內(nèi)部結(jié)構(gòu)AT89C51單片機(jī)內(nèi)部包括一個(gè)8位的CPU,片內(nèi)振蕩器和時(shí)鐘電路,由4K字節(jié)的FLASH存儲器,128KB的數(shù)字存儲器,四個(gè)8位并行的I/O口,一個(gè)全雙工串行口,兩個(gè)16位的
9、可編程的定時(shí)/計(jì)數(shù)器,6個(gè)中斷源,3個(gè)中斷矢量,提供兩個(gè)中斷優(yōu)先級,21個(gè)特殊功能寄存器,可尋址各64KB的外部程序存儲器和數(shù)據(jù)存儲器,有位尋址功能和較強(qiáng)的布爾數(shù)據(jù)處理能力,有兩種軟件可選的低功耗運(yùn)行方式(空閑和掉電方式)。2.1.2 AT89C51的最小系統(tǒng) (1)最小系統(tǒng) 單片機(jī)接上時(shí)鐘電路和復(fù)位電路,就構(gòu)成了最小系統(tǒng),因此,最小系統(tǒng)如圖2-2所示。圖2-2 AT98C51的最小系統(tǒng)(2)復(fù)位電路 復(fù)位是單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。因此,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身
10、不能自動復(fù)位的,必須配合相應(yīng)的外部復(fù)位電路才能實(shí)現(xiàn)的。(3)時(shí)鐘電路單片機(jī)的各個(gè)功能部件的運(yùn)行都是以時(shí)鐘控制信號為基準(zhǔn),有條不紊的一拍一拍的工作。因此,時(shí)鐘頻率直接影響到單片機(jī)的速度。 2.2溫度采集電路溫度檢測電路由溫度傳感器、LM741 型運(yùn)算放大器等構(gòu)成。溫度傳感器將溫度變成電信號,通過放大器使得信號在A/D轉(zhuǎn)換器的量程范圍內(nèi)放大,在單片機(jī)的控制下,A/D 轉(zhuǎn)換器完成信號的A/D 轉(zhuǎn)換,然后將轉(zhuǎn)換后的數(shù)字信號送入單片機(jī)進(jìn)行數(shù)據(jù)分析與處理。2.2.1 溫度采集工作原理 因?yàn)锳D590是將溫度轉(zhuǎn)換為電流,而單片機(jī)對電壓信號更好測量,所以要將電流轉(zhuǎn)換為電壓,同時(shí)對電壓信號進(jìn)行放大,之后輸入給A
11、/D轉(zhuǎn)換器ADC0809的D0D7端口,其電路如圖2-3所示。圖2-3 溫度采集放大電路2.2.2 低通濾波電路由于溫度傳感器采集到的信號中能夾有高頻的噪聲信號和干擾信號,在經(jīng)過放大后,這樣的信號會對采集的結(jié)果和轉(zhuǎn)換的結(jié)果產(chǎn)生很大的誤差和不良的后果。無限增益低通濾波器既可以將高頻信號除去。其電路如圖2-4所示。圖2-4 無限增益低通濾波電路2.3 A/D轉(zhuǎn)換電路由于溫度是一種模擬信號,則由信號采集電路采集的信號是一種模擬信號,而且頻率很低,但是單片機(jī)所識別的是具有高低電位的數(shù)字信號,這就要求在信號處理中必須把模擬信號轉(zhuǎn)換成數(shù)字信號從而輸出給單片機(jī)處理。2.3.1 ADC0809芯片ADC080
12、9是采樣分辨率為8位的、以逐次逼近原理進(jìn)行的A/D轉(zhuǎn)換器件。內(nèi)有一個(gè)8通道多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它由比較器、逐次逼近器、D/A轉(zhuǎn)換器及控制和定時(shí)5部分組成,輸出具有TTL三態(tài)鎖存緩沖器,可以直接連到單片機(jī)數(shù)據(jù)總線上。 2.3.2 ADC0809與單片機(jī)的接口方式在本設(shè)計(jì)中,采用中斷控制方式使ADC0809與單片機(jī)相接。 ADC0809與單片機(jī)的連接電路如圖2-5所示。圖2-5 ADC0809與單片機(jī)的連接電路2.4 按鍵電路設(shè)計(jì)按鍵是一組按壓式開關(guān)集合,是微機(jī)系統(tǒng)不可缺少的輸入設(shè)備,用于輸入數(shù)據(jù)和命令。這里主要介紹非編碼鍵盤的接口電路。1.4.1 鍵盤的結(jié)構(gòu)和工作方
13、式 本設(shè)計(jì)就有三個(gè)按鍵,共需要三個(gè)I/O口線,占用的口線不多,因此可采用獨(dú)立式按鍵,為了提高CPU的效率,應(yīng)采用的是獨(dú)立式中斷掃描結(jié)構(gòu)。2.4.2 按鍵電路圖2-6所示為中斷掃描方式的接口電路。鍵盤電路的行線與單片機(jī)的P2.4、P2.5、P2.6直接相連,列線與一個(gè)與門的三輸入端相連,與門的輸出端與單片機(jī)的/INT0相連接。當(dāng)P2.4、P2.5、P2.6 全為0時(shí),若無鍵閉合,/INT0保持高電平;若有鍵閉合時(shí),/INT0變成低電平,CPU開中斷,進(jìn)而產(chǎn)生中斷,轉(zhuǎn)向中斷服務(wù)程序。S2按鍵是溫度設(shè)定模式,S3按鍵是溫度的加一模式,S4按鍵是溫度的減一模式。 圖2-6 中斷式獨(dú)立鍵盤2.4.3 按
14、鍵電路的消抖 消除抖動的方法有兩種,一種是采用硬件電路來實(shí)現(xiàn),如用濾波電路和雙穩(wěn)態(tài)電路等;另一種實(shí)用軟件來實(shí)現(xiàn),即當(dāng)發(fā)現(xiàn)有按鍵按下時(shí),延時(shí)10ms20ms,再查詢是否有按鍵按下,若沒有按鍵按下,說明上次查詢結(jié)果為干擾或者抖動;若仍有按鍵按下,則說明閉合鍵已穩(wěn)定,即可判斷其鍵碼。2.5 溫度顯示電路 為了方便管理者能明確的觀察到某一路的溫度,這里要有顯示電路,共有六個(gè)數(shù)碼管,兩位是用來顯示設(shè)定的最高溫度,兩位用來顯示設(shè)定的最低溫度,兩位是用來顯示當(dāng)前某一路的溫度。2.5.1 LED數(shù)碼管 動態(tài)掃描顯示的掃描方式有程序控制和定時(shí)中斷掃描兩種。程序控制掃描方式要占用許多CPU時(shí)間,在計(jì)算機(jī)的任務(wù)較重
15、時(shí),難以得到好的效果,所以在實(shí)際中常采用定時(shí)中斷掃描方式,這種方式是每隔一定時(shí)間(如1ms)顯示一位數(shù)碼管,假設(shè)有8位數(shù)碼管,顯示掃描周期為8ms,顯示效果十分良好。本次設(shè)計(jì)采用這種方法。2.5.2 LED驅(qū)動電路 7447是一塊BCD碼轉(zhuǎn)換成7段LED數(shù)碼管的譯碼驅(qū)動IC。7447的主要功能是輸出低電平驅(qū)動顯示碼,用以推動共陽極的7段LED數(shù)碼管顯示相應(yīng)的數(shù)字。2.6 其它電路2.6.1 電源電路在這個(gè)設(shè)計(jì)中,采用了簡單的實(shí)用的變壓器,根據(jù)理想變壓器原副邊匝數(shù)比公式,則可通過計(jì)算來調(diào)節(jié)參數(shù)達(dá)到轉(zhuǎn)換為低電壓所謂目的。低壓的交流信號在通過整流穩(wěn)壓等操作實(shí)現(xiàn)了交流向直流轉(zhuǎn)換的要求了。其電路圖如圖2
16、-7所示。圖2-7 電源電路2.6.2 聲音報(bào)警電路在單片機(jī)檢測系統(tǒng)檢測到當(dāng)前溫度超出設(shè)定的溫度范圍時(shí),單片機(jī)就會控制P3.7引腳的電平,進(jìn)而來控制蜂鳴器,提醒管理者注意報(bào)警信號,常見的報(bào)警信號可分為閃光報(bào)警、鳴音報(bào)警和音樂報(bào)警,這里主要用的是鳴音報(bào)警電路。如圖2-8所示。當(dāng)P3.7引腳輸出高電平時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約5V的電壓而鳴叫;當(dāng)P3.7輸出低電平時(shí),晶體管截至,蜂鳴器停止發(fā)音。圖2-8 鳴音報(bào)警電路2.6.3 光報(bào)警電路電路如圖2-9所示,使用74HC164的并行輸出引腳接8個(gè)發(fā)光二極管,利用它的串入并出功能把發(fā)光二極管從輪流點(diǎn)亮,并反復(fù)循環(huán)。Q0Q7代表18路的溫度是
17、否在設(shè)定的溫度范圍內(nèi),如果第i(i的范圍從0到7)個(gè)發(fā)光二極管亮,證明第(i+1)路的溫度超出設(shè)定的溫度范圍。圖2-9 串口顯示電路2 軟件系統(tǒng)設(shè)計(jì) 軟件采用模塊化設(shè)計(jì)。系統(tǒng)軟件主要包括主程序和按鍵處理、中斷、顯示和報(bào)警等子程序。主程序完成器件的初始化,并判斷有無按鍵按下、有無中斷請求,然后根據(jù)判斷結(jié)果調(diào)用相應(yīng)的子程。3.1程序流程圖及分析主程序主要是對采集數(shù)據(jù)的處理、顯示以及與設(shè)定的數(shù)據(jù)進(jìn)行比較,為是否報(bào)警、是否開繼電器做準(zhǔn)備;A/D轉(zhuǎn)換子程序主要完成的是對信號的采樣和A/D轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)據(jù)放到A寄存器中,為后面的調(diào)用做準(zhǔn)備;監(jiān)控程序就是對按鍵中斷,A/D轉(zhuǎn)換中斷進(jìn)行監(jiān)控,如果按鍵有中斷
18、,就調(diào)用A/D轉(zhuǎn)換程序,如果A/D中斷,就調(diào)用A/D轉(zhuǎn)換程序。(1)主程序主程序主要是對采集數(shù)據(jù)的處理、顯示以及與設(shè)定的數(shù)據(jù)進(jìn)行比較,為是否報(bào)警、是否開繼電器做準(zhǔn)備。其流程圖如圖3-1所示。圖3-1 主程序流程圖(2)A/D轉(zhuǎn)換的程序:其流程圖如圖3-2所示。圖3-2 A/D轉(zhuǎn)換流程圖 (3)獨(dú)立按鍵程序在圖2-6所示的電路中,當(dāng)W1W3任何一個(gè)按鍵按下,與門的輸出都為低電平,此時(shí)/INT0引腳為低,延時(shí)一段時(shí)間后,再判斷/INT0引腳是否為低電平,如果仍為低電平,則向CPU申請中斷。CPU響應(yīng)中斷后,在中斷服務(wù)程序中判斷是哪個(gè)按鍵按下,進(jìn)而調(diào)用該按鍵對應(yīng)的相應(yīng)功能,執(zhí)行完中斷服務(wù)程序后,返回
19、主程序。因此按鍵控制流程圖如3-3所示。 圖3-3 獨(dú)立鍵盤流程圖(4)顯示程序首先從段選線上送出字段碼,再通過74HC138譯碼器來控制位選線,字符就顯示在指定位置上,持續(xù)15ms時(shí)間,然后關(guān)閉所有顯示;接下來又送出新的字段碼,位選移位,按照上述過程又顯示在新的位置上,直到每一位數(shù)碼管都掃描完為止,即為一個(gè)掃描周期。由于人的視覺停留效應(yīng),因此當(dāng)掃描周期小到一定程度時(shí),人就感覺不出字符的移動或閃爍,覺得每位數(shù)碼管到一直在顯示。顯示流程圖如圖3-4所示。 圖3-4 顯示流程圖4 總結(jié) 本次畢業(yè)設(shè)計(jì)遇到不問題,也收獲到不少知識。在制作,設(shè)計(jì),實(shí)際操作過程中,我也深深感受到每一次問題解決的驕傲與自信
20、。例如設(shè)計(jì)過程中遇到的許多新名詞以及新的元件代碼,在整理思路總是會被這些那些數(shù)字,字母弄得頭昏眼脹。然而我的導(dǎo)師卻教導(dǎo)我說:“不必害怕這些數(shù)字,它們的代號就表示著一個(gè)元件的功能及類別,例如AT89C51,它是單片機(jī)的代號,也是整個(gè)機(jī)器的身體。還有AD590,是溫度傳感器,它是感知溫度的。另外ADC0809,是A/D轉(zhuǎn)換器件,相當(dāng)于神經(jīng)。再加上其他零零碎碎的電路元件,依照電路圖組合起來就形成完整的蔬菜大棚溫度控制系統(tǒng)。”雖然大學(xué)期間我并不是主修電子設(shè)備,對電子設(shè)備也并不是很感興趣。但當(dāng)我真正投入到畢業(yè)設(shè)計(jì)中時(shí),我逐漸認(rèn)識到電子組裝的精密性以及邏輯性。它需要用百分之百的耐心與細(xì)心去研究這個(gè)元件為何
21、這么組裝,還有沒有更簡便的方法來實(shí)現(xiàn)它。它也需要你有一定的邏輯思維,電子元件的搭配是有其依據(jù)的,一個(gè)引腳的橋接錯(cuò)誤會導(dǎo)致整個(gè)設(shè)備的損壞。在整個(gè)實(shí)際操作以及后期調(diào)節(jié)的過程了,我也逐漸產(chǎn)生了微妙的變化。雖然看上去是十分枯燥的拼接,調(diào)節(jié),輪回往復(fù)的動作,但當(dāng)一個(gè)燈泡的亮起,一段數(shù)字的顯示都能帶給我無比的快樂。雖然這個(gè)設(shè)備現(xiàn)在還依舊在實(shí)踐調(diào)教中,還并不是很成熟,但只要我心里明白開心就好,至少它還能夠測量溫度,顯示溫度,提醒調(diào)節(jié)溫度。參考文獻(xiàn)1 張毅剛. 單片機(jī)原理及應(yīng)用M. 北京:高等教育出版社,2003.2 萬光毅. 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程M. 北京:北京航空航天大學(xué)出版社,2003.3 付家才. 單
22、片機(jī)控制工程實(shí)踐技術(shù)M. 化學(xué)工業(yè)出版社,2004.4 彭佳文,姚志成,彭佳紅一種單片機(jī)多機(jī)通信系統(tǒng)的設(shè)計(jì)J微計(jì)算機(jī)信息,2008,24(2):1311335 于還業(yè)溫室環(huán)境自動監(jiān)測系統(tǒng)J農(nóng)業(yè)工程學(xué)報(bào),1997,13:2621696 劉士光. 溫室大棚多功能測試儀的智能化自校方法J農(nóng)業(yè)工程學(xué)報(bào),2000,16(3):135137附 錄附錄1:原理圖 附錄2:主程序程序void main() uint i;Sys_Init();EX0 = 1;EX1 = 1;EA = 1;/開總中斷ad_start1(0);LED_display();LED_display();ad_oe = 0;while(
23、1) LED_display(); i = ad_temp1;ad_bufnow_channel =(uchar)(i*100)/255);/-debugsw_status();LED_display();void sw_detect() interrupt 0unsigned char temp,i;IE0 = 0;sw = 0;P2 &= 0 x8f;for(i = 0;i 4;switch(sw_temp0) case 6:sw_temp0 = max;break; case 5:sw_temp0 = min;break; case 3:sw_temp0 = mode;break; de
24、fault:sw_temp0 = sw_temp0; if(sw_temp0 != 0)sw_flag = 1;/有新的按鍵中斷發(fā)生,置標(biāo)志位 LED_display();void ad() interrupt 2char i;IE1 = 0;for(i = 0;i 2;i+);ad_oe = 1;for(i = 0;i 2;i+);ad_temp1 = P0;ad_oe = 0;LED_mormal();LED_mormal();LED_mormal();ad_start1(now_channel);附錄3:AD轉(zhuǎn)換程序/*通道選擇*/void select(uchar chnnel)swi
25、tch(channel)case 0:a=0;b=0;c=0;break;case 1:a=1;b=0;c=0;break;case 2:a=0;b=1;c=0;break;case 3:a=1;b=1;c=0;break;case 4:a=0;b=0;c=1;break;case 5:a=1;b=0;c=1;break;case 6:a=0;b=1;c=1;break;case 7:a=1;b=1;c=1;break;default:break;/*初始化0809,并開定時(shí)器,開中斷*/void initdac0809()TMOD=0 x02;/*定時(shí)器0產(chǎn)生500KHZ的時(shí)鐘信號*/TH0
26、=253/*約1.085Us*2中斷一次,周期略小于500KHz*/TL0=253;TR0=1;ET0=1;EA=1;/*開總的中斷*/*開始轉(zhuǎn)換ADC0809*/void startadc()if(i=8)i=0;else select(i);/*選擇通道i*/ST=0;ALE=0;ST=1;ALE=1;delay(1);ALE=0;ST=0;/*地址鎖存,并開始轉(zhuǎn)換*/i+;void main()initdac0809();startadc();while(1)while(EOC=0)/*ADC0809正常轉(zhuǎn)換*/OE=1;/*轉(zhuǎn)換完畢,打開輸出*/ ad_data-i=P0/*從P0讀取
27、結(jié)果*/startadc();/*開始第二次AD轉(zhuǎn)換*/OE=0;/*禁止輸出*/附錄4:按鍵程序void main(void)int0_flag=0;/*設(shè)置中斷0標(biāo)記*/TCON=0 x55;/*電平觸發(fā)外部中斷*/IE=0 x81;/*開外部中斷int0*/doif(int0_flag) /*如果有中斷*/switch(KEY_Value) /*根據(jù)中斷源分支*/case 1:processS1( ); /*可在此處插入按鍵0的處理程序*/break;case 2:processS2();/*可在此處插入按鍵1的處理程序*/break;case 3:processS3();/*可在此處插
28、入按鍵2的處理程序*/break;default:break;int0_flag=0; /*清中斷0標(biāo)記*/while(1);/*外部中斷0服務(wù)程序*/void exint0(void) interrupt 0EA=0; /*開總中斷*/int0_flag=1; /*設(shè)置中斷0標(biāo)記*/*讀取外部中斷源輸入,并屏蔽高五位*/KEY_Value=KEY_PORT & 0 x07;EA=1; /*開總中斷*/附錄5:顯示程序void LED_mormal()char i;LED_wei = 0;for(i = 0;i LED_Len;i+)P1 = (P1 & 0 x0f0) | (LED_duan
29、i & 0 x0f); /*送段碼*/P2 = (P2 & 0 x0f8) | (LED_wei & 0 x07); /*送位碼*/P2 = (P2 & 0 x0f8) | (0 x07); /*清零*/P1 = (P1 & 0 x0f0) | (LED_duani & 0 x0f);P2 = (P2 & 0 x0f8) | (LED_wei & 0 x07);P2 = (P2 & 0 x0f8) | (0 x07);LED_wei+;void LED_display()ad_buf_now = ad_bufnow_channel;LED_duan0 = buf_H / 10;LED_duan1 = buf_H % 10;LED_duan2 = buf_L / 10;LED_duan3 = buf_L % 10;LED_duan4 = (ad_buf_now / 10) - (ad_buf_now / 100)*10;LED_duan5 = ad_buf_now % 10;LED_mormal();void main()while(1) ad_bufnow_channel =(uchar)(i*100)/512);/*debug*/LED_display();
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 造紙納米碳酸鈣
- 2019中考物理第1章機(jī)械運(yùn)動復(fù)習(xí)課件新人教版1
- LRBG的技能模型與角色模型
- 轉(zhuǎn)子間骨折的個(gè)手術(shù)技巧
- 生命之源血液
- 表情符號與藝術(shù)-美術(shù)ppt課件
- 壓力管理和積極心態(tài)
- 部編版初中語文春優(yōu)質(zhì)課課件
- 教育行業(yè)聯(lián)盟解決方案培訓(xùn)-new
- 控制與接口技術(shù)-基于模糊推理的智能控制 1226
- 八年級物理-聲音的特征-課件
- 藤野先生余映潮教案課件
- 興趣及其培養(yǎng)(發(fā)展職業(yè)生涯要立足本人實(shí)際)詳解課件
- 學(xué)會調(diào)控情緒_課件(教育精品)
- (廣州版)五年級英語下冊課件-Module-4-Unit-112