Đo nhiệt độ dùng LM35 hiển thị LCD16x2 , cài đặt nhiệt độ bằng nút nhấn tăng giảm nhiệt độ báo quá nhiệt LCD, LED, đóng ReLay :
Nguồn: http://www.stm32vn.com/
#include <16f887.h>
#device ADC=10
#use delay (CLOCK = 8M)
#fuses INTRC_IO //dung thach Anh noi
#include <stdlib.h>
#include <lcd.c>
#define UP PIN_E1
#define DW PIN_E2
//#define Buzz PIN_A0
signed int16 Temp, Max;
int8 i;
void Click_UP();
void Click_DW();
void delay_ms_T(int16 t);
void main()
{
set_tris_e(0xff);
//set_tris_a(0x00);
setup_adc_ports(NO_ANALOGS);
setup_adc_ports(sAN5);
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
Max=45;
lcd_gotoxy(1,2);
printf(lcd_putc,"CAI DAT=%03Ld",Max);
lcd_gotoxy(12,2); lcd_putc(223);
lcd_gotoxy(13,2); lcd_putc("C");
while(TRUE)
{
Click_UP();
Click_DW();
set_adc_channel(5); delay_us(50);
Temp=0;
for (i=0; i<200; i++)
Temp= Temp + read_adc();
Temp = Temp/2.046; Temp = Temp/200; Temp = Temp-2;
lcd_gotoxy(1,1);
printf(lcd_putc,"NHIET DO=%03Ld",Temp);
lcd_gotoxy(13,1); lcd_putc(223);
lcd_gotoxy(14,1); lcd_putc("C");
//delay_ms_T(80);
if(Temp>Max)
{
lcd_gotoxy(1,1);
lcd_putc("QUA NHIET ");
delay_ms_T(500);
lcd_gotoxy(1,1);
printf(lcd_putc,"NHIET DO=%03Ld",Temp);
lcd_gotoxy(13,1); lcd_putc(223);
lcd_gotoxy(14,1); lcd_putc("C");
delay_ms_T(500);
}
else;
}
}
void Click_UP()
{
if(input_state(UP)==0)
{
delay_ms(50);
Max++;
if(Max>=150) Max=150; else;
lcd_gotoxy(1,2);
printf(lcd_putc,"CAI DAT=%03Ld",Max);
while(input_state(UP)==0);
delay_ms(50);
}
}
void Click_DW()
{
if(input_state(DW)==0)
{
delay_ms(50);
Max--;
if(Max<=0) Max=0; else;
lcd_gotoxy(1,2);
printf(lcd_putc,"CAI DAT=%03Ld",Max);
while(input_state(DW)==0);
delay_ms(50);
}
}
void delay_ms_T(int16 t)
{
int16 i;
for(i=0; i<t; i++)
{
set_adc_channel(5); delay_us(50);
Temp=read_adc()/2.046;
if((input_state(UP)==0)|(input_state(DW)==0)) break;
else delay_ms(1);
}
}
Mạch dùng thạch Anh nội:
Nguồn: http://www.stm32vn.com/
#include <16f887.h>
#device ADC=10
#use delay (CLOCK = 8M)
#fuses INTRC_IO //dung thach Anh noi
#include <stdlib.h>
#include <lcd.c>
#define UP PIN_E1
#define DW PIN_E2
//#define Buzz PIN_A0
signed int16 Temp, Max;
int8 i;
void Click_UP();
void Click_DW();
void delay_ms_T(int16 t);
void main()
{
set_tris_e(0xff);
//set_tris_a(0x00);
setup_adc_ports(NO_ANALOGS);
setup_adc_ports(sAN5);
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
Max=45;
lcd_gotoxy(1,2);
printf(lcd_putc,"CAI DAT=%03Ld",Max);
lcd_gotoxy(12,2); lcd_putc(223);
lcd_gotoxy(13,2); lcd_putc("C");
while(TRUE)
{
Click_UP();
Click_DW();
set_adc_channel(5); delay_us(50);
Temp=0;
for (i=0; i<200; i++)
Temp= Temp + read_adc();
Temp = Temp/2.046; Temp = Temp/200; Temp = Temp-2;
lcd_gotoxy(1,1);
printf(lcd_putc,"NHIET DO=%03Ld",Temp);
lcd_gotoxy(13,1); lcd_putc(223);
lcd_gotoxy(14,1); lcd_putc("C");
//delay_ms_T(80);
if(Temp>Max)
{
lcd_gotoxy(1,1);
lcd_putc("QUA NHIET ");
delay_ms_T(500);
lcd_gotoxy(1,1);
printf(lcd_putc,"NHIET DO=%03Ld",Temp);
lcd_gotoxy(13,1); lcd_putc(223);
lcd_gotoxy(14,1); lcd_putc("C");
delay_ms_T(500);
}
else;
}
}
void Click_UP()
{
if(input_state(UP)==0)
{
delay_ms(50);
Max++;
if(Max>=150) Max=150; else;
lcd_gotoxy(1,2);
printf(lcd_putc,"CAI DAT=%03Ld",Max);
while(input_state(UP)==0);
delay_ms(50);
}
}
void Click_DW()
{
if(input_state(DW)==0)
{
delay_ms(50);
Max--;
if(Max<=0) Max=0; else;
lcd_gotoxy(1,2);
printf(lcd_putc,"CAI DAT=%03Ld",Max);
while(input_state(DW)==0);
delay_ms(50);
}
}
void delay_ms_T(int16 t)
{
int16 i;
for(i=0; i<t; i++)
{
set_adc_channel(5); delay_us(50);
Temp=read_adc()/2.046;
if((input_state(UP)==0)|(input_state(DW)==0)) break;
else delay_ms(1);
}
}
Mạch dùng thạch Anh nội:
26/03/24, 10:39 am by UgreenVietNam_official
» Báo giá buồng khử khuẩn
07/09/21, 09:07 am by kieumy902
» Giá lắp đặt giếng trời thông minh
22/03/21, 04:11 pm by kieumy902
» Thanh nhôm barie giá chỉ 500.000 đồng
09/03/21, 10:30 am by kieumy902
» Cửa hàng sửa máy tính ở tân cảnh
06/02/21, 08:53 pm by congtythienlong
» Giá barie chắn đường tại Bà Rịa - Vũng Tàu
25/01/21, 09:59 pm by kieumy902
» Lắp đặt barie tự động hcm
19/01/21, 03:52 pm by kieumy902
» Lắp đặt barie tự động khu công nghiệp - barrier tự động
14/01/21, 03:00 pm by kieumy902
» Giá bán tay cần barie 2m, 3m, 4m, 6m
12/01/21, 04:58 pm by kieumy902