|
Tài trợ cho PIC Vietnam |
Lỗi lập trình ngôn ngữ cấp cao Những lỗi trường gặp trong lập trình. Khóa luồng khi bug được lỗi. |
|
Ðiều Chỉnh | Xếp Bài |
10-07-2014, 12:20 AM | #1 |
Đệ tử 1 túi
Tham gia ngày: Dec 2013
Bài gửi: 14
: |
Xem giúp e code này với
biến b trong code này e đưa ra mô phỏng nó ko thay đổi...
#include <16F877a.h> #include <DEFS_16F877A.h> #fuses XT, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP #device 16f877*=16 ADC=8 #use delay(clock = 4000000) main() { setup_adc_ports(RA0_ANALOG); setup_adc(adc_clock_internal); set_adc_channel(0); delay_ms(10); output_low(PIN_C1); setup_ccp1(CCP_PWM); // cài d?t CCP1 là c?ng xu?t PWM setup_timer_2(T2_DIV_BY_16, 124, 1); // cài d?t timer_2 có t?n s? 500 Hz int8 x=90; int16 b; int8 adc; set_tris_b(0x00); while(true) { adc=read_adc(); delay_us(1); b=(adc*125)/1024; set_pwm1_duty(adc); //50 % d? r?ng xung xu?t ra chân C1 portb=b; } } |
10-07-2014, 09:01 PM | #2 |
Đệ tử 6 túi
Tham gia ngày: Apr 2009
Bài gửi: 132
: |
delay_us(1);
b=(adc*125)/1024; set_pwm1_duty(adc); //50 % d? r?ng xung xu?t ra chân C1 portb=b; vấn đề nằm ở đây nhé bạn hiền. delay_us(1); sao mà bạn thấy được sự thay đổi, hơn nữa phần cứng portb bạn kết nối ra cái gì? |
Ðiều Chỉnh | |
Xếp Bài | |
|
|