IPST-MicroBOX 1/3

82
การพฒนาโปรแกรมบน IPST MicroBOX การพฒนาโปรแกรมบน IPST - MicroBOX กฤษดา ใจเย็น นคร ภักดีชาติ วรพจน์ กรแก้ววัฒนกุล บร ษัท นโนเวตีฟ เอ็กเพอร เมนต์ จํากัด www.inex.co.th

description

IPST MicroBOX PowerPoint Presentation

Transcript of IPST-MicroBOX 1/3

Page 1: IPST-MicroBOX 1/3

การพฒนาโปรแกรมบน IPST MicroBOXการพฒนาโปรแกรมบน IPST-MicroBOXกฤษดา ใจเยน

นคร ภกดชาต

วรพจน กรแกววฒนกล

บรษท อนโนเวตฟ เอกเพอรเมนต จากดwww.inex.co.th

Page 2: IPST-MicroBOX 1/3

ชดท 1

สโลกสโลก

Page 3: IPST-MicroBOX 1/3

สโลกไมโครคอนโทรลเลอรสโลกไมโครคอนโทรลเลอร

ประวตไมโครโปรเซสเซอร

คอมพวเตอร คอ อปกรณทใชซอฟตแวรเปนตวดาเนนการทางาน วาตองการให

ป ใ ใ อปกรณใดทางานใดบาง

การพฒนาระบบคอมพวเตอรกเปนรปเปนรางมากขนเมอ Intel ไดพฒนา

อปกรณสาหรบประมวลผลคาสง ทเรยกวา “ไมโครโปรเซสเซอร”

"(Microprocessor)"( p )

MPU 4004 (MCS-4)

Page 4: IPST-MicroBOX 1/3

ไมโครโปรเซสเซอรตวแรกของโลกไมโครโปรเซสเซอรตวแรกของโลก 1971: 4004 ไมโครโปรเซสเซอร

ป ไ โ โป เปนไมโครโปรเซสเซอรตวแรกจากอนเทล ประดษฐกรรมชนนพฒนาขนเพอใชกบเครองคดเลขของ Busicom และปทางเขาสการออกแบบสงประดษฐใหมๆ อยางเชน เครองคอมพวเตอรสวนทางเขาสการออกแบบสงประดษฐใหมๆ อยางเชน เครองคอมพวเตอรสวนบคคล จานวนทรานซสเตอร: 2,300 ตว

ความเรวสญญาณนาฬกา: 108 kHz

1972: 8008 ไมโครโปรเซสเซอร 8008 เปนไมโครโปรเซสเซอรทมประสทธภาพสงกวารน 4004 ถงสองเทา 8008 เปนไมโครโปรเซสเซอรทมประสทธภาพสงกวารน 4004 ถงสองเทา โดยมการกลาวถงในบทความของ Radio Electronics เมอป 1974 วา อปกรณทชอ Mark-8 ใชชป 8008 สาหรบ Mark-8 นนเปนทรจกกนวาคอคอมพวเตอรรนแรกสาหรบใชภายในบาน จานวนทรานซสเตอร: 3,500 ตวความเรว: 200 kHzความเรว: 200 kHz

Page 5: IPST-MicroBOX 1/3

สโลกไมโครคอนโทรลเลอรสโลกไมโครคอนโทรลเลอร

ไมโครโปรเซสเซอร

การทางานของไมโครโพรเซสเซอร

จะทาหนาทประมวลคาสงขอมลในรป

Address

Data ROM

สญญาณดจตอล มาเทยบกบตาราง

ชดคาสง เพอกาหนดการทางานในแบบ

ตางๆ สวนอตราการประมวลผลนน

Data

ตางๆ สวนอตราการประมวลผลนน

ขนอยกบความถสญญาณนาฬกาทปอนให

ไมโครโพรเซสเซอร จาเปนตองมอปกรณ

Microprocessor RAM

Address

Data

รวมอนๆประกอบเขาดวยกน ไมวาจะเปน

หนวยความจา อปกรณรบ-สงสญญาณ

ตางๆI/O

Address

Data ตางๆ/

Page 6: IPST-MicroBOX 1/3

สโลกไมโครคอนโทรลเลอรสโลกไมโครคอนโทรลเลอร

ไมโครคอนโทรลเลอรกบไมโครโปรเซสเซอร

AddressI t t

จรง ๆ แลวไมโครโปรเซสเซอรสามารถ

นาไปประยกตใชในงานตางๆ มากมาย Data ROM

Interrupt

Watchdog

นาไปประยกตใชในงานตางๆ มากมาย

แตดวยขนาดของระบบซงมขนาดใหญ

รวมถงลกษณะงานบางอยางไม

ป ใช ส ใ

Microprocessor RAM

Address

Data

จาเปนตองใชความสามารถในการ

ประมวลผลมากนก

ไมโครคอนโทรลเลอรจงไดถอกาเนดขน

Address

ไมโครคอนโทรลเลอรจงไดถอกาเนดขน

โดยไดทาการรวมอปกรณพนฐานตางๆ

เขามาอยในไอซตวเดยว เพอลดขนาด

และความซบซอนของวงจรลง ทาใหI/O

Oscillator

Dataและความซบซอนของวงจรลง ทาให

ราคาของระบบถกลง

MicroController

Page 7: IPST-MicroBOX 1/3

สโลกไมโครคอนโทรลเลอรสโลกไมโครคอนโทรลเลอร

ไมโครคอนโทรลเลอรทมใชงานทว ๆ ไป

ไมโครโปรเซสเซอร

ไมโครคอนโทรลเลอร MCS-51

ไ โ โ ไ โ โ ไมโครคอนโทรลเลอร AVRไมโครคอนโทรลเลอร PIC ไมโครคอนโทรลเลอร BASIC Stamp ไมโครคอนโทรลเลอร AVR

Page 8: IPST-MicroBOX 1/3

สโลกไมโครคอนโทรลเลอรสโลกไมโครคอนโทรลเลอร

ไมโครคอนโทรลเลอรทมใชงานทว ๆ ไป

Page 9: IPST-MicroBOX 1/3

สโลกไมโครคอนโทรลเลอรสโลกไมโครคอนโทรลเลอร

ตวอยางการใชงานไมโครคอนโทรลเลอรในเครองปรบอากาศ

ระบบควบคมของเครองปรบอากาศ

ตรวจสอบการเปด

จากรโมตหรอสวตช

+V

220V

สงใหคอมเพรสเซอรทางาน

Data In

ตรวจสอบอณหภมจาก

มากกวา

คาทตงไวCompressor

Microcontroller

Digital In

Digital Out

เซนเซอร กบคาทตงไว

นอยกวา

คาทตงไว

A/D in

สงใหคอมเพรสเซอรหยดทางาน

Page 10: IPST-MicroBOX 1/3

ขนตอนการพฒนาโปรแกรมกบไมโครคอนโทรลเลอรขนตอนการพฒนาโปรแกรมกบไมโครคอนโทรลเลอร

ภาษา BASICภาษา Java Analog

Digital

ซอฟตแวร ฮารดแวรซอฟตแวรภาษา C

Page 11: IPST-MicroBOX 1/3

ขนตอนการพฒนาโปรแกรมกบไมโครคอนโทรลเลอร

ออกแบบฮารดแวร

โปเขยนโปรแกรมบนคอมพวเตอร

แกไขขอผดพลาด

คอมไพลโปรแกรมเปนภาษาเครอง

ตรวจสอบขอผดพลาด เปนภาษาเครอง

ดาวนโหลดโปรแกรม

ขอผดพลาด

ดาวนโหลดโปรแกรมไปยงบอรด

Page 12: IPST-MicroBOX 1/3

ภาษาทใชเขยนตดตอกบไมโครคอนโทรลเลอรภาษาทใชเขยนตดตอกบไมโครคอนโทรลเลอร

เชนเดยวกบการเขยนโปรแกรมบนคอมพวเตอร เชนเดยวกบการเขยนโปรแกรมบนคอมพวเตอร

ไมโครคอนโทรลเลอรสามารถเขยนโปรแกรมโดยใชภาษาระดบสง เชน

ภาษา BASIC ภาษา C หรอ PASCAL ได

แตภาษาทตดกบตวไมโครคอนโทรลเลอรแตละตวมาคอ ภาษาแอสเซมบล

ในแตละตระกลของไมโครคอนโทรลเลอร

กจะมโครงสรางทางภาษา (แอสแซมบล ) แตกตางกนกจะมโครงสรางทางภาษา (แอสแซมบล ) แตกตางกน

ภาษาสงกบไมโครคอนโทรลเลอรแบงออกเปน 2 รปแบบคอ

1. ใชคอมไพเลอร ภาษาตาง ๆ ชวยในการเขยนโปรแกรม

2. ใชอนเตอรพรเตอร ซงฝงตวอยในโมดลไมโครคอนโทรลเลอรเบอรนน ๆ

Page 13: IPST-MicroBOX 1/3

การพฒนาไมโครคอนโทรลเลอรในปจจบนรปแบบท 1 ใชไมโครคอนโทรลเลอรมตวแปลภาษา

• โมดลสาเรจรป ไมตองพงอปกรณภายนอก• โมดลสาเรจรป ไมตองพงอปกรณภายนอก

• ม อนเตอรพรตเตอร (ตวแปลภาษาในตว)

• ซอฟตแวรภาษาเบสกเขยนงาย มใหใชงานฟร

• ใชเวลาในการเรยนรนอย พฒนางานไดเรว ใชเวลาในการเรยนรนอย พฒนางานไดเรว

ราคาคอนขางสงเมอเทยบกบไมโครคอนโทรลเลอรตระกลอน

Page 14: IPST-MicroBOX 1/3

การพฒนาไมโครคอนโทรลเลอรในปจจบนการพฒนาไมโครคอนโทรลเลอรในปจจบน

รปแบบท 2 ใชไมโครคอนโทรลเลอรผานคอมไพเลอร

• ตองใชเครองโปรแกรมภายนอกในการโปรแกรม

ไ • คอมไพเลอรภาษา C แจกฟร

• ทางานดวยความเรวสง

• ราคา(ไมโครคอนโทรลเลอร ) ไมแพง

สาหรบผเรมตน ใชระยะเวลาในการเรยนรนานกวารปแบบท 1

Page 15: IPST-MicroBOX 1/3

ATMEGA-16 จาก ATMEL หวใจของ IPST-MicroBOX

• หนวยความจาโปรแกรมภายใน 16 kByte

• หนวยความจา RAM 1 kByte

• ทางานดวยความเรว 16 ลานคาสงตอวนาท ทครสตอล 16 MHz

• พอรตอนพตเอาตพต 32 ตาแหนง• พอรตอนพตเอาตพต 32 ตาแหนง

• วงจรพลสวดธมอดเลเตอร 4 ชอง

• ไทเมอรเคานเตอร 3 ตว

• การสอสารอนกรม SPI/I2C/USART

• วงจรแปลงสญญาณอะนาลอกเปนดจตอล 10 บต 8 ชอง

โป ไ • สามารถโปรแกรมและลบไดนบหมนครง

Page 16: IPST-MicroBOX 1/3

ATMEGA-16 จาก ATMEL หวใจของ IPST-MicroBOX

วงจรแปลงสญญาณ

อะนาลอกเปนดจตอล 10 บตไทเมอรเคานเตอร

หนวยความจาโปรแกรม

16 กโลไบต

อะนาลอกเปนดจตอล 10 บต

PA0-PA7PORTA

(อะนาลอกอนพต)

16 กโลไบต

หนวยความจาขอมล

1 กโลไบตพอรต

