51单片机的智能鱼缸控制系统【proteus仿真+程序+报告+原理图】
1、主要功能
該系統(tǒng)由AT89C51單片機(jī)+LCD1602+DS18B20溫度傳感器+DS1302時(shí)間模塊+ADC0832采集模擬水位、渾濁度信息+繼電器控制電機(jī)和加熱器模塊+蜂鳴器模塊構(gòu)成。
可實(shí)現(xiàn)功能:
1、LCD1602顯示各種信息
2、DS1302獲取北京時(shí)間,用戶通過按鍵設(shè)定1個(gè)喂食時(shí)間,默認(rèn)時(shí)間12:30:00。到時(shí)間后自動(dòng)喂食,喂食舵機(jī)打開5s鐘后自動(dòng)關(guān)閉
3、手動(dòng)喂食,點(diǎn)擊喂食按鍵后,喂食舵機(jī)打開5s鐘后自動(dòng)關(guān)閉
4、DS18B20獲取溫度,可顯示正負(fù),溫度過低聲光報(bào)警,繼電器閉合,加熱管工作
5、ADC0832模擬水位和渾濁度,到達(dá)指標(biāo)后,自動(dòng)加水和抽水
6、按鍵控制,手動(dòng)加水和抽水,按一次運(yùn)行,再按一次關(guān)閉
2、仿真
protues 仿真使用的是8.10版本,由于該軟件版本迭代原因,不能確保其他版本軟件能夠正常運(yùn)行,請(qǐng)安裝好對(duì)應(yīng)軟件(版本一致或者高于這個(gè)版本都可以)
3、程序代碼
只是放上來了部分代碼,僅供參考。
/******************************************************************************* * 函 數(shù) 名 : Ds1302Init * 函數(shù)功能 : 初始化DS1302. * 輸 入 : 無 * 輸 出 : 無 **關(guān)注:今天也不想打工 **后臺(tái)回復(fù)“51智能魚缸”獲取資料 *******************************************************************************/ void Ds1302Init() {uchar n;EA=0;Ds1302Write(0x8E,0X00); //禁止寫保護(hù),就是關(guān)閉寫保護(hù)功能for (n=0; n<7; n++)//寫入7個(gè)字節(jié)的時(shí)鐘信號(hào):分秒時(shí)日月周年{Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]); }Ds1302Write(0x8E,0x80); //打開寫保護(hù)功能EA=1; } /******************************************************************************* * 函 數(shù) 名 :display_shuiwei * 函數(shù)功能 :顯示水位 * 輸 入 : 無 * 輸 出 : 無 *******************************************************************************/ void display_shuiwei() {uchar adc = 0;uchar shuiwei =0;adc = ADC_read_data(0);//讀取adc值,范圍是1~255,假設(shè)魚缸高25.5cm,所以adc的1對(duì)應(yīng)水位0.1cmshuiwei = adc/10; //這里進(jìn)行取整顯示L1602_char(2,1,72);//"H"L1602_char(2,2,58);//":"L1602_char(2,3,shuiwei%100/10+48);//取shuiwei十位L1602_char(2,4,shuiwei%10+48); //取shuiwei個(gè)位L1602_char(2,5,99);//"c"L1602_char(2,6,109);//"m"if(add_flag !=1)//當(dāng)按鍵按下,不執(zhí)行自動(dòng)判斷調(diào)整水位{if(shuiwei <10)//如果水位低于20cm,光電報(bào)警,注水{BUZZER =0;ADD_Water =0;}else{BUZZER =1;ADD_Water=1;}} } void main(void) { //定時(shí)50msTMOD = 0x01; //定時(shí)器方式1TH0 = 0x3C; //定時(shí)器賦初值TL0 = 0xB0;EA = 1; //開啟總中斷ET0 = 1; //開啟定時(shí)器中斷L1602_init();date_init();Ds1302ReadTime();TIME[0]&=0X7F;Ds1302Init();while(1){ display_shuiwei();display_hunzhuodu();Ds1302ReadTime(); display_time();display_temp();alarm();if(key_scan() !=0) //如果按下設(shè)置鍵,則進(jìn)入設(shè)置報(bào)警功能{ KEY_Control();} } }4、原理圖
5、報(bào)告目錄
純手打,26頁,6k字(不包括代碼),含電路分析,代碼分析
6、常見問題匯總
里面包含了我對(duì)各個(gè)模塊的詳細(xì)解析,可以結(jié)合代碼一起理解。如果正巧老師問題多,這個(gè)可以幫到你哦。(不定時(shí)更新,講解模塊也會(huì)越來越多)
7、資源獲取
本項(xiàng)目包含的所有文件都可以在:今天也不想打工,回復(fù)“51智能魚缸”獲取!
項(xiàng)目純手打,不是免費(fèi)的哦~淺淺一杯咖啡的💴
希望可以幫到你哈!
總結(jié)
以上是生活随笔為你收集整理的51单片机的智能鱼缸控制系统【proteus仿真+程序+报告+原理图】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32单片机智能鱼缸温度水位控制系统
- 下一篇: 河北新华计算机学校贴吧,读石家庄新华电脑