พิมพ์หน้านี้ - ปัญหาระหว่าง 18F458/16F877

LSVคลังสมองออนไลน์ "ปีที่21"

► อิเล็กทรอนิกส์ ► => ►ถาม-ตอบอีเล็กทรอนิกส์ทั่วไป => ข้อความที่เริ่มโดย: PR-TRAFFIC ที่ มีนาคม 19, 2011, 04:08:55 PM



หัวข้อ: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: PR-TRAFFIC ที่ มีนาคม 19, 2011, 04:08:55 PM
ผมใช้ 877 มาตลอด  แต่ทีนี้ฟังชั้นการทำงานและเงื่อนไขเพิ่มมากขึ้น
ผมสำรวจดูแล้วว่า 458 มีแรมมากกว่า 877 
ผมจึงอยากใช้ 458 แทน  โดย 458 และ 877  มีตำแหน่งขาเหมือนกันเลยไม่ต้องออกแบบลายวงจรใหม่
แต่โปรแกรมไม่ทำงานให้ได้อย่างที่คิด
ผมเขียนด้วยภาษาเบสิก โดยไมโครโคดเขียนโปรแกรมครับผม
รายละเอียด เงื่อนไขตัวเดียวกันกับ 877  ก่อนที่จะคอมไพล์ก็ได้เลือกตัวอุปกรณ์ใหม่เป็น 458 ส่วนหัวของโปรแกรม ไม่ได้ประกาศไว้ ทดลองคอมไพล์ทั้ง 877 และ 458  ผลคือคอมไพล์ผ่านทั้งสองเบอร์(เปลี่ยนเบอร์ IC ทุกครั้งก่อนคอมไพล์)  แต่การทดลองงานจริง  458 ไม่ทำงานเลย  ส่วน 877 ทำงานปรกติดี
บนตัวบอร์ดทดลองมีจั้มเปอร์ให้สลับ ระหว่าง 16F - 18F ( บอร์ด ET-BASE40 - ของบริษัท ETT )
จากที่กล่าวมานี้ผมควรแก้ไขที่ตรงไหนบ้างครับ


หัวข้อ: Re: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: JUB ที่ มีนาคม 19, 2011, 07:14:05 PM
ดู fulse bit ด้วยมันไม่เหมือนกัน....


หัวข้อ: Re: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: PR-TRAFFIC ที่ มีนาคม 19, 2011, 08:42:09 PM
fulse bit   คืออะไรครับ  ผมไม่เคยรู้จัก
แล้วผมต้องทำยังไง ช่วยอธิบายละเอียดด้วยครับ
ขอบคุณครับ


หัวข้อ: Re: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: JUB ที่ มีนาคม 20, 2011, 12:29:14 AM
พวก config bit เป็นตัวกำหนดคุณสมบัติบางอย่างของ mcu
ที่ใช้ไงครับ เช่น ย่านความถี่ lowvoltprogram brownoutdetect
PLL อื่นๆ.....


หัวข้อ: Re: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: PR-TRAFFIC ที่ มีนาคม 21, 2011, 12:26:35 PM
@ DEVICE PIC16F877,XT_OSC,LVP_OFF,BOD_ON,CPD_OFF,PROTECT_OFF,WDT_OFF
   DEFINE OSC 4
   ADCON1=$07
   TRISA=%00111111
   TRISC=$00
    TRISB=$00
    TRISD=%11111111
    TRISE=%00000111
เป็นการกำหนดส่วนหัวโปรแกรมแบบนี้หรือเปล่าครับ
นี้เป็นส่วนหัวโปรแกรมของ PIC16F877  ที่ผมเขียนและใช้ได้ดีครับ
แล้วผมแก้ไขที่ 16F877  เป็น 18F458  และในส่วนกำหนดอุปกรณ์ก่อนการคอมไพล์ครับ
คอมไพล์ผ่าน ทดลองโปรติอุสทำงานได้  แต่บนบอร์ดจริงไม่ทำงาน   


หัวข้อ: Re: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: JUB ที่ มีนาคม 21, 2011, 01:36:30 PM
ลองเอา datasheet ทั้งสองเบอร์มาเทียบกันครับ...
จำลองการทำงานได้ไม่ได้หมายความว่ามันจะต้องทำงานจริง
ได้..... ถ้าใน 16 ด้วยกันมันเป็นเรื่องแปลกที่ไม่ทำงาน
แต่นี่มันข้ามเป็น 18 reg. มันคนละเรื่องกับ 16 config word
ก็ต่างกัน ไปหา data sheet มาเปิดเทียบกันเลยแล้วจะรู้....

หรือไม่ก็ใช้ pickit2 debug เลย... ง่ายดี....  :)


หัวข้อ: Re: ปัญหาระหว่าง 18F458/16F877
เริ่มหัวข้อโดย: PR-TRAFFIC ที่ มีนาคม 22, 2011, 08:59:02 PM
ขอบคุณมากครับผมสำหรับคำแนะนำ