-
大小: 3KB文件類型: .c金幣: 1下載: 0 次發布日期: 2021-07-13
- 語言: 其他
- 標簽:
資源簡介
溫度傳感器程序stc89c52的單片機,1602字符液晶,經過我的板子測試正確無誤
代碼片段和文件信息
/*********************************************************************************************/
/*【鐵牛單片機】僅用于學習與參考,引用請注明版權和作者信息!http://shop34517266.taobao.com???*/
/*********************************************************************************************/
#include
#define?uchar?unsigned?char????????????????????????
#define?uint?unsigned?int
sbit?P3_2=P3^2;??
uint?k;
uchar?i;
sbit?lcdrs=P1^0;
sbit?lcdrw=P1^1;
sbit?lcden=P1^2;
sbit?fm=P3^4;
uchar?code?t0[]=“The?temperature?“;
uchar?code?t1[]=“?is?????????????“;
uchar?code?wendu[]=“0123456789“;????????//利用一個溫度表解決溫度顯示亂碼
//溫度傳感器定義
sbit?DQ?=?P3^3;//定義ds18B20總線IO
void?delay(uchar?z)
{
uchar?xy;
for(x=1000;x>1;x--)
for(y=z;y>1;y--);
}
void?write_com(uchar?com)
{
lcdrs=0;
P2=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void?write_date(uchar?date)
{
lcdrs=1;
P2=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void?init_lcd()
{
lcden=0;
lcdrw=0;
write_com(0x38);
write_com(0x01);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
for(i=0;i<16;i++)
{
write_date(t0[i]);
delay(0);
}
write_com(0x80+0x40);
for(i=0;i<16;i++)
{
write_date(t1[i]);
delay(0);
}
}
/*************DS18B20溫度讀取模塊*************/
void?tmpDelay(int?num)//延時函數
{
while(num--)?;
}
void?Init_DS18B20()//初始化ds1820
{
unsigned?char?x=0;
DQ?=?1;????//DQ復位
tmpDelay(8);??//稍做延時
DQ?=?0;????//單片機將DQ拉低
tmpDelay(80);?//精確延時?大于?480us
DQ?=?1;????//拉高總線
tmpDelay(14);
x=DQ;??????//稍做延時后?如果x=0則初始化成功?x=1則初始化失敗
tmpDelay(20);
}
unsigned?char?ReadOneChar()//讀一個字節
{
- 上一篇:labview溫度超限報警器
- 下一篇:搜索引擎考試重點
評論
共有 條評論