[學(xué)士]基于單片機(jī)控制的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì)_secret_第1頁
[學(xué)士]基于單片機(jī)控制的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì)_secret_第2頁
[學(xué)士]基于單片機(jī)控制的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì)_secret_第3頁
[學(xué)士]基于單片機(jī)控制的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì)_secret_第4頁
[學(xué)士]基于單片機(jī)控制的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì)_secret_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 2010屆畢業(yè)論文 基于單片機(jī)控制的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì) 摘要:蓄電池的電壓檢測(cè)采用ADC0809實(shí)時(shí)檢測(cè)轉(zhuǎn)換,AD采集到的電壓的模擬量變成數(shù)字量在數(shù)碼管上顯示0-255,用定時(shí)器中斷刷新數(shù)碼管,設(shè)置對(duì)電壓的上限設(shè)為100,下限設(shè)為30,當(dāng)電壓的數(shù)字量大于等于100或小于等于30蜂鳴器報(bào)警,電壓回復(fù)到正常范圍自動(dòng)解除報(bào)警,在液晶上顯示時(shí)間和日期。關(guān)鍵詞:單片機(jī)(MCU),模數(shù)(A/D),DS1307,82C55,24C02引言:單片機(jī)系統(tǒng)具有應(yīng)用靈活,使用方便的特點(diǎn),在以單片機(jī)為核心構(gòu)成的智能系統(tǒng)具有使用方便,可升級(jí)特點(diǎn),對(duì)蓄電池充電和放電的電壓是必須要監(jiān)測(cè)的,不能過充電,也不

2、能過放電,目前大功率的充電機(jī)一般沒有充電保護(hù)裝置,如果過充電和過放電都會(huì)造成電池的損壞,當(dāng)電池電壓大于一定值是要停止充電,小于一定值時(shí)要停止放電,比如12V的鉛酸蓄電池最高電壓不能超過14.4V,最低電壓不能低于9.7V,本系統(tǒng)還可以作為別的電壓檢測(cè)系統(tǒng),應(yīng)用廣泛,成本低廉,安全可靠。系統(tǒng)的硬件配置:單片機(jī):STC89C58,時(shí)鐘芯片:DS1307,AD轉(zhuǎn)換芯片:ADC0809液晶:FM1601A-1 ,3位數(shù)碼管,發(fā)光二極管,按鍵, 蜂鳴器E2PROM:AT24C02,IO口擴(kuò)展:82C55,地址譯碼芯片:74HC138,地址鎖存芯片:74HC573,硬件介紹:單片機(jī)采用帶有ISP下載功能的

3、51核的STC89C58,具有可在線下載程序的功能,升級(jí)程序方便,有如下特點(diǎn):32K片內(nèi)程序存儲(chǔ)空間,可以擦寫100000次;片內(nèi)具有256+1024字節(jié)的RAM16K的EEPROM;四個(gè)8位I/O口和一個(gè)4位的可尋址的I/O口;四個(gè)外部中斷;INT0,INT1,INT2,INT3三個(gè)十六位定時(shí)器;具有片內(nèi)看門狗;具有雙倍速工作模式;在倍速模式下,處理速度教傳統(tǒng)的51單片機(jī) 高一倍超強(qiáng)抗干擾設(shè)計(jì);時(shí)鐘芯片和E2PROM采用IIC總線的芯片,分別是DS1307和AT24C02.具有連接簡單的特點(diǎn),IO口擴(kuò)展芯片采用82C55,由于89C52本身的IO口很少,不夠本系統(tǒng)使用,要擴(kuò)展三個(gè)IO口分別是

4、PA,PB,PC,74系列芯片具有價(jià)格低,容易采購,用74HC138作為地址譯碼芯片,74HC573作為地址鎖存芯片 地址空間分配:8255的PA口:0 xb000 8255的 PB口:0 xb001 8255的 PC口:0 xb002 8255的 PD口:0 xb003 ADC0809 口:0 xd000 LCD 口:0 xe000寫程序時(shí)主要遇到了下面兩個(gè)問題主要問題及解決時(shí)鐘的讀取一開始采用分別讀取秒,分,時(shí),星期,日,月,年,數(shù)據(jù)在液晶上顯示出錯(cuò),后來采取一次讀出秒,分,時(shí),星期,日,月,年的數(shù)據(jù)放在一個(gè)臨時(shí)數(shù)組里,再顯示可以正常顯示。2. 讀時(shí)鐘和AT24C02的讀取要分時(shí)操作,不能

5、同時(shí)讀。讀AT24C02的數(shù)據(jù)時(shí)要暫時(shí)停止時(shí)間的讀取。設(shè)計(jì)思想:三位數(shù)碼管動(dòng)態(tài)掃描顯示AD轉(zhuǎn)換的值0-255,8個(gè)查詢式鍵盤,按鍵1做數(shù)碼管數(shù)字加一功能并且發(fā)光二極管LED1閃爍,按鍵2做數(shù)碼管數(shù)字減一功能并且發(fā)光二極管LED1閃爍,按鍵3存儲(chǔ)數(shù)碼管顯示的數(shù)字,如果LED1亮?xí)r存的是AD轉(zhuǎn)換的上限值,如果LED2亮?xí)r存的是AD轉(zhuǎn)換的下限值,按鍵4做啟動(dòng)AD轉(zhuǎn)換,按鍵5讀出已存的上限值顯示在數(shù)碼管上,按鍵6讀出已存的下限值顯示在數(shù)碼管上,按鍵8數(shù)碼管顯示的數(shù)字清零。液晶采用的是FM1601,每行可顯示16個(gè)字符,可以顯示兩行,顯示年,月,日,星期,時(shí),分,秒信息上限和下限值分別存在AT24C02

6、的兩個(gè)字節(jié)里。當(dāng)AD轉(zhuǎn)換的值超過上下限時(shí)蜂鳴器報(bào)警,直到恢復(fù)到上下限內(nèi)自動(dòng)解除報(bào)警我們?cè)O(shè)計(jì)的蓄電池電壓智能檢測(cè)與報(bào)警系統(tǒng)由時(shí)鐘系統(tǒng)、存儲(chǔ)器、顯示器及鍵盤部分組成??刂破鞑捎脝纹瑱C(jī)STC89C58,時(shí)鐘系統(tǒng)用時(shí)鐘芯片DS1307,用FM1601液晶作為顯示器,用AT24C02作為存儲(chǔ)器件。單片機(jī)通過時(shí)鐘芯片DS1307獲取時(shí)間數(shù)據(jù),對(duì)數(shù)據(jù)處理后顯示時(shí)間;存儲(chǔ)器通過單片機(jī)對(duì)AD轉(zhuǎn)換上下限進(jìn)行存儲(chǔ);單片機(jī)再把時(shí)間數(shù)據(jù)送液晶顯示器FM1601液晶顯示;鍵盤是用來設(shè)置AD轉(zhuǎn)換上下限和啟動(dòng)AD轉(zhuǎn)換通過本次單片機(jī)只能系統(tǒng)的設(shè)計(jì),我大有收獲,從一開始的確定課題,到后來的資料查找、理論學(xué)習(xí),再有就是近來的調(diào)試和

7、測(cè)試過程,從得到題目到查找資料,從對(duì)題目的研究設(shè)定到程序的編寫,程序的調(diào)試到失敗后再一次全部重新開始在這一個(gè)充滿挑戰(zhàn)伴隨挫折,充滿熱情伴隨打擊的過程中,我感觸頗深,它已不僅是一個(gè)對(duì)我?guī)讉€(gè)月的學(xué)習(xí)知識(shí)情況和我的應(yīng)用動(dòng)手能力的檢驗(yàn),而且還是對(duì)我的鉆研精神,面對(duì)困難的心態(tài),做事的毅力和耐心的考驗(yàn)。我在這個(gè)過程中深刻的感受到了做畢業(yè)設(shè)計(jì)的意義所在,和我一樣真正投入了身心去做的人也一定會(huì)有同樣的感觸。通過做本課題,我了解并掌握了AD轉(zhuǎn)換,液晶顯示,E2PROM的讀寫,鍵盤的控制,數(shù)碼管的動(dòng)態(tài)掃描,時(shí)鐘芯片的使用的基本理論知識(shí),更深入的掌握單片機(jī)的開發(fā)應(yīng)用,為以后從事單片機(jī)軟硬件產(chǎn)品的設(shè)計(jì)開發(fā)、下了良好的

8、基礎(chǔ),樹立獨(dú)立從事產(chǎn)品研發(fā)的信心,并在這種能力上得到了比較充分的鍛煉。謝 辭在本次畢業(yè)設(shè)計(jì)中,我得到了指導(dǎo)老師的熱心指導(dǎo)。自始至終關(guān)心督促畢業(yè)設(shè)計(jì)進(jìn)程和進(jìn)度。幫助解決畢業(yè)設(shè)計(jì)中遇到的許多問題。還不斷向我們傳授分析問題和解決問題的辦法,并指出了正確的努力方向,使我在畢設(shè)過程中少走很多彎路。同時(shí),他還提供給我們專門的各種設(shè)備及場所,在調(diào)試過程中能夠有充足的時(shí)間。在這里非常感謝老師的指導(dǎo)和幫助,并致以誠摯的謝意!同時(shí),身邊的同學(xué)給了我許多的幫助。在此,我向身邊關(guān)心我的同學(xué)致以誠摯的謝意!附圖:原理圖見附件參考文獻(xiàn):1 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)M.北京:北京航空航天大學(xué),1990.

9、2 李曉荃.單片機(jī)原理與應(yīng)用M. 北京:電子工業(yè)出版社,2000.3 劉和平.單片機(jī)原理及應(yīng)用M.重慶:重慶大學(xué)出版社,2002 .4 徐愛鈞.單片機(jī)高級(jí)語言 C51 應(yīng)用程序設(shè)計(jì)M. 北京:電子工業(yè)出版社,2002.5 謝自美.電子線路設(shè)計(jì).實(shí)驗(yàn).測(cè)試(第二版) M.武漢:華中科技大學(xué)出版社,2000. 6 江國強(qiáng).現(xiàn)代數(shù)字邏輯電路.北京:電子工業(yè)出版社,2002 .7 張勇.PROTEL 99SE 電路設(shè)計(jì)技術(shù)入門與應(yīng)用(第一版).北京:電子工業(yè)出版社,2002 .8 樊昌信.通信原理(第五版)M.北京:國防工業(yè)出版社,2001 .9 Richard c.Dorf.modern conct

10、rol systermM.BEIJING:Science Publishing House,2002.10 Donald A. Neamen. Electronic circuit analysis and designM.Tsinghua University Press and Springer Verlag.2002.附 錄(1)本設(shè)計(jì)使用的單片機(jī)程序如下:C語言源程序#include#include#define PD XBYTE0 xb003/8255控制口#define PC XBYTE0 xb002/8255擴(kuò)展C口#define PB XBYTE0 xb001/8255擴(kuò)展B口

11、#define PA XBYTE0Xb000/8255擴(kuò)展A口#define LCDD XBYTE0 xe000/LCD控制口#define LCDRS XBYTE0 xe003/LCD讀口#define LCDRW XBYTE0 xe001/LCD寫口#define ADCIN XBYTE0 xd000/ADC0809地址sbit SCL=P16; /i2c總線SCL線sbit SDA=P17; /i2c總線SDA線sbit P1_5=P15; /上,下限報(bào)警sbit SpeakerP12=P12; /蜂鳴器/年,月,日,星期,時(shí),分,秒unsigned char zfc=0000000/0

12、0:00:00; unsigned char zfctemp7; /日期和時(shí)間緩沖區(qū)unsigned char /*數(shù)碼管段碼*/smgd=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/*數(shù)碼管位碼*/unsigned char smgb=0 x00,0 x01,0 x02,0 x03,0 x04,0 x05; unsigned char sc,sb,sa;/數(shù)碼管個(gè)位c,十位b,百位aunsigned char x=0;unsigned char y=0;unsigned char m,n; /m保存上限值,n保存下

13、限值unsigned char stopread1307=1;void delay(unsigned int ms)/可變延時(shí)while(ms-); void i2cinit(void) /IIC總線初始化SCL=1;delay(10);SDA=1;delay(10);SCL=0;delay(10);SDA=0;delay(10); void i2cstart(void)/開始信號(hào)SDA=1;delay(10);SCL=1;delay(10);SDA=0;delay(10);SCL=0; void i2cstop(void)/停止信號(hào)SCL=0;SDA=0;delay(10);SCL=1;de

14、lay(10);SDA=1;void i2cack()/IIC應(yīng)答信號(hào)SDA=0;SCL=1;delay(10);SCL=0;SDA=1;bit testack(void) /應(yīng)答檢測(cè)unsigned char errorbit=0;SDA=1;SCL=1;delay(10);errorbit=SDA;SCL=0;return(errorbit);void i2csend(unsigned char i_data)/IIC發(fā)送unsigned char t;for (t=0;t8;t+)SDA=(bit)(i_data&0 x80);/強(qiáng)制類型轉(zhuǎn)換SCL=1;delay(10);SCL=0;

15、i_data=i_data1;unsigned char i2cread(void)/讀一個(gè)字節(jié)unsigned char t;unsigned char i_data=0;for(t=0;t4)&0 x0f)+0 x30; /秒十位zfc13=:;zfc12=(zfctemp1&0 x0f)+0 x30; /分個(gè)位zfc11=(zfctemp14)&0 x0f)+0 x30; /分十位zfc10=:;zfc9=(zfctemp2&0 x0f)+0 x30; /時(shí)個(gè)位zfc8=(zfctemp24)&0 x0f)+0 x30; /時(shí)十位zfc7=/; zfc6=(zfctemp3&0 x0f)

16、+0 x30; /星期zfc5=(zfctemp4&0 x0f)+0 x30; /日個(gè)位zfc4=(zfctemp44)&0 x0f)+0 x30; /日十位zfc3=(zfctemp5&0 x0f)+0 x30; /月個(gè)位zfc2=(zfctemp54)&0 x0f)+0 x30; /月十位zfc1=(zfctemp6&0 x0f)+0 x30; /年個(gè)位zfc0=(zfctemp64)&0 x0f)+0 x30; /年十位 void LCDDISP(unsigned char *LCDdata)/液晶顯示16個(gè)字符unsigned char t;for (t=0;t=m)|(x=n)&(EX0=1) P1_5=0;Speaker(); else P1_5=1;switch (keyscan()case 0 x01:up(); break; / 加1case 0 x02:down(); break; / 減1case 0 x03:pprom(); break; / 如果LED1亮存儲(chǔ) 上限值,如果LED2亮 存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論