[ บทความ : โปรแกรมช่วยคำนวณ BAUD Rate สำหรับ Micro-C51 ] |
ปัญหาอย่างหนึ่งเมื่อเราใช้งาน Micro-C51 ก็คือ เรื่องการใช้ช่องสื่อสารแบบ RS232 ทั้งนี้เพราะว่า ถ้าเรา ใช้ความถี่ของคริสตอลต่างออกไป การกำหนดค่าให้แก่ชิพก็จะเปลี่ยนไปด้วย โดยยิ่งเราใช้งานภาษาซีแล้วจะเกิดปัญหาที่ว่า บางทีเราไม่เข้าใจระบบฮาร์ดแวร์มากนัก ที่เลือกใช้ภาษาซี ก็เพราะคิดว่าจะได้ง่ายขึ้น ... ซึ่งความคิดนี้แตกต่างกัน จากการเขียนโปรแกรมบนเครื่อง PC นะครับ เพราะ เครื่อง PC ที่เราใช้นั้นมีมาตรฐานเหมือนกัน แต่บนระบบไมโครคอนโทรลเลอร์นั้น โดยมากเอาสะดวกตามแต่เราจะออกแบบ ด้วยเหตุนี้ทำให้การเขียนโปรแกรมเลยแตกต่างกันไปด้วย นั่นเอง ... จากปัญหาดังกล่าว ผมเลยเขียนโปรแกรมสำหรับคำนวณค่าให้เหมาะสมกับคริสตอลความถี่ต่าง ๆ แล้วทำการสร้าง โค้ดส่วนที่เป็นภาษา assembly ออกมา ซึ่งผู้ใช้สามารถเอาผลลัพธ์ที่ได้จากโปรแกรม ไปทำการแก้ไขไฟล์ที่ชื่อ serinit.asm ในไดเร็กทอรี LIB51 ... หน้าตาของโปรแกรมเป็นดังนี้ครับ
หลังจากนั้นให้เราใส่ค่าความถี่คริสตอลที่เราใช้ เช่น เราใช้ 11.0592Mhz ค่าที่ใช้ใส่ก็เป็น 11059200 เมื่อเรากดแป้น ENTER หรือ click ที่ปุ่ม Calculate หรือกดแป้น Alt-C ผลลัพธ์ก็จะได้ออกมา ดังรูปด้านล่าง
ส่วนอีก 2 รูปด้านล่างเป็นผลที่ได้จากการใส่ค่าเป็น 12000000 กับ 18432000
สนใช้โปรแกรมนี้แล้วใช่ไหมครับ ... ดังนั้นก็ทำการ download กันเลยครับ ... อ้อ บอกนิดนึง โปรแกรม เขียนด้วย Delphi 5 ... ที่สำคัญ คือ ผมแจก source code ด้วยครับ
download Serinit