PC0-PC7PORTC

หนวยความจา EEPROM

512 ไบต

1 กโลไบตอนพต

เอาตพตPD0-PD7PORTD

ATMEGA16

512 ไบต

ออสซลเลเตอร

16 MHz

PB0-PB4PORTB

PORTBPB5-PB7

ดาวนโหลดโปรแกรมดาวนโหลดโปรแกรม

แบบ ISP

Page 17: IPST-MicroBOX 1/3

พ ๆ นอง ๆ ในตระกล ATMEGAของ Atmelพ ๆ นอง ๆ ในตระกล ATMEGAของ Atmel

Page 18: IPST-MicroBOX 1/3

ชดท 2

แนะนากลองสมองกล แนะนากลองสมองกล

Page 19: IPST-MicroBOX 1/3

IPST-MICROBOX

ชดสมบรณแบบ

Page 20: IPST-MicroBOX 1/3

บอรดควบคมหลก

Page 21: IPST-MicroBOX 1/3

ตาแหนงตาง ๆ บนบอรด IPST-MICROBOXตาแหนงตาง ๆ บนบอรด IPST MICROBOX

พอรต C สาหรบ

ตอบอรดขบ 7 เซกเมนต สวตช เปด/ปด

พอรต P6-P7

(อนพตอะนาลอก) ตอบอรดขบ 7 เซกเมนต สวตช เปด/ปด

จดตอไฟเลยง

จากอแดปเตอรพอรต P0-P5

(อนพตอะนาลอก)

จดตอไฟจาก

แบตเตอร

พอรต P0 P5

(อนพตอะนาลอก)

ไมโครคอนโทรลเลอร

พอรต B0-B4

ATMEGA16

ครสตอล 16 MHz

พอรต D

(เอนกประสงค)

พอรต B0 B4

(เอนกประสงค)

ครสตอล 16 MHz

(เอนกประสงค)

พอรต D0 และ D1

รบและสงขอมลอนกรม

จดเชอมตอสาหรบ

ดาวนโหลดโปรแกรม

สวตชรเซต

Page 22: IPST-MicroBOX 1/3

กลมบอรดควบคมและโปรแกรม

• เครองโปรแกรม PX-400

• บอรดหลก IPST-MICROBOX

กลมแผงวงจรตรวจจบแบบดจตอล

• แผงวงจรสวตช

• โมดลรบแสงอนฟราเรด

กลมแผงวงจรตรวจจบแบบอะนาลอกกลมแผงวงจรตรวจจบแบบอ นาลอก

• วดแสง,อณหภม,เสยง

• วดความตานทาน,สนามแมเหลก

กลมแผงวงจรขบเอาตพต

• ขบ LED ,ขบ 7 เซกเมนต,

• ขบมอเตอร,ขบรเลย

Page 23: IPST-MicroBOX 1/3

กลมบอรดควบคมและโปรแกรมกลมบอรดควบคมและโปรแกรม

1. แผงวงจร Micro BOX

2 ช โ โป PX 400 2. ชดดาวนโหลดโปรแกรม PX-400 พรอมสายตอพอรตอนกรม

3. แผงวงจร UCON-232S สาหรบแปลงพอรต USB เปนพอรตอนกรม

Page 24: IPST-MicroBOX 1/3

กลมแผงวงจรขบเอาตพต

แผงวงจรขบ LED สองส

แผงวงจรขบ LED อนฟราเรด

แผงวงจรขบรเลยแผงวงจรขบ ตวเลข 7 สวน

แผงวงจรขบ LED อนฟราเรด

แผงวงจรขบลาโพงเปยโซ แผงวงจรขบมอเตอรแผงวงจรแสดงผลและพอรตเอนกประสงค

Page 25: IPST-MicroBOX 1/3

กลมแผงวงจรตรวจจบแบบดจตอลกลมแผงวงจรตรวจจบแบบดจตอล

2 ชด

• เปนอปกรณรบขอมลดจทล

• ใหโลจก ‘0’ ถาตรวจจบคลน

อนฟราเรดยานความถ 38kHz ได

Page 26: IPST-MicroBOX 1/3

กลมแผงวงจรตรวจจบแบบอะนาลอก

แผงวงจรตรวจจบแสง

แผงวงจรตรวจจบสนามแมเหลกโมดลตรวจจบเสยง

สแผงวงจรตรวจจบแสง

อนฟราเรด แผงวงจรตรวจจบอณหภม

โมดลตรวจจบและวดระยะทาง

ดวยแสงอนฟราเรด

แผงวงจรตรวจจบการสะทอน แผงวงจรตรวจวดคาความตานทาน

Page 27: IPST-MicroBOX 1/3

กลมแผงวงจรตวตานทานปรบคาได

แผงวงจรตวตานทานปรบคาได ตวตงแผงวงจรตวตานทานปรบคาได แบบเลอน

สญลกษณของ

ตวตานทานปรบคาได

แผงวงจรตวตานทานปรบคาได ตวนอน

ตวตานทานปรบคาได

Page 28: IPST-MicroBOX 1/3

ชดท 3

การตดตง

Page 29: IPST-MicroBOX 1/3

AVR Studio ใ โป ไ โ โ เครองมอหลกในการพฒนาโปรแกรมบนไมโครคอลโทรเลอรตระกล AVR

เครองมอสาหรบสรางและแกไขซอรสโคด

เครองมอสาหรบคอมไพลซอรสโคดใหเปนภาษาเครอง

เครองมอสาหรบการจาลองการทางาน

เครองมอสาหรบโปรแกรมไมโครคอนโทรลเลอรผานพอรตอนกรม

* AVR Studio ไมมคอมไพเลอรภาษา C ตดตงอยภายในจะตองตดตงโปรแกรม Winavr กอนถงจะคอมไพลภาษา C ได

Page 30: IPST-MicroBOX 1/3

