烟叶烘烤过程温湿度报警系统程序.docx

/************************************************************************ 烟叶烘烤过程温湿度报警系统 系统描述:在LCD1602上实时显示时钟,温度,湿度,系统运行时间。利用ds18b20 检测当前温度,通过和设定参数的比较,给ISD1420发出报警脉冲,通过 功率放大器LM386 驱动喇叭报警。 *************************************************************************/ #includereg51.h #includeintrins.h #include absacc.h #define uchar unsigned char #define uint unsigned int #define BUSY 0x80 //lcd忙检测标志 #define DATAPORT P0 //定义P0口为LCD通讯端口 #define PLAYE_ADDR XBYTE[0XBFFF] //语音报警地址 sbit RED_ALARM=P1^0; //红色指示灯 sbit WRITE_ALARM=P1^1; //白色指示灯 sbit GREEN_ALARM=P1^2; //绿色指示灯 sbit P1_4=P1^4; //时钟调整 sbit P1_5=P1^5; //时钟加 sbit P1_6=P1^6; //时钟减 sbit DQ = P1^7; //定义ds18b20通信端口 sbit LCM_RS=P2^0; //数据/命令端 sbit LCM_RW=P2^1; //读/写选择端 sbit LCM_EN=P2^2; //LCD使能信号 sbit ad_busy=P3^2; //adc中断方式接口 sbit RECLED_EOC=P3^5; //ISD1420放音结束查询标志 sbit OUT=P3^7; uchar ad_data; //ad采样值存储 uchar seconde=0; //定义并初始化时钟变量 uchar minite=0; uchar hour=12; uchar mstcnt=0; uchar temp1,temp2,temp; //温度显示变量 uchar t,set; uchar T; bit ON_OFF; bit outflag; uchar code str0[]={--- : : ---OF}; uchar code str1[]={SET: C SA: . C}; void delay_LCM(uint); //LCD延时子程序 void initLCM( void); //LCD初始化子程序 void lcd_wait(void); //LCD检测忙子程序 void WriteCommandLCM(uchar WCLCM,uchar BusyC); //写指令到ICM子函数 void WriteDataLCM(uchar WDLCM); //写数据到LCM子函数 void DisplayOneChar(uchar X,uchar Y,uchar DData); //显示指定坐标的一个字符子函数 void DisplayListChar(uchar X,uchar Y,uchar code *DData); //显示指定坐标的一串字符子函数 void init_timer0(void

文档评论(0)

1亿VIP精品文档

相关文档