{ BYTE i = 10; }
//-------------com------------------------------ void biaoding() { calFre();
F55 = Frequency / (( 3.0134e-6 ) * hum_2301 * hum_2301 - WORD FF;
FF = calculateFrequency(); while(i--) { WORD AA; }
Frequency = FF;
AA = calculateFrequency(); FF = (FF + AA)/2;
( 3.4503e-8 ) * hum_2301 * hum_2301 * hum_2301 - ( 1.9308e-3 ) * hum_2301 + 1.0900); }
void com(double dat) { double a;
unsigned char *p=(char*)&a; unsigned char q[4]; char i;
- 31 -
a = dat;
for(i=0;i<4;i++,p++)
{ q[i]=*p;
} for(i = 0;i<4;i++) { UART_T(q[i]); delay(2000);
}}
//---------------------------------------------- void main() { int num = 5; LCD_init();
TMOD = 0x11;
// EA = 1; // ES = 1; UartInit();
lcd2301();
lcd_555(); while(num--)
{ conmu_555(); //读555温湿度 delay(2000);
readdata_2301();//读2301温湿度- 32 -
}
display_555(); display_2301();
biaoding(); com(F55); com(3.35272e-3); while(1)
{ conmu_555(); //读555温湿度
delay(2000);
readdata_2301();//读2301温湿度 display_555(); display_2301();
} }
//---------------------------------------------------------------- 4.3 显示模块程序代码
/*********************LCD1602头文件********************/ #ifndef _LCD1602_H_ #define _LCD1602_H_
/***********************LCD1602**************************/
#define LCDIO P1 //定义P2口与LCD1602的数据口相接
接
线
引
脚
定
义
- 33 -
sbit LCD_RS=P2^0; sbit LCD_RW=P2^1; sbit LCD_EN=P2^2; sbit LCD_BUSY=LCDIO^7; //输入方式设置
#define LCD_AC_AUTO_INCREMENT 0x06 //数据读、写操作后,AC自动增一
#define LCD_AC_AUTO_DECREASE 0x04 //数据读、写操作后,AC自动减一
#define LCD_MOVE_ENABLE 0x05 //数据读、写操作,画面平移 #define LCD_MOVE_DISENABLE 0x04 //数据读、写操作,画面不动
#define LCD_GO_HOME 0x02 //AC=0,光标、画面回HOME位 //设置显示、光标及闪烁开、关
#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显示左移一位
- 34 -
#define LCD_RIGHT_MOVE 0x1C //LCD显示右移一位 #define LCD_CURSOR_LEFT_MOVE 0x10 //光标左移一位 #define LCD_CURSOR_RIGHT_MOVE 0x14 //光标右移一位 //工作方式设置
#define LCD_DISPLAY_DOUBLE_LINE 0x38 //两行显示 #define LCD_DISPLAY_SINGLE_LINE 0x30 //单行显示 #define LCD_CLEAR_SCREEN 0X01 //清屏 /***********************LCD1602******************************/
#define LINE1_HEAD 0x80 // 第一行DDRAM起始地址 #define LINE2_HEAD 0xc0 // 第二行DDRAM起始地址 #define LINE1 0 //第一行 #define LINE2 1 //第二行
#define LINE_LENGTH 16 //每行的最大字符长度 /**********************
另
外
相
关
的
定
地
址
相
关
*********************************/ #define HIGH 1 #define LOW 0 #define TURE 1 #define FALSE 0 #define uchar unsigned char #define uint unsigned int
- 35 -