Code Báo Cháy
Code Báo Cháy
H>
#include <stdio.h>
sbit DQ = P3^7; //Khai bao chan cam bien
void delay_us(unsigned int Time);
void delay_ms(unsigned int Time);
#define LINE_1 0x80
#define LINE_2 0xC0
#define CLEAR_LCD 0x01
#define TRUE 1
#define FALSE 0
unsigned char Lcd_Buff[15];
char mode=0;
float tmp, nhiet;
sbit khoi = P1^1;
sbit dkchuong = P1^4;
sbit dkden = P1^5;
sbit dkphunnuoc = P1^6;
void lcd1602_enable(void);
void lcd1602_send_4bit_data ( unsigned char cX );
void lcd1602_send_command (unsigned char cX );
void lcd1602_init (void );
void lcd1602_gotoxy(unsigned char x, unsigned char y);
void lcd1602_clear(void);
void lcd1602_putchar ( unsigned int cX );
void lcd1602_puts (char *s);
// Cac chan du lieu cua LCD --------------------------------------------
// ---------------------------------------------------------------------
// ====ham gui 4 bit bit du lieu ra LCD====
void lcd1602_send_4bit_data ( unsigned char cX )
{
LCD_D4 = cX & 0x01;
LCD_D5 = (cX>>1)&1;
LCD_D6 = (cX>>2)&1;
LCD_D7 = (cX>>3)&1;
}
// ---------------------------------------------------------------------
// ====Ham Gui 1 Lenh Cho LCD====
void lcd1602_send_command (unsigned char cX )
{
lcd1602_send_4bit_data ( cX >>4 ); // gui 4 bit cao
lcd1602_enable() ;
lcd1602_send_4bit_data ( cX ); // gui 4 bit thap
lcd1602_enable() ;
}
// ---------------------------------------------------------------------
// ====Ham Khoi Tao LCD ====
void lcd1602_init ( void )
{
lcd1602_send_4bit_data ( 0x00 );
delay_ms(200);
LCD_RS=0;
LCD_RW=0;
LCD_E=0; // che do gui lenh
a=ReadOneChar();
b=ReadOneChar();
t = (b*256+a)*25;
return( t >> 2 );
//========================
void select_mode(void)
{
if((nhiet>=45) && (khoi==FALSE))
mode=1;
if((nhiet<45) && (khoi==FALSE))
mode=0;
if((nhiet<45) && (khoi==TRUE))
mode=2;
if((nhiet<45) && (khoi==FALSE))
mode=0;
if((nhiet>=45) && (khoi==TRUE))
mode=3;
if((nhiet<45) && (khoi==FALSE))
mode=0;
}
void dieu_khien(void)
{
select_mode();
switch(mode)
{
case 0:
dkden=TRUE;
dkchuong=TRUE;
dkphunnuoc=TRUE;
break;
case 1:
dkden=FALSE;
dkchuong=TRUE;
dkphunnuoc=TRUE;
break;
case 2:
dkden=TRUE;
dkchuong=FALSE;
dkphunnuoc=TRUE;
break;
case 3:
dkden=FALSE;
dkchuong=FALSE;
dkphunnuoc=FALSE;
break;