Kết quả 1 đến 10 của 10
-
09-05-2015, 01:04 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Điều Khiển Nhiệt Độ với PIC16F887
Xin chào các bác.xin các bác giúp em bài này với ạ! Em điều khiển nhiệt độ và có sử dụng nút bấm để thay đổi giá trị đặt của Nhiệt Độ mong muốn nhưng trong trường hợp này thì lại không tùy chỉnh được bằng nút bấm. Mà cứ thêm hàm nút bấm vào đọc giá trị ADC của cảm biến đầu vào không đọc được nữa. Rất mong mn giúp đỡ.thank rất nhiều ạ.
View more random threads:
- Tin tức BĐS điển hình nổi bật nhất tuần qua
- Xin tư vấn mua đồng hồ vạn năng
- dùng matlab mô phỏng turbine gió
- Mẹo Chơi Chắn, Tổ Tôm mới nhất 2017
- Liên quan đến bộ mạch cho CNC mini 3 trục X Y Z
- BĐS 2021 xu hướng đầu tư quỹ đất còn mới
- mô phỏng đèn giao thông trên proteus n2 C
- sửa lỗi cài đặt inventor 2014
- lãi suất cao, khủng hoảng lớn?
- Chổ làm mạch giá rẻ
-
09-05-2015, 02:18 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi hungk47tnut
-
09-05-2015, 04:32 AM #3Silver member
- Ngày tham gia
- Apr 2016
- Bài viết
- 0
Gửi bởi phunghe
-
09-05-2015, 04:33 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
b xem hộ mình với
-
09-05-2015, 04:46 AM #5Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- hà nội
- Bài viết
- 0
xem được đâu.
-
09-05-2015, 05:02 AM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Mystogan
#define LCD_ENABLE_PIN PIN_D2 ////
#define LCD_RS_PIN PIN_D0 ////
#define LCD_RW_PIN PIN_D1 ////
#define LCD_DATA4 PIN_D4 ////
#define LCD_DATA5 PIN_D5 ////
#define LCD_DATA6 PIN_D6 ////
#define LCD_DATA7 PIN_D7 ////
#include <LCD.C>
float32 value;
int8 t=0;
int8 set=37;
int i;
float32 truoc;
float32 sau;
float32 sau1;
float32 sau2;
void setup()
{
if(input(pin_b3)==0)
{
set++;delay_ms(50);
while(input(pin_b3)==0){};
}
if(input(pin_b4)==0)
{
set--;delay_ms(50);
while(input(pin_b4)==0){};
}
}
void main()
{
lcd_init();
set_tris_a(0xff);
set_tris_c(0x00);
set_tris_b(0xff);
output_bit(pin_c4,0);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(ALL_ANALOG);
lcd_gotoxy(3,1);
printf(lcd_putc,"Welcome to...");delay_ms(500);
lcd_putc("\f");
lcd_gotoxy(3,1);
printf(lcd_putc,"LO AP TRUNG");
lcd_gotoxy(1,2);
printf(lcd_putc,"----------------");delay_ms(700);
lcd_putc("\f");
// Khoi tao cho ngat ngoai
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
while(TRUE)
{
setup();
truoc=0;
for(i=0;i<50;i++)
{
truoc=truoc+read_adc();delay_us(10);
}
sau=truoc*0.02;
sau2=0.2*sau1+0.8*sau;
sau1=sau2;
value=sau1*0.097752;
set_adc_channel(0);delay_us(10);
value=(float)read_adc();delay_us(10);
value=(value*5.0*1000.0/1024.0)/10;
lcd_gotoxy(1,2);
printf(lcd_putc,"Nhiet do:%0.2f%cC",value,0xdf);
lcd_gotoxy(1,1);
printf(lcd_putc,"SET=%2u%cC",set,0xdf);
lcd_gotoxy(7,1);
//--------thuat toan dieu khien---------
if(input(pin_a1)==0)
{
delay_ms(300);output_bit(pin_c4,1);
}
else{output_bit(pin_c4,0);}
if(value<set)
{
t--;read_adc();delay_us(10);
}
if(value>set)
{output_bit(pin_c4,0);read_adc();delay_us(10);}
if(value==set)
{output_bit(pin_c4,0);read_adc();delay_us(10);}
if(value>set+2)if((pin_c4)==0){output_bit(pin_c0,1 );read_adc();delay_us(10);}
//------tuy chinh--------
}
}
-
09-05-2015, 05:03 AM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Mystogan
-
09-05-2015, 05:03 AM #8Junior Member
- Ngày tham gia
- Jan 2016
- Bài viết
- 0
#include <2.h>
#define LCD_ENABLE_PIN PIN_D2 ////
#define LCD_RS_PIN PIN_D0 ////
#define LCD_RW_PIN PIN_D1 ////
#define LCD_DATA4 PIN_D4 ////
#define LCD_DATA5 PIN_D5 ////
#define LCD_DATA6 PIN_D6 ////
#define LCD_DATA7 PIN_D7 ////
#include <LCD.C>
float32 value;
int8 t=0;
int8 set=37;
int i;
float32 truoc;
float32 sau;
float32 sau1;
float32 sau2;
void setup()
{
if(input(pin_b3)==0)
{
set++;delay_ms(50);
while(input(pin_b3)==0){};
}
if(input(pin_b4)==0)
{
set--;delay_ms(50);
while(input(pin_b4)==0){};
}
}
void main()
{
lcd_init();
set_tris_a(0xff);
set_tris_c(0x00);
set_tris_b(0xff);
output_bit(pin_c4,0);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(ALL_ANALOG);
lcd_gotoxy(3,1);
printf(lcd_putc,"Welcome to...");delay_ms(500);
lcd_putc("\f");
lcd_gotoxy(3,1);
printf(lcd_putc,"LO AP TRUNG");
lcd_gotoxy(1,2);
printf(lcd_putc,"----------------");delay_ms(700);
lcd_putc("\f");
// Khoi tao cho ngat ngoai
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
while(TRUE)
{
setup();
truoc=0;
for(i=0;i<50;i++)
{
truoc=truoc+read_adc();delay_us(10);
}
sau=truoc*0.02;
sau2=0.2*sau1+0.8*sau;
sau1=sau2;
value=sau1*0.097752;
set_adc_channel(0);delay_us(10);
value=(float)read_adc();delay_us(10);
value=(value*5.0*1000.0/1024.0)/10;
lcd_gotoxy(1,2);
printf(lcd_putc,"Nhiet do:%0.2f%cC",value,0xdf);
lcd_gotoxy(1,1);
printf(lcd_putc,"SET=%2u%cC",set,0xdf);
lcd_gotoxy(7,1);
//--------thuat toan dieu khien---------
if(input(pin_a1)==0)
{
delay_ms(300);output_bit(pin_c4,1);
}
else{output_bit(pin_c4,0);}
if(value<set)
{
t--;read_adc();delay_us(10);
}
if(value>set)
{output_bit(pin_c4,0);read_adc();delay_us(10);}
if(value==set)
{output_bit(pin_c4,0);read_adc();delay_us(10);}
if(value>set+2)if((pin_c4)==0){output_bit(pin_c0,1 );read_adc();delay_us(10);}
//------tuy chinh--------
}
}
Gửi bởi phunghe
-
09-05-2015, 06:00 AM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi hungk47tnut
-
09-05-2015, 06:42 AM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi tdm
Ngọc Dược Man's – Trợ thủ đắc lực...
Hôm nay, 07:35 PM in Rao vặt tổng hợp