|

制作出來的實物圖如下:
IMG_20171005_110719.jpg (3.54 MB, 下載次數(shù): 129)
下載附件
2017-10-5 11:11 上傳
IMG_20171005_110714.jpg (2.12 MB, 下載次數(shù): 135)
下載附件
2017-10-5 11:11 上傳
0.png (39.58 KB, 下載次數(shù): 110)
下載附件
2017-10-5 15:35 上傳
單片機源程序如下:
- # include "bs18b20.h"
- # include "lcd1602.h"
- void delayds18b20(uint t)
- {
- while(t--);
- }
- void init_ds18b20(void)
- {
- uchar n;
- DQ=1;
- delayds18b20(8);
- DQ=0;
- delayds18b20(80);
- DQ=1;
- delayds18b20(10);
- n=DQ;
- delayds18b20(5);
- }
- void ds18b20write_byte(uchar dat)
- {
- uchar i;
- for(i=0;i<8;i++)
- {
- DQ=0;
- DQ=dat&0x01;
- delayds18b20(5);
- DQ=1;
- dat>>=1;
- }
- delayds18b20(5);
- }
- uchar ds18b20read_byte(void)
- {
- uchar i,value;
- for(i=0;i<8;i++)
- {
- DQ=0;
- value>>=1;
- DQ=1;
- if(DQ)
- value|=0x80;
- delayds18b20(5);
- }
- return value;
- }
- uchar readtemperture(void)
- {
- uchar a,b;
- init_ds18b20();
- ds18b20write_byte(0xcc);//跳過ROM
- ds18b20write_byte(0x44);//啟動溫度測量
- delayds18b20(200);
- init_ds18b20();
- ds18b20write_byte(0xcc);//跳過ROM
- ds18b20write_byte(0xbe);//啟動溫度測量
- a=ds18b20read_byte(); //低位
- b=ds18b20read_byte(); //高位
- b<<=4;
- b+=(a&0xf0)>>4;
- return b;
- }
- void display()
- {
- uchar temp;
- temp=readtemperture();
- write_com(0x80);
- write_data('T');
- write_data('e');
- write_data('m');
- write_data('p');
- write_data('e');
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
LCD160顯示溫度.zip
(36.1 KB, 下載次數(shù): 125)
2017-10-5 11:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|