1、无线温度检测程序完整版从机采用温度传感器DS18B20将测出的温度,通过红外线发射模块将数据发送,主机通过红外线接收模块在主机上通过4位数码管显示,同时在从机上也能看到当前从机采集到的温度数据;如果温度超过设置的上下限,会通过蜂鸣器报警提示。1单片机的C语言应用程序设计(马忠梅、)2 新编单片机应用程序设计(张毅刚)3崔双虎. 温室无线传感器网络监测系统的设计研究:硕士论文.中国农业大学,2007 4马琦.基于无线传感器网络的温室温湿度监测系统研究:硕士论文.中北大学,2009 5庞娜,程德福.基于ZigBee无线传感器网络的温室监测系统设计J.吉林大学学报,2010,28(1):55-60
2、6陈小忠,黄宁.单片机接口技术实用子程序M.2007主机程序Main.c#include reg52.h#include hs0038.h#include LCD1602_8.hextern UCHAR R_DATA7;/-/*- 主函数 -*/void main(void) LCD_initial(); Init_main(); Beep=0; while(1) if(Succes) LCD1602_write_char(1,3,R_DATA0); LCD1602_write_char(1,4,R_DATA3); LCD1602_write_char(1,5,R_DATA4); LCD160
3、2_write_char(1,6,R_DATA5); LCD1602_write_char(1,7,R_DATA6); Succes = 0; LCD1602_8.h-*/#ifndef _LCD1602_H_#define _LCD1602_H_#include #define uchar unsigned char#define uint unsigned int/*- LCD数据、控制口定义-*/#define LCD_DATA P0 /LCD的数据口sbit LCD_BUSY=LCD_DATA7; /LCD忙信号位sbit LCD_RS=P12; /LCD寄存器选择sbit LCD_R
4、W=P11; /LCD读写控制sbit LCD_EN=P10; /LCD使能信号*/*- LCD数据定义-*/#define LCD_GO_HOME 0x02 /AC=0,光标、画面回HOME位/输入方式设置#define LCD_AC_AUTO_INCREMENT 0x06 /数据读、写操作后,AC自动增一#define LCD_AC_AUTO_DECREASE 0x04 /数据读、写操作后,AC自动减一#define LCD_MOVE_ENABLE 0x05 /数据读、写操作,画面平移#define LCD_MOVE_DISENABLE 0x04 /数据读、写操作,画面不动/设置显示、光标
5、及闪烁开、关#define LCD_DISPLAY_ON 0x0C /显示开#define LCD_DISPLAY_OFF 0x08 /显示关#define LCD_CURSOR_ON 0x0A /光标显示#define LCD_CURSOR_OFF 0x08 /光标不显示#define LCD_CURSOR_BLINK_ON 0x09 /光标闪烁#define LCD_CURSOR_BLINK_OFF 0x08 /光标不闪烁/光标、画面移动,不影响DDRAM#define LCD_LEFT_MOVE 0x18 /LCD显示(整屏)右移一位 0x05#define LCD_RIGHT_MOVE
6、 0x1C /LCD显示(整屏)左移一位 0x07#define LCD_CURSOR_LEFT_MOVE 0x10 /光标左移一位#define LCD_CURSOR_RIGHT_MOVE 0x14 /光标右移一位/工作方式设置#define LCD_DISPLAY_DOUBLE_LINE 0x38 /两行显示#define LCD_DISPLAY_SINGLE_LINE 0x30 /单行显示/*- 延时程序-*/ void delay_us(unsigned int t) / 延时US while(t-); void delay_ms(unsigned int t) / 延时MS unsi
7、gned int i; unsigned char j; for(i=0;it;i+) for(j=0;j0;x-) LCD_write_instruction(0x80+0x27);/在最后的那个位置写空格 LCD_write_data( ); delay_ms(130); LCD_write_instruction(0x06); /关设置void LCD1602_CURSOR(unsigned char wei,unsigned char x,unsigned char y) /光标定位(0x000X0F 0X400X4F),显示?(1/0),闪烁?(1/0)LCD_write_instr
8、uction(0x80+wei); /0x000X0F 0X400X4Fif(x=1&y=0) LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_ON|LCD_CURSOR_BLINK_OFF); /显示?光标?闪烁? LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_ON|LCD_CURSOR_BLINK_OFF); else if(x=0&y=1) LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF|LCD_CURSOR_BLINK_ON); LC
9、D_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF|LCD_CURSOR_BLINK_ON); else if(x=1&y=1) LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_ON|LCD_CURSOR_BLINK_ON); LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_ON|LCD_CURSOR_BLINK_ON); else LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF|LCD_CURSOR_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1