![]() |
Các bạn giúp mình chút. Code có gì sai?
1 Attachment(s)
Mình mới học pic được một thời gian. Có ý định thiết kế một bộ đo nhiệt độ bằng cảm biến nhiệt LM35. Code và mạch mô phỏng trên Proteus mình đã làm nhưng mô phỏng thì có vấn đề. Xin gửi lên đây các bác và các bạn giúp xem code sai ở chỗ nào
|
1 Attachment(s)
Bạn gặp vấn đề gì? Bạn nên nêu rõ vấn đề.
Code của bạn vài chỗ sai cơ bản: chẳng hạn : phải là while(TRUE) {...} chứ ko thể là while(TRUE); {.....} Chỉ cần sử dụng #include<16f877a.h> là đủ, mới bắt đầu chỉ cần vậy, ko cần phải sử dụng các khai báo khác như của bạn ko cần thiết. Về phần quét led do mô phỏng ko chính xác lắm nên bạn tự kiểm tra lại, kết quả hiển thị lên tẻminal đã đúng. |
BẠN SỬ DỤNG DS18B20 THỬ SAO,
#include <16F877A.h> #include <def_877a.h> #FUSES HS #use delay (clock=8000000) #include "LCD.c" float NHIETDO; INT16 NHIETDONGUYEN, giantiep; #INT_RDA Receive_isr() { } void main() { setup_ccp1(CCP_PWM); //khoi tao bo PWM1 setup_ccp2(CCP_PWM); //khoi tao bo PWM2 setup_timer_2(T2_div_by_16,255,1); enable_interrupts(int_rda); enable_interrupts(GLOBAL); lcd_init(); lcd_putc("\f"); while (TRUE) { NHIETDO = ds1820_read(); NHIETDONGUYEN = (INT8)NHIETDO ; set_pwm1_duty(35*(NHIETDONGUYEN - 35)); set_pwm2_duty(0); lcd_gotoxy(1,1); printf(lcd_putc,"NHIETDO: %3.1f ", NHIETDO); lcd_putc(223); lcd_putc("C "); } } |
Múi giờ GMT. Hiện tại là 03:19 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam