標(biāo)題:
51單片機(jī)3路DHT11采集程序與Proteus仿真 串口上傳
[打印本頁]
作者:
小楓啊
時(shí)間:
2021-4-3 17:36
標(biāo)題:
51單片機(jī)3路DHT11采集程序與Proteus仿真 串口上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
1.png
(87.61 KB, 下載次數(shù): 39)
下載附件
2021-4-4 01:08 上傳
單片機(jī)源程序如下:
#include <reg52.h>
#include <intrins.h>
#include "Delay.h"
#include <ds18b20mul.h>
#include <uart.h>
sbit beep=P1^7;
sbit key1=P2^3;
sbit key2=P2^4;
sbit key3=P2^5;
sbit key4=P2^6;
int8u temp_date[16]="max:xx min:xx\r\n";
unsigned int temp_1,temp_2,temp_3;
unsigned int temp_max=50;
unsigned int temp_min=30;
unsigned char mode_flag=0;
void delay_us(unsigned int us)
{
while(us--);
}
void key_scan()
{
if(key1==0)
{
delay_us(10);
if(key1==0)
{
sendstring("Start set,Change mode!\r\n");
mode_flag++;
if(mode_flag>3)
mode_flag=1;
}
while(!key1);
}
if(key2==0)
{
delay_us(10);
if(key2==0)
{
if(mode_flag==1)
temp_max+=2;
if(mode_flag==2)
temp_min+=2;
sendstring(temp_date);
}
while(!key2);
}
if(key3==0)
{
delay_us(10);
if(key3==0)
{
if(mode_flag==1)
temp_max-=2;
if(mode_flag==2)
temp_min-=2;
sendstring(temp_date);
}
while(!key3);
}
if(key4==0)
{
delay_us(10);
if(key4==0)
{
mode_flag=0;
sendstring("Set OK!\r\n");
}
while(!key4);
}
}
void main()
{
UARTinit();//串口初始化
beep=0;
while(1) //空等
{
if(mode_flag==0)
{
Delay_Xms(1000);//每秒上傳一次溫度
GetData(1); //讀取溫度放入dispBuf中,1指P1.0引腳,2指P1.1引腳
sendstring("*1:");
sendstring(dispBuf);sendstring("\r\n");//主動(dòng)上傳溫度
GetData(2); //
sendstring("*2:");
sendstring(dispBuf);sendstring("\r\n");//主動(dòng)上傳溫度
GetData(3); //
sendstring("*3:");
sendstring(dispBuf);sendstring("\r\n");//主動(dòng)上傳溫度
}
temp_date[4]=temp_max/10+'0';
temp_date[5]=temp_max%10+'0';
temp_date[11]=temp_min/10+'0';
temp_date[12]=temp_min%10+'0';
key_scan();
if(temp_1>temp_max||temp_1<temp_min||temp_2>temp_max||temp_2<temp_min||temp_3>temp_max||temp_3<temp_min)
beep=1;
else
beep=0;
}
}
復(fù)制代碼
仿真程序51hei提供下載:
多路溫度采集上傳 (2).zip
(108.51 KB, 下載次數(shù): 40)
2021-4-3 17:36 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1