国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

畢業(yè)設(shè)計(jì) - 基于單片機(jī)的智能飲水機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) (物聯(lián)網(wǎng) 嵌入式 單片機(jī))

這篇具有很好參考價(jià)值的文章主要介紹了畢業(yè)設(shè)計(jì) - 基于單片機(jī)的智能飲水機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) (物聯(lián)網(wǎng) 嵌入式 單片機(jī))。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


1 簡介

Hi,大家好,學(xué)長今天向大家介紹一個(gè) 單片機(jī)項(xiàng)目

基于單片機(jī)的智能飲水機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

大家可用于 課程設(shè)計(jì) 或 畢業(yè)設(shè)計(jì)

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

2 緒論

2.1 課題背景與目的

這次設(shè)計(jì)的智能飲水機(jī)就是單片機(jī)結(jié)合傳感器的一個(gè)應(yīng)用。

該系統(tǒng)設(shè)計(jì)綜合單片機(jī)以及電子技術(shù)理論,從生活實(shí)際出發(fā),完善了飲水機(jī)的功能。整個(gè)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)三個(gè)功能,即加熱、對溫度上下限的控制和定時(shí)加熱。與傳統(tǒng)的飲水機(jī)相比,由于采用了自動(dòng)檢測和控制的電子設(shè)計(jì)技術(shù),可較好地實(shí)現(xiàn)對水溫的測量和控制,具有較廣泛的應(yīng)用前景。

系統(tǒng)包括溫度傳感器,鍵盤輸入模塊,輸出控制模塊,數(shù)據(jù)傳輸模塊,溫度顯示模塊和出水驅(qū)動(dòng)電路等部分。



3 系統(tǒng)設(shè)計(jì)


3.1 智能飲水機(jī)功能設(shè)計(jì)


智能飲水機(jī)具有過熱保護(hù)防干燒、 加熱至沸騰、 設(shè)置溫度加熱、 超溫報(bào)警提示、 安全鎖定、 電動(dòng)機(jī)出水功能等。

3.1.1 智能飲水機(jī)的按鍵功能:

  • ① 出水鍵: 控制飲水機(jī)出水和停止出水;
  • ② 加熱鍵: 負(fù)責(zé)控制開始加熱和停止加熱;
  • ③ 鎖定鍵: 按下鎖定鍵, 其他按鍵無效;
  • ④ 切換?。喊聪潞箝_始設(shè)定用戶想要的溫度;
  • ⑤ 溫度設(shè)定鍵: 按一下溫度增加 5℃,溫度可在 0℃到 100℃之間循環(huán)。

3.1.2 智能飲水機(jī)的顯示功能:

  • ①電源燈(綠色) : 接通電源, 電源燈點(diǎn)亮;
  • ②加熱指示燈(黃色) :按下加熱鍵, 加熱指示燈點(diǎn)亮, 表示燒水開始工作。 再次按下加熱鍵,指示燈熄滅, 表示燒水停止;
  • ③鎖定鍵指示燈(藍(lán)色) : 鎖定其他按鍵功能, 燈亮表示其他按鍵均不可用;
  • ④超溫報(bào)警燈(紅色) : 燈點(diǎn)亮表示水已經(jīng)達(dá)到設(shè)定的加熱溫度或已沸騰并停止加熱;
  • ⑤數(shù)碼管: 顯示當(dāng)前水溫或用戶設(shè)定的溫度。
  • ⑥蜂鳴器: 響起后說明水以沸騰并停止加熱。

3.2 系統(tǒng)架構(gòu)

整個(gè)硬件系統(tǒng)由主控制系統(tǒng)、輸入輸出模塊、傳感器、其他功能電路和電源部分組成。主控系統(tǒng)使用單片機(jī)控制,包括對鍵盤的信息的接收和控制,對其他功能電路的控制等,通過軟件編程實(shí)現(xiàn)預(yù)定功能;傳感器部分即檢測子系統(tǒng),主要是進(jìn)行飲水機(jī)中水的溫度檢測和控制,采用智能溫度傳感器DS18B20;其他功能電路部分包括恒溫,防干燒,出水等電路,達(dá)到功能多樣化;電源部分為智能飲水機(jī)提供必要的電能,保證飲水機(jī)能夠正常的工作。

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

3.3 軟件部分

3.3.1 主程序部分

程序的初始化主要包括三個(gè)環(huán)節(jié):

  • (1) 實(shí)現(xiàn)各種設(shè)置堆棧指針、 定時(shí)器/計(jì)數(shù)器 0 初始化、 以及開中斷、定時(shí)器/計(jì)數(shù)器啟動(dòng);
  • (2) 實(shí)現(xiàn) LED 顯示當(dāng)前水溫并能顯示預(yù)設(shè)的水溫;
  • (3) 不斷的進(jìn)行按鍵掃描, 判斷是否有按鍵按下, 如沒有按鍵按下,則返回顯示; 如有按鍵按下, 則根據(jù)所按鍵實(shí)現(xiàn)相應(yīng)的操作。

人機(jī)對話功能鍵設(shè)置如下:

  • (1) “出水” 鍵: 控制其出水和停止出水;
  • (2) “加熱” 鍵: 控制其加熱和停止加熱;
  • (3) “鎖定” 鍵: 用于鎖定其他所有按鍵;
  • (4) “切換” 鍵: 用于將顯示器切換至溫度設(shè)定界面并開始設(shè)定溫度;
  • (5) “設(shè)置溫度” 鍵: 以 5℃為間隔在 0℃至 100℃之間以遞增方式設(shè)定水溫。
// 關(guān)鍵代碼
void main()
{
T=100;
while(1)
{
Lock_key();
if(Lock==0)
keyscan();
if(flag2==0)
temp_display();
if(flag2==1)
SEG_display(T,0);
if(temp>=T*10) {Temp_led=0;Hot=1;Hot_led=1;}
if(temp< T*10) Temp_led=1;
if(temp>=1000){Beep=0;Hot=1;Hot_led=1;}
if(temp<1000) Beep=1;
}
}

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

3.3.2 溫度檢測

溫度檢測運(yùn)用 DS18B20 芯片, 因?yàn)槠涔δ苋媲揖雀撸?完全可以滿足設(shè)計(jì)要求, 它將檢測到的水溫送給單片機(jī), 再由單片機(jī)輸出給顯示電路將實(shí)時(shí)水溫顯示出來。

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

// 關(guān)鍵代碼
void init_ds18b20()
{
uchar x=0;
DQ = 1; //DQ 復(fù)位
delay_us(10); //稍做延時(shí)
DQ = 0; //單片機(jī)將 DQ 拉低
delay_us(100); //精確延時(shí) 大于 480us
DQ = 1; //拉高總線
delay_us(10);
x=DQ; //稍做延時(shí)后 如果 x=0則初始化成功 x=1 則初始化失敗
delay_us(20);
}
uchar ReadOneChar()
{
uchar i;
uchar dat=0;
for (i=8;i>0;i--)
{
DQ = 0;
dat>>=1;
DQ = 1; 
if(DQ)
dat|=0x80;
delay_us(10);
}
return(dat);
}
void WriteOneChar(uchar dat)
{
uchar i;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay_us(10);
DQ = 1;
dat>>=1;
}
}
int ReadTem()
{
int t;
uchar a,b;
init_ds18b20();
WriteOneChar(0xcc); // 跳過讀序號(hào)列號(hào)的操作
WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換
delay_us(200);
init_ds18b20();
WriteOneChar(0xcc); //跳過讀序號(hào)列號(hào)的操作
WriteOneChar(0xbe); //讀取溫度寄存器等
a=ReadOneChar();
b=ReadOneChar();
t=b;
t<<=8;
t=t|a;
return t;
}
void temp_display()
{
uint temp_point;
temp=ReadTem()*0.625; //將溫度的高位與低位合并
temp_point=temp%10; //取出小數(shù)位
SEG_display(temp/10,temp_point);
}

3.3.3 顯示程序設(shè)計(jì)

顯示程序是負(fù)責(zé)點(diǎn)亮 4 支數(shù)碼管, 并根據(jù)單片機(jī)送出的數(shù)據(jù)及時(shí)更新顯示的數(shù)據(jù), 其程序流程圖如下

(大家可以換成oled屏顯示)

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

// 關(guān)鍵代碼
void SEG_display(uchar dat1,uchar dat2)
{
P23=1;
P0=table[dat1/100];
P20=0;
delay_us(80);
P20=1;
P0=table[dat1/10%10];
P21=0;
delay_us(80);
P21=1;
P0=table[dat1%10]|0x80;
P22=0;
delay_us(80);
P22=1;
P0=table[dat2];
P23=0;
delay_us(80);
}

3.3.4 鍵盤掃描程序

鍵盤掃描程序的任務(wù)是在程序運(yùn)行過程中始終不停的檢測是否有按鍵被按下, 如果檢測到有按鍵被按下, 則進(jìn)入與該按鍵對應(yīng)的程序運(yùn)行; 若該按鍵沒有被按下, 則繼續(xù)檢測下一個(gè)按鍵, 如此循環(huán), 從而完成每一個(gè)按鍵所對應(yīng)的功能。

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

// 關(guān)鍵代碼
void keyscan()
{
if(key1==0)
{
delay_ms(2);
if(key1==0)
{
flag=~flag;
if(flag==1)
Out=0;
if(flag==0)
Out=1;
}
while(!key1);
}
if(key2==0)
{
delay_ms(2);
if(key2==0)
{
flag1=~flag1;
if(flag1==1)
{Hot=0;Hot_led=0;}
if(flag1==0)
{Hot=1;Hot_led=1;}
}
while(!key2);
}
if(key3==0)
{
delay_ms(2);
if(key3==0)
{
if(flag2==1) T+=5;
if(T>=101)T=0;
}
while(!key3);
}
if(key5==0)
{
delay_ms(2);
if(key5==0)
{
flag2=~flag2;
}
while(!key5);
}
}
void Lock_key() // 鎖定鍵盤
{
if(key4==0)
{
delay_ms(2);
if(key4==0)
{
Lock=~Lock;
if(Lock==1)
Lock_led=0;
if(Lock==0)
Lock_led=1;
}
while(!key4);
}
}


3.4 實(shí)現(xiàn)效果

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)

智能飲水機(jī)系統(tǒng)畢設(shè)教程,單片機(jī)文章來源地址http://www.zghlxwxcb.cn/news/detail-773996.html

4 最后

到了這里,關(guān)于畢業(yè)設(shè)計(jì) - 基于單片機(jī)的智能飲水機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) (物聯(lián)網(wǎng) 嵌入式 單片機(jī))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包