วันศุกร์ที่ 9 ธันวาคม พ.ศ. 2554
ต่อจอ lcd 16x2
ไมโครคอนโทรลเลอร์ก็เหมือนกับเคสคอมพิวเตอร์ย่อขนาดมาใส่ไว้ในชิบ ในบทความนี้จะพาต่อจอแสดงผลออกมาครับ ซึ่งจอแสดงผลที่เป็นพื้นฐานที่นำมาต่อกับไมโครคอนโทรลเลอร์คือจอ LCD Character แต่จอแสดงผลแบบนี้จะมี IC คอนโทรลอีกที่ IC ตัวนั้นคือ IC เบอร์ hd44780 ซึ่งตอนแรกผมตั้งใจจะเขียน library ติดด่อกับ hd44780 แต่พอได้ไปดู library ที่เขาเขียนไว้แล้วเอาของเขาดีกว่า เขียนดีกว่าเราเยอะ lib ที่เอามานี้ผมเอามาจาก avrfreaks.net สาวก avr ควรไปสมัครเป็นสมาชิกไว้ เพราะจะโหลด lib เขาต้องเป็นสมาชิกก่อนถึงจะโหลดได้
วันอังคารที่ 6 ธันวาคม พ.ศ. 2554
รีจิสเตอร์ คืออะไร
registers คือวงจรภายในที่ทำหน้าที่ควบคุมการทำงานของไมโครคอนโทรลเลอร์ เราสามารถติดต่อกับรีจิสเตอร์ผ่าน RAM โดยมีการแบ่งได้หลายแบบ ถ้าแบ่งตามลักษณะการทำงานจะแบ่งได้ 3 ชนิด
- control register ทำหน้าที่ควบคุมการทำงาน
- data register ทำหน้าที่รับส่งข้อมูล
- status register ทำหน้าที่บอกสถานะ
ยกตัวอย่าง register ที่เกี่ยวกับ I/O ของ atmega8 มีอยู่ 3 ตัว คือ DDR ,PORT และ PIN DDR เป็น control register PORT และ PIN เป็น data register มาดูโปรแกรมกัน
- #include <avr/io.h>
- int main()
- {
- DDRB = 0xFF ;
- DDRC = 0x00 ;
- while(1)
- {
- PORTB = PINC ;
- }
- }
วันจันทร์ที่ 5 ธันวาคม พ.ศ. 2554
เริ่มต้นเขียนโปรแกรม Microcontroller
ในการเริ่มต้นเขียนโปรแกรมไมโครคอนโทรลเลอร์นั้นจริงๆ จะต้องศึกษาสถาปัตยกรรมภายในของไมโครคอนโทรลเลอร์ของเบอร์ที่เราจเขียน แต่ถ้าเขียนด้วยภาษาซีแล้วอาจจะไม่ต้องไปทำความเข้าใจถึงขนาดนั้นเอาแค่ทำความเข้าใจเรื่องรีจิสเตอร์ ในตอนแรกนี้จะมีรีจิสเตอร์ที่เกี่ยวข้องอยู่สองตัวคือ DDR (รีจิสเคอร์ควบคุมกำหนดทิศทางของข้อมูล) กับ PORT (เป็นรีจิสเตอร์ข้อมูลที่ใช้เก็บข้อมูลที่เช้า ออก ผ่าน port)
สำหรับภาษาซีที่เขียนในคอนโทรลเลอร์นั้นหลักๆ จะแยกออกสองส่วนที่อยู่ในฟังก์ชั่นหลัก ( main )
สำหรับภาษาซีที่เขียนในคอนโทรลเลอร์นั้นหลักๆ จะแยกออกสองส่วนที่อยู่ในฟังก์ชั่นหลัก ( main )
- int main()
- {
- ประกาศตัวแปร เซ็ตรีจิสเตอร์(ส่วนที่1)
- while loop
- {
- งานที่จะทำ (ส่วนที่2)
- }
- }
สมัครสมาชิก:
บทความ (Atom)