Tag: ATtiny13

AVR ภาษาแอสเซมบลี #6 ปุ่มขัดจังหวะ interrupt

ภาษาแอสเซมบลี ปุ่มขัดจังหวะ interrupt อินเตอร์รัพท์ (Interrupt) คือการขัดจังหวะการทำงานของโปรแกรมปกติ เมื่อเกิดเหตุการณ์บางอย่างขึ้น ทำให้ซีพียูไปทำงานที่กำหนดไว้เมื่อเกิดอินเตอร์รัพท์ คำสั่ง Interrupt ใน ATtiny13 คือ การขัดจังหวะ คำสั่งนี้มีประโยชน์มาก โดยเมื่อ ATtiny13 ได้รับสัญญาณ Interrupt แจ้งเข้ามา จะหยุดพักงานที่ทำอยู่ แล้วกระโดดมาทำในคำสั่ง Interrupt ทำให้เราไม่ต้องใช้ if เช็คเงื่อนไขต่าง ๆ ซึ่งจะทำให้เสียเวลา และบางครั้งอาจติดทำคำสั่งอื่นอยู่ ทำให้ไม่ทำงานทันที…

AVR ภาษาแอสเซมบลี #5 ควบคุมความสว่าง LED ด้วย PWM

ภาษาแอสเซมบลี ควบคุมความสว่าง LED ด้วย PWM จนถึงตอนนี้เราใช้ไฟ LED กะพริบ ตอนนี้เรากะพริบต่อไป แต่ด้วยความถี่สูง ด้วยการกะพริบนั้นเราจะเปลี่ยนมาควบคุมความสว่างของหลอดไฟ LED และนี่เป็นลักษณะเชิงเส้นที่แน่นอน ความรู้เบื้องต้นเกี่ยวกับโหมด PWM ของตัวจับเวลา การมอดูเลตความกว้างพัลส์ PWM หมายถึงการมอดูเลตความกว้างของพัลส์ ในการทำเช่นนี้ตัวจับเวลาในการรีสตาร์ทตั้งค่าหรือล้างเอาต์พุต (OC0A และ / หรือ OC0B) หากการจับคู่เปรียบเทียบเกิดขึ้น (A หรือ B) ขั้วของเอาต์พุตจะเปลี่ยนไป…

AVR ภาษาแอสเซมบลี #4 ไฟกระพริบ ด้วย Timer

ภาษาแอสเซมบลี ไฟกระพริบ ด้วย Timer ในบทความนี้จะโบกมือลาให้กับการนับลูปที่ยาวและน่าเบื่อ เราปล่อยให้ตัวจับเวลาภายในทำหน้าที่ในการนับให้เป็นอิสระจากการดำเนินการของโปรแกรม ความรู้เบื้องต้นเกี่ยวกับฮาร์ดแวร์จับเวลา ตัวจับเวลาในตัว (exact: timer/counter, TC0) เป็นส่วนประกอบฮาร์ดแวร์ภายในที่ใช้บ่อยที่สุด ในฐานะที่เป็นองค์ประกอบที่หลากหลายจึงมีโหมดต่างๆมากมายขึ้นอยู่กับความต้องการของเรา เราจะใช้ตัวจับเวลาในการอธิบายในภายหลังดังนั้นในการอธิบายครั้งต่อไปเราจะใช้ตัวจับเวลานี้ในโหมดต่างๆเพื่อควบคุม LED อุปกรณ์ AVR ที่แตกต่างกันมีตัวนับจำนวนที่แตกต่างกัน สิ่งเหล่านี้มีชื่อว่า TC0, TC1 เป็นต้นเนื่องจากบางครั้งตัวจับเวลาสามารถเชื่อมต่อกับ port pins ได้ชื่อขาเหล่านั้นอ้างถึงหมายเลข TC โดย ATtiny13 มีตัวจับเวลาเพียงตัวเดียว แต่มีการใส่ศูนย์ในชื่อแม้ว่าจะไม่จำเป็นในกรณีนั้นก็ตาม ตัวจับเวลา…

AVR ภาษาแอสเซมบลี #3 Blink ไฟกระพริบ LED

AVR ภาษาแอสเซมบลี Blink ไฟกระพริบ LED บทความนี้ จะกล่าวถึงการทำให้ LED ที่อยู่เชื่อมต่ออยู่ที่ ขา PB0 ของ ATtiny13 ให้กระพริบได้ ด้วยการหน่วงเวลา หรือเว้นระยะ ในการ เปิดไฟ LED ซึ่งพื้นฐานของการสลับพอร์ตเอาต์พุตได้อธิบายไว้แล้วในบทความก่อนหน้านี้ว่า: sbi PORTB, PORTB0 ไฟ LED ติด แต่บทความนี้จะเพิ่ม cbi PORTB, PORTB0…

AVR ภาษาแอสเซมบลี #2 โปรแกรมแรก เปิดไฟ LED

AVR ภาษาแอสเซมบลี โปรแกรมแรก เปิดไฟ LED ไมโครคอนโทรลเลอร์ ATtiny13 ไมโครคอนโทรลเลอร์ ATtiny13 มี 8 ขา ซึ่งสามารถใช้เป็นขา GPIO (General Purpose Input / Output) ได้ 5 ขา ขาเหล่านี้มีชื่อว่า PB0 ถึง PB4 แต่ละ GPIO เหล่านั้นถูกควบคุมโดยสองบิตในที่เก็บข้อมูลภายในสองแห่ง สถานที่จัดเก็บเหล่านั้นมีชื่อว่า…

โปรแกรมแรก ATtiny13 กับ Arduino IDE

โปรแกรมแรก ATtiny13 กับ Arduino IDE การจะทำให้ ไมโครคอนโทรลเลอร์ ATtiny13 ใช้งานกับ Arduino IDE ได้นั้น จำเป็นที่จะต้องมี Bootloader ก่อน ซึ่งเจ้า Bootloader นี่มันคือ firmware ที่ทำหน้าที่ช่วยในการ upload sketch ที่เราเขียนผ่านทางสาย USB โดยไม่ต้องมีเครื่องโปรแกรมนั่นเอง โดยบทความนี้จะแสดงวิธีการ ขั้นตอนการเบิร์น Bootloader ลงบน ATtiny13…

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save