久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
C51利用ADC0809實現溫濕度光照和MQ-2
[打印本頁]
作者:
1920787075@qq.c
時間:
2018-12-4 11:31
標題:
C51利用ADC0809實現溫濕度光照和MQ-2
#include<reg51.h>
#include<intrins.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
sbit io=P1^0; //DHT11數據I/O
sbit lcdrs=P3^3; //低電平為寫
sbit ledwr=P3^4; //WR
sbit lcden=P3^5;//使能
sbit cs=P1^1;
sbit clk=P1^2;
sbit dio=P1^3;
uchar num;
uchar RH,RL,TH,TL;
uchar data_byte;
/*****************延時********************/
void delay(uint ms)
{
uchar i;
while(ms--)
for(i=110;i>0;i--);
}
void delay1(uchar ms) //8uS
{
uchar i;
for(i=0;i<ms;i++);
}
/*********************LED****************/
void write_com(uchar com)
{
lcdrs=0;//低電平
P0=com;//寫指令
delay(5);
lcden=1; //高脈沖
delay(5);
lcden=0;
}
void write_byte(uchar date)
{
lcdrs=1;
P0=date;//寫數據
lcden=0;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_addr(uchar addr)
{
write_com(addr|0x80);
}
void init()
{
ledwr=0;
lcden=0;
write_com(0x38); //16x2顯示,5x7點陣,8位數據接口
write_com(0x0c);//開顯示,不顯示光標,光標不顯示
write_com(0x06);//讀寫第一個字符后光標加一,當寫第一個字符后屏幕不移動
write_com(0x01);//顯示清零,數據指針清零
}
void display(uchar addr,uchar q)
{
delay(10);
write_addr(addr);
write_byte(q);
delay(20);
}
/********************DHT11***************/
void star()
{
io=1;
delay1(1);
io=0;
delay(25);
io=1;
delay1(3);
}
uchar receive_byte()
{
uchar i,temp;
for(i=0;i<8;i++)
{
while(!io);
delay1(4);
temp=0;
if(io==1)
temp=1;
while(io);
data_byte<<=1;
data_byte|=temp;
}
return data_byte;
}
void receive()
{
uchar T_H,T_L,R_H,R_L,check,num_check;
star();
io=1;
if(!io)
{
while(!io);
while(io);
R_H=receive_byte();
R_L=receive_byte();
T_H=receive_byte();
T_L=receive_byte();
check=receive_byte();
io=0;
delay1(7);
io=1;
num_check=R_H+R_L+T_H+T_L;
if(num_check==check)
{
RH=R_H;
RL=R_L;
TH=T_H;
TL=T_L;
check=num_check;
}
}
}
/***************A/D***********************/
uchar Get_AD(uchar channel)
{
uchar i,dat1=0,dat2=0;
cs=0; //先拉低
clk=0;
dio=1;_nop_();_nop_();//拉高啟動ADC
clk=1;_nop_();_nop_();//clk為時鐘
clk=0;dio=1;_nop_();_nop_(); //SGL/Dif拉高
clk=1;_nop_();_nop_();
clk=0; dio=channel;_nop_();_nop_();//CH0單端輸出
clk=1; dio=1; _nop_();_nop_();
for(i=0;i<8;i++)
{
clk=1; _nop_();_nop_();
clk=0; _nop_();_nop_();
dat1=dat1<<1 | dio; //左移一位
}
for(i=0;i<8;i++)
{
dat2=dat2|((uchar)(dio)<<i);//左移i位
clk=1;_nop_();_nop_();
clk=0;_nop_();_nop_();
}
cs=1;dio=1;clk=1;
return dat1;
}
/********************MAIN****************/
void DHT11MAIN()
{
receive();
delay(100);
display(0x00,'R');
display(0x01,':');
display(0x02,RH/10+0x30);
display(0x03,RH%10+0x30);
display(0x04,'%');
display(0x40,'T');
display(0x41,':');
display(0x42,TH/10+0x30);
display(0x43,TH%10+0x30);
display(0x44,0xdf);
display(0x45,0x43);
}
void YW()
{
uint d;
d=Get_AD(1);
d=d*200/255;
delay(100);
display(0x47,'Y');
display(0x48,':');
display(0x49,d/10+0x30);
display(0x4A,d%10+0x30);
display(0x4B,'%');
}
void GM()
{
uint d;
d=Get_AD(0);
d=d*270/255;
delay(100);
display(0x06,'G');
display(0x07,':');
display(0x08,(10-d/10)+0x30);
display(0x09,(10-d%10)+0x30);
display(0x0A,'%');
}
void main()
{
init();
delay(10);
while(1)
{
DHT11MAIN();
GM();
YW();
}
}
4.rar
2018-12-4 11:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.32 KB, 下載次數: 28, 下載積分: 黑幣 -5
5
作者:
無線強大
時間:
2020-5-14 18:53
可以,,值得借鑒 ,,,
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产91网站在线观看
|
国产乱肥老妇国产一区二
|
亚洲天堂一区
|
日韩福利
|
欧美a区
|
激情欧美一区二区三区中文字幕
|
a在线观看
|
最新免费视频
|
午夜在线电影网
|
欧美激情一区二区
|
麻豆一区
|
男女网站免费
|
国产精品三级久久久久久电影
|
亚洲一区在线播放
|
国产精品不卡一区
|
色综网
|
国产高清视频在线观看播放
|
欧美激情久久久久久
|
久久久久国产一区二区三区
|
亚洲在线日韩
|
综合久久色
|
а_天堂中文最新版地址
|
91pao对白在线播放
|
日韩不卡一区二区三区
|
天天干天天干
|
日韩欧美三区
|
拍戏被cao翻了h承欢
|
日韩在线精品强乱中文字幕
|
成人不卡在线
|
国产精品亚洲综合
|
欧美一区二区三区在线观看
|
亚洲欧美日韩精品久久亚洲区
|
尤物视频在线免费观看
|
日韩欧美大片
|
免费看黄色视屏
|
欧美成人精品一区二区男人看
|
亭亭五月激情
|
欧美三级电影在线播放
|
午夜免费网站
|
91精品国产麻豆
|
欧美日韩高清一区二区三区
|