Title: ช่วยด้วยคับPWM 16F877 ADC Post by: mink50 on September 20, 2011, 08:24:04 PM ช่วยด้วยคับ ทำไมPICส่งผลไปแค่ครั้งเดียวอ่ะคับ คือมอเตอร์ผมมันหมุนคงที่อ่ะคับ PWM ไม่เปลี่ยนค่าเลย ผมต้องReset PICตลอดมันถึงจะส่งค่าไป
คือมันส่งค่าไปครั้งเดียวอ่ะคับ อยากให้มันส่งค่าไปตลอด จะเขียนโค้ดยังไงอ่ะคับ #include <16F877.h> #use delay(clock=1000000) #fuses HS #fuses NOCPD #fuses NOWDT #fuses NOPROTECT #define TxD PIN_A0 #define RxD PIN_A1 void main(void) { int Dat; setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM setup_timer_2(T2_DIV_BY_4, 249, 1); set_pwm1_duty(Dat); setup_port_a(AN0); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); while( TRUE ){ Dat=read_adc(); //Loop here } } Title: Re: ช่วยด้วยคับPWM 16F877 ADC Post by: s_engine on September 24, 2011, 04:57:09 PM ช่วยด้วยคับ ทำไมPICส่งผลไปแค่ครั้งเดียวอ่ะคับ คือมอเตอร์ผมมันหมุนคงที่อ่ะคับ PWM ไม่เปลี่ยนค่าเลย ผมต้องReset PICตลอดมันถึงจะส่งค่าไป คือมันส่งค่าไปครั้งเดียวอ่ะคับ อยากให้มันส่งค่าไปตลอด จะเขียนโค้ดยังไงอ่ะคับ #include <16F877.h> #use delay(clock=1000000) #fuses HS #fuses NOCPD #fuses NOWDT #fuses NOPROTECT #define TxD PIN_A0 #define RxD PIN_A1 void main(void) { int Dat; setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM setup_timer_2(T2_DIV_BY_4, 249, 1); setup_port_a(AN0); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); while( TRUE ){ Dat=read_adc(); //Loop here set_pwm1_duty(Dat); } } Title: Re: ช่วยด้วยคับPWM 16F877 ADC Post by: samarters on September 26, 2011, 09:47:19 AM ทำไมกำหนด Tx Rx เป็น A0 A1
ของตัว 16F877 มันเองอยู่ C6 C7 ไม่ใช่หรือ แล้วจะอ่าน ADC ได้ไหมล่ะนั่น |