亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機水溫控制器設計(仿真圖+程序,參考資料)
[打印本頁]
作者:
zhaoyeyun
時間:
2020-2-29 15:04
標題:
單片機水溫控制器設計(仿真圖+程序,參考資料)
一升水在1kw電爐下加熱,要求水溫在一定范圍內可由人工設定,并能在環境溫度降低時自動調節,以保證設定的溫度基本不變。設計一個可以驅動1kW加熱負載的水溫控制器,具體要求如下
(1)能夠測量溫度,溫度用數字顯示。
(2)測量溫度范圍0~100℃,測量精度為0.5℃。
(3)能夠設置水溫控制溫度,設定范圍40~90℃,且連續可調。
(4)水溫控制精度≤ 2℃。
(5)當超過設定的溫度20℃時,產生聲、光報警。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(14.92 KB, 下載次數: 84)
下載附件
2020-3-1 01:29 上傳
單片機源程序如下:
#include<reg52.h>
#include<intrins.h>
#include<wendu.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^6;
sbit led1=P3^7;
sbit led=P3^3;
sbit shenwen=P3^4;
sbit baojing=P3^5;
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0xbf,0xc7,0x89};
uchar code tab3[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x3f,0xff};
uchar yi,er,san,si,san1;
uint shangxian=90,xiaxian=40,flag=0,teding=20,ling=0,bai=100;
void delay(int ma);
void display1(uchar yi,uchar er,uchar san,uchar si);
void display2(uchar yi,uchar er,uchar san1,uchar si);
void keyscan();
void main()
{
float wendu=0;
int wenduzhen=0;
yi=11;er=11;san=11;si=11;
shenwen=1;//關閉繼電器
while(1)
{
keyscan();
if(flag==0)//溫度測試界面
{
wendu=temget();
if(wendu<xiaxian)//燒水
{
shenwen=0;
}
else if(wendu>=xiaxian)
{
shenwen=1;//燒水功能關閉
}
if(((wendu>=teding)&&(key4==0)))//報警開啟
{
baojing=0;
}
else if((wendu<teding))//報警關閉
{
baojing=1;
}
if(((wendu>=teding)))//報警開啟
{
led1=1;
}
else if((wendu<teding))//報警關閉
{
led1=0;
}
wenduzhen=wendu*10;
yi=wenduzhen/1000;
er=wenduzhen%1000/100;
san=wenduzhen%100/10;
si=wenduzhen%10;
display1(yi,er,san,si);
}
else if(flag==1)//溫度下限設置界面
{
yi=13;er=12;
san1=xiaxian%100/10;
si=xiaxian%10;
display2(yi,er,san1,si);
}
else if(flag==2)//溫度上限設置界面
{
yi=14;er=12;
san1=shangxian%100/10;
si=shangxian%10;
display2(yi,er,san1,si);
}
if((wendu>shangxian)||(wendu<xiaxian))//溫度超過上限低于下限led亮
{
led=0;
}
else if((wendu>=xiaxian)&&(wendu<=shangxian))
{
led=1;
}
}
}
void keyscan()
{
if(key1==0)//設置界面
{
delay(5);
if(key1==0)
{
flag++;
if(flag>2)flag=0;
}
while(!key1);
}
if(key2==0)//加數值
{
delay(5);
if(key2==0)
{
if(flag==1)
{
xiaxian++;
if(xiaxian>=89)xiaxian=89;
}
else if(flag==2)
{
shangxian++;
if(shangxian>=90)shangxian=90;
}
}
while(!key2);
}
if(key3==0)//減數值
{
delay(5);
if(key3==0)
{
if(flag==1)
{
xiaxian--;
if(xiaxian<0)xiaxian=0;
}
else if(flag==2)
{
shangxian--;
if(shangxian<1)xiaxian=1;
}
}
while(!key3);
}
}
void display1(uchar yi,uchar er,uchar san,uchar si)
{
P2=0X01;
P0=tab[yi];
delay(1);
P2=0X02;
P0=tab[er];
delay(1);
P2=0X04;
P0=tab3[san];
delay(1);
P2=0X08;
P0=tab[si];
delay(1);
}
void display2(uchar yi,uchar er,uchar san1,uchar si)
{
P2=0X01;
P0=tab[yi];
delay(1);
P2=0X02;
P0=tab[er];
delay(1);
P2=0X04;
P0=tab[san1];
delay(1);
P2=0X08;
P0=tab[si];
delay(1);
}
void delay(int ms)
{
int i,a;
for(i=ms;i>0;i--)
for(a=125;a>0;a--);
}
復制代碼
所有資料51hei提供下載:
仿真圖.zip
(86.27 KB, 下載次數: 140)
2020-2-29 15:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
參考資料.7z
(1.44 MB, 下載次數: 142)
2020-3-1 01:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
山外青衫
時間:
2020-3-25 13:50
很好,很喜歡,謝謝分享
作者:
qingnianren
時間:
2020-3-30 10:53
proteus8.9閃退 報錯 仿真不了
作者:
jy960825
時間:
2020-6-22 15:54
這個閘刀開關是干嘛的
作者:
jy960825
時間:
2020-6-22 15:54
這個閘刀開關是干嘛的
作者:
jy960825
時間:
2020-6-22 16:34
要怎么設定溫度,就上下限 如何確定啊
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1