[ บทความ : มาเขียนโปรแกรมกับ 68HC11 กันเถอะ ตอนที่ 1 ] มารู้จักกับ 68HC11 กันก่อน

 

  

สวัสดีครับ ห่างหายไปนาน ตอนนี้คงเป็นโอกาสอันดีสำหรับเริ่มต้นชีวิตใหม่กับ 68HC11 กันนะครับ บทความชุดนี้น่าจะเป็นบทความยาวเหมือนกับ Z80 แต่ก่อนอื่น ต้องออกตัวก่อนนะครับว่า บทความนี้เป็นลักษณะของการที่ผมเรียนรู้ 68HC11 แล้วเข้าใจอย่างไร ก็นำมาบอกเล่าประสบการณ์ (ผมเพิ่งหัดเขียนโปรแกรมบน 68HC11 ... เลยเรียกว่า จากผู้อ่อนประสบการณ์ แด่ผู้อ่อนประสบการณ์ล่ะกันครับ) ส่วนเรื่องความลึกของเนื้อหา นั้น ผมคงไม่ลงรายละเอียดมากนักครับ เพราะ ผมเน้นอยากรู้มากกว่า เอาไปใช้จริงอย่างไร นอกจากนี้เรื่องของการตอบ e-mail นี่ผมขอสงวนนะครับ ส่วนใครมีปัญหาแบบว่าเรื่องยากมากๆ หรือยากนิดหน่อยเนี่ย ผมว่าติดต่อผ่านทาง ETT จะเหมาะกว่า เนื่องจากทางบริษัท จะมีผู้ชำนาญเฉพาะด้าน ที่ช่วยเหลือได้ครับ ... ว่าแล้วมาเริ่มกันดีกว่า

 

จุดประสงค์

                เราจะมารู้จักกับโครงสร้างสถาปัตยกรรมของ 68HC11 โดยเน้นที่เบอร์ 68HC811E2 และภาษาที่ผมเลือกก็เป็น Assembly โดยใช้เครื่องมือของ Cross-32 รุ่นทำงานบน DOS ล่ะกันครับ ส่วน I/O ผมก็ขอพึ่งพาบอร์ด ET-EXP 4 I/O LAB1 ไปก่อน ซึ่งคิดว่าคงใช้ภาคของ LED เป็นส่วนใหญ่ เนื่องจากเรา จะมาเรียนรู้การเขียนโปรแกรม (ไง) เลยเน้นเรื่องการเขียนโปรแกรม ส่วนฮาร์ดแวร์อื่นๆ ขอไม่แตะล่ะกัน

 

คุณสมบัติของ 68HC811E2

                เป็นหน่วยประมวลผล (CPU: Central Processing Unit) แบบ 8 บิต  และเพิ่มเติมคำสั่งมาจาก 6800 และ 6801 , สามารถทำการหารเลขแบบ 16 บิต โดยให้ผลลัพธ์เป็นเลขขนาด 16 บิต กับเศษแบบ 16 บิตได้ และสามารถประมวลผลข้อมูลได้ถึงในระดับบิต

                มีหน่วยความจำภายในแบบ EEPROM ขนาด 2 กิโลไบต์

                มีหน่วยความจำ แรม (RAM: Random Access Memory) ขนาด 256 ไบต์

                มีตัวตั้งเวลาและการนับ(Timer/Counter) ขนาด 8 บิต สามารถปรับตัวตั้งเวลาให้เป็น 16 บิตได้

                มีวงจรแปลงสัญญาณแบบแอนาลอกเป็นดิจิตอล (A/D) ขนาด 8 บิต จำนวน 8 ช่องสัญญาณ

                มีระบบ Pulse Accumulator ขนาด 8 บิต

มีวงจรสื่อสารแบบอนุกรม (SCI : Serial Communication Interface) และ มีวงจรต่อเชื่อมกับอุปกรณ์แบบอนุกรม (SPI: Serial Peripheral Interface)

มีวงจร Real-Timer Interrupt และมี Interrupt ได้ 2 ระดับจาก 21 แหล่ง

มีระบบ Watch Dog Timer และมีระบบ WAIT กับ STOP สำหรับประหยัดพลังงาน

รองรับการทำ Multiprocessor

 

 บล็อกไดอะแกรม (Block Diagram) ของ 68HC811E2

 

 

 

  

 

สรุป

                ตอนนี้จะเห็นว่ายังไม่มีรายละเอียดอะไรพิเศษเลยใช่ไหมครับ ครั้งนี้เราเริ่มกันแบบเบาะๆไปก่อนครับ ครั้งต่อไป เราจะเริ่มกันต่อที่ โครงสร้างของการเขียนโปรแกรม ที่ใช้ Cross-32 เป็นตัวแปลภาษานะครับ (ตัวอื่นๆ ผมขอไม่กล่าวถึงละกัน) ขอเน้นนะครับ ผมจะใช้รุ่นที่ทำงานบน DOS ใครที่ไม่นิยมการพิมพ์แบบ DOS ก็ต้องอภัยด้วยครับ  ส่วนใครที่ใช้ DOS ไม่เป็น อันนี้ต้องศึกษาเพิ่มเติมครับ ผมเคยเจอคำถามเกี่ยวกับว่า autoexec.bat กับ config.sys นี่มันอยู่ที่ไหน หรือแก้ไขมันอย่างไร ... คำถามจำพวกนี้ลำบากใจครับ เพราะมันเป็นเรื่องของ DOS แน่นอนล่ะครับ ใครจะใช้ ซอฟท์แวร์บน DOS ก็ต้องเล่นและสั่งงาน DOS ได้ด้วย ถึงมันจะไม่สะดวก  แต่ผมว่ามันทำให้ผมทำงานเขียนโปรแกรมได้เร็วขึ้นน่ะครับ (ความเห็นส่วนตัวครับ)  ... ใครที่คิดว่ายังพอมีประโยชน์คราวหน้าก็เจอกับบทความตอนต่อไปครับ

 

หมายเหตุ

                ผมจะพยายามเขียนบทความเป็นตอนสั้นๆ และเขียนตามที่อยากเขียน นะครับ ... อาจจะขาดแบบแผนไปบ้าง ต้องขออภัยครับ

  


เขียนโดย : ศุภชัย  บุศราทิจ
Author : Supachai  Budsaratij
วันที่ทำการปรับปรุง : ๑๕ ก.ย. ๒๕๔๕