AVR Studio เปนซอฟตแวรจากAVR Studio เปนซอฟตแวรจาก

ผผลตชปไมโครคอนโทรลเลอร AVR

สามารถดาวนโหลดเวอรชนลาสดไดท

www.atmel.com/avr

เลอกหวขอ

Tools & Software

Page 31: IPST-MicroBOX 1/3
Page 32: IPST-MicroBOX 1/3

ซอฟตแวรคอมไพลเลอรภาษา C สาหรบไมโครคอนโทรลเลอร AVR

เปนซอฟตแวร open source ดาวนโหลดโปรแกรมไดท

http://sourceforge net/projects/winavr/http://sourceforge.net/projects/winavr/

ผลลพธจากการคอมไพลเปน *.hex ดาวนโหลดลงไมโครคอนโทรลเลอร

ไ ไดทนท

ใชงานรวมกบ AVR Studio โดย AVR Studio จะคนหาโปรแกรม

โ โ WINAVR โดยอตโนมตหลงจากตดตงแลว

Page 33: IPST-MicroBOX 1/3
Page 34: IPST-MicroBOX 1/3

เปนไฟลสนบสนนชดคาสงหรอฟงกชนตาง ๆ

segment.h สาหรบควบคมการแสดงผล 7

เซกเมนต

sound.h สาหรบการสรางเสยง

analog h ส

lcd.h สาหรบควบคมการแสดงผล LCD

led.h สาหรบควบคม LED 8 ดวงบนบอรด 7

analog.h สาหรบการอานคาอะนาลอกจากขาพอรตของ AVR

in out.h สาหรบการอานคาและสงคาไปยงled.h สาหรบควบคม LED 8 ดวงบนบอรด 7

เซกเมนต

motor.h สาหรบการควบคมมอเตอร

in_out.h สาหรบการอานคาและสงคาไปยงพอรตอนพตเอาตพต

gp2d120 h srf05 h sht11 h serial.h สาหรบการสอสารขอมลอนกรมกบ

คอมพวเตอร

gp2d120.h ,srf05.h , sht11.h,

timer.h , memsic.h

ทาการคดลอก โฟลเดอร include ไปไวในไดรฟ C เพอการเรยกใชงานไดสะดวก

Page 35: IPST-MicroBOX 1/3

ทดลองสราง Project

เลอก New Project หลงจากเรยกโปรแกรม AVR Studio

Page 36: IPST-MicroBOX 1/3

ทดลองสราง Project

Project type: AVR GCC

Project name: Counting

ตงชอ Counting

เลอก Location ตามความเหมาะสม

Page 37: IPST-MicroBOX 1/3

ทดลองสราง Project

รายชอไฟลท

เขยนซอรสโคด

เกยวของ ภาษา C

หนาตาง

แสดงผลลพธ

การคอมไพลการคอมไพล

Page 38: IPST-MicroBOX 1/3

การปรบแตงคาในโปรเจค โปรเจคทสรางขนใหมตองผานการปรบคาตาง ๆ กอนเรมพฒนา

โปรแกรม

เลอกเมน Project Configuration Options

หวขอ General

atmega16เชคทงหมด

16000000

Page 39: IPST-MicroBOX 1/3

การปรบแตงคาในโปรเจค

กดเพอเพมไฟล i l dกดเพอเพมไฟล include

หวขอท 2

Page 40: IPST-MicroBOX 1/3

การปรบแตงคาในโปรเจค

ปรบแตงเฉพาะเมอตองการใชงานเกยวของกบการคานวณคณตศาสตร

serial.h และ lcd.h

เพมไลบราร libm.a

Page 41: IPST-MicroBOX 1/3

ชดคาสงในไลบราร IPST

in out h – รวมคาสงพนฐานเพอจดการอนพตเอาทพตin_out.h รวมคาสงพนฐานเพอจดการอนพตเอาทพต

sleep.h – รวมคาสงหนวงเวลาเปนมลลวนาท

led.h – รวมคาสงแสดงผลขอมลบนแถว LED 8 ดวง

segment h – รวมคาสงแสดงผลขอมลบน LED แบบ 7 สวนsegment.h รวมคาสงแสดงผลขอมลบน LED แบบ 7 สวน

timer.h – รวมคาสงจบเวลา

analog.h - รวมคาสงอานคาอนพตแบบอะนาลอก

sound h – รวมคาสงสงสญญาณเสยงออกทางลาโพงเปยโซ sound.h – รวมคาสงสงสญญาณเสยงออกทางลาโพงเปยโซ

motor.h – รวมคาสงควบคมมอเตอรไฟตรง

Page 42: IPST-MicroBOX 1/3

ตาแหนงตาง ๆ บนบอรด IPST-MICROBOXตาแหนงตาง ๆ บนบอรด IPST MICROBOX

พอรต C สาหรบ

ตอบอรดขบ 7 เซกเมนต สวตช เปด/ปด

พอรต P6-P7

(อนพตอะนาลอก) ตอบอรดขบ 7 เซกเมนต สวตช เปด/ปด

จดตอไฟเลยง

จากอแดปเตอรพอรต P0-P5

(อนพตอะนาลอก)

จดตอไฟจาก

แบตเตอร

พอรต P0 P5

(อนพตอะนาลอก)

ไมโครคอนโทรลเลอร

พอรต B0-B4

ATMEGA16

ครสตอล 16 MHz

พอรต D

(เอนกประสงค)

พอรต B0 B4

(เอนกประสงค)

ครสตอล 16 MHz

(เอนกประสงค)

พอรต D0 และ D1

รบและสงขอมลอนกรม

จดเชอมตอสาหรบ

ดาวนโหลดโปรแกรม

สวตชรเซต

Page 43: IPST-MicroBOX 1/3

BD1W04M

K1DC IN/OUT

+-

K2AC/DC input

LED1

R11k

IC1LM2940-5.0

S1POWER +5V

D11N4002

วงจรของ IPST-MicroBOXAC/DC input6-12V

+5V

AVC C

30VC C

10

AREF32

R3R2

4.7k

C10.1/50V

C21000/6.3V

C40.1/50V

C31000uF/6.3V

วงจรของ IPST MicroBOX

RESET9R347R

+5V C50.1/50V

SW1Reset

6 PB5/MOSI

R4150R

7 PB6/MISO

R5150R

R6

J6PA0

J7PA1

J8PA2

+5VR20150R

PA0R21150R

PA1R22150R

PA2R23

MOSI

RESET

MISO

SCK

IC1ATMEGA16

40

39

38

8 PB7/SCK

R6150R

1 PB0

R7150R

J1PB0

J2PB1

J3

+5V

2 PB1

R8150R

3 2

R9150R

J9PA3

J10PA4

J11PA5

J12PA6

150RPA3

R24150R

PA4R25150R

PA5R26150R

PA6

37

36

35

34

J3PB2

J4PB3

J5PB4

3 PB2

4 PB3

R10150R

5 PB4

R11150R

J13PA7

R27150R

PA7

J14PD0/RxD

J15PD1/TxD

+5VR28150R

PD0R29150R

PD1+5V

R12

33

14

15PD1/TxD

J16PD2

J17PD3

J18PD4

J19

R30150R

PD2R31150R

PD3R32150R

PD4R33150R

PD5

PC0

PC1

PC2

PC3

PC4

22

23

24

25

26

150R

R13150R

R14150R

R15150R

R16150R

J22PORTC

16

17

18

19

3111GND

GND

J19PD5

J20PD6

J21PD7

PD5R34150R

PD6R35150R

PD7

PC4

PC5

PC6

PC7

27

29

28

R17150R

R18150R

R19150R

20

21

XTAL1 XTAL212 13

Xtal116MHz

C630pF

C730pF

Page 44: IPST-MicroBOX 1/3

การเชอมตอกบคอมพวเตอรเพอดาวนโหลดขอมลการเชอมตอกบคอมพวเตอรเพอดาวนโหลดขอมล

Page 45: IPST-MicroBOX 1/3

ชดท 4

ป การทดลองอปกรณกลม

Page 46: IPST-MicroBOX 1/3

แผงวงจรขบ LED สองส : ZX LED2Cแผงวงจรขบ LED สองส : ZX-LED2C

O LED

220LOW

O LED

+S

HIGH

Bi-colorLED

R

G

+

S HIGH+S

ใ ใ ไใช LED แบบ 2 สในการแสดงผล โดยเลอกได 2 แบบ

ชอง HIGH ถาอนพตเปนลอจก "1" LED ตดเปนสแดง

ชอง LOW ถาอนพตเปนลอจก "0" LED ตดเปนสเขยว ชอง LOW ถาอนพตเปนลอจก "0" LED ตดเปนสเขยว

ถาไมใชสญญาณทกาหนด LED จะดบ

Page 47: IPST-MicroBOX 1/3

การทดลองท 1 ควบคมการตดดบของ LED

LED Blinking ZX-LED2C

Bi-color LEDD-+ S -+ S

1.ทาการเชอมตอแผงวงจร ZX-LED2C เขากบบอรด IPST ทตาแหนง PD7

Page 48: IPST-MicroBOX 1/3

การทดลองท 1 ควบคมการตดดบของ LED2.เปดโปรแกรม 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);

}}}

Page 49: IPST-MicroBOX 1/3

การทดลองท 1 ควบคมการตดดบของ LED

3. คอมไพลโปรแกรม ตรวจสอบ

กดปมเพอคอมไพล

หนาตาง Build ตองแสดง

ขอความ "Build Secceeded”

แสดงวาโปรแกรมทเขยนขนไมมกดปมเพอคอมไพล แสดงวาโปรแกรมทเขยนขนไมม

ขอผดพลาด

4. เปดโปรแกรม AVR Prog โดย

ไปทหนาตาง Tools เลอก

AVR Prog

ไมเกดขอผดพลาด

Page 50: IPST-MicroBOX 1/3

การทดลองท 1 ควบคมการตดดบของ LED

4. เปดโปรแกรม AVR Prog โดยไปทหนาตาง Tools

เลอก AVR Prog

* ขอท 4 ขามขนตอนสาคญไปคอ การเชอมตอบอรด

IPST เขากบคอมพวเตอรและจายไฟใหกบบอรด IPSTIPST เขากบคอมพวเตอรและจายไฟใหกบบอรด IPST

4 ทาการเชอมตอบอรด IPST 4. ทาการเชอมตอบอรด IPST

เขากบเครองโปรแกรม PX-400

5. เชอมตอสายระหวาง PX-400

กบคอมพวเตอร

6. จายไฟใหกบบอรด IPST

โ โ7. เปดโปรแกรม AVR Prog โดย

ไปทหนาตาง Tools

เลอก AVR Progเลอก AVR Prog

Page 51: IPST-MicroBOX 1/3

การทดลองท 1 ควบคมการตดดบของ LED8. กดป ม Browse เลอกตาแหนงทเกบ

โปรแกรม (นามสกล *.hex ) จะเกบไวไน

1. เลอกไฟล

โฟลเดอร Default

9. เลอกเบอรของไมโครคอนโทรลเลอร

ใ ใหตรง

10. ถาไมจาเปนไมใหเขาไปเปลยนแปลง

คาในโฟลเดอร Advanced คาในโฟลเดอร Advanced

11. กดป ม Program เพอโปรแกรมขอมล

ลงไปยงไมโครคอนโทรลเลอร3. Program

2. เลอกเบอร

Page 52: IPST-MicroBOX 1/3

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”

Page 53: IPST-MicroBOX 1/3

แผงวงจรสวตช : ZX-SWITCH D SWITCH

LOW10kSWITCH +S

HIGH510 +SR

Bi-color LEDG

+5+5

0V ลอจก “0”

10kR1

0V 10kR1

5V5V ลอจก “1”

SW1

0V

SW1

5V

GND GND

Page 54: IPST-MicroBOX 1/3

การทดลองท 2 การอานคาจากแผงวงจรสวตช1.ทาการเชอมตอแผงวงจร ZX-LED2C เขากบบอรด IPST ทตาแหนง PD7

2 เชอมตอแผงวงจรสวตชเขากบชอง PB42. เชอมตอแผงวงจรสวตชเขากบชอง PB4ZXB X-LED

2C

Bi-color LED

-+ S -+ S

ATMEGA16

Page 55: IPST-MicroBOX 1/3

การทดลองท 2 การอานคาจากแผงวงจรสวตช3. เปดโปรแกรม AVR Studio สรางโปรเจกตใหมแลว

เขยนโปรแกรมตอไปนลงไปเขยนโปรแกรมตอไปนลงไป

#include <ipst.h>void main(){

while(1){{

if(in_b(4)==0){

o t d(7 1)out_d(7,1);}else{{

out_d(7,0);}

}}}

Page 56: IPST-MicroBOX 1/3

การทดลองท 2 การอานคาจากแผงวงจรสวตช

4. คอมไพลโปรแกรม

5. ดาวนโหลดโปรแกรมลงไปยงไมโครคอนโทรลเลอร

6. ทดสอบการทางานของโปรแกรม

เมอกดสวตช LED ......เมอกดสวตช LED ......

เมอปลอยสวตช LED …..

Page 57: IPST-MicroBOX 1/3

บททดสอบ 1 สวตชกดตด กดดบ

ZX-LED

Bi-coloATMEGA16 D2C

or LED

-+ S -+ S

ATMEGA16

ใ เขยนโปรแกรมใชฮารดแวรเดม เมอกดสวตช 1 ครง LED ตด กดสวตชอก 1 ครง LED

ดบ สลบกนไปเรอย ๆ

Page 58: IPST-MicroBOX 1/3

เฉลย รปแบบท 1

#include <ipst.h>void main(){

while(1){

if(i b(4) 0)if(in_b(4)==0){toggle_d(7);sleep(300);sleep(300);}

}}}

Page 59: IPST-MicroBOX 1/3

เฉลย รปแบบท 2

#include <ipst.h>char a=0;void main()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);

}}}

}

Page 60: IPST-MicroBOX 1/3

ฟงชนสาหรบอานคาจากพอรตอนพต

ฟงกชน in_a สาหรบอานคาระดบสญญาณดจตอลจากพอรต A

ฟงกชน in_b สาหรบอานคาระดบสญญาณดจตอลจากพอรต B

ฟงกชน in_c สาหรบอานคาระดบสญญาณดจตอลจากพอรต C

ฟงกชน in_d สาหรบอานคาระดบสญญาณดจตอลจากพอรต D

รปแบบฟงกชน+5V

RB5

R510k

R710k

R910k

R4150R

6

ตวอยาง

char in_a(x)

char in_b(x)RB6

RB7

SW1R6150R

R8150R

7

8SW2

SW3

if (in_b5==0){out_d(6,1);

char in_c(x)

char in_d(x)GND 11GND 31

SW3_

}

พารามเตอร x ทาหนาทกาหนดขาสญญาณทตองการอานคาซงมคาตงแต 0 ถง 7

การคนคา อาจมคาเปน 0 หรอ 1

Page 61: IPST-MicroBOX 1/3

แผงวงจรแสดงผลตวเลข 4 หลก : Display4

ใชแสดงผลในรปแบบของตวเลข 4 หลก

ไฟ หรอไฟแสดงตาแหนง 8 จดหรอผสมกน

• ใช LED 7 4 โ • ใช LED ตวเลข 7 สวน 4 หลกแบบแคโทดรวม

และม LED จานวน 8 ดวง สามารถเลอกใหแยกกน

แสดงผลหรอรวมกนกได แสดงผลหรอรวมกนกได

• มจดตอขาพอรต C แบบ 10 ขา จานวน 2 จด

เพอตอกบแผงวงจรหลก MicroBOX และตอพวง

เพอขยายจานวนหลกทตองการแสดงผล

เมอขยายจะเปนการขยายคราวละ 4 หลก

3 ปและมจดตอ 3 ขา อนเปนขาควบคมการแสดงผลของ

แตละหลก หากใชปกต 4 หลกจะมจดตอควบคม 4 ชด

Page 62: IPST-MicroBOX 1/3

วงจรของแผงวงจรแสดงผลตวเลข 4 หลก : Display4

+5V

Rp21k*8

+5V

+5V

A0 Y0

VCC

32

1718

20C1

01uF/50V

K2PORT

IC174HC541 DISP1 DISP2 DISP3 DISP4

ba

Q1 Q2 Q3 Q4R1-R8

A7A6A5A4A3A2A1A0

Y7Y6Y5Y4Y3Y2Y1Y0

9876543

11121314151617

OE2OE11 19K1

dpgfedcb

+5V

Q1KRC102M

Q2KRC102M

Q3KRC102M

Q4KRC102M

Rp1220k*8

300RGND10

J1

PORT

LED1-LED8ON

commoncontrolled

DIGIT1

J2DIGIT2

J3

J1Q5

KRC102M

DIGIT3

J4DIGIT4

J5LED

Page 63: IPST-MicroBOX 1/3

ฟงกชน 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

}}

Page 64: IPST-MicroBOX 1/3

การทดลองท 3 โ แสดงผลขอมลท 7 เซกเมนต โดยเพมคาขน 1 คาทกๆ 1 วนาท เรมตนทคา 0

1. ทาการเชอมตอแผงวงจร 7

เซกเมนตเขากบบอรด IPST

• เชอมตอสายขอมล 8 บตจากพอรต C

เขากบจดตอ PORT ของ DSP4เขากบจดตอ PORT ของ DSP4

• ตอสายจากจด PB4 เขากบจดตอ DIGIT4

• ตอสายจากจด PB3 เขากบจดตอ DIGIT3 ตอสายจากจด PB3 เขากบจดตอ DIGIT3

• ตอสายจากจด PB2 เขากบจดตอ DIGIT2

• ตอสายจากจด PB1 เขากบจดตอ DIGIT1 ตอสายจากจด PB1 เขากบจดตอ DIGIT1

Page 65: IPST-MicroBOX 1/3

การทดลองท 3

2. เปดโปรแกรม AVR Studio สรางโปรเจกตใหมแลว

โป ไป ไปเขยนโปรแกรมตอไปนลงไป

#include <ipst.h>void main(){

unsigned int i=0;hil (1)while(1)

{segment(i++);segment(i );sleep(1000);

}}

Page 66: IPST-MicroBOX 1/3

การทดลองท 3

4. คอมไพลโปรแกรม

5. ดาวนโหลดโปรแกรมลงไปยงไมโครคอนโทรลเลอร

6. ทดสอบการทางานของโปรแกรม

Page 67: IPST-MicroBOX 1/3

การทดลองท 4 แสดงผลขอมลท 7 เซกเมนต โดยการเพมคาขน 1 คาทกๆ 1 วนาท

เรมตนจาก 0 เมอนบถง 10 ใหปดการแสดงผลเรมตนจาก 0 เมอนบถง 10 ใหปดการแสดงผล

#include <ipst.h>void main()

1. ใชวงจรในการทดลองท 3void main(){

unsigned int i=0;g ;for(i=0;i<11;i++){

2. เปดโปรแกรม AVR Studio

สรางโปรเจกตใหมแลว เขยน

โปรแกรมตอไปนลงไปsegment(i);sleep(1000);

}

โปรแกรมตอไปนลงไป

}segment_off();while(1);( );

}

Page 68: IPST-MicroBOX 1/3

การทดลองท 5 แสดงผลขอมลท 7 เซกเมนต โดยแสดงคาจานวนครงในการกดสวตช

(ใชวธกดคางคาการนบจะไมเพมขน)(ใชวธกดคางคาการนบจะไมเพมขน)

1. ใชวงจรในการทดลองท 3

แลวตอสวตชเพมเตม

เขาทตาแหนง PD7

ในตาแหนงขา LOW

Page 69: IPST-MicroBOX 1/3

การทดลองท 5 แสดงผลขอมลท 7 เซกเมนต โดยแสดงคาจานวนครงในการกดสวตช

(ใชวธกดคางคาการนบจะไมเพมขน)(ใชวธกดคางคาการนบจะไมเพมขน)

2. เปดโปรแกรม AVR Studio #include <ipst h>สรางโปรเจกตใหม

แลวเขยนโปรแกรมตอไปนลงไป

ไ โป

#include <ipst.h>void main(){

i d i t i 0 4. คอมไพลโปรแกรม

5. ดาวนโหลดโปรแกรมลงไปยง

ไมโครคอนโทรลเลอร

unsigned int i=0;while(1){

ไมโครคอนโทรลเลอร

6. ทดสอบการทางานของโปรแกรมsegment(i);if(in_d(7)==0){

while(in_d(7)==0);sleep(100);i++;;

}}

}}

Page 70: IPST-MicroBOX 1/3

การทดลองท 6 แสดงคาจานวนครงในการกดสวตชท 7 เซกเมนต เพมขนทละ 1

เมอกดคางคาการนบจะเพมขนอยางตอเนอง

1. ใชวงจรในการทดลองท 5#i l d <i t h>2. เปดโปรแกรม AVR Studio

สรางโปรเจกตใหม

โป ไป ไป

#include <ipst.h>void main(){

แลวเขยนโปรแกรมตอไปนลงไป

4. คอมไพลโปรแกรม

5 ดาวนโหลดโปรแกรมลงไปยง

unsigned int i=0;while(1){ 5. ดาวนโหลดโปรแกรมลงไปยง

ไมโครคอนโทรลเลอร

6. ทดสอบการทางานของโปรแกรม

segment(i);if(in_d(7)==0){{

i++;sleep(200);

}}

}}

Page 71: IPST-MicroBOX 1/3

บททดสอบ 2

เขยนโปรแกรมตงเวลานบ 60 วนาท

ในแบบนบลง (Count down) เมอนบ

ลงมาจนกระทงถง 0 หนาจอแสดงผล

จะตองดบลงอตโนมต

Page 72: IPST-MicroBOX 1/3

บททดสอบ 3

เขยนโปรแกรมแสดงผลขอมลท

7 เซกเมนต โดยใหแสดงคาเรมตน

ท 100

เมอกดสวตชท PD7 คาการนบจะตอง

เพมขน 1 คา เพมขน 1 คา

เมอมการกดสวตชท PD6 คาการนบ

จะตองลดลง 1 คา

Page 73: IPST-MicroBOX 1/3

การทดลองท 7 แสดงผล LED 8 หลก โดยแสดงคาความสมพนธของตวเลขท

กาหนดใหออกไปแสดงผลในรปเลขฐานสอง 0b11000001กาหนดใหออกไปแสดงผลในรปเลขฐานสอง 0b11000001

1. เชอมตอสายขอมล 8 บตจากพอรต C

ของบอรด IPST เขากบบอรด DSP-4

2. ตอสายจากจด PB0 เขากบบอรด DSP-4

3. จมเปอรจ มไปทาง COM CONTROL

Page 74: IPST-MicroBOX 1/3

การทดลองท 7 แสดงผล LED 8 หลก โดยแสดงคาความสมพนธของตวเลขท

กาหนดใหออกไปแสดงผลในรปเลขฐานสอง 0b11000001กาหนดใหออกไปแสดงผลในรปเลขฐานสอง 0b11000001

4. เปดโปรแกรม AVR Studio สรางโปรเจกตใหม แลวเขยนโปรแกรมตอไปนลงไป

5. คอมไพลโปรแกรม

6. ดาวนโหลดโปรแกรมลงไปยงไมโครคอนโทรลเลอร

7 ทดสอบการทางานของโปรแกรม7. ทดสอบการทางานของโปรแกรม

#include <ipst.h>void main(){

while(1){

led8(0b11000001);led8(0b11000001);}

}

Page 75: IPST-MicroBOX 1/3

การทดลองท 8 ไฟกระพรบ LED 8 หลก โปรแกรมจะสงให LED บต 2 (หลกท 3 เมอนบ

จากซายมอ) กบบต 7(หลกท 8 เมอนบจากซายมอ)กระพรบตอเนอง จากซายมอ) กบบต 7(หลกท 8 เมอนบจากซายมอ)กระพรบตอเนอง

1. ใชวงจรในการทดลองท 7

2 เปดโปรแกรม AVR Studio 2. เปดโปรแกรม AVR Studio

สรางโปรเจกตใหม แลวเขยน

โปรแกรมตอไปนลงไป

#include <ipst.h>void main(){

3. คอมไพลโปรแกรม

4. ดาวนโหลดโปรแกรมลงไปยง

ไ โ โ

{while(1){

l d8(0b10000100) ไมโครคอนโทรลเลอร

5. ทดสอบการทางานของโปรแกรม

led8(0b10000100);sleep(200);led8(0b00000000);sleep(200);

}}

Page 76: IPST-MicroBOX 1/3

การทดลองท 9 ไฟกระพรบ LED 8 หลก ไลลาดบจากซายไปขวา

1. ใชวงจรในการทดลองท 7

2 เปดโปรแกรม AVR Studio #i l d <i t h> 2. เปดโปรแกรม AVR Studio

สรางโปรเจกตใหม แลวเขยน

โปรแกรมตอไปนลงไป

#include <ipst.h>void main(){

unsigned char i = 0b10000000;3. คอมไพลโปรแกรม

4. ดาวนโหลดโปรแกรมลงไปยง

ไ โ โ

unsigned char i = 0b10000000;while (1){

led8(i);ไมโครคอนโทรลเลอร

5. ทดสอบการทางานของโปรแกรม

led8(i);i = i >> 1;if (i == 0){i = 0b10000000;}{i 0b10000000;}sleep(100);

}}

Page 77: IPST-MicroBOX 1/3

บททดสอบ 4

เขยนโปรแกรมแสดงไฟวงท LED 8 หลก

โดยวงวนจากบต 0 ไปยงบต 7

Page 78: IPST-MicroBOX 1/3

แผงวงจรลาโพงเปยโซ : SPEAKER

• ใชลาโพงเปยโซ มอมพแดนซ 32

• มคาความถเรโซแนนซในยาน 1 ถง 3kH• มคาความถเรโซแนนซในยาน 1 ถง 3kHz

C110/16V+

K1SOUND

10/16VS+

SP1SP1Piezo

speaker

Page 79: IPST-MicroBOX 1/3

ชดคาสงสาหรบกาเนดเสยง

ฟงกชน beep กาเนดเสยงความท 2kHz นาน 10 mSec

beep_a(char ch)beep b(char ch)

ตวอยาง

beep d(3);

รปแบบ

beep_b(char ch)beep_c(char ch)beep_d(char ch)

p_ ( );สงเสยงออกลาโพงทตาแหนง PD3

ฟงกชน sound กาเนดเสยงโดยกาหนดความถและระยะเวลาได

รปแบบ ตวอยาง

d b(3 800 500)sound_a(char ch,int freq,int time)sound_b(char ch,int freq,int time)sound c(char ch,int freq,int time)

sound_b(3,800,500)สงเสยงออกลาโพงทตาแหนง PB3

_

sound_d(char ch,int freq,int time) ความถ 800 Hz ระยะเวลา 0.5 วนาท

Page 80: IPST-MicroBOX 1/3

การทดลองท 10 โปรแกรมกาเนดสญญาณเสยงแบบงายทขา PD6

1. เชอมตอลาโพงเปยโซเขากบ PD6

* ยงไมตองถอดบอรด 7 เซกเมนตออก เพอใชในการทดลองตอไป

SPEAKER

Page 81: IPST-MicroBOX 1/3

การทดลองท 10 โปรแกรมกาเนดสญญาณเสยงแบบงายทขา PD6

2. เปดโปรแกรม AVR Studio 2. เปดโปรแกรม AVR Studio

สรางโปรเจกตใหม แลวเขยน

โปรแกรมตอไปนลงไป

3. คอมไพลโปรแกรม

4. ดาวนโหลดโปรแกรมลงไปยง

ไมโครคอนโทรลเลอร

#include <ipst.h>void main(){ ไมโครคอนโทรลเลอร

5. ทดสอบการทางานของโปรแกรม

{while (1){

beep d(6);beep_d(6);sleep(200);beep_d(6);l (1000)sleep(1000);

}}

Page 82: IPST-MicroBOX 1/3

การทดลองท 11 โปรแกรมกาเนดสญญาณเสยงแบบงายแบบท 2 ทขา PD6

2. เปดโปรแกรม AVR Studio 2. เปดโปรแกรม AVR Studio

สรางโปรเจกตใหม แลวเขยน

โปรแกรมตอไปนลงไป

3. คอมไพลโปรแกรม

4. ดาวนโหลดโปรแกรมลงไปยง

ไมโครคอนโทรลเลอร

#include <ipst.h>void main(){ ไมโครคอนโทรลเลอร

5. ทดสอบการทางานของโปรแกรม

{while (1){

sound d(6 800 500);sound_d(6,800,500);sleep(200);sound_d(6,800,500);l (1000)sleep(1000);

}}