久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機+ds18b20多點采集+lcd1602顯示源碼+仿真
[打印本頁]
作者:
qikeng
時間:
2017-8-11 14:35
標題:
51單片機+ds18b20多點采集+lcd1602顯示源碼+仿真
51單片機做的ds18b20多點采集溫度系統用lcd1602液晶屏顯示
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(11.92 KB, 下載次數: 70)
下載附件
2017-8-11 18:14 上傳
0.png
(49.92 KB, 下載次數: 60)
下載附件
2017-8-11 18:14 上傳
單片機源程序如下:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcdrs=P3^0;
sbit lcdrw=P3^1;
sbit lcden=P3^2;
sbit DQ=P1^7;
uint value;
uchar save_number[8];
void delay(uint n)
{ uint x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0; //rs=0時輸入指令
P2=com;
delay(5);
lcden=1; //en=1時讀取信息
delay(5);
lcden=0; //1 -> 0 執行指令
}
void write_dat(uchar dat)
{
lcdrs=1; //rs=1時輸入數據
P2=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init_lcd()
{
lcden=0;
lcdrw=0;
write_com(0x38); //8位數據,雙列,5*7字形
write_com(0x0c); //開啟顯示屏,關光標,光標不閃爍
write_com(0x06); //顯示地址遞增,即寫一個數據后,顯示位置右移一位
write_com(0x01);
}
void delay_us(uchar t)//微秒延時
{
while(t--);
}
void init_ds18b20() //數據初始化
{
DQ=1;
delay_us(4);
DQ=0;
delay_us(80);
DQ=1;
delay_us(200);
}
void write_ds18b20(uchar dat) //寫數據
{
uchar i;
for(i=0;i<8;i++)
{
DQ=0;
DQ=dat&0x01;
delay_us(15);
DQ=1;
dat=dat>>1;
}
delay_us(10);
}
uchar read_ds18b20() //讀數據
{
uchar i=0,readat=0;
for(i=0;i<8;i++)
{
DQ=0;
readat=readat>>1; //八位全部都是0,向右移一位后,仍然全是0
DQ=1;
if(DQ) //如果DQ為1,readat進行或運算,如果為0,則子語句不執行,直接for循環此時采集的數據是0
readat=readat|0x80;//此時最高位為1 ,然后再進行for循環 最高位成為第七位,依次往復
delay_us(10);
}
return readat;
}
uchar change_ds18b20()
{
uchar tl,th;
init_ds18b20(); //初始化
write_ds18b20(0xcc); //跳過rom
write_ds18b20(0x44); //啟動ds18b20進行溫度轉換,結果存入9字節ram中
init_ds18b20(); //? 缺少不可執行
write_ds18b20(0xcc);
write_ds18b20(0xbe); //啟動讀暫存器。讀內部ram中9字節溫度數據
tl=read_ds18b20();
th=read_ds18b20();
value=th;
value=value<<8;
value=value|tl;
value=value*(0.0625*10)+0.5;
return value;
}
void dis_readnumber()
{
uchar i,temp;
init_ds18b20();
write_ds18b20(0x33); //讀rom 即rom中的編碼
for(i=0;i<8;i++)
{
save_number[i]=read_ds18b20(); //保存序列號
}
write_com(0x80);
for(i=0;i<8;i++)
{
temp=save_number[i]>>4;
if(temp<10)
{
write_dat(0x30+temp);
}
else
{
write_dat(0x37+temp);
}
temp=save_number[i]&0x0f;
if(temp<10)
{
write_dat(0x30+temp);
}
else
{
write_dat(0x37+temp);
}
}
}
void main()
{
init_lcd();
while(1)
{
dis_readnumber(); //顯示序列號
}
}
復制代碼
所有資料51hei提供下載:
51單片機-ds18b20多點采集-lcd1602顯示 (1).zip
(56.56 KB, 下載次數: 90)
2017-8-11 14:35 上傳
點擊文件名下載附件
51單片機-ds18b20多點采集-lcd1602顯示
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
黄网免费看
|
日韩久久综合网
|
国产ts人妖系列高潮
|
污污免费网站
|
日操夜操
|
91精品麻豆日日躁夜夜躁
|
亚洲欧洲中文
|
av影音资源
|
国产日产久久高清欧美一区
|
日韩精品视频一区二区三区
|
亚洲精品在线视频
|
欧美日韩在线综合
|
91豆花视频
|
精品中文在线
|
av黄色免费
|
久久久蜜臀国产一区二区
|
欧美激情a∨在线视频播放 成人免费共享视频
|
久久精品国产一区老色匹
|
一区二区视频在线观看
|
色综合视频
|
狠狠躁夜夜躁人人爽天天高潮
|
中文字幕一区在线观看视频
|
久久99精品久久久久久琪琪
|
国产成人99久久亚洲综合精品
|
久久精品—区二区三区
|
国产精品久久久久久久久免费桃花
|
国产一区不卡
|
丝袜久久
|
av天天干
|
久久99精品国产自在现线小黄鸭
|
日韩欧美一区二区三区免费观看
|
欧美极品在线播放
|
日韩欧美国产精品综合嫩v 一区中文字幕
|
亚洲视频免费一区
|
草在线
|
国产亚洲精品精品国产亚洲综合
|
九九九久久国产免费
|
久久精品国产一区二区三区不卡
|
精品欧美一区二区三区免费观看
|
亚洲不卡
|
久精品久久
|