当前位置:首页 > 基于51的湿度检测器(利用YL69) - 图文
附录3:相关设计软件
原理图PCB设计软件 Altium Designer Winter 10 程序设计软件 Keil 4 程序下载软件 STC-ISP 仿真软件 Proteus 程序代码: #include
#define uchar unsigned char #define uint unsigned int sbit lcden=P2^2; sbit lcdrs=P2^0; sbit lcdrw=P2^1; sbit sd =P2^3; sbit bj =P2^7;
uchar code table[] =%uchar code table1[]=%uchar code table2[]=%uchar code table3[]=\
uchar num;
void delay(uint z)//延时函数 {
uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
void write_com(uchar com)//写入地址
第 24 页
{
lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; }
void write_date(uchar date)//写入数据 {
lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0; }
void init()//初始化函数 {
P0=0xff; lcdrw=0; lcden=0;
write_com(0x80);//地址指针初始化 write_com(0x38);//初始化液晶显示器 write_com(0x0c);//控制光标
write_com(0x06);//写一个字符后地址加一 }
void main()
第 25 页
{
init(); sd=1; while(1) {
if(sd==1)//正常情况显示 {
write_com(0x80+0x00);//lcd第一排写入地址 for(num=0;num<15;num++)
write_date(table[num]);//lcd第一排写入数据 write_com(0x80+0x40);//lcd第二排写入地址 for(num=0;num<13;num++)
write_date(table1[num]);//lcd第二排写入数据
}
else if(sd==0)//不正常情况显示加报警 {
write_com(0x80+0x00);//lcd第一排写入地址 for(num=0;num<15;num++)
write_date(table2[num]);//lcd第一排写入数据 write_com(0x80+0x40);;//lcd第二排写入地址 for(num=0;num<13;num++)
write_date(table3[num]);//lcd第二排写入数据
} } }
第 26 页
bj=1;//不报警
bj=0;//报警
共分享92篇相关文档