Title: ช่วยดู Code ทางนี้ให้หน่อยครับ Post by: banthom on November 30, 2009, 08:30:50 PM ผมได้ลองต่อวงจรตามรูปในโปรแกรม Proteus และลองเขียน Code ง่าย ๆ เป็นการจำลอง Traffic Light ซึ่งเมื่อ Run ในโปรแกรม Proteus แล้วก็ใช้งานได้เป็นปกติ ไฟจะติดตามที่ต้องการ คือ แดง---->เขียว---->เหลือง และก็วนไปแบบนี้เรื่อย ๆ แต่ปัญหาคือ เมื่อผมลองต่อวงจรใช้งานจริง ๆ และก็อัด Code เข้า PIC12F629 ได้ตามปกติ แต่ผลปรากฎว่า เมื่อจ่ายไฟ (5v) แล้วไม่เป็นไปอย่างที่ต้องการเลยครับ คือไม่มีหลอด LED ดวงไหนติดเลยสักหลอด ลองแล้วลองอีกก็ทำไม่ติดสักทีครับ หลอดก็ไม่เสีย แต่พอลองใน Proteus กลับใช้งานได้ตามปกติ เลยไม่ทราบสาเหตุครับว่าเกิดจากอะไร แต่รับรองครับว่าต่อวงจรไม่ผิดและก็ PIC12F629 ไม่เสียครับ เพราะว่าลองเอา Code Remote ที่เคยทำไว้ลองอัดดูแล้วก็นำไปลองก็ใช้งานได้ตามปกติครับ
(http://image.ohozaa.com/i3/traffic.png) ------------------------------------------------- #include <12F629.h> #fuses HS,NOWDT,NOPUT,NOPROTECT #use delay (clock=4000000) void main() { while(1) { output_high(pin_A0); delay_ms(20000); output_low(pin_A0); delay_ms(100); output_high(pin_A2); delay_ms(15000); output_low(pin_A2); delay_ms(100); output_high(pin_A1); delay_ms(3500); output_low(pin_A1); delay_ms(100); } } ----------------------------------------- ไม่ทราบว่าผมผิดพลาดไปตรงใหนครับ ช่วยแก้ปัญหาให้ผมทีครับ Title: Re: ช่วยดู Code ทางนี้ให้หน่อยครับ Post by: smitdh on November 30, 2009, 10:27:14 PM ดูจากโปรแกรมแล้วคุณใช้ clock 4MHz
ต้องใช้เป็น #fuses XT ครับ Title: Re: ช่วยดู Code ทางนี้ให้หน่อยครับ Post by: banthom on December 01, 2009, 01:26:02 AM ขอบคุณมากครับอาจารย์ที่ให้ข้อคิด ผมได้แก้ไข Code ใหม่เป็นดังนี้
--------------------------------------------------------------------------------------------------------------- #include <12F629.h> #FUSES NOWDT, INTRC, NOCPD, NOPROTECT, NOMCLR, NOPUT, NOBROWNOUT, BANDGAP_HIGH #use delay(clock=4000000) void main() { while(1) { output_high(pin_A0); delay_ms(30000); output_low(pin_A0); delay_ms(100); output_high(pin_A2); delay_ms(25000); output_low(pin_A2); delay_ms(100); output_high(Pin_A1); delay_ms(5000); output_low(Pin_A1); delay_ms(100); } } ------------------------------------------------ ใช้งานได้ตามที่ต้องการแล้วครับ |