IPST-MicroBOX 1/3

5,188
-1

Published on

IPST MicroBOX PowerPoint Presentation

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
5,188
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
71
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IPST-MicroBOX 1/3

  1. 1. การพฒนาโปรแกรมบน IPST-MicroBOXการพัฒนาโปรแกรมบน IPST MicroBOX กฤษดา ใจเย็น นคร ภักดีชาติ วรพจน์ กรแก้ววัฒนกุล บริษท อินโนเวตีฟ เอ็กเพอริเมนต์ จํากัด ั www.inex.co.th
  2. 2. ชุดที่ 1 ุ ส่โลก สู
  3. 3. สู ลกไมโครคอนโทรลเลอร์ ส่โลกไมโครคอนโทรลเลอร ประวัติไมโครโปรเซสเซอร์คอมพิวเตอร์ คือ อุปกรณ์ทใ่ี ช้ซอฟต์แวร์เป็นตัวดําเนินการทํางาน ว่าต้องการให้อุปกรณ์์ใดทํางานใดบ้าง ํ ใ ้ การพัฒนาระบบคอมพิวเตอร์กเป็ นรูปเป็ นร่างมากขึนเมือ Intel ได้พฒนา ็ ู ้ ่ ัอุปกรณ์สาหรับประมวลผลคําสัง่ ทีเรียกว่า “ไมโครโปรเซสเซอร์” ํ ่"(Microprocessor)" ( p ) MPU 4004 (MCS-4)
  4. 4. ไมโครโปรเซสเซอรตวแรกของโลกไมโครโปรเซสเซอร์ตวแรกของโลก ั 1971: 4004 ไมโครโปรเซสเซอร์ เป็ นไมโครโปรเซสเซอร์ตวแรกจากอินเทล ป็ ไ โ โป ์ ั ิ ประดิษฐกรรมชินนี้พฒนาขึนเพือใช้กบเครืองคิดเลขของ Busicom และปู ้ ั ้ ่ ั ่ ทางเขาสู ารออกแบบสงประดษฐใหมๆ อยางเชน เครองคอมพวเตอรสวน ทางเข้าส่การออกแบบสิงประดิษฐ์ใหม่ๆ อย่างเช่น เครืองคอมพิวเตอร์สวน ่ ่ ่ บุคคล จํานวนทรานซิสเตอร์: 2,300 ตัว ความเร็วสัญญาณนาฬิกา: 108 kHz ็ ั 1972: 8008 ไมโครโปรเซสเซอร์ 8008 เป็ นไมโครโปรเซสเซอร์ทมประสิทธิภาพสงกว่าร่น 4004 ถึงสองเท่า เปนไมโครโปรเซสเซอรทมประสทธภาพสูงกวารุ ่ี ี ถงสองเทา โดยมีการกล่าวถึงในบทความของ Radio Electronics เมือปี 1974 ว่า อุปกรณ์ ่ ทีชอ Mark-8 ใช้ชป 8008 สําหรับ Mark-8 นันเป็ นทีรจกกันว่าคือคอมพิวเตอร์ ่ ่ื ิ ้ ่ ู้ ั รุนแรกสําหรับใช้ภายในบ้าน ่ จํานวนทรานซิสเตอร์: 3,500 ตัว ความเรว: ความเร็ว: 200 kHz
  5. 5. สู ลกไมโครคอนโทรลเลอร์ ส่โลกไมโครคอนโทรลเลอร ไมโครโปรเซสเซอร์ Address การทํางานของไมโครโพรเซสเซอร์ Data ROM จะทําหน้ าที่ประมวลคําสังข้อมูลในรูป ่ ู ู สัญญาณดิจิตอล มาเทียบกับตาราง ชุดคําสัง เพื่อกําหนดการทํางานในแบบ ่ Address ตางๆ ต่างๆ สวนอตราการประมวลผลนน ส่วนอัตราการประมวลผลนัน ้Microprocessor Data RAM ขึนอยู่กบความถี่สญญาณนาฬิกาที่ป้อนให้ ้ ั ั ไมโครโพรเซสเซอร์ จําเป็ นต้องมีอปกรณ์ ุ ร่วมอื่นๆประกอบเข้าด้วยกัน ไม่ว่าจะเป็ น Address หน่ วยความจํา อุปกรณ์ รบ-ส่งสัญญาณ ั Data I/O / ตางๆ ต่างๆ
  6. 6. สู ลกไมโครคอนโทรลเลอร์ ส่โลกไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์กบไมโครโปรเซสเซอร์ ั จริง ๆ แล้วไมโครโปรเซสเซอร์สามารถ Interrupt I t t Address นาไปประยุกตใชในงานตางๆ นําไปประยกต์ใช้ในงานต่างๆ มากมาย Data ROM แต่ด้วยขนาดของระบบซึ่งมีขนาดใหญ่ Watchdog รวมถึงลักษณะงานบางอย่างไม่ ํ ป็ ้ ใช้ จาเปนตองใชความสามารถในการ ส ใ Address ประมวลผลมากนัก RAM Microprocessor Data ไมโครคอนโทรลเลอร์จึงได้ถือกําเนิดขึน ไมโครคอนโทรลเลอรจงไดถอกาเนดขน ้ โดยได้ทาการรวมอุปกรณ์ พืนฐานต่างๆ ํ ้ Address เข้ามาอยู่ในไอซีตวเดียว เพื่อลดขนาด ั Data I/O และความซบซอนของวงจรลง ทาให และความซับซ้อนของวงจรลง ทําให้ Oscillator ราคาของระบบถูกลงMicroController
  7. 7. สู ลกไมโครคอนโทรลเลอร์ ส่โลกไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์ที่มีใช้งานทัว ๆ ไป ่ ไมโครโปรเซสเซอร์ ไมโครคอนโทรลเลอร์ MCS-51ไมโครคอนโทรลเลอร์ PICไ โ โ ไมโครคอนโทรลเลอร์ BASIC Stamp ไ โ โ ไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์ AVR
  8. 8. สู ลกไมโครคอนโทรลเลอร์ส่โลกไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์ที่มีใช้งานทัว ๆ ไป ่
  9. 9. สู ลกไมโครคอนโทรลเลอร์ ส่โลกไมโครคอนโทรลเลอร ตัวอย่างการใช้งานไมโครคอนโทรลเลอร์ในเครื่องปรับอากาศ ระบบควบคุมของเครื่องปรับอากาศ +V ตรวจสอบการเปิ ด จากรีโมตหรือสวิตช์ 220VData In สั ่งให้คอมเพรสเซอร์ทางาน ํDigital InMicrocontroller มากกว่า Digital Out Compressor ค่าที่ต้งไว้ ั ตรวจสอบอุณหภูมิจาก เซนเซอร์ กับค่าที่ต้งไ ั ไว้A/D in น้อยกว่า ค่าที่ต้งไว้ ั สั ่งให้คอมเพรสเซอร์หยุดทํางาน
  10. 10. ขนตอนการพฒนาโปรแกรมกบไมโครคอนโทรลเลอร ขันตอนการพัฒนาโปรแกรมกับไมโครคอนโทรลเลอร์ ้ ภาษา BASIC ภาษา Java Analog Digital ซอฟตแวร ซอฟต์แวร์ ฮาร์ดแวร์์ ์ภาษา C
  11. 11. ขันตอนการพัฒนาโปรแกรมกับไมโครคอนโทรลเลอร์ ้ ออกแบบฮาร์ดแวร์ เขียนโปรแกรมบน ี โป แก้ไขข้อผิดพลาด คอมพิวเตอร์ ตรวจสอบ คอมไพล์โปรแกรม ขอผดพลาด ข้อผิดพลาด เปนภาษาเครอง เป็ นภาษาเครือง ่ ดาวนโหลดโปรแกรม ดาวน์โหลดโปรแกรม ไปยังบอร์ด
  12. 12. ภาษาที่ใช้เขียนติดต่อกับไมโครคอนโทรลเลอร์ ภาษาทใชเขยนตดตอกบไมโครคอนโทรลเลอร เช่นเดียวกับการเขียนโปรแกรมบนคอมพิวเตอร์ เชนเดยวกบการเขยนโปรแกรมบนคอมพวเตอร ไมโครคอนโทรลเลอร์สามารถเขียนโปรแกรมโดยใช้ภาษาระดับสูง เช่น ภาษา BASIC ภาษา C หรือ PASCAL ได้ แต่ภาษาที่ติดกับตัวไมโครคอนโทรลเลอร์แต่ละตัวมาคือ ภาษาแอสเซมบลี้ ในแต่ละตระกูลของไมโครคอนโทรลเลอร์ กจะมโครงสรางทางภาษา (แอสแซมบล แตกตางกน ก็จะมีโครงสร้างทางภาษา (แอสแซมบลี้ ) แตกต่างกันภาษาสูงกับไมโครคอนโทรลเลอร์แบ่งออกเป็ น 2 รูปแบบคือ 1. ใช้คอมไพเลอร์ ภาษาต่าง ๆ ช่วยในการเขียนโปรแกรม 2. ใช้อินเตอร์พรีเตอร์ ซึ่งฝังตัวอยู่ในโมดูลไมโครคอนโทรลเลอร์เบอร์นัน ๆ ้
  13. 13. การพัฒนาไมโครคอนโทรลเลอร์ในปัจจุบน ัรูปแบบที่ 1 ใช้ไมโครคอนโทรลเลอร์มีตวแปลภาษา ั • โมดลสําเร็จรป ไม่ต้องพึ่งอปกรณ์ ภายนอก โมดูลสาเรจรูป ไมตองพงอุปกรณภายนอก • มี อินเตอร์พรีตเตอร์ (ตัวแปลภาษาในตัว) • ซอฟต์แวร์ภาษาเบสิกเขียนง่าย มีให้ใช้งานฟรี • ใช้เวลาในการเรียนร้น้อย พัฒนางานได้เร็ว ใชเวลาในการเรยนรู อย พฒนางานไดเรวราคาค่อนข้างสูงเมือเทียบกับไมโครคอนโทรลเลอร์ตระกูลอื่น
  14. 14. การพฒนาไมโครคอนโทรลเลอรในปจจุบ การพัฒนาไมโครคอนโทรลเลอร์ในปัจจบัน ่ รูปแบบที่ 2 ใช้ไมโครคอนโทรลเลอร์ผานคอมไพเลอร์ ู • ต้องใช้เครื่องโปรแกรมภายนอกในการโปรแกรม • คอมไพเลอร์ภาษา C แจกฟรีี ไ ์ • ทํางานด้วยความเร็วสูง • ราคา(ไมโครคอนโทรลเลอร์ ) ไม่แพงสําหรับผูเริ่มต้น ใช้ระยะเวลาในการเรียนรูนานกว่ารูปแบบที่ 1 ้ ้
  15. 15. ATMEGA-16 จาก ATMEL หัวใจของ IPST-MicroBOX• หน่วยความจําโปรแกรมภายใน 16 kByte• หน่วยความจํา RAM 1 kByte• ทํางานด้วยความเร็ว 16 ล้านคําสังต่อวินาที ทีคริสตอล 16 MHz ่ ่• พอร์ตอินพตเอาต์พต 32 ตําแหน่ง พอรตอนพุตเอาตพุ ตาแหนง• วงจรพัลส์วดธ์มอดูเลเตอร์ 4 ช่อง ิ• ไทเมอร์เคาน์เตอร์ 3 ตัว• การสือสารอนุกรม SPI/I2C/USART ่• วงจรแปลงสัญญาณอะนาลอกเป็ นดิจตอล 10 บิต 8 ช่อง ิ• สามารถโปรแกรมและลบได้นบหมืนครง โป ไ ้ ั ่ื ั ้
  16. 16. ATMEGA-16 จาก ATMEL หัวใจของ IPST-MicroBOX วงจรแปลงสัญญาณ ไทเมอร์เคาน์เตอร์ อะนาลอกเปนดจตอล บต อะนาลอกเปนดิจิตอล 10 บิต PA0-PA7 PORTA (อะนาลอกอินพุต)หน่วยความจําโปรแกรม 16 กิโลไบต์ กโลไบต PORTC PC0-PC7 หน่วยความจําข้อมูล พอร์ต 1 กิโลไบต์ กโลไบต อินพุต PORTD PD0-PD7 เอาต์พุตหน่วยความจํา EEPROM 512 ไบต์ ไบต PORTB PB0-PB4 ออสซิลเลเตอร์ 16 MHzATMEGA16 PORTB PB5-PB7 ดาวนโหลดโปรแกรม ดาวน์โหลดโปรแกรม แบบ ISP
  17. 17. พ น้ อง ในตระกลพี่ ๆ นอง ๆ ในตระกูล ATMEGA ของ Atmel
  18. 18. ชุดที่ 2 ุแนะนํากล่องสมองกลแนะนากลองสมองกล
  19. 19. IPST-MICROBOX ชุดสมบูรณ์์แบบ
  20. 20. บอร์ดควบคุมหลัก ์ ั
  21. 21. ตาแหนงตาง บนบอร์ด IPST MICROBOX ตําแหน่ งต่าง ๆ บนบอรด IPST-MICROBOX พอร์ต P6-P7 พอร์ต C สําหรับ (อิ นพตอะนาลอก) (อนพุตอะนาลอก) ต่อบอร์ดขับ 7 เซกเมนต์ สวิตช์ เปิด/ปิด ตอบอรดขบ เซกเมนต สวตช เปด/ปด จุดต่อไฟเลี้ยง จากอแดปเตอร์พอรต P0 P5พอร์ต P0-P5(อิ นพุตอะนาลอก) จุดต่อไฟจาก แบตเตอรี่ ไมโครคอนโทรลเลอร์ ATMEGA16 พอรต B0 B4 พอร์ต B0-B4 คริสตอล 16 MHz ครสตอล (เอนกประสงค์) พอร์ต D (เอนกประสงค) (เอนกประสงค์) สวิตช์รีเซต จุดเชื่อมต่อสําหรับ พอร์ต D0 และ D1 ดาวน์ โหลดโปรแกรม รับและส่งข้อมูลอนุกรม
  22. 22. กลุุมบอร์ดควบคุมและโปรแกรม ่ ุ• เครืองโปรแกรม PX-400 ่• บอร์ดหลัก IPST-MICROBOXกลุมแผงวงจรตรวจจับแบบดิจตอล ่ ิ• แผงวงจรสวิตช์• โมดูลรับแสงอินฟราเรดกลุมแผงวงจรตรวจจบแบบอ นาลอกกล่ แผงวงจรตรวจจับแบบอะนาลอก• วัดแสง,อุณหภูม,ิ เสียง• วัดความต้านทาน,สนามแม่เหล็กกลุมแผงวงจรขับเอาต์พต ่ ุ• ขับ LED ,ขับ 7 เซกเมนต์ ,• ขับมอเตอร์,ขับรีเลย์
  23. 23. กลุ บอรดควบคุมและโปรแกรมกล่มบอร์ดควบคมและโปรแกรม1. แผงวงจร Micro BOX2. ชุ ์ โ โป PX-400 ้ ่2 ชดดาวนโหลดโปรแกรม PX 400 พรอมสายตอพอรตอนุกรม ์3. แผงวงจร UCON-232S สําหรับแปลงพอร์ต USB เป็ นพอร์ตอนุกรม
  24. 24. กลุ่มแผงวงจรขับเอาต์พต ุ ุแผงวงจรขับ LED สองสี แผงวงจรขับรีเลย์ แผงวงจรขับ ตัวเลข 7 ส่วนแผงวงจรขับ LED อินฟราเรดแผงวงจรขบ อนฟราเรดแผงวงจรขับลําโพงเปี ยโซ แผงวงจรขับมอเตอร์ แผงวงจรแสดงผลและพอร์ตเอนกประสงค์
  25. 25. กล่มแผงวงจรตรวจจับแบบดิจิตอลกลุ แผงวงจรตรวจจบแบบดจตอล2 ชุด • เป็ นอุปกรณ์รบข้อมูลดิจทล ุ ั ู ิ ั • ให้โลจิก ‘0’ ถ้าตรวจจับคลืน ่ อินฟราเรดย่านความถี่ 38kHz ได้
  26. 26. กลุ่มแผงวงจรตรวจจับแบบอะนาลอก ุ แผงวงจรตรวจจับแสง แผงวงจรตรวจจับสนามแม่เหล็ก โมดูลตรวจจับเสียง แผงวงจรตรวจจบแสง ั ส อินฟราเรด แผงวงจรตรวจจับอุณหภูมิ โมดูลตรวจจับและวัดระยะทาง ด้วยแสงอินฟราเรดแผงวงจรตรวจจับการสะท้อน แผงวงจรตรวจวัดค่าความต้านทาน
  27. 27. กลุ่มแผงวงจรตัวต้านทานปรับค่าได้ ุ แผงวงจรตัวต้านทานปรับค่าได้ แบบเลื่อนแผงวงจรตัวต้านทานปรับค่าได้ ตัวตัง ้ ้ สัญลักษณ์ ของ ตวตานทานปรบคาได ตัวต้านทานปรับค่าได้แผงวงจรตัวต้านทานปรับค่าได้ ตัวนอน ้
  28. 28. ชุดที่ 3 ุการติดตัง ้
  29. 29. AVR Studioเครืื่องมือหลกในการพฒนาโปรแกรมบนไมโครคอลโทรเลอร์ตระกูล AVR ื ั ใ ั โป ไ โ โ ์ เครืองมือสําหรับสร้างและแก้ไขซอร์สโค้ด ่ เครืองมือสําหรับคอมไพล์ซอร์สโค้ดให้เป็ นภาษาเครือง ่ ่ เครองมอสาหรบการจาลองการทางาน ่ื ื ํ ั ํ ํ เครืองมือสําหรับโปรแกรมไมโครคอนโทรลเลอร์ผานพอร์ตอนุุกรม ่ ่* AVR Studio ไม่มีคอมไพเลอร์ภาษา C ติดตังอยู่ภายในจะต้องติดตังโปรแกรม Winavr ก่อนถึงจะคอมไพล์ภาษา C ได้ ้ ้
  30. 30. AVR Studio เป็ นซอฟต์แวร์จาก เปนซอฟตแวรจากผูผลิตชิปไมโครคอนโทรลเลอร์ AVR ้สามารถดาวน์ โหลดเวอร์ชนล่าสุดได้ที่ ั ุwww.atmel.com/avr เลอกหวขอ ื ั ้ Tools & Software
  31. 31. ซอฟต์แวร์คอมไพล์เลอร์ภาษา C สําหรับไมโครคอนโทรลเลอร์ AVR เป็ นซอฟต์แวร์ open source ดาวน์ โหลดโปรแกรมได้ที่ http://sourceforge.net/projects/winavr/ http://sourceforge net/projects/winavr/ ผลลัพธ์จากการคอมไพล์เป็ น *.hex ดาวน์ โหลดลงไมโครคอนโทรลเลอร์ ไดทนท ไ ้ ั ี ใช้งานร่วมกับ AVR Studio โดย AVR Studio จะค้นหาโปรแกรม WINAVR โ ตโนมัติหลังจากติดตังแล้้ว โดยอัั โ ั ั ั้
  32. 32. เป็ นไฟล์สนับสนุนชุดคําสังหรือฟังก์ชนต่าง ๆ ่ ั segment.h สําหรับควบคุมการแสดงผล 7  sound.h สําหรับการสร้างเสียง เซกเมนต์  analog h สํ ั analog.h สาหรบการอานคาอะนาลอกจากขา ่ ่ lcd.h สําหรับควบคุมการแสดงผล LCD พอร์ตของ AVR led.h สําหรับควบคม LED 8 ดวงบนบอร์ด 7 สาหรบควบคุม ดวงบนบอรด  in out.h สําหรับการอ่านค่าและส่งค่าไปยัง in_out.h สาหรบการอานคาและสงคาไปยง เซกเมนต์ พอร์ตอินพุตเอาต์พต ุ motor.h สําหรับการควบคุมมอเตอร์ gp2d120.h srf05 h sht11 h gp2d120 h ,srf05.h , sht11.h, serial.h สําหรับการสื่อสารข้อมูลอนุกรมกับ timer.h , memsic.h คอมพิวเตอร์ ทําการคัดลอก โฟลเดอร์ include ไปไว้ในไดรฟ์ C เพื่อการเรียกใช้งานได้สะดวก
  33. 33. ทดลองสร้าง Projectเลือก New Project หลังจากเรียกโปรแกรม AVR Studio
  34. 34. ทดลองสร้าง Project Project type:  AVR GCC Project name:  Counting ตังชื่อ Counting ้ เลือก Location ตามความเหมาะสม ื
  35. 35. ทดลองสร้าง Projectรายชื่อไฟล์ที่ เขียนซอร์สโค้ด เกีี่ยวข้้อง ภาษา C หน้ าต่าง แสดงผลลัพธ์ การคอมไพล การคอมไพล์
  36. 36. การปรับแต่งค่าในโปรเจ็ค โปรเจ็คทีสร้างขึนใหม่ตองผ่านการปรับค่าต่าง ๆ ก่อนเริมพัฒนา ่ ้ ้ ่ โปรแกรม เลือกเมนู Project  Configuration Options หัวข้อ General atmega16 เช็คทังหมด ้ 16000000
  37. 37. การปรับแต่งค่าในโปรเจ็ค กดเพื่อเพิ่มไฟล์ iinclude กดเพอเพมไฟล l dหัวข้อที่ 2
  38. 38. การปรับแต่งค่าในโปรเจ็คปรับแต่งเฉพาะเมือต้องการใช้งานเกี่ยวข้องกับการคํานวณคณิตศาสตร์ ่ serial.h และ lcd.h เพิ่มไลบรารี libm.a
  39. 39. ุชุดคําสังในไลบรารี IPST ่ in_out.h in out h – รวมคาสงพนฐานเพอจดการอนพุตเอาทพุต รวมคําสังพืนฐานเพือจัดการอินพตเอาท์พ ่ ้ ่ sleep.h – รวมคําสังหน่ วงเวลาเป็ นมิลลิวนาที ่ ิ led.h – รวมคําสังแสดงผลข้อมูลบนแถว LED 8 ดวง ่ segment.h รวมคาสงแสดงผลขอมูลบน segment h – รวมคําสังแสดงผลข้อมลบน LED แบบ 7 ส่วน ่ สวน timer.h – รวมคําสังจับเวลา ่ analog.h - รวมคําสังอ่านค่าอินพุตแบบอะนาลอก ่ sound.h รวมคาสงสงสญญาณเสยงออกทางลาโพงเปยโซ sound h – รวมคําสังส่งสัญญาณเสียงออกทางลําโพงเปี ยโซ ่ motor.h – รวมคําสังควบคุมมอเตอร์ไฟตรง ่
  40. 40. ตาแหนงตาง บนบอร์ด IPST MICROBOX ตําแหน่ งต่าง ๆ บนบอรด IPST-MICROBOX พอร์ต P6-P7 พอร์ต C สําหรับ (อิ นพตอะนาลอก) (อนพุตอะนาลอก) ต่อบอร์ดขับ เซกเมนต์ สวิตช์ เปิด/ปิด ตอบอรดขบ 7 เซกเมนต สวตช เปด/ปด จุดต่อไฟเลี้ยง จากอแดปเตอร์พอรต P0 P5พอร์ต P0-P5(อิ นพุตอะนาลอก) จุดต่อไฟจาก แบตเตอรี่ ไมโครคอนโทรลเลอร์ ATMEGA16 พอรต B0 B4 พอร์ต B0-B4 คริสตอล 16 MHz ครสตอล (เอนกประสงค์) พอร์ต D (เอนกประสงค) (เอนกประสงค์) สวิตช์รีเซต จุดเชื่อมต่อสําหรับ พอร์ต D0 และ D1 ดาวน์ โหลดโปรแกรม รับและส่งข้อมูลอนุกรม
  41. 41. S1 D1 POWER 1N4002 +5V K1 +DC IN/OUT - IPST MicroBOX วงจรของ IPST-MicroBOX R1 IC1 1k LM2940-5.0 LED1 K2 BD1 W04MAC/DC input 6-12V +5V 30 10 C4 AVC C VC C C1 C2 C3 R2 0.1/50V 32 0.1/50V 1000/6.3V 1000uF/6.3V 4.7k ARE F R3 47R 9 +5V RESET R20 150R 40 J6 MOSI +5V SW1 C5 IC1 PA0 PA 0 Reset 0.1/50V ATMEGA16 R21 150RRESET R4 39 J7 SCK 150R 6 PB5/MOSI PA1 PA 1 MISO R22 R5 150R 38 J8 150R 7 PB6/MISO PA2 PA 2 R23 R6 150R 150R 37 J9 8 PB7/SCK PA3 PA 3 R24 +5V 150R R7 36 J10 150R PA4 PA 4 J1 1 PB0 R25 PB0 150R R8 35 J11 150R PA5 PA 5 J2 2 PB1 R26 PB1 150R R9 34 J12 150R PA6 PA 6 J3 3 PB2 2 R27 PB2 150R R10 33 J13 150R PA7 PA 7 J4 4 PB3 PB3 R11 +5V 150R J5 5 PB4 R28 150R PB4 14 J14 PD0 PD0/RxD R29 +5V 150R 15 J15 R12 PD1 PD1/TxD 150R 22 R30 PC0 150R R13 16 J16 150R PD2 PD2 J22 23 PC1 R31PORTC R14 17 150R J17 150R 24 PC2 PD3 PD3 R15 R32 150R 150R 25 PC3 18 J18 PD4 PD4 R16 R33 150R 26 PC4 19 150R J19 R17 PD5 PD5 150R R34 27 150R PC5 20 J20 R18 PD6 PD6 150R 28 R35 PC6 21 150R J21 R19 PD7 PD7 150R 29 PC7 11 GND 31 GND XTAL1 XTAL2 12 13 C6 Xtal1 C7 30pF 16MHz 30pF
  42. 42. การเชื่อมต่อกับคอมพิวเตอร์เพื่อดาวน์ โหลดข้อมลการเชอมตอกบคอมพวเตอรเพอดาวนโหลดขอมูล
  43. 43. ชุดที่ 4 ุการทดลองอุปกรณ์์กลุ่ม
  44. 44. แผงวงจรขบ สองส ZX-LED2Cแผงวงจรขับ LED สองสี : ZX LED2C O LED 220 S + + LOW R Bi-color G LED S + HIGH ใช้ ใ LED แบบ 2 สีในการแสดงผล โดยเลือกได้ 2 แบบ ไ ช่อง HIGH ถ้าอินพุตเป็ นลอจิก "1" LED ติดเป็ นสีแดง ช่อง LOW ถ้าอินพตเป็ นลอจิก "0" LED ติดเป็ นสีเขียว ชอง ถาอนพุตเปนลอจก ตดเปนสเขยว ถ้าไม่ใช่สญญาณที่กาหนด LED จะดับ ั ํ
  45. 45. การทดลองที่ 1 ควบคุมการติดดับของ LED ุ LED Blinking ZX-LED2C Bi-color LED D + S - + S -1.ทําการเชื่อมต่อแผงวงจร ZX-LED2C เข้ากับบอร์ด IPST ที่ตาแหน่ ง PD7 ํ
  46. 46. การทดลองที่ 1 ควบคุมการติดดับของ LED ุ2.เปิ ดโปรแกรม AVR Studio สร้างโปรเจ็กต์ใหม่แล้วเขียนโปรแกรมต่อไปนี้ ลงไปเขยนโปรแกรมตอไปนลงไป#include <ipst.h> pvoid main(){ while(1) { out_b(1,1); out b(1 1); sleep(500); out_b(1,0); sleep(500); }}
  47. 47. การทดลองที่ 1 ควบคุมการติดดับของ LED ุ 3. คอมไพล์โปรแกรม ตรวจสอบ หน้ าต่าง Build ต้องแสดง ข้อความ "Build Secceeded” กดปุมเพอคอมไพล กดป่ มเพื่อคอมไพล์ แสดงวาโปรแกรมทเขยนขนไมม แสดงว่าโปรแกรมที่เขียนขึนไม่มี ้ ข้อผิดพลาด 4. เปิดโปรแกรม AVR Prog โดย ไปที่หน้ าต่าง Tools เลือก AVR Prog ไ เกิดข้้อผิดพลาด ไม่
  48. 48. การทดลองที่ 1 ควบคุมการติดดับของ LED ุ 4. เปิดโปรแกรม AVR Prog โดยไปที่หน้ าต่าง Tools เลืือก AVR Prog * ข้อที่ 4 ข้ามขันตอนสําคัญไปคือ การเชื่อมต่อบอร์ด ้ IPST เข้ากับคอมพิวเตอร์และจ่ายไฟให้กบบอร์ด IPST เขากบคอมพวเตอรและจายไฟใหกบบอรด ั4. ทาการเชอมตอบอรด4 ทําการเชื่อมต่อบอร์ด IPSTเข้ากับเครื่องโปรแกรม PX-4005. เชื่อมต่อสายระหว่าง PX-400กับคอมพิวเตอร์6. จ่ายไฟให้กบบอร์ด IPST ั7. เปิ ดโปรแกรม AVR Prog โ โ โดยไปที่หน้ าต่าง Toolsเลอกเลือก AVR Prog
  49. 49. การทดลองที่ 1 ควบคุมการติดดับของ LED ุ 1. เลือกไฟล์ 8. กดปุ่ ม Browse เลือกตําแหน่ งที่เก็บ โปรแกรม (นามสกุล *.hex ) จะเก็บไว้ไน ุ โฟลเดอร์ Default 9. เลือกเบอร์ของไมโครคอนโทรลเลอร์ ให้ ใ ้ตรง 10. ถ้าไม่จาเป็ นไม่ให้เข้าไปเปลี่ยนแปลง ํ คาในโฟลเดอร ค่าในโฟลเดอร์ Advanced 11. กดปุ่ ม Program เพื่อโปรแกรมข้อมูล3. Program ลงไปยังไมโครคอนโทรลเลอร์ 2. เลือกเบอร์
  50. 50. sleep - คําสังหน่่ วงเวลา ํ ั่ อยูในไฟล์เฮดเดอร์์ sleep.h ่ ไฟ ์ การใช้งาน sleep(m) – หน่วงเวลา m มิลลิวนาที (โดยประมาณ) ิ ตําแหน่ งพอร์ต ตาแหนงพอรตout_d(x,y) – คําสังกําหนดขาพอร์ตมีลอจิก “0” หรือ “1” ่ อยูในไฟล์เฮดเดอร์ in_out.h ่ การใช้งาน out_d(7,1) กําหนดให้ PD7 มีลอจิก “1” (,) out_d(6,0) กําหนดให้ PD6 มีลอจิก “0”
  51. 51. แผงวงจรสวิตช์ : ZX-SWITCH D SWITCH SWITCH 10k S + LOW 510 S + HIGH R G Bi-color LED +5 0V ลอจิก “0” +5 R1 10k 5V ลอจิก “1” R1 0V 10k 5VSW1 SW1 GND GND
  52. 52. การทดลองที่ 2 การอ่านค่าจากแผงวงจรสวิตช์1.ทําการเชื่อมต่อแผงวงจร ZX-LED2C เข้ากับบอร์ด IPST ที่ตาแหน่ ง PD7 ํ2 เชื่อมต่อแผงวงจรสวิตช์เข้ากับช่อง PB42. เชอมตอแผงวงจรสวตชเขากบชอง ZX Bi-color LED B X-LED2C ATMEGA16 + S - + S -
  53. 53. การทดลองที่ 2 การอ่านค่าจากแผงวงจรสวิตช์3. เปิดโปรแกรม AVR Studio สร้างโปรเจ็กต์ใหม่แล้วเขียนโปรแกรมต่อไปนี้ ลงไปเขยนโปรแกรมตอไปนลงไป#include <ipst.h>void main(){ while(1) { if(in_b(4)==0) { out_d(7,1); o t d(7 1) } else { out_d(7,0); } }}
  54. 54. การทดลองที่ 2 การอ่านค่าจากแผงวงจรสวิตช์4. คอมไพล์โปรแกรม5. ดาวน์ โหลดโปรแกรมลงไปยังไมโครคอนโทรลเลอร์6. ทดสอบการทํางานของโปรแกรมเมือกดสวิตช์ LED ......เมอกดสวตช ่เมือปล่อยสวิตช์์ LED ….. ่
  55. 55. บททดสอบ 1 สวิตช์กดติด กดดับ ZX-LED Bi-colo LED ATMEGA16 or D2C + S - + S -เขียนโปรแกรมใช้ฮาร์ดแวร์เดิม เมื่อกดสวิตช์ 1 ครัง LED ติด กดสวิตช์อีก 1 ครัง LED ใ ้ ้ดับ สลับกันไปเรือย ๆ ่
  56. 56. เฉลย รูปแบบที่ 1 ู #include <ipst.h> void main() { while(1) { if(in_b(4)==0) if(i b(4) 0) { toggle_d(7); sleep(300); } } }
  57. 57. เฉลย รูปแบบที่ 2#include <ipst.h>char a=0;void main(){ while(1) { if(in_b(4)==0) { if (a==0) { a=1; out_d(7,1); } else { a=0; out_d(7,0); out d(7,0); } sleep(300); } }}
  58. 58. ฟังชันสําหรับอ่านค่าจากพอร์ตอินพุต ่ ฟังก์ชน in_a สําหรับอ่านค่าระดับสัญญาณดิจตอลจากพอร์ต A ั่ ิ ฟังก์ชน in_b สําหรับอ่านค่าระดับสัญญาณดิจตอลจากพอร์ต B ั่ ิ ฟังก์ชน in_c สําหรับอ่านค่าระดับสัญญาณดิจตอลจากพอร์ต C ั่ ิ ฟังก์ชน in_d สําหรับอ่านค่าระดับสัญญาณดิจตอลจากพอร์ต D ั่ ิรูปแบบฟังก์ชน ั่ +5V R4 R5 R7 R9 ตัวอย่าง 150R 10k 10k 10k RB5 6 char in_a(x) RB6 7 R6 150R SW1 if (in_b5==0) char in_b(x) RB7 8 R8 150R SW2 { out_d(6,1); _ char in_c(x) GND 31 SW3 } GND 11 char in_d(x)พารามิเตอร์ x ทําหน้ าที่กาหนดขาสัญญาณที่ต้องการอ่านค่าซึ่งมีค่าตังแต่ 0 ถึง 7 ํ ้การคืืนค่่า อาจมีีค่าเป็็ น 0 หรืือ 1
  59. 59. แผงวงจรแสดงผลตัวเลข 4 หลัก : Display4 ใช้แสดงผลในรูปแบบของตัวเลข 4 หลัก ไฟแสดงตําแหน่่ ง 8 จุดหรืือผสมกัน หรืือไฟ ํ ั • ใช้ LED ตวเลข 7 สวน 4 หลกแบบแคโทดรวม ใช ั ่ ั โ ่ และมี LED จํานวน 8 ดวง สามารถเลือกให้แยกกัน แสดงผลหรอรวมกนกได แสดงผลหรือรวมกันก็ได้ • มีจุดต่อขาพอร์ต C แบบ 10 ขา จํานวน 2 จุด เพือต่อกับแผงวงจรหลัก MicroBOX และต่อพ่วง ่ เพือขยายจํานวนหลักทีตองการแสดงผล ่ ่ ้ เมือขยายจะเป็ นการขยายคราวละ 4 หลัก ่ และมจุดตอ 3 ขา อนเปนขาควบคุมการแสดงผลของ ี ่ ั ป็ แต่ละหลัก หากใช้ปกติ 4 หลักจะมีจุดต่อควบคุม 4 ชุด
  60. 60. วงจรของแผงวงจรแสดงผลตัวเลข 4 หลัก : Display4 +5V C1 20 01uF/50V +5V VCC IC1 Rp2 K2 1k*8 74HC541 DISP1 DISP2 DISP3 DISP4 PORT 2 18 a A0 Y0 3 A1 Y1 17 b 4 16 c A2 Y2 5 15 d A3 Y3 6 14 e A4 Y4 7 A5 Y5 13 f 8 12 g A6 Y6 9 11 dp A7 Y7 1 19 R1-R8 K1 OE1 OE2PORT GND 300R Q1 Q2 Q3 Q4 10 KRC102M KRC102M KRC102M KRC102M Rp1 +5V 220k*8 J1 DIGIT1 J2 DIGIT2 LED1-LED8 common J3 controlled ON DIGIT3 Q5 J4 KRC102M J1 DIGIT4 J5 LED
  61. 61. ฟังก์ ชั่น segment หรือ SEGMENT สํ าหรับแสดงผลข้ อมูลที่ LED ตัวเลข 7 ส่ วน รูปแบบฟังก์ ชั่น void segment(unsigned int val) พารามิเตอร์์ val ทําหน้้ าทีกาหนดค่่ าข้้ อมูลทีต้ องการแสดงผลข้้ อมูลที่ LED ตัวเลข 7 ส่่ วน(ทั้ง 4 หลัก) ่ํ ่ ช่ วงข้ อมูลทีเ่ ป็ นไปได้ คอตั้งแต่ 0 ถึง 9999 เท่ านั้น ถ้ าค่ าข้ อมูลมีค่ามากกว่ านีจะแสดงข้ อความเป็ น “----” ื ้ ตัวอย่ างที่ 1 segment(2549); // แสดงค่ าข้ อมูล 2549 ที่ LED ตัวเลข 7 ส่ วน ตัวอย่ างที่ 2 int i=0; while(1) { sleep(1000); // หน่ วงเวลา 1 วินาที segment(i++); // แสดงค่ าข้ อมูลของ i ที่ 7 เซกเมนต์ พร้ อมเพิมค่ า i ่ }
  62. 62. การทดลองที่ 3แสดงผลข้้อมูลทีี่ 7 เซกเมนต์์ โดยเพ่ิ มค่่าขึึน 1 ค่่าทุกๆ 1 วิ นาทีี เร่ิ มต้้นทีี่ค่า 0 โ ้ 1. ทําการเชื่ือมต่่ อแผงวงจร 7 ํ เซกเมนต์ เข้ ากับบอร์ ด IPST • เชื่อมต่อสายข้อมูล 8 บิตจากพอร์ ต C เขากบจุดตอ เข้ากับจดต่อ PORT ของ DSP4 • ต่อสายจากจุด PB4 เข้ากับจุดต่อ DIGIT4 • ต่อสายจากจด PB3 เข้ากับจดต่อ DIGIT3 ตอสายจากจุด เขากบจุดตอ • ต่อสายจากจุด PB2 เข้ากับจุดต่อ DIGIT2 ตอสายจากจุด เขากบจุดตอ • ต่อสายจากจด PB1 เข้ากับจดต่อ DIGIT1
  63. 63. การทดลองที่ 32. เปิดโปรแกรม AVR Studio สร้างโปรเจ็กต์ใหม่แล้วเขีียนโปรแกรมต่่อไปนีี้ ลงไป โป ไป ไป#include <ipst.h>void main(){ unsigned int i=0; hil (1) while(1) { segment(i ); segment(i++); sleep(1000); } }
  64. 64. การทดลองที่ 34. คอมไพล์โปรแกรม5. ดาวน์ โหลดโปรแกรมลงไปยังไมโครคอนโทรลเลอร์6. ทดสอบการทํางานของโปรแกรม
  65. 65. การทดลองที่ 4 แสดงผลข้อมูลที่ 7 เซกเมนต์ โดยการเพิ่มค่าขึน 1 ค่าทุกๆ 1 วินาที ้ เริ่มต้นจาก 0 เมื่อนับถึง 10 ให้ปิดการแสดงผล เรมตนจาก เมอนบถง ใหปดการแสดงผล#include <ipst.h>void main() 1. ใช้วงจรในการทดลองที่ 3{ unsigned int i=0; g ; for(i=0;i<11;i++) 2. เปิดโปรแกรม AVR Studio { สร้างโปรเจ็กต์ใหม่แล้ว เขียน segment(i); โปรแกรมตอไปนลงไป โปรแกรมต่อไปนี้ ลงไป sleep(1000); } segment_off(); while(1); ( );}
  66. 66. การทดลองที่ 5 แสดงผลข้อมูลที่ 7 เซกเมนต์ โดยแสดงค่าจํานวนครังในการกดสวิตช์ ้ (ใช้วิธีกดค้างค่าการนับจะไม่เพิ่มขึน) (ใชวธกดคางคาการนบจะไมเพมขน) ้ 1. ใช้วงจรในการทดลองที่ 3 แล้วต่อสวิตช์เพิ่มเติม เข้้าทีี่ตาแหน่่ ง PD7 ํ ในตําแหน่ งขา LOW
  67. 67. การทดลองที่ 5 แสดงผลข้อมูลที่ 7 เซกเมนต์ โดยแสดงค่าจํานวนครังในการกดสวิตช์ ้ (ใช้วิธีกดค้างค่าการนับจะไม่เพิ่มขึน) (ใชวธกดคางคาการนบจะไมเพมขน) ้#include <ipst h> <ipst.h> 2. เปิดโปรแกรม AVR Studiovoid main() สร้างโปรเจ็กต์ใหม่{ แล้วเขียนโปรแกรมต่อไปนี้ ลงไป unsigned i t i 0 i d int i=0; ไ ์ป 4. คอมไพล์โปรแกรม while(1) 5. ดาวน์ โหลดโปรแกรมลงไปยัง { segment(i); ไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์ if(in_d(7)==0) 6. ทดสอบการทํางานของโปรแกรม { while(in_d(7)==0); sleep(100); ; i++; } }}
  68. 68. การทดลองที่ 6 แสดงค่าจํานวนครังในการกดสวิตช์ที่ 7 เซกเมนต์ เพ่ิ มขึนทีละ 1 ้ ้ เมืื่อกดค้้างค่่าการนัับจะเพิ่ มขึึนอย่่างต่่อเนืื่ อง ้ 1. ใช้วงจรในการทดลองที่ 5#i l d <i t h>#include <ipst.h>void main() 2. เปิดโปรแกรม AVR Studio{ สร้างโปรเจ็กต์ใหม่ unsigned int i=0; แล้้วเขีียนโปรแกรมต่่อไป ี้ ลงไป โป ไปนี ไป while(1) 4. คอมไพล์โปรแกรม { 5. ดาวนโหลดโปรแกรมลงไปยง 5 ดาวน์ โหลดโปรแกรมลงไปยัง segment(i); if(in_d(7)==0) ไมโครคอนโทรลเลอร์ { 6. ทดสอบการทํางานของโปรแกรม i++; sleep(200); } }}
  69. 69. บททดสอบ 2 เขียนโปรแกรมตังเวลานับ 60 วินาที ้ ในแบบนับลง (Count down) เมือนับ ่ ลงมาจนกระทังถึง 0 หน้ าจอแสดงผล ่ จะต้องดับลงอัตโนมัติ
  70. 70. บททดสอบ 3 เขียนโปรแกรมแสดงผลข้อมูลที่ 7 เซกเมนต์ โดยให้แสดงค่าเริ่มต้น ที่ 100 เมื่อกดสวิตช์ที่ PD7 ค่าการนับจะต้อง เพิ่มขึน 1 ค่า เพมขน คา ้ เมื่อมีการกดสวิตช์ที่ PD6 ค่าการนับ จะต้องลดลง 1 ค่า
  71. 71. การทดลองที่ 7 แสดงผล LED 8 หลัก โดยแสดงค่าความสัมพันธ์ของตัวเลขที่ กาหนดใหออกไปแสดงผลในรูปเลขฐานสอง กําหนดให้ออกไปแสดงผลในรปเลขฐานสอง 0b11000001 1. เชื่อมต่อสายข้อมูล 8 บิตจากพอร์ต C ของบอร์ด IPST เข้้ากับบอร์ด DSP-4 ์ ั ์ 2. ต่อสายจากจุด PB0 เข้ากับบอร์ด DSP-4 3. จัมเปอร์จมไปทาง COM CONTROL ๊ ั๊
  72. 72. การทดลองที่ 7 แสดงผล LED 8 หลัก โดยแสดงค่าความสัมพันธ์ของตัวเลขที่ กาหนดใหออกไปแสดงผลในรูปเลขฐานสอง กําหนดให้ออกไปแสดงผลในรปเลขฐานสอง 0b110000014. เปิดโปรแกรม AVR Studio สร้างโปรเจ็กต์ใหม่ แล้วเขียนโปรแกรมต่อไปนี้ ลงไป5. คอมไพล์โปรแกรม6. ดาวน์ โหลดโปรแกรมลงไปยังไมโครคอนโทรลเลอร์7. ทดสอบการทางานของโปรแกรม7 ทดสอบการทํางานของโปรแกรม #include <ipst.h> void main() { while(1) { led8(0b11000001); } }
  73. 73. การทดลองที่ 8 ไฟกระพริบ LED 8 หลัก โปรแกรมจะสังให้ LED บิต 2 (หลักที่ 3 เมื่อนับ ่ จากซ้ายมือ) กับบิต 7(หลักที่ 8 เมื่อนับจากซ้ายมือ)กระพริ บต่อเนื่ อง จากซายมอ) กบบต 7(หลกท เมอนบจากซายมอ)กระพรบตอเนอง 1. ใช้วงจรในการทดลองที่ 7 2 เปิดโปรแกรม AVR Studio 2. เปดโปรแกรม #include <ipst.h> สร้างโปรเจ็กต์ใหม่ แล้วเขียน void main() { โปรแกรมต่อไปนี้ ลงไป while(1) 3. คอมไพล์โปรแกรม { 4. ดาวน์ โหลดโปรแกรมลงไปยัง l d8(0b10000100) led8(0b10000100); ไมโครคอนโทรลเลอร์์ ไ โ โ sleep(200); 5. ทดสอบการทํางานของโปรแกรม led8(0b00000000); sleep(200); } }
  74. 74. การทดลองที่ 9 ไฟกระพริบ LED 8 หลัก ไล่ลาดับจากซ้ายไปขวา ํ 1. ใช้วงจรในการทดลองที่ 7 #include <ipst.h> #i l d <i t h> 2 เปิดโปรแกรม AVR Studio 2. เปดโปรแกรม void main() สร้างโปรเจ็กต์ใหม่ แล้วเขียน { unsigned char i = 0b10000000; โปรแกรมต่อไปนี้ ลงไป while (1) 3. คอมไพล์โปรแกรม { 4. ดาวน์ โหลดโปรแกรมลงไปยัง led8(i); i = i >> 1; ไมโครคอนโทรลเลอร์์ ไ โ โ if (i == 0) 5. ทดสอบการทํางานของโปรแกรม {i = 0b10000000;} sleep(100); } }
  75. 75. บททดสอบ 4 เขียนโปรแกรมแสดงไฟวิ่งที่ LED 8 หลัก โดยวิ่งวนจากบิต 0 ไปยังบิต 7
  76. 76. แผงวงจรลําโพงเปี ยโซ : SPEAKER • ใช้ลาโพงเปี ยโซ มีอิมพีแดนซ์ 32 ํ • มีค่าความถี่เรโซแนนซ์ในย่าน 1 ถึง 3kH มคาความถเรโซแนนซในยาน ถง 3kHz K1 SOUND C1 + 10/16V S SP1 Piezo speaker
  77. 77. ชุดคําสังสําหรับกําเนิดเสียง ่ฟังก์ชน beep กําเนิดเสียงความที่ 2kHz นาน 10 mSec ั รูปแบบ ตัวอย่าง beep_a(char ch) beep_b(char beep b(char ch) beep d(3); p_ ( ); beep_c(char ch) ส่งเสียงออกลําโพงทีตาแหน่ง PD3 ่ ํ beep_d(char ch)ฟังก์ชน sound กําเนิดเสียงโดยกําหนดความถี่และระยะเวลาได้ ั รูปแบบ ตัวอย่างsound_a(char ch,int freq,int time) sound_b(3,800,500) d b(3 800 500)sound_b(char ch,int freq,int time)sound_c(char ch,int freq,int time) ส่งเสียงออกลําโพงทีตาแหน่ง PB3 ่ ํsound_d(char ch,int freq,int time) ความถี่ี 800 Hz ระยะเวลา 0.5 วินาทีี ิ
  78. 78. การทดลองที่ 10 โปรแกรมกําเนิดสัญญาณเสียงแบบง่ายที่ขา PD6 1. เชื่อมต่อลําโพงเปี ยโซเข้ากับ PD6 * ยังไม่ต้องถอดบอร์ด 7 เซกเมนต์ออก เพื่อใช้ในการทดลองต่อไป SPEAKER
  79. 79. การทดลองที่ 10 โปรแกรมกําเนิดสัญญาณเสียงแบบง่ายที่ขา PD6 2. เปิดโปรแกรม AVR Studio เปดโปรแกรม สร้างโปรเจ็กต์ใหม่ แล้วเขียน โปรแกรมต่อไปนี้ ลงไป #include <ipst.h> 3. คอมไพล์โปรแกรม void main() 4. ดาวน์ โหลดโปรแกรมลงไปยัง { ไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์ while (1) { 5. ทดสอบการทํางานของโปรแกรม beep_d(6); beep d(6); sleep(200); beep_d(6); sleep(1000); l (1000) } }
  80. 80. การทดลองที่ 11 โปรแกรมกําเนิดสัญญาณเสียงแบบง่ายแบบที่ 2 ที่ขา PD6 2. เปิดโปรแกรม AVR Studio เปดโปรแกรม สร้างโปรเจ็กต์ใหม่ แล้วเขียน โปรแกรมต่อไปนี้ ลงไป #include <ipst.h> 3. คอมไพล์โปรแกรม void main() 4. ดาวน์ โหลดโปรแกรมลงไปยัง { ไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร์ while (1) { 5. ทดสอบการทํางานของโปรแกรม sound_d(6,800,500); sound d(6 800 500); sleep(200); sound_d(6,800,500); sleep(1000); l (1000) } }

×