Đ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:
03/05/24, 11:58 pm by sieuviet2020
» TẠI SAO HỆ THỐNG NHÀ THÔNG MINH KHÔNG DÂY FIBARO ĐANG TRỞ TH
03/05/24, 11:58 pm by sieuviet2020
» Công nghệ Z wave trong hệ thống Smathome
03/05/24, 11:57 pm by sieuviet2020
» Công nghệ Z wave trong hệ thống Smathome
03/05/24, 11:57 pm by sieuviet2020
» Giá barrier tự động mới nhất 2021
03/05/24, 11:57 pm by sieuviet2020
» Lắp đặt barie tự động khu công nghiệp - barrier tự động
03/05/24, 11:57 pm by sieuviet2020
» Giá barie chắn đường tại Bà Rịa - Vũng Tàu
03/05/24, 11:56 pm by sieuviet2020
» Thanh nhôm barie giá chỉ 500.000 đồng
03/05/24, 11:56 pm by sieuviet2020
» Mạch Nạp SP200 (simple + EN) Chuyên Nạp Họ 89XX các loại
03/05/24, 11:56 pm by sieuviet2020