用ADC0808設(shè)計的調(diào)溫報警器_第1頁
用ADC0808設(shè)計的調(diào)溫報警器_第2頁
用ADC0808設(shè)計的調(diào)溫報警器_第3頁
用ADC0808設(shè)計的調(diào)溫報警器_第4頁
用ADC0808設(shè)計的調(diào)溫報警器_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目 錄內(nèi)容摘要 . 1 關(guān)鍵詞 . 1 1 緒論 . 1 2 系統(tǒng)設(shè)計 . 1 2.1 設(shè)計任務(wù)與要求 . 1 3 系統(tǒng)硬件設(shè)計 . 錯誤!未定義書簽。3.1 原理圖 . 錯誤!未定義書簽。3.2 d/a 轉(zhuǎn)換模塊 . 錯誤!未定義書簽。3.3 數(shù)碼顯示模塊 . 7 3.4 硬件元件清單 . 9 4 軟件設(shè)計與仿真. 54.1 主程序設(shè)計 . 5 4.2顯示子程序流程圖 . 6 4.3報警子程序流程圖 . 錯誤!未定義書簽。4.4 sounder 揚(yáng)聲器發(fā)聲子程序流程圖 . 14 4.5 程序清單 14 4.6 程序調(diào)試 . 錯誤!未定義書簽。結(jié)束語 . 15 參考文獻(xiàn) . 17 1 內(nèi)容摘要

2、:本文從硬件和軟件兩方面介紹了基于at89c51單片機(jī)的溫度報警系統(tǒng)的設(shè)計思路, 對硬件原理圖和程序框圖作了簡介的描述。系統(tǒng)選用 adc0808 轉(zhuǎn)換器,仿真時利用可調(diào)電阻調(diào)節(jié)電壓進(jìn)行溫度的輸入量模擬, 當(dāng)溫度低于 60時, 揚(yáng)聲器發(fā)出報警和綠光報警, 當(dāng)溫度高于 160時發(fā)出報警和發(fā)出紅光報警。測量范圍在0250,并能實時顯示當(dāng)前溫度值。關(guān)鍵詞: at89c51單片機(jī), dac0808 穩(wěn)壓電源發(fā)光報警1 緒論溫度是一個十分重要的物理量,對它的測量與控制又十分重要的意義。隨著現(xiàn)代化工農(nóng)業(yè)技術(shù)的發(fā)展及人們對生活環(huán)境要求的提高,人們迫不及待需要檢測與控制溫度。溫度控制電路雜工農(nóng)業(yè)生產(chǎn)中有著廣泛的

3、應(yīng)用。采用單片機(jī)來對他們進(jìn)行監(jiān)控不僅具有監(jiān)控方便,簡單靈活性大的優(yōu)點,而且可以大幅度提高被測溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因而,單片機(jī)對溫度的監(jiān)控問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的監(jiān)控問題?,F(xiàn)代社會是信息化社會,隨著安全化程度的日益提高,而通過溫度報警器及時報警,避免不必要的損失。2 系統(tǒng)設(shè)計2.1 設(shè)計任務(wù)與要求2.1.1 設(shè)計任務(wù)(1)設(shè)計一款基于at89c51 單片機(jī)的溫度報警器。利用可調(diào)電阻調(diào)節(jié)電壓作為模擬溫度的輸入量,當(dāng)溫度低于60時,揚(yáng)聲器發(fā)出報警和綠光報警,當(dāng)溫度高于160時,發(fā)出報警和紅光報警。測量的溫度范圍在0 250,并能實時顯示當(dāng)前溫度值。(2)用計算機(jī)

4、繪制所有的電路圖。2 3 溫度報警器硬件設(shè)計3,1用 adc0808 作為溫度調(diào)節(jié)器,當(dāng)調(diào)節(jié)溫度60或 160時報警燈閃爍,且發(fā)出不同頻率的聲音。本實訓(xùn)電路原理圖如下:aabbccddeeffggdpdpabcdefgfpxtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/

5、int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u1at89c51out121add b24add a25add c23vref(+)12vref(-)16in31in42in53in64in75start6out58eoc7oe9clock10out220out714out615out817out418out319in228in127in026ale22u3adc0808低高ls1sounder2202

6、20234567891rp1pullupc122pfc222pfc310ufx112mr110kp24p26p25p27p20p21p22p23p20p21p22p23p24p25p26p2772%rv14.7kp25小于60或大小160報警元器件: 7seg-mpx4-cc-blue (7 段 4 位共陰極led 數(shù)碼管)、adc0808(8 位模/數(shù)轉(zhuǎn)換器)、 at89c51 (單片機(jī))、 cap (瓷片電容) 、 cap-elec(電解電容) 、 crystal(晶體振蕩器) 、led-yellow (發(fā)光二極管) 、pot-hg(高精度電位計) 、res(電阻) 、 respack-8

7、(帶公共端得8 路電阻)、sounder (發(fā)聲器)編寫數(shù)碼管溫度顯示子程序:13h 存放溫度個位顯示碼;12h 存放溫度十位顯示碼;11h 存放溫度百位顯示碼,根據(jù)下列流程圖寫出顯示子程序3 3.2 d/a 轉(zhuǎn)換模塊d/a 轉(zhuǎn)換模塊如圖 5 所示, 由數(shù)模轉(zhuǎn)換器 dac0808 和運(yùn)放 tl082構(gòu)成。dac0808 芯片是一個 8 位 d/a 轉(zhuǎn)換器,有 8 個數(shù)碼輸入端, 1個模擬輸出端,能將控制電路輸出的8位二進(jìn)制數(shù)字量轉(zhuǎn)換成模擬量的輸出。p2口與 dac0808 的輸入端相連,通過 d/a轉(zhuǎn)換電路將輸入的數(shù)字量轉(zhuǎn)為模擬量,通過 tl082運(yùn)算放大器輸出實際的電電壓表讀出。dac080

8、8 引腳圖如圖 6 所示。 dac0808 各引腳功能如表 1 所示。圖 6 dac0808 引腳圖dac0808 的 comp 引腳的作用為通過調(diào)節(jié)外接電阻,以達(dá)到改善放大器的性能和輸出電壓。運(yùn)放輸出電壓為(1)4 式中, vref為外接參考電壓, d7do為 8 位輸入數(shù)字量。當(dāng)輸入數(shù)字量在0000000011111111之間變化時,其對應(yīng)的輸出模擬電壓u1在 0-vref之間,電壓分辨率為: v=5v/(28-1)=19.6mv。表 1 dac0808的引腳功能引腳功能引腳功能d7-d08 根數(shù)據(jù)輸入線, d7為最高位comp 補(bǔ)償端io電流輸出線(由外向內(nèi)流)vlc閾值控制輸入端vre

9、f( ) 、 vref( ) 參考電壓輸入端in- 反相輸入端vcc 、vss 電源輸入端in+同相輸入端gnd 模擬地io輸出端vcc- 、vcc+正負(fù)電源供應(yīng)端、3.3 數(shù)碼管顯示模塊數(shù)碼顯示模塊電路如圖8 所示。顯示部分選用的是7seg-mpx2-cc 兩片 7 段共陰數(shù)碼管。 單片機(jī)的 p00p07分別接數(shù)碼管的 adp 口,p20、 p21分別接數(shù)碼管 1、2 接口,分別控制第一片和第二片的暗亮。外加上拉電阻加強(qiáng)驅(qū)動能力,使數(shù)碼管更亮。5 圖 8 數(shù)碼管顯示電路3.5 硬件元件清單系統(tǒng)元器件清單見表2。表 2 系統(tǒng)元器件清單器件數(shù)量器件數(shù)量adc0808 1 tl082 1 led

10、2 dac0808 1 7seg-mpx2-cc 1 電容( 220n)1 排阻( 4.7k )1 電容( 33p)2 電阻( 5k)3 數(shù)字電壓表1 晶振器1 電阻( 1k)1 電容( 10uf)1 開關(guān)1 4 軟件設(shè)計與仿真本系統(tǒng)程序包括主程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或斷開碼發(fā)送給單片機(jī)接口。發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給單片機(jī)接口。接收命令子程序用于接收單片機(jī)接口發(fā)來的鍵盤命令。4.1 主程序設(shè)計主程序通過控制程序來判斷控制報警子程序和發(fā)聲子程序。主程序流程圖如圖 9 所示。6 開始啟動 adc0808 轉(zhuǎn)

11、換是否轉(zhuǎn)換完畢?oe有效讀取 adc0808oe無效計算溫度百位、十位和個位數(shù)值調(diào)用顯示子程序調(diào)用報警子程序yn圖 9 主程序流程圖、4.2 顯示子程序流程圖7 開始位選個位 led 數(shù)碼管送個位顯示代碼至顯示端口p0延時 5ms位選十位 led 數(shù)碼管送十位顯示代碼至顯示端口p0延時 5ms位選百位 led 數(shù)碼管送百位顯示代碼至顯示端口p0延時 5ms子程序返回4.3 報警子程序流程圖:開始讀取溫度值判斷溫度是否低于60度?報警發(fā)低音, led 低亮判斷溫度是否高于160度?報警發(fā)高音, led 高亮返回yn報警燈關(guān)閉 led 全滅yn44sounder 揚(yáng)聲器發(fā)聲子程序流程圖8 開始p3

12、.7取反是否發(fā)低音?裝發(fā)低音調(diào)初值裝發(fā)高音調(diào)初值關(guān)閉定時器中斷返回yn4.5 源程序、#include #include #define adc_vref_type 0 xe0 / 選用 2.56v 的片內(nèi)基準(zhǔn)電壓源,且結(jié)果為左對齊#define ad_se_adc0 0 x00 /adc0 unsigned char table10 = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; / 數(shù)碼管字型09 unsigned char data4 = 0,0,0,0; / 存放 a/d 轉(zhuǎn)換結(jié)果unsigned long

13、int i,j=2560,k=256; void port_init(void) porta = 0 x01; ddra = 0 x00; portb = 0 xff; ddrb = 0 xff; portc = 0 x0f; /m103 output only 9 ddrc = 0 x0f; portd = 0 x00; ddrd = 0 x00; /adc initialize / conversion time: 112us void adc_init(void) adcsr = 0 x00; /disable adc admux = 0 x00; /select adc input 0

14、 acsr = 0 x80; adcsr = 0 x86; /call this routine to initialize all peripherals void init_devices(void) /stop errant interrupts until set up cli(); /disable all interrupts port_init(); adc_init(); mcucr = 0 x00; gicr = 0 x00; timsk = 0 x00; /timer interrupt sources sei(); /re-enable interrupts /all p

15、eripherals are now initialized void delay_(unsigned char a) unsigned int i; for(i=0;ia*7373;i+); 10 void display(unsigned char p) / 動態(tài)顯示, unsigned char i; for(i=0;i4;i+) portd=0 x01i; portb=tablepi; delay_(5); portd&=(0 x01i); unsigned int read_adc(unsigned char adc_input) / 讀取 a/d 轉(zhuǎn)換結(jié)果 admux=ad

16、c_input|adc_vref_type; adcsra|=0 x40; / 啟動 a/d 轉(zhuǎn)換while (adcsra&0 x10)=0); / 等待 a/d 轉(zhuǎn)換完成adcsra|=0 x10; return adch; void process(unsigned int i,unsigned char *p) / 數(shù)據(jù)處理函數(shù) p0=i/1000; i=i%1000; p1=i/100; i=i%100; p2=i/10; i=i%10; p3=i; void main(void) 11 init_devices(); ddra=0 x00; / 設(shè)置 a 口為不帶上拉輸入;

17、porta=0 x00; ddrb=0 xff; / 設(shè)置 b 口為輸出口 ; ddrd=0 xff; / 設(shè)置 d 口為輸出口 ; portb=0 x3f; /b口初始化輸出0 ;d 口初始化輸出1;點亮全部數(shù)碼管;portd=0 xff; admux=adc_vref_type; / 選擇第一通道adc0 ;adcsra=0 xa6; /125k轉(zhuǎn)換速率,自由轉(zhuǎn)換模式;啟動a/d 轉(zhuǎn)換;delay_(1000); / 延時待系統(tǒng)穩(wěn)定;while(1) i=read_adc(ad_se_adc0); / 獲取 a/d 轉(zhuǎn)換數(shù)據(jù)i=(i*j)/k; process(i,data); / 數(shù)據(jù)處

18、理display(data); / 顯示結(jié)果delay_(5); 12 4.6 仿真軟件簡介proteus是英國 labcenter公司開發(fā)的電路分析與實物仿真軟件。它運(yùn)行于 windows 操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成13 電路,該軟件的特點是:(1)實現(xiàn)了單片機(jī)仿真和spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、 i2c 調(diào)試器、 spi 調(diào)試器、鍵盤和 lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:arm7(

19、lpc21xx) 、 8051/52 系列、 avr系列、pic10/12/16/18系列、hc11系列以及多種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中, 也必須具有這些功能; 同時支持第三方的軟件編譯和調(diào)試環(huán)境,如 keil c51 uvision2、mplab 等軟件。(4)具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件, 功能極其強(qiáng)大。proteus7.5是目前最好的模擬單片機(jī)外圍器件的工具,可以仿真51系列、 avr 、pic 等常用的 m

20、cu 及其外圍電路(如lcd 、ram 、rom 、鍵盤、馬達(dá)、 led 、ad/da 、部分 spi 器件、部分 iic 器件等)。軟件編譯采用 keil c51 軟件, keil c51 是美國 keil software公司出品的 51 系列兼容單片機(jī) c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。keil c51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全 windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,14 就能體會到 keil c51 生成的目標(biāo)代碼效率非

21、常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。4.7 系統(tǒng)調(diào)試在調(diào)試過程中主要是對程序的修改,特別是顯示子程序。開始時,調(diào)整輸入,看數(shù)碼顯示的數(shù)值,改變電阻值即改變溫度,看數(shù)碼顯示的數(shù)值是否正確。在看揚(yáng)聲器發(fā)聲時的溫度值是否和實驗設(shè)定的相符,還要檢測發(fā)光二極管的發(fā)光情況。15 結(jié)束語這種溫度報警器結(jié)構(gòu)簡單。 工作時,溫度測量范圍為 0250。當(dāng)溫度達(dá)到預(yù)定值時, 立刻發(fā)出報警信號, 從而防止因溫度升高或過低帶來的不必要的損失。 通過本次課程設(shè)計, 又使我學(xué)到了許多書本上無法學(xué)到的知識,也深刻體會到單片機(jī)技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對學(xué)過的單片機(jī)知識有了很多的鞏固,同時也對單片機(jī)這一門課程產(chǎn)生了更大的興趣。在做本次課程設(shè)計的過程中, 我感觸最深的當(dāng)屬查閱了大量的設(shè)計資料了。 為了讓自己的設(shè)計更加完善, 查閱這方面的設(shè)計資料是十方必要的,同時是必不可少的。其次,我學(xué)會了在網(wǎng)絡(luò)中查找有關(guān)的各硬件的資源,為本次課程設(shè)計提供一定的資料。16 參考文獻(xiàn)1 王幸之 鐘愛琴 . at89系列單片機(jī)原理與接口技術(shù)m. 北京:北京航空航天大學(xué)出版社, 2004. 2 譚浩強(qiáng) .c 程序設(shè)計(第二版) m. 北京:清華大學(xué)出版社, 1999. 3 趙亮.

溫馨提示

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

最新文檔

評論

0/150

提交評論