資源簡介
DHT11 溫濕度顯示 1602顯示 89C52單片機可用
代碼片段和文件信息
#include?
#define?uint?unsigned?int?
#define?uchar?unsigned?char
typedef?bit?BOOL?;?
sbit?io?=?P2^3?;
sbit?rs?=?P2^0?;?
sbit?rw?=?P2^1;
sbit?ep?=?P2^2?;
uchar?data_byte;
uchar?RHRLTHTL;
/****************************延時模塊*************************/
void?delay(uchar?ms)
{?//?延時子程序
uchar?i?;
while(ms--)
{
for(i?=?0?;?i<250;i++)?;
}
}
void?delay1()//延時10us
{
uchar?i;
i--;
i--;
i--;
i--;
i--;
i--;
}
void?longdelay(uchar?s)?//長延時
{
while(s--)
{
delay(60)?;
}
}
/****************LCD模塊****************************/
BOOL?lcd_bz()//測試LCD忙碌狀態
{?
BOOL?result?;
rs?=?0?;
rw?=?1?;
ep?=?1?;
result?=?(BOOL)(P0?&?0x80)?;
ep?=?0?;
return?result?;?
}
void?write_cmd(uchar?cmd)//?寫指令
{?
while(lcd_bz())?;
rs?=?0?;
rw?=?0?;
ep?=?0?;
P0?=?cmd?;
ep?=?1?;
ep?=?0?;?
}
void?write_addr(uchar?addr)//寫地址
{?
write_cmd(addr|0x80)?;
}
void?write_byte(uchar?byte)//寫字節
{?
while(lcd_bz())?;
rs?=?1?;
rw?=?0?;
ep?=?0?;
P0?=?byte?;
ep?=?1?;
ep?=?0?;?
}
void?lcd_init()//?初始化
{?
write_cmd(0x38)?;?
delay(1);
write_cmd(0x08)?;?
delay(1);
write_cmd(0x01)?;?
delay(1);
write_cmd(0x06)?;
delay(1);
write_cmd(0x0c)?;?
delay(1);
}
void?display(uchar?addr?uchar?q)//在某一地址上顯示一字節
{?
delay(10)?;
write_addr(addr)?;
write_byte(q)?;
longdelay(2)?;
}
/*****************************?DHT11測試模塊********
- 上一篇:ACPI Patcher
- 下一篇:2018高教社杯全國大學生數建模競賽A題評閱要點
評論
共有 條評論