基于51單片機的簡易溫控水杯恒溫杯仿真設(shè)計( proteus仿真+程序+設(shè)計報告+講解視頻)
仿真圖proteus7.8及以上
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計編號:S0099
1. 主要功能:
基于51單片機的簡易溫控水杯恒溫杯仿真設(shè)計
1、采用DS18B20檢測溫度,溫度檢測范圍-55~125攝氏度。
2、LCD1602顯示檢測溫度和設(shè)置溫度值,溫度低于設(shè)定值顯示low,高于顯示high。
3、檢測溫度小于設(shè)定溫度-1°時,開啟加熱器。
檢測溫度大于設(shè)定溫度+1時,開啟制冷器控制溫度。
4、按鍵加減設(shè)置溫度設(shè)定值,可以通過按鍵控制電動開關(guān)蓋。
51單片機、DS18B20溫度傳感器、LCD1602顯示
需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。
2. 講解視頻:
講解視頻包含仿真運行講解和代碼講解
3. 仿真
開始仿真后LCD1602液晶顯示當前測量的溫度,設(shè)置溫度,如果檢測到溫度大于設(shè)置值+1,制冷器開始工作降溫。
如果檢測到溫度小于設(shè)置值-1,加熱器開始工作加熱提高溫度。
可以通過按鍵控制瓶蓋開關(guān)。
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。
#include "reg51.h"
#include"Ds18b20.h"
#include "lcd1602.h"
#define uchar unsigned char //重定義
#define uint unsigned int
sbit k1=P3^0;//按鈕
sbit k2=P3^1;
sbit k3=P3^2;
sbit door=P2^2; //開關(guān)蓋
sbit heat=P2^0; //加熱
sbit cold=P2^1; //制冷
sbit beep=P2^5;//蜂鳴器
uchar time=0,num1=0;//定時
int wendu=0;//溫度
uchar Ds_0_flag=0;//0度以上標志位
float tp;
完整代碼見文章下載鏈接
uint down=40;//閥值
uchar disp1[]="wendu:000 C ";
uchar disp2[]="set_wendu:000 C ";
//uchar disp2[]="L:000 C H:000 C";
uchar flag=0,beep_flag=0;
void delay(uint i)//延時
{
while(i--)
{
delay_uint(50000);
}
}
void main()
{
disp1[9]=0xdf;
disp2[13]=0xdf;
// disp2[14]=0xdf;
init_1602();//初始化液晶
TMOD|=0X11;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH1=(65536-50000)/256; //給定時器賦初值,定時50ms
TL1=(65536-50000)%256;
ET1=1;//打開定時器1中斷允許
EA=1;//打開總中斷
TR1=1;//打開定時器1
delay(4);
beep_flag = 0;
while(1)
{
//按鍵檢測
if(!k1)
{
if(down<125) //下限閾值檢測范圍小
down++; //閾值+1
while(!k1);
}
if(!k2)
{
if(down>0)
down--; //閾值-1
while(!k2);
}
if(!k3)
{
if(door){
door=0;
}else{
door=1;
}
while(!k3);
}
}
}
void Timer1() interrupt 3//定時器中斷
{
TH1=(65536-50000)/256; //給定時器賦初值,定時50ms
TL1=(65536-50000)%256;
if(time<10)
time++;
else
{
time=0;
wendu=Ds18b20ReadTemp();//測量溫度
if(wendu<0){
Ds_0_flag=0;
wendu=wendu-1;
wendu=~wendu;
tp=wendu;
wendu=tp*0.0625+0.5;
disp1[6]='-';//計算溫度
disp1[7]=wendu%100/10+0x30;
disp1[8]=wendu%10+0x30;
}else{
Ds_0_flag=1;
tp=wendu;
wendu=tp*0.0625+0.5;
//溫度在寄存器中12位,分辨率:0.0625
//加0.5是四舍五入
disp1[6]=wendu/100+0x30;//計算溫度
disp1[7]=wendu%100/10+0x30;
disp1[8]=wendu%10+0x30;
}
disp2[10]=down/100+0x30;//計算閾值
disp2[11]=down%100/10+0x30;
disp2[12]=down%10+0x30;
write_string(1,0,disp1);//顯示
write_string(2,0,disp2);
}
if(wendu<down-1||Ds_0_flag==0){
write_string(1,12,"Low ");
heat = 0;//低溫加熱
cold = 1;
}else if(wendu>down+1){
write_string(1,12,"High");
cold = 0;//高溫制冷
heat = 1;
}else{
write_string(1,12," ");
heat=cold=1;//取消加熱制冷
}
}
5. 設(shè)計報告
7187字設(shè)計報告,內(nèi)容包括硬件設(shè)計、軟件設(shè)計、軟硬件框圖、調(diào)試、結(jié)論等
隨著科技日新月異的進步和生活質(zhì)量的不斷提升,人們對生活用品的功能性、便利性和智能化程度提出了更高的要求。在這樣的時代背景下,智能生活用品正逐漸成為現(xiàn)代生活的標配,它們不僅改善了人們的生活質(zhì)量,還極大地提高了生活的舒適度與效率。智能恒溫水杯作為一種代表性的智能化生活用品,其核心功能在于能夠自動感應并調(diào)節(jié)杯內(nèi)液體的溫度,確保飲品始終保持在最適宜飲用的范圍內(nèi),無論是熱飲還是冷飲,都能做到隨心所欲,這無疑極大地迎合了現(xiàn)代快節(jié)奏生活中人們對健康飲水習慣的追求,也因其高度的實用性和便捷性而廣受市場和消費者的青睞。
針對這一趨勢,本課題聚焦于設(shè)計一款基于51系列單片機為核心的簡易溫控水杯恒溫杯仿真系統(tǒng)。此設(shè)計項目的核心目標有兩個方面:首先,從實用角度出發(fā),致力于研發(fā)一種能夠精確控制水溫的技術(shù)方案,使水杯能根據(jù)預先設(shè)定的溫度自動啟動加熱或降溫機制,從而實現(xiàn)在任何環(huán)境條件下都能讓杯中的水溫保持在理想的水平,充分滿足人們?nèi)粘I钪袑Σ煌嬈愤m宜溫度的需求;其次,從教育與科研層面來看,本課題設(shè)計有助于提升學生對嵌入式系統(tǒng)設(shè)計理論的理解,通過從理論到實踐的設(shè)計過程,讓學生親手構(gòu)建一套包含溫度感知、數(shù)據(jù)處理、控制執(zhí)行等環(huán)節(jié)的完整閉環(huán)系統(tǒng),有效鍛煉學生的動手能力和工程實踐能力。
6. 設(shè)計資料內(nèi)容清單&&下載鏈接
資料設(shè)計資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計報告、軟硬件設(shè)計框圖等。
0、常見使用問題及解決方法–必讀?。。?!
1、程序代碼注釋
2、proteus仿真
3、功能要求
4、軟硬件流程圖
5、開題報告
6、設(shè)計報告
7、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機仿真設(shè)計教程
KEIL安裝破解
Proteus安裝
Proteus簡易使用教程
單片機學習資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url
百度網(wǎng)盤下載鏈接:-失效請留言
https://pan.baidu.com/s/1gET6ed4LRllvEgB6qmK4kg?pwd=drml