Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Z8Encore

คูม่ อื การใช้บอร์ด
CP-jrZ8F01 V1/EXP
Z8 Encore Z8F4801 48Kbyte Flash
ATOD 10BIT 8Ch
RS232 2Ch.....

บริ ษ ท
ั อีท ท
ี ี จำกั ด ETT CO., LTD.
1112/96-98 ถนนสุขมุ วิท แขวงพระโขนง เขตคลองเตย กรุงเทพฯ 10110 http://www.etteam.com
1112/96-98 Sukhumvit Rd., Phrakanong Klongtoey Bangkok 10110 http://www.ett.co.th
www.ett.co.th Tel : 02-7121120 Fax : 02-3917216 email : sale@etteam.com
ชือ่ หนังสือ “ คูม่ อื การใช้งานบอร์ด CP-JRZ8F01 V1”
ISBN 974-91802-4-0
ผูเ้ ขียน นายสิทธิพล อยูย่ อด
พิมพ์ครัง้ ที่ 1 จำนวน 500 เล่ม
11 ธันวาคม 2546
จำนวน 48 หน้า
ราคา 60 บาท

สงวนลิขสิทธิต์ ามพระราชบัญญัตลิ ขิ สิทธิ์ พ.ศ. 2537


ห้ามลอกเลียนไม่ว่าส่วนหนึ่งส่วนใดของหนังสือเล่มนี้
ไม่ว่าในรูปแบบใดนอกจากจะได้รับอนุญาตเป็นลาย
ลักษณ์อกั ษรจากผูจ้ ดั พิมพ์

จัดพิมพ์โดย
บริษทั อีทที ี จำกัด
1112/96-98 ถนนสุขมุ วิท แขวงพระโขนง
เขตคลองเตย กรุงเทพ 10110
โทร. (02 )712-1120 - 1 FAX (02) 391-7216.
www.ett.co.th
คํานํา
ในปจจุบันนี้การพัฒนาเทคโนโลยีทางดานไมโครคอนโทรลเลอรในตระกูลตางๆไดพัฒนา
ไปอยางไมหยุดยั้งเพื่อตอบสนองใหผูใชสามารถเลือกใชงานไดหลากหลายตามลักษณะงานที่จะนํา
ไปใชคอนโทรล รวมทั้งเพิ่มประสิทธิภาพและอุปกรณสนับสนุนใหกับตัวไมโครคอนโทรลเลอร
มากขึ้นทําใหการใชงานสะดวกมากขึ้นตามไปดวย
ในคูมือนี้ก็จะกลาวถึงการใชงานบอรดของไมโครคอนโทรลเลอร ตระกูล Z8 ENCORE!
ซึ่งเปนของบริษัท Zilog เปนผูผลิตขึ้นมาใชงาน ซึ่งมีอยูดวยกันหลายเบอร แตเบอรที่เราจะกลาวถึง
ในบอรดนี้คือ Z8F4801 ไมโครคอนโทรลเลอรในตระกูลนี้มีประสิทธิภาพในการใชงานสูงและ
หลากหลายกวาตระกูลอื่นๆ รวมทั้งทํางานดวยความเร็วถึง 20 MHz.
ดังนั้นทางทีมงานอีทีที จึงมีความสนใจที่จะทําการศึกษาวิจัยไมโครคอนโทรลเลอรตระกูล
Z8ENCORE ขึ้น และไดจัดทําเปนลักษณะของบอรดทดลองขึ้นมาใหงายตอการใชงาน โดยมีจุด
ประสงคหลักคือ เพื่อใหลูกคาที่ตองการนําบอรดไปใชศึกษาทดลอง และเรียนรูทําความเขาใจกับ
CPU อยางงายๆโดยมุงเนนที่จะตอทดลองวงจรสวนของ I/O ตางๆขึ้นมาใชงานเอง โดยใชวิธีการ
ตอวงจรดวยแผงทดลอง Photo Board เปนหลัก

ทีมงานอีทีที
สารบัญ
เรื่อง หนา

ลักษณะทั่วไปของบอรด 1
การจัดสรร I/O ของบอรด CP-JRZ8F01 V1.0 4
การใชงานขั้วตอ 34 PIN 6
การใชงานพอรตสื่อสารอนุกรม RS232/RS422/RS485 7
- การกําหนด Jumper สําหรับการสื่อสารแบบ RS232 9
- การกําหนด Jumper สําหรับการสื่อสารแบบ RS422/485 12
การใชงานขั้วตอ I2C BUS 16
การใชงานขั้วตอ SPI 17
การติดตั้งโปรแกรม ZDS-II สําหรับเขียนและ Download โปรแกรม 18
การใชงานโปรแกรม ZDS –II 22
- การสราง New Project 22
- การ Add File ไปยัง Project ที่สรางไว 28
- การ Compiler และการ Download โปรแกรมหลังจากกําหนดคาให Project แลว 33
การทํางานของปุมคําสั่งตางๆที่สําคัญในโปรแกรม 34
วงจรของบอรด CP-JRZ8F01 V1.0 36
ตาราง ตําแหนง Address และชื่อของ Register Control 38
ตาราง ตําแหนง Interrupt Vector และชื่อ Interrupt Source 44
ตาราง ตําแหนง Address ของ Sub-Register Control 45
คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

CP – JRZ8F01 V1.0

ลักษณะทั่วไปของบอรด
ในบอรดไมโครคอนโทรลเลอรรุนนี้ใช CPU ไมโครคอนโทรลเลอรขนาด 8 บิต ของ บริษัท
Zilog ในตระกูล Z8 Encore! เบอร Z8F4801 ซึ่ง CPU ตัวนี้บรรจุในตัวถังแบบ DIP ขนาด 40 ขา และ
มีทรัพยากรตางๆบรรจุไวภายในตัว CPU อยางมากมาย ไมวาจะเปน ADC ขนาด 10 บิต 8 แชนแนล ,
Timer / Counter / PWM 4 แชนแนล , I2C 1 แชนแนล , Uart 2 แชนแนล , SPI 1 แชนแนล รวมทั้ง
PORT I/O 4 PORT ซึ่งมีความเหมาะสมในการนําไปประยุกตใชงานในลักษณะตางๆไดเปนอยางดี
ฟงกชันการทํางานตางๆของฮารดแวรของ CPU เบอรนี้ จะมีความยืดหยุนในการใชงานไดคอนคางดี
สามารถปรับเปลี่ยนการทํางานไดดวยโปรแกรม ดังนั้นผูที่ใชงานจึงสามารถนําระบบฮารดแวรแบบ
เดียวกันไปประยุกตใชงานในลักษณะตางๆกันไดโดยไมยาก แคปรับเปลี่ยนโปรแกรมสําหรับควบคุม
การทํางานของบอรดเพียงเล็กนอยเทานั้น
บอรดไมโครคอนโทรลเลอรรุนนี้ ออกแบบวงจรมาเฉพาะสวนพื้นฐานที่จําเปนในการใชงาน
เชน แหลงจายไฟ , วงจรรีเซ็ท ,วงจรกําเนิดความถี่สัญญาณนาฬิกา,วงจรสําหรับ Download โปรแกรม
และวงจรสื่อสารอนุกรม ไดแก RS232 /422 /485 , SPI , I2C สวนวงจร I/O ภายนอกนั้น จะไมไดจัด
เตรียมไวให แตจะทําการตอสัญญาณ I/O ตางๆจาก CPU มาไวยังขั้วตอ Connector 34 Pin สําหรับให
ผูใชนําไปเชื่อมตอกับอุปกรณ I/O ภายนอกไดโดยงาย และยังมีแผง Photo Board สําหรับใหผูใชออก
แบบวงจร I/O และตอวงจร I/O เพิ่มเติมไดเอง เหมาะสําหรับผูใชที่ตองการนําบอรดไปใชพัฒนางาน
ตนแบบโดยการสราง I/O ตางๆขึ้นมาใชเองได
ในสวนของความถี่ของสัญญาณนาฬิกาที่จะปอนใหกับ CPU เบอร Z8F4801 นั้น จะสามารถ
ปอนคาความถี่ของ Crystal ไดถึง 20 MHz ซึ่งในบอรด รุนนี้จะใชความถี่ที่ 18.432 MHz
นอกจากสวนประกอบตางๆของบอรดที่ไดกลาวไปแลวขางตนยังมีสวนแสดงผลดวย LED
ที่จะเปนตัวบอกสถานะการทํางานของบอรดขั้นตนวาใชงานไดหรือไม คือ
1. LED แสดงการทํางานของภาคจายไฟซึ่งจะมีอยูดวยกัน 2 ดวง เพื่อแสดงสถานะการทํางาน
ในสวนของภาคจายไฟ 5 V สําหรับไฟเลี้ยงอุปกรณตางๆในวงจร และ 3.3 V สําหรับไฟเลี้ยง CPU
2. LED แสดงสถานะการ Download โปรแกรมจากเครื่อง PC โดยจะมีการกระพริบในขณะที่
ผูใชทําการ Download โปรแกรมลงบนบอรด ทาง RS232 Download
3. LED ใชสําหรับในการทดสอบโปรแกรมที่ผูใชเขียนขึ้น โดยผูใชสามารถเขียนโปรแกรม
ทดสอบดวยการสง ลอจิก “ 1 ” ไปออกที่ Port PA0 LED ดวงนี้ก็จะติดถาโปรแกรมที่ผูใชเขียนขึ้นนั้น
ถูกตอง

ETT CO. ,LTD. 1 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

รูป แสดงลักษณะโครงสรางของบอรด CP-JRZ8F01 V1.0

ETT CO. ,LTD. 2 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

คุณสมบัติทั่วไปของ CPU Z8F4801 ที่ใชกับบอรด


- ความถี่ใชงาน 20 MHz
- ADC 10 บิต , Input 8 แชนแนล
- DMA 3 แชนแนล โดย 2 แชนแนลใชติดตอระหวาง Register Ram และ
1 แชนแนลใชกับ ADC
- Flash 48 KB x 8 บิต ,RAM 4 KB
- การสื่อสารอนุกรมประกอบดวยSPI 1 แชนแนล , I2C 1 แชนแนล , Uart Port 2 แชนแนล
- 16 บิตสําหรับ Timers กับโหมดการทํางาน Capture / Compare One-Shot , Continuous
Counter , PWM , Capture , Compare , Gated
- Single-Pin On-Chip Debugger
- Watch-Dog Time กับ RC oscillator ภายใน
- PORT I/O 29 PIN (PA – PD)
- CPU ทํางานที่แรงดัน 3.0-3.6V และชวงแรงดัน Input ทํางานไดที่ 5 V
- ในแตละ Pin I/O สามารถขับกระแสได 2 mA แบบ Sink และ 20 mA แบบ Source
- ทํางานที่อุณหภูมิ 0 ถึง +70 องศาเซลเซียส

โครงสรางของ CPU Z8F4801

1 40
PD4/RXD1 PD5/TXD1
2 39
PD3 PC4/MOSI
3 38
PC5/MISO PA4/RXD0
4 37
PA3/CTS0 PA5/TXD0
5 36
PA2 PA6/SCL
6 35
PA1/T0OUT PA7/SDA
7 34
PA0/T0IN PD6/CTS1
8 33
PC2/SS PC3/SCK
9 32
RESET VSS
10 31
VDD VDD
11 30
VSS PC6/T2IN
12 29
PD1/T3OUT DBG
13 28
PD0/T3IN PC1/T1OUT
14 27
XOUT PC0/T1IN
15 26
XIN AVSS
16 25
AVDD VREF
17 24
PB0/ANA0 PB2/ANA2
18 23
PB1/ANA1 PB3/ANA3
19 22
PB4/ANA4 PB7/ANA7
20 21
PB5/ANA5 PB6/ANA6

รูป แสดงโครงสราง CPU Z8F4801 (DIP)

ETT CO. ,LTD. 3 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การจัดสรร I/O ของบอรด CP-JRZ8F01 V1.0

บอรด CP-JRZ8F01 V1.0 นี้จะใช CPU เบอร Z8F4801 เปน CPU ประจําบอรด โดย CPU
เบอรนี้จะมีขาสัญญาณที่สามารถนําไปใชงานเปน I/O Port ไดทั้งหมด 29 เสนสัญญาณ ประกอบดวย
- PA [0..7] จํานวน 8 เสนสัญญาณ
- PB [ 0..7] จํานวน 8 เสนสัญญาณ
- PC [0..6 ] จํานวน 7 เสนสัญญาณ
- PD [0..1,3..6] จํานวน 6 เสนสัญญาณ
บอรด CP-JRZ8F01 V1.0 นี้จะมีการออกแบบจัดสรรขาสัญญาณ Port I/O ของ CPU ให
สามารถทํางานไดหลายหนาที่ โดยผูใชสามารถเลือกใชงานไดตามตองการ ซึ่งสามารถกําหนดไดจาก
โปรแกรมที่เขียนขึ้นเอง และ Jumper โดยหนาที่การใชงาน Port I/O ของ CPU ในบอรด CP-JRZ8F01
V1.0 สามารถสรุปไดดังนี้
PA0-PA7 ขาสัญญาณนี้ผูใชสามารถใชงานเปน Input หรือ Output ไดตามตองการโดยใน
บอรดนี้ขาสัญญาณของ PA0-PA7 จะถูกเชื่อมตอไปยังขั้วตอ 34 Pin แตขา PA4 และ PA5 ถูกใชงาน
ในหนาที่พิเศษดวยดังนั้นจึงยังไมถูกตอไปที่ขั้วตอ 34 Pin แตถูกเชื่อมตอไวที่ Jumper เพื่อใชเลือกการ
ทํางานของ RS232 (CH0) ถาผูใชจะให PA4 และ PA5 ตอมายังขั้วตอ 34 Pin จะตอง Set Jumper
RX0/PA4 และ TX0/PA5 มาทางดาน PA4 และ PA5 สองขานี้จึงจะถูกตอเขากับขั้วตอ 34 Pin ถา
ตองการใชงาน 2 ขา นี้ในการติดตอสื่อสารแบบอนุกรมดวย RS232 (CH0) ก็ Set Jumper มาดาน Rx0
และ Tx0 โดย - PA4 จะใชติดตอกับ RS232 ทําหนาที่รับสัญญาณ Rx0
- PA5 จะใชติดตอกับ RS232 ทําหนาที่สงสัญญาณ Tx0
สวน ขา PA0 นอกจากจะถูกตอไปที่ ขั้วตอ 34 Pin แลว จะถูกตอไปยัง Jumper ดวย เพื่อใหเลือก ใช
ตอไปยัง LED ซึ่งจะมีไวสําหรับใหผูใชสามารถทดลองโปรแกรมที่เขียนในขั้นตนได โดยการสง ลอ
จิก 0 หรือ 1 ออกไปที่ PA0 นี้
PA0

รูป แสดงการ Short Jumper PA0 เมื่อตองการใช LED บนบอรด Test โปรแกรม

สวนขา PA6 และ PA7 ก็จะถูกตอไปยัง Port I2C ดวย โดย


- PA6 จะใชติดตอกับอุปกรณ I2C โดยทําหนาที่เปน SCL
- PA7 จะใชติดตอกับอุปกรณ I2C โดยทําหนาที่เปน SDA

ETT CO. ,LTD. 4 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

เมื่อผูใช Setให 2 ขานี้ ทํางานในโหมด I2C ผูใชก็สามารถตอสัญญาณจาก Port นี้ไปเขากับอุปกรณ I2C


ไดเลย โดยผูใชจะตองตอ R Full Up ไวที่อุปกรณ I2C ดวย

PB0-PB7 ขาสัญญาณนี้สามารถใชงานเปน Input และ Output ไดตามตองการ นอกจากนี้ยัง


สามารถ ใชงานในหนาที่พิเศษใหทํางานในโหมด ADC ไดอีกดวย โดยเมื่อเราใชทํางานในโหมด
ADC ขาสัญญาณ PB0-PB7 จะทําหนาที่เปนอินพุต รับสัญญาณ Analog เขามา ไดถึง 8 แชนแนล เรา
จะเลือกใชแชนแนลไหนก็ขึ้นอยูกับการ Set Control world ของโหมดนี้ โดยในบอรดนี้ขาสัญญาณ
ของ PB0-PB7 จะถูกเชื่อมตอไปยังขั้วตอ 34 Pin

PC0-PC6 ขาสัญญาณนี้จะใชงานเปน Input และ Output โดยในบอรดนี้จะถูกเชื่อมตอ ไปยัง


ขั้วตอ 34 Pin นอกจากนี้บางขายังสามารถใชงานในหนาที่พิเศษของระบบการสื่อสารแบบ SPI ได
ดวยโดยจะถูกเชื่อมตอไปยัง Port SPI ดวยคือ
- PC2 ถูกตอไปยังขั้วตอ Jumper เพื่อเลือกตอระหวาง ขา VDD หรือ ขา SS (Save Select )
ซึ่งจะใชเลือกวาผูใชตองการให CPU ทําหนาที่เปน Master หรือ Slave ในการติด
ตอสื่อสาร
- PC3 ใชติดตอกับอุปกรณ SPI โดยทําหนาที่เปน SCK (serial clock )
- PC4 ใชติดตอกับอุปกรณ SPI โดย ทําหนาที่เปน MOSI (Master- Out Slave -In )
- PC5 ทําหนาที่เปน MISO ( Master-In Slave –Out )

PD0,PD1,PD3 ขาสัญญาณ 3 ขานี้จะถูกใชงานเปน Input และ Output โดยจะถูกเชื่อมตอไป


ยังขั้วตอ 34 Pin ดวยเชนกัน สวน PD4 , PD5 , PD6 จะถูกตอตรงไปยัง Jumper เพื่อใชในการสื่อสาร
แบบอนุกรม ทาง RS 232 / 422 / 485 ทางแชนแนล1โดย
- PD4 จะทําหนาที่เปนขารับสัญญาณ RX1
- PD5 จะทําหนาที่เปนขาสงสัญญาณ Tx1
- PD6 จะใชเปนขา Control ในการ รับ–สง ขอมูลเมื่อเราเลือกการติดตอสื่อสารโดยใช
RS485

ETT CO. ,LTD. 5 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การใชงานขั้วตอ 34 PIN
สําหรับขั้วตอ 34 PIN ของบอรด CP-JRZ8F01 V1.0 นั้นจะเปนแบบ IDE ตัวเมีย ซึ่งจะตอ
ออกมาจากขา Port A – Port D ของตัว CPU เพื่อใหผูใชสามารถใชสาย Jumper ตอสัญญาณตางๆจาก
ขั้วตอนี้ไปยังแผงทดลอง Photo Board เพื่อตอรวมกับวงจรตางๆไดโดยงาย ในขั้วตอ 34 PIN นี้ใน
สวนของขา PA4 และ PA5 เมื่อผูใชจะใชงานตองไป Set Jumper มาทางดาน PA4 และ PA5 กอนดัง
รูป

RX0 PA4

TX0 PA5

รูป การกําหนด Jumper เมื่อจะตอ PA4 และ PA5 ไปยังขั้วตอ 34PIN

เนื่องจากมันถูกนําไปใชงานเปนขาสื่อสาร RS232 (0) ดวย สวนขา Port อื่นๆที่ตอออกมาใหใชที่ขั้ว


ตอ 34 PIN นี้สามารถตอออกไปใชงานไดเลย โดยลักษณะของการจัดเรียงสัญญาณที่ขั้วตอ 34 PIN
เปนดังนี้
PA0 PA1

PA2 PA3

PA4 PA5

PA6 PA7

PB0 PB1

PB2 PB3

PB4 PB5

PB6 PB7

PC0 PC1

PC2 PC3

PC4 PC5

PC6 NC

+5V NC

GND NC

PD0 PD1

NC PD3

NC NC

รูป แสดงลักษณะของการจัดเรียงสัญญาณของขั้ว 34 PIN

ETT CO. ,LTD. 6 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การใชงานพอรตสื่อสารอนุกรม RS232/RS422/RS485
ภายในตัว CPU เบอร Z8F4801 ที่ใชกับบอรด CP - JRZ8F01 V1.0 นั้น จะมีวงจรสื่อสาร
แบบอนุกรม ( UART ) บรรจุรวมไวดวยแลว ซึ่งวงจรสวนนี้ผูใชงานสามารถทําการเขียนโปรแกรม
ควบคุมการสื่อสารขอมูลระหวาง CPU กับอุปกรณอื่นๆรอบขางไดตามความตองการ โดยในสวน
ของโปรแกรมนั้นผูใชสามารถกําหนดรูปแบบของการสื่อสารขอมูลไดเองจากโปรแกรมที่เขียนขึ้นไม
วาจะเปนความเร็วในการสื่อสาร (Baud Rate) จํานวนบิตขอมูลในการรับสง (Data Bit ) และคุณ
สมบัติอื่นๆ ซึ่งในรายละเอียดสวนนี้จะไมขอกลาวถึง ขอใหผูใชศึกษาจากคูมือสถาปตยกรรมทาง
ฮารดแวร หรือ Data Sheet ของ CPU เบอร Z8F4801 เอง
โดยปรกติแลวขาสัญญาณสําหรับ รับ – สง ขอมูลของ CPU นั้น สามารถนําไปเชื่อมตอกับขา
สัญญาณ รับ – สง ของอุปกรณอื่นๆไดเลย โดยขาสง (TX) ของ CPU ตองนําไปตอกับขารับ (RX)
ของอุปกรณที่จะนํามาสื่อสารกัน สวนขารับขอมูล (RX) ของ CPU ก็ตองตอกับขาสงขอมูล (TX) จาก
อุปกรณที่จะนํามาสื่อสารกัน แตเนื่องจากขาสัญญาณ RX และ TX ของ CPU นั้น จะสามารถเชื่อมตอ
กับสัญญาณที่มีคุณสมบัติเปนแบบ ระดับลอจิก TTL เทานั้น ซึ่งถาใชวิธีเชื่อมตอสัญญาณรับสงของ
CPU กับอุปกรณโดยตรงนั้น สามารถสื่อสารกันไดเพียงระยะทางใกลๆ หรือภายในแผงวงจรเดียวกัน
เทานั้น ไมสามารถที่จะสื่อสารกันดวยระยะทางไกลๆได ดังนั้นบอรด CP - JRZ8F01 V1.0 จึงไดออก
แบบวงจร Line Driver สําหรับทําหนาที่เปน Buffer เพื่อเปลี่ยนแปลงระดับสัญญาณทางไฟฟาของขา
สัญญาณ รับ – สง ขอมูลของ CPU ที่เปนแบบ TTL ใหสามารถรับสงขอมูลกันไดในระยะทางที่ไกล
มากขึ้นโดยบอรด CP - JRZ8F01 V1.0 นั้น จะสามารถเลือกกําหนดรูปแบบของวงจร Line Driver
สําหรับการสื่อสารอนุกรมได 3 แบบดวยกัน คือ
1. การสื่อสารอนุกรมแบบ RS232
ในกรณีนี้จะตองทําการติดตั้งไอซี Line Driver เพื่อเปลี่ยนระดับสัญญาณทางไฟฟาของขา
สัญญาณสําหรับ รับ – สง ขอมูลแบบ TTL ของ CPU (RX และ TX) ใหเปนระดับสัญญาณทางไฟ
ฟาแบบ RS232 (±12 V ) โดยการติดตั้งไอซีเบอร MAX232 เพื่อทําหนาที่เปลี่ยนระดับสัญญาณ TTL
จากขาสัญญาณสงขอมูล (TX) ของ CPU ใหเปนระดับสัญญาณ ±12 V สําหรับสงไปยังขารับ
สัญญาณ (RX) ของอุปกรณภายนอก และในทางกลับกัน ก็จะทําหนาที่เปลี่ยนระดับสัญญาณสง (TX)
แบบ RS232 ( ±12V ) จากอุปกรณภายนอก ใหกลับมาเปนระดับ TTL เพื่อสงใหกับขารับขอมูล
(RX) ของ CPU ดวย โดยเมื่อเปลี่ยนระดับสัญญาณในการ รับ-สง ขอมูลจาก TTL มาเปน RS232 นี้
แลวจะทําใหสามารถทําการ รับ-สง ขอมูลกับอุปกรณภายนอกที่ใชระดับสัญญาณทางไฟฟาในการ
รับ-สง แบบเดียวกัน(RS232) ไดไกลมากขึ้น โดยสามารถทําการรับสงขอมูลกับอุปกรณตางๆไดใน
ลักษณะของตัวตอตัว (Point – to – Point ) เทานั้น

ETT CO. ,LTD. 7 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

สําหรับสายสัญญาณที่จะนํามาใชทําการเชื่อมตอสื่อสารแบบ RS232 นั้น จะใชสัญญาณเพียง


2-3 เสนเทานั้น ทั้งนี้ขึ้นอยูกับความตองการของผูใชในการสื่อสารวาตองการสื่อสารแบบทิศทางเดียว
หรือสองทิศทาง
- การสื่อสาร RS232 แบบสองทิศทาง ซึ่งจะมีทั้งการรับขอมูลและสงขอมูลไปมา ระหวาง
ดานรับและดานสง โดยในกรณีนี้จะตองใชสายสัญญาณจํานวน 3 เสน คือ สัญญาณรับขอ
มูล (RX) สัญญาณสงขอมูล (TX) และสัญญาณอางอิง (GND) โดยในการเชื่อมตอสายนั้น
จะตองทําการสลับสัญญาณกับอุปกรณปลายทางดวย คือ สัญญาณสง (TX) จากบอรด CP -
JRZ8F01 V1.0 จะตองตอเขากับสัญญาณรับ (RX) ของอุปกรณ และสัญญาณสง (TX) จาก
อุปกรณก็ตองตอกับสัญญาณรับ (RX) ของบอรด สวนสัญญาณอางอิง (GND) จะตองตอตรง
กัน จึงจะสามารถทําการรับสงขอมูลกันได
- การสื่อสาร RS232 แบบทิศทางเดียว ซึ่งอาจเปนการรอรับขอมูลจากดานสงเพียงอยางเดียว
หรือ อาจเปนการสงขอมูลออกไปยังปลายทางเพียงอยางเดียว โดยไมมีการโตตอบขอมูลซึ่ง
กันและกัน ซึ่งวิธีนี้จะใชสายสัญญาณเพียง 2 เสน เทานั้น โดยถาเปนทางดานสง ก็จะตอเพียง
สัญญาณสง (TX) และสัญญาณอางอิง (GND) แตถาเปนทางดานรับ ก็จะตอเพียงสัญญาณรับ
(RX) และสัญญาณอางอิง (GND) เทานั้น

ขั้วตอRS232 ของบอรด CP-JRZ8F01 V1.0 นี้ จะแยกใชงานกันคนละสวนกับการ Download


โดยสวนที่ใชสําหรับเปนจุดเชื่อมตอสัญญาณ รับ – สง ขอมูลกับอุปกรณภายนอก จะมีอยูดวยกัน 2
แชนแนล คือ RS232 (0) และ RS232 (1) ผูใชสามารถที่จะเขียนโปรแกรมโดยเลือกใช แชนแนลไหน
ก็ได ซึ่งจุดเชื่อมตอนี้จะมีลักษณะเปนแบบขั้ว CPA ขนาด 4 PIN โดยมีลักษณะการจัดเรียงขาสัญญาณ
ดังนี้
GND
RX
+VCC

TX

รูป แสดงขั้วตอสัญญาณ RS232 ของบอรด CP - JRZ8F01 V1.0

ซึ่งจะเห็นไดวาขั้วตอสัญญาณ RS232 ของบอรดนั้น จะมีทั้งหมด 4 เสน แตการรับสงขอมูล


แบบปกตินั้นจะใชสัญญาณเพียงแค 3 เสน คือ RXD , TXD และ GND เทานั้น สวน + VCC ซึ่งเปนไฟ
เลี้ยงวงจร +5V นั้นไมจําเปนตองนํามาใชในการสื่อสารกันแตอยางใด โดย +VCC หรือ +5 V นี้ จะถูก
ออกแบบเผื่อไวในกรณีที่อุปกรณปลายทางเปนวงจรขนาดเล็ก และไมสะดวกที่จะหาแหลงจายไฟให
กับอุปกรณปลายทาง

ETT CO. ,LTD. 8 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การกําหนด Jumper สําหรับการสื่อสารแบบ RS232


เนื่องจาก Line Driver ของพอรตสื่อสารอนุกรมของบอรดนั้น ออกแบบใหผูใชสามารถเลือก
กําหนดไดหลายแบบ ดังนั้นในการใชงานจะตองทําการ Set ฮารดแวรของบอรดกอนดังนี้
- ในการใชงานพอรตสื่อสารอนุกรม RS232 ไมวาจะเปนแชนแนล 0 หรือ แชนแนล1 กอน
อื่นจะตองติดตั้งไอซี Line Driver MAX232 ลงไปในบอรดในสล็อตที่กําหนดเสียกอน
- ถอดไอซี Line Driver 75176 ที่ใชสําหรับสื่อสารดวย RS422/485 ทั้ง2ตัวที่อยูบนบอรด
ออก (ถาตออยูบนบอรด) มิฉะนั้นจะทําใหการสื่อสารดวย RS232 ผิดพลาดได
- ทําการ กําหนด Jumper ดังนี้

เมื่อตองการใชงาน RS232(0) ก็ให กําหนด Jumper RX0 / PA4 มาทางดาน RX0 และ Jumper
TX0 / PA5 มาทางดาน TX0

RX0 PA4

TX0 PA5

รูป การกําหนด Jumper RX0 / PA4 และ TX0 / PA5 เมื่อใชงานพอรต RS232 (0)

เมื่อตองการใชงาน RS232(1) ก็ให กําหนด Jumper RXD1 และ TXD1 ดังรูป ซึ่งการ
กําหนด Jumper ของ RS232(0) และ RS232(1) จะเปนอิสระตอกันสามารถกําหนดใหทํางานพรอม
กันได
RXD1

TXD1

รูป การกําหนด Jumper RXD1 และ TXD1 เมื่อใชงานพอรต RS232 (1)

ETT CO. ,LTD. 9 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

2. การสื่อสารอนุกรมแบบ RS422
ในกรณีนี้จะตองทําการติดตั้งไอซี Line Drive เบอร 75176 จํานวน 1-2 ตัวเพื่อทําหนาที่
เปลี่ยนระดับสัญญาณไฟฟาในการ รับ – สง แบบ TTL จาก CPU ใหเปนระดับสัญญาณแบบ Balance
Line เพื่อ รับ – สง สัญญาณกับอุปกรณที่มีระดับสัญญาณทางไฟฟาเปนแบบ Balance Line เหมือน
กัน โดยถาตองการใชการสื่อสารแบบสองทิศทาง ก็จะตองติดตั้งไอซี Line Drive จํานวน 2 ตัว โดย
แบงเปนแปลงสัญญาณทางดานรับ 1 ตัว และตัวแปลงสัญญาณทางดานสงอีก 1 ตัว แตถาตองการสื่อ
สารแบบทิศทางเดียวก็อาจทําการติดตั้งไอซี Line Drive เพียงตัวเดียว โดยถาตองการใหเปนฝายรับ
ขอมูลเพียงอยางเดียวก็ใหติดตั้งไอซี Line Drive เฉพาะในตําแหนงของ RXD/422 เพียงตัวเดียว แต
ถาตองการใหเปนฝายสงขอมูลเพียงอยางเดียวก็ใหทําการติดตั้งไอซี Line Driver เฉพาะในตําแหนง
TXD/485 เพียงตัวเดียวเทานั้น
ซึ่งการสื่อสารแบบ Rs422 นี้ สามารถนําไปทดแทนการสื่อสารแบบ RS232 ไดทันที โดยไม
ตองดัดแปลงแกไขโปรแกรมเลย ซึ่งการสื่อสารโดยใชระดับสัญญาณในการ รับ – สง แบบ RS422
จะมีขอดีคือ สามารถทําการสื่อสารกันไดในระยะทางที่ไกลขึ้นกวาแบบ RS232
การสื่อสารดวยระดับสัญญาณทางไฟฟาแบบ RS422 นี้ ถาเปนการสื่อสารแบบ 2 ทิศทาง คือ
ทั้งรับขอมูลและสงขอมูล จะสามารถทําการรับสงขอมูลกับอุปกรณตางๆในลักษณะของตัวตอตัว
(Point-to-Point) เหมือนกับ RS232 ทุกประการ แตในกรณีที่เปนการสื่อสารแบบทิศทางเดียวนั้น
สามารถจะทําการตอขนานสัญญาณทางดานรับ จํานวนหลายๆจุดเขากับสัญญาณสงเพียงจุดเดียวได
แตถาเปนอุปกรณทางดานสงนั้นจะไมสามารถนํามาตอขนานสัญญาณสงขอมูลเขาดวยกันมากกวา 1
จุด เหมือนทางดานฝายรับได
สําหรับลักษณะของขั้วตอของสัญญาณ RS422 นั้น จะเปนแบบ CPA ขนาด 6 PIN ดังรูป โดย
ในการสื่อสารกันนั้น จะใชสายสัญญาณในการรับสงขอมูลกันจํานวน 4 เสนสัญญาณ คือ สัญญาณ
ในการรับขอมูลจํานวน 2 เสน คือ RX+ และ RX- และสัญญาณในการสงขอมูลอีก 2 เสน คือ TX+
และ TX- ซึ่งในการตอสัญญาณนั้นจะตองทําการตอสัญญาณในลักษณะของการสลับกัน คือ สัญญาณ
สงจะตองตอเขากับสัญญาณรับ นั่นก็คือ สัญญาณ RX+ จะตองตอกับ TX+ สวน RX- จะตองตอกับ
TX- ดวยเชนกัน โดยลักษณะของขั้วตอสัญญาณ RS422 จะเปนดังรูป
GND
RX+
RX-
+VCC

TX+
TX-

รูป แสดงขั้วตอสัญญาณ RS422/485(1) ของบอรด CP - JRZ8F01 V1.0 เมื่อเลือกเปน RS422

ETT CO. ,LTD. 10 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

3. การสื่อสารอนุกรมแบบ RS485
ในการสื่อสารแบบ RS485 นี้จะมีคุณสมบัติทางไฟฟาเหมือนกับ RS422 ทุกประการเพียง
แตวาการสื่อสารแบบ RS485 นี้จะใชสายสัญญาณในการรับสงขอมูลกันเพียง 2 เสน เทานั้น แตจะมี
ความพิเศษกวาแบบ RS422 ตรงที่ ทิศทางของสัญญาณจะสามารถปรับเปลี่ยนไดจากโปรแกรม กลาว
คือ สัญญาณทั้ง 2 เสน สามารถจะสลับหนาที่เปนดานสงและเปนดานรับได ตามตองการ โดยการ
ควบคุมจาก CPU ซึ่งจากบอรด CP - JRZ8F01 V1.0 นั้น จะกําหนดใหสัญญาณ PD6 ทําหนาที่สลับ
ควบคุมทิศทางของขอมูลวาจะใหเปนรับหรือสง โดยถาควบคุมใหเปน “1” จะเปนการกําหนดทิศทาง
ใหเปนฝายสงขอมูล แตถาสภาวะของ PD6 เปน “0” จะเปนการกําหนดทิศทางใหเปนฝายรับขอมูล
ซึ่งจากคุณสมบัติขอนี้จะทําใหการสื่อสาร RS485 สามารถทําการตอขนานอุปกรณรวมกันในสายสง
เดียวกันไดจํานวนหลายๆจุด โดยจะมีขอแมวาเมื่อมีการตออุปกรณขนานกันในสายสัญญาณคูเดียวกัน
มากกวา 2 จุดแลว จะตองเขียนโปรแกรมควบคุมใหมีการสงขอมูลออกมาในสายครั้งละ 1 จุดเทานั้น
เพราะถามีการกําหนดทิศทางของขอมูลใหสงในเวลาเดียวกันมากกวาหนึ่งจุดแลวจะทําใหเกิดการชน
กันของขอมูลและไมสามารถสื่อสารกันไดอยางถูกตอง
ในการสื่อสารขอมูลแบบ RS485 นี้จะตองเขียนโปรแกรมขึ้นมารองรับการสื่อสารโดยเฉพาะ
เนื่องจากทิศทางของขอมูลสามารถจะกําหนดจากโปรแกรมไดโดยตรง ซึ่งการสื่อสารดวยวิธีนี้จะมีขอ
ดีคือ ใชสายสัญญาณในการรับสงนอยเสน แตจะเสียเวลาในการสื่อสารมากกวาวิธีอื่นๆ เนื่องจากวา
การสื่อสารแบบนี้จะไมสามารถรับและสงขอมูลในเวลาเดียวกันได แตจะตองใชวิธีการผลัดกันรับ
ผลัดกันสงแทน ซึ่งในความเปนจริงแลวในปจจุบันนี้ ราคาของสายสัญญาณแบบ 2 เสน และ 4 เสน
แทบจะไมมีความแตกตางกันเลย ดังนั้นเพื่อลดความยุงยากในการเขียนโปรแกรมสําหรับควบคุมการ
รับสงขอมูลของ CPU ขอแนะนําใหเลือกใชวิธีการสื่อสารแบบ RS422 จะงายและสะดวกรวดเร็วกวา
กันมาก
GND
+VCC

ไมตองใช

TX-/RX-

TX+/RX+
ไมตองใช

รูป แสดงขั้วตอสัญญาณ RS422/485 ของบอรด CP - JRZ8F01 V1.0 เมื่อเลือกเปน RS485

ETT CO. ,LTD. 11 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การกําหนด Jumper สําหรับการสื่อสารแบบ RS422/485


ในบอรด CP - JRZ8F01 V1.0 นั้น การสื่อสารดวย RS422/485 จะออกแบบวงจรมาใหทํางาน
ในแชนแนล 1 เทานั้น (Uart 1 ) ดังนั้นในการเขียนโปรแกรมเราจะตอง กําหนด Control World ใน
โหมดแชนแนล 1 เทานั้น
เมื่อจะทําการสื่อสารดวย RS422/485 นั้นกอนอื่นจะตองทําการติดตั้งไอซี Line Driver เบอร
75176 ลงบนบอรด CP - JRZ8F01 V1.0 ลงในสล็อตที่กําหนดไวใหเสียกอน โดยถาตองการสื่อสาร
ดวย RS485 สามารถติดตั้งไอซี Line Driver เพียงตัวเดียวทางดาน 485 ก็ได แตถาตองการสื่อสารดวย
RS422 แบบสองทิศทางจะตองติดตั้งไอซี Line Driver ลงบนบอรดใหครบทั้ง 2 ตัว จากนั้นทําการ
กําหนด Jumper ดังนี้
- Jumper RXD1 และ TXD1 ในกรณีที่บนบอรดติดตั้งไอซี Line Driver MAX232 อยู และ
ตองการสื่อสารดวย RS422/485 ใหทําการ Open Jumper RXD1 และ TXD1 ออกเสียกอนดังรูป แต
ถาไมไดติดตั้งไวก็ไมจําเปนตอง Open Jumper ออกก็ได เนื่องจากวงจรที่เราออกแบบไวในบอรดนี้ ขา
TX และ RX ของไอซี Line Driver ทั้ง 2 เบอร คือ MAX232 ที่ใชสื่อสารดวย RS232 และ เบอร
75176 ที่ใชสื่อสารแบบ RS422/485 ไดตอขนานกันอยู ดังนั้นในการใชงาน RS422/485 จะตองถอด
Jumper นี้ออกเสียกอน เพื่อการสื่อสารที่ถูกตอง
RXD1

TXD1

รูป แสดงการกําหนด Jumper RXD1 และ TXD1 เมื่อตองการสื่อสาร RS422/485

- Jumper 485 /422 ใชสําหรับเลือกกําหนดการทํางานของไอซี Line Driver ใหทํางานเปน


แบบ RS422 หรือ RS485 โดยถาตองการสื่อสารแบบ RS422 จะตองกําหนด Jumper ไวทางดาน
“422” ดังรูป ซึ่งจะทําใหไอซี Line Driver ตําแหนง 485/422 นี้ เปนฝายสงขอมูลเพียงอยางเดียว แต
ถาตองการใชงานแบบ RS485 จะตองกําหนด Jumper ไวทางดาน “ 485” เพื่อกําหนดใหไอซี Line
Driver ในตําแหนงนี้ทําหนาที่เปนทั้งฝายรับและฝายสงตามการควบคุมของสัญญาณ PD6

ETT CO. ,LTD. 12 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

485 485

422 422

(ก) เมื่อตองการสื่อสารแบบ RS422 (ข ) เมื่อตองการสื่อสารแบบ RS485


รูป แสดงการกําหนด Jumper 485/422

- Jumper Full / Half เปน Jumper ใชสําหรับเลือกกําหนดรูปแบบการสื่อสารใหเปนแบบ


Full Duplex หรือ Half Duplex โดยถาตองการสื่อสารแบบ RS422 จะตองเลือกกําหนด Jumper มาไว
ทางดาน Full ดังรูป แตถาตองการสื่อสารแบบ RS485 จะตองเลือกกําหนด Jumper มาไวทางดาน
Half แทน ดังรูป

Half Half

Full Full

(ก) เมื่อตองการสื่อสารแบบ RS422 (ข ) เมื่อตองการสื่อสารแบบ RS485


รูป แสดงการกําหนด Jumper Full / Half

- Jumper RL เปน Jumper สําหรับกําหนดเชื่อมตอ ตัวตานทานสําหรับทําหนาที่คงสถานะ


ของสัญญาณ RX- หรือ Fail Safe Resister เพื่อใหสัญญาณ RX- มีสภาวะแนนอนเมื่อไมมีการสง
สัญญาณใดๆออกมาในสายเลย ซึ่งถาหากวามีการตอสายสัญญาณระยะทางไกลๆ หรือมีการตอสาย
ระยะทางใกลๆแตไมไดมีการสงขอมูลออกมาในสายตลอดเวลาแลว ควรที่จะทําการ Short Jumper นี้
ไวดวยเสมอ โดยเฉพาะอยางยิ่งตัวอุปกรณที่อยูในตําแหนงตนสายและปลายสายควรจะทําการ Short
Jumper นี้ไวดวย สวนอุปกรณที่อยูในตําแหนงอื่นๆที่มีระยะไมไกลจากจุดตนสายและปลายสายมาก
นักก็อาจ Open Jumper นี้ออกก็ได แตอยางนอยที่สุดควรมีการ Short Jumper นี้ใหกับอุปกรณที่ตอ
รวมอยูในสายสัญญาณจํานวน 1 จุดเสมอ
- jumper RH เปน Jumper ที่ใชสําหรับเลือกกําหนดการเชื่อมตอ ตัวตานทานสําหรับทํา
หนาที่คงสถานะของสัญญาณ RX+ เพื่อใหสัญญาณ RX+ มีสภาวะแนนอนเมื่อไมมีการสงสัญญาณ

ETT CO. ,LTD. 13 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

ใดๆ ออกมาในสายเลย ซึ่งถาหากวามีการตอสายสัญญาณระยะทางไกลๆหรือมีการตอสายระยะทาง


ใกลๆแตไมไดมีการสงขอมูลออกมาในสายตลอดเวลาแลว ควรที่จะทําการ Short Jumper นี้ไวเสมอ
โดยเฉพาะอยางยิ่งตัวอุปกรณที่อยูในตําแหนงตนสาย ควรที่จะทําการ Short Jumper นี้ไวดวยเสมอ
สวนอุปกรณที่อยูในตําแหนงอื่นๆ ที่มีระยะไมไกลจากจุดตนสายและปลายสายมากนักก็อาจ Open
Jumper นี้ออกก็ได แตอยางนอยที่สุด ควรมีการ Short Jumper ใหกับอุปกรณที่ตอรวมอยูในสาย
สัญญาณจํานวน 1 จุดเสมอ
- Jumper RZ เปน Jumper สําหรับเลือกกําหนดตอตัวตานทาน RZ เพื่อชดเชย คาความตาน
ทานของสายสัญญาณ (Impedance) ทางดานรับซึ่งถาหากมีการตอสายสัญญาณในการรับสงเปนระยะ
ทางไกลๆแลว ก็ควร Short Jumper นี้ไวดวยเนื่องจากเมื่อสายมีความยาวมากๆจะเกิดคาความตานทาน
ในสายขึ้น ดังนั้นจึงตองทําการตอคาความตานทานจากภายนอกเขาไปเพื่อชดเชยคาความตานทาน
ของสายสัญญาณดวย โดยเมื่อทําการ Short Jumper ตําแหนง RZ นี้ไวก็จะเปนการตอตัวตานทาน
ครอมระหวาง RX+ และ RX- แตถาหากวาตอสายสัญญาณในระยะทางที่ไมไกลมากนัด ก็อาจทํา
การ Open Jumper นี้ออกได
- Jumper TL เปน Jumper ใชสําหรับเลือกกําหนดการเชื่อมตอ ตัวตานทานสําหรับทําหนา
ที่คงสถานะของสัญญาณ TX- เพื่อใหสัญญาณ TX- มีสภาวะแนนอนเมื่อไมมีการสงสัญญาณใดๆ
ออกมาในสายเลย ซึ่งถาหากวามีการตอสายสัญญาณระยะทางไกลๆหรือมีการตอสายระยะทางไกลๆ
แตไมไดมีการสงขอมูลออกมาในสายตลอดเวลาแลวควรที่จะทําการ Short Jumper นี้ไวดวยเสมอ
โดยเฉพาะอยางยิ่งเมื่อใชงานเปนแบบ RS485 หรือใชงานเปนอุปกรณที่อยูในตําแหนงตนสายและ
ปลายสายควรทําการ Short Jumper นี้ไวเสมอ สวนอุปกรณที่อยูในตําแหนงอื่นๆที่มีระยะไมไกล
จากจุดตนสายและปลายสายมากนักก็อาจ Open Jumper ออกได แตอยางนอยควรมีการ Short
jumper นี้ใหกับอุปกรณที่ตอรวมอยูในสายสัญญาณจํานวน 1 จุดเสมอ
- Jumper TH เปน Jumper ใชสําหรับเลือกกําหนดการเชื่อมตอ ตัวตานทานสําหรับทําหนา
ที่คงสถานะของสัญญาณ TX+ เพื่อใหสัญญาณ TX+ มีสภาวะแนนอนเมื่อไมมีการสงสัญญาณใดๆ
ออกมาในสายเลย ซึ่งถาหากมีการตอสายสัญญาณระยะทางไกลๆหรือมีการตอสายระยะทางใกลๆแต
ไมไดมีการสงขอมูลออกมาในสายตลอดเวลาแลว ควรที่จะทําการ Short Jumper นี้ไวดวยเสมอ
โดยเฉพาะอยางยิ่งเมื่อใชงานเปนแบบ RS485 หรือ ใชงานเปนตัวอุปกรณที่อยูในตําแหนงตนสาย
และปลายสายควรทําการ Short Jumper ไวเสมอ สวนอุปกรณที่อยูในตําแหนงอื่นๆที่มีระยะไมไกล
จากจุดตนสายและปลายสายมากนักก็อาจ Open Jumper นี้ออกก็ได แตอยางนอยที่สุด ควรมีการ
Short Jumper ใหกับอุปกรณที่ตอรวมอยูในสายสัญญาณจํานวน 1 จุดเสมอ
- Jumper TZ เปน Jumper สําหรับเลือกกําหนดตอตัวตานทาน TZ เพื่อชดเชย คาความ
ตานทานของสายสัญญาณทางดานสง ซึ่งถาหากวามีการตอสายสัญญาณในการรับสงเปนระยะทาง
ไกลๆแลวก็ควรทําการ Short Jumper นี้ไวดวยเนื่องจากเมื่อสายมีความยาวมากๆจะเกิดคาความตาน

ETT CO. ,LTD. 14 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

ทานในสายขึ้น ดังนั้นจึงตองทําการตอตัวตานทานจากภายนอกเขาไปเพื่อชดเชยคาความตานทานของ
สายสัญญาณดวย โดยเมื่อทําการ Short Jumper ตําแหนง TZ นี้ไวก็จะเปนการตอตัวตานทานครอม
ระหวาง TX+ และ TX-ไว แตถาหากตอสายสัญญาณที่ไมไกลมากนัก ก็ใหทําการ Open Jumper นี้
ออกได
โดยในบอรด CP-JRZ8F01 V1.0 นี้เราไดทําการ Short Jumper RL,RH,RZ และ TL,TH,TZ
มาใหเรียบรอยแลว ผูใชเพียงแตกําหนด Jumper 3 ชุดแรกที่กลาวขางตนใหถูกตองก็จะใชงานได

RZ TZ

RH TH

RL TL

รูป แสดงการ Short Jumper RL,RH,RZ และ TL,TH,TZ

ETT CO. ,LTD. 15 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การใชงานขั้วตอ I2C BUS


พอรต I2C BUS นี้จะถูกตอออกมาไวยังขั้ว Connector ขนาด 10 PIN แบบ IDE โดยขั้วตอ
I2C BUS นี้ จะใชสําหรับทําการขยายหรือเพิ่มเติมจํานวนอุปกรณที่ใช การติดตอสื่อสารแบบ I2C ให
กับบอรด โดยผูใชสามารถตอสายจากขั้วตอนี้ไปใชงานไดเลยโดยไมตองกําหนด Jumper ใดๆ การ
จัดวางขาสัญญาณที่ขั้วตอ I2C นี้ดูไดจากรูปดานลางนี้

+VCC GND

GND SCL

GND SDA

GND NC

GND NC

รูป แสดงลักษณะการจัดเรียงสัญญาณของขั้ว I2C BUS

ในการใชงานอุปกรณ I2C นั้น CPU เบอรนี้ ไดมีสวนของฮารดแวรที่ทําหนาที่ติดตอสื่อสาร


แบบ I2C บรรจุไวในตัว CPU แลวโดยอุปกรณ I2C นั้นตองการสัญญาณในการติดตอสื่อสารกัน
จํานวน 2 เสนสัญญาณ คือ SCL (Clock) และ SDA (Data) ซึ่งตามโครงสรางของ CPU เบอรนี้ จะถูก
ใชรวมกับขาสัญญาณ PA6 และ PA7 ดังนั้นในการใชงานตองทําการสลับโหมดการทํางานของขา
สัญญาณ ใหอยูในโหมด I2C ซึ่งในการกําหนดโหมดนั้นจะกําหนดดวยซอรฟแวรดังนั้นผูใชจะตอง
ศึกษาวิธีใชงานของ CPU เบอรนี้จาก Data Sheet เสียกอน โดยขาสัญญาณทั้ง 2 จะทําหนาที่ดังนี้

- SDA ทําหนาที่เปนสัญญาณขอมูลแบบ 2 ทิศทาง ใชสําหรับสงขอมูลจาก CPU กับ


อุปกรณ I2C โดยขาสัญญาณนี้จะถูกตอรวมกับขา PA7
- SCL ทําหนาที่เปนสัญญาณนาฬิกา Clock สําหรับใชติดตอสื่อสารกับอุปกรณ I2C โดย
สัญญาณที่ทําหนาที่เปน SCL นี้จะเปนสัญญาณ Output จาก CPU เพื่อใชควบคุม
การรับสงขอมูล ระหวาง CPU กับอุปกรณ I2C ซึ่งขาสัญญาณนี้จะตอรวมกับขา PA7

สิ่งสําคัญในการใชงานคือผูใชจะตองตอ R Full Up คาประมาณ 4.7K ไวที่ขา SDA และ SCK


ดวย เนื่องจากในบอรด CP-JRZ8F01 V1.0 นี้ไมไดตอไวให และจะเห็นวาในบอรดนี้ขาสัญญาณ PA6
และ PA7 จะถูกตอออกมาใชงานเปนพอรต I/O ที่ขั้วตอ 34 PIN ดวย ดังนั้นในขณะใชงานในโหมด
I2C ไมควรตอ Load ใดๆไวที่ขั้วตอที่ตําแหนง PA6 และ PA7 มิฉะนั้นจะทําใหใชงานอุปกรณ I2C
ไมได

ETT CO. ,LTD. 16 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การใชงานขั้วตอ SPI
พอรต SPI นี้จะถูกตอออกมายังขั้วตอแบบ CPA ขนาด 6 PIN โดยการสื่อสารแบบ SPI นี้ก็
เปนการติดตอสื่อสารแบบอนุกรมอีกแบบหนึ่ง ซึ่งใน CPU เบอรนี้มีสวนของฮารดแวรที่ทําหนาที่ติด
ตอสื่อสารแบบ SPI บรรจุไวในตัว CPU แลว ซึ่งในการสื่อสารกันนั้นจะใชสายสัญญาณในการ รับ-
สง ขอมูลกัน จํานวน 4 เสนคือ SS , SCK , MOSI , MISO ซึ่งขาเหลานี้จะใชงานรวมกับ พอรต PC2
, PC3 , PC4 , PC5 ดังนั้นการใชงานก็จะตองกําหนดให CPU ทํางานในโหมดนี้เสียกอน คลายกับ I2C
โดยลักษณะของขั้วตอสัญญาณของพอรต SPI บนบอรด CP-JRZ8F01 V1.0 จะเปนดังรูป

SCK

GND
+VCC

SS

MOSI

MISO

รูป แสดงขั้วตอสัญญาณ SPI บนบอรด CP-JRZ8F01 V1.0

โดยหนาที่ของแตละขาจะเปนดังนี้คือ
- SCK (SPI Serial Clock ) ทําหนาที่ในการกําหนดจังหวะการ รับ-สง ของขอมูล ที่ผานเขา
ออกทางสายสัญญาณ MOSI และ MISO และเมื่อ CPU ถูกกําหนดใหเปน Master ขา
SCK ก็จะทําหนาที่เปน Output สงสัญญาณ Clock ออกไปให อุปกรณที่เปน Slave
ถา CPU ถูกกําหนดใหเปน Slave ขา SCK จะถูกกําหนดใหเปน Input และสัญญาณ
Clock จาก Master จะตองไดจังหวะกับขอมูลที่สงระหวาง Master และ Slave โดย
ขา SCK นี้จะใชขาสัญญาณเดียวกับขา PC3
- MOSI (Master-Out , Slave –In ) ขาสัญญาณนี้จะทําหนาที่ในการรับสงขอมูล ซึ่งจะถูก
กําหนดใหเปน Output เมื่อ CPU ทํางานในโหมด Master และจะถูกกําหนดใหเปน
Input เมื่อ CPU ทํางานในโหมด Slave โดยขา MOSI นี้จะใชขาสัญญาณเดียวกับ
ขา PC4
- MISO ( Master-IN , Slave Out ) ทําหนาที่ในการรับสงขอมูล ซึ่งจะถูกกําหนดใหเปน
Input เมื่อ CPU ทํางานในโหมด Master และจะถูกกําหนดใหเปน Input เมื่อ CPU
ทํางานในโหมด Slave โดยขา MISO นี้จะใชขาสัญญาณเดียวกับขา PC5
- SS ( Slave Select ) จะทําหนาที่ในการเลือก Slave ของอุปกรณที่ใชการสื่อสารแบบ SPI
โดยจะทํางานที่ลอจิก “0” โดยขา SS นี้จะใชขาสัญญาณเดียวกับ PC2
เมื่อกําหนดให CPU ทํางานเปน Master ผูใชจะตอง กําหนด Jumper มาทางดาน MS ดังรูป
ซึ่งจะเปนการตอขาสัญญาณ SS เปนลอจิก “1” ไวซึ่งเปนการใชงานแบบ Multi-Master เพื่อปองกัน

ETT CO. ,LTD. 17 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Flag สถานะของ SPI เซต คาผิดพลาด แตถาใช CPU เปน Slave ก็กําหนด Jumper ไปทางดาน SL ดัง
รูป จะทําใหขา SS ถูกควบคุมในการเลือก Slaveโดยตัวอุปกรณ Master ที่เรานํามาตอแทน

SL / MS
SL / MS
Master Slave
รูป แสดงการกําหนด Jumper เมื่อใชงานเปน Master และ Slave

การติดตั้งโปรแกรม ZDS-II สําหรับเขียนและ Download โปรแกรม

1. ตอสาย Download RS232 ที่ COM1 หรือ COM2 จากเครื่อง PC มายังบอรดที่จุด Download ดังรูป

ETT

COM1

COM2

รูป แสดงการตอสาย Download ระหวาง เครื่อง PC กับบอรด


2. ทําการ Copy โปรแกรม ZDS2_z8encore_f640x_451.exe จากแผน CD ลงในฮารดดิสก จากนั้น
คลิกที่ไอคอนไฟลเพื่อทําการติดตั้งโปรแกรม ดังรูป

ETT CO. ,LTD. 18 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

3. จากนั้นโปรแกรมก็จะทําการ Extract File ใหอัตโนมัติ เมื่อเสร็จจะปรากฏหนาตางดังรูป ใหคลิก


Next เพื่อทําการติดตั้งตอ

4. เลือก Yes เพื่อยอมรับเงื่อนไขในการติดตั้ง

ETT CO. ,LTD. 19 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

5. คลิก Next เพื่อ ติดตั้งโปรแกรมตอ ดังรูป

รูป แสดงการติดตั้งโปรแกรมสมบูรณครบ 100%


6. คลิก Next

ETT CO. ,LTD. 20 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

7. คลิก Finish การติดตั้งเสร็จสมบูรณ

8. จากนั้น โปรแกรมจะทําการ Run หนาตางการใชงานขึ้นมา ดังรูป

ETT CO. ,LTD. 21 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

การใชงานโปรแกรม ZDS –II


โปรแกรม ZDS-II นี้เราจะใชสําหรับในการเขียนโปรแกรมและใช Download โปรแกรมที่
เขียนขึ้นลงบนบอรด CP-JRZ8F01 V1.0 เพื่อเบิรนโปรแกรมลงบนตัว CPU โดยภาษาที่ใชสําหรับ
เขียนโปรแกรมจะใชภาษา C ซึ่งคําสั่งตางๆที่ใชก็จะเหมือนกับภาษา C ทุกประการ สวนตัวแปรที่ใช
เขียนโปรแกรมในการอางอิงตําแหนงพอรตตางๆของ CPU ดูไดจากทายคูมือนี้

- การสราง New Project


1. Run โปรแกรม ZDS-II ขึ้นมา จากนั้นเลือก New Project จากเมนู File จะไดหนาตาง New Project
แสดงดังรูป

รูป แสดงหนาตาง New Project

2. จากหนาตาง New Project ใหคลิกปุม เพื่อเลือกกระเปาที่จะเก็บ Project ที่สรางขึ้น พรอมกับ


ตั้งชื่อ Project เปนนามสกุล .pro โดยนามสกุลถาเราไมใสตัวโปรแกรมจะสรางใหเองอัตโนมัติ
เมื่อเลือกเสร็จที่ชอง Project Name ก็จะแสดงชื่อกระเปาที่เก็บ Project และชื่อ Project ที่ตั้งไว
จากตัวอยางคือ C:\ My Documents \ work \ LAB1.pro สวนในชอง Target ,CPU , Project Type
ใหเลือกตามตัวอยางที่แสดง
3. คลิก Continue
4. หนาตาง Configure New Project จะแสดงขึ้นมาดังรูป ใหเช็คเครื่องหมายถูกที่ชอง Floating
Point Library และเลือก Large สําหรับชอง Memory Model
5. คลิก Next

ETT CO. ,LTD. 22 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

รูป แสดงหนาตาง Configure New Project

6. หนาตางแสดงขอบเขตของหนวยความจําจะปรากฏขึ้นดังรูป ใหคลิก Finish

ETT CO. ,LTD. 23 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

7. หลังจากสราง Project เสร็จ จะไดหนาตางที่ใชงานออกมาดังรูป

8. คลิกที่ปุม New ( ) จะไดหนาจอสีขาว (IDE1) ออกมาดังรูปซึ่งพื้นที่นี้เราจะใชในการ


เขียนโปรแกรม

ETT CO. ,LTD. 24 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

9. ทําการเขียนโปรแกรมตามหลักโครงสรางของภาษา C โดยในการใชงานโปรแกรมนี้ File include


ที่สําคัญ ที่ควรจะตองประกาศไวที่หัวโปรแกรมที่เขียนคือ stdio.h และ ez8.h เพื่อ ใหcompile
ทราบถึงตัวแปรที่เราใชอางถึงตําแหนงแอดเดรสของพอรตตางๆ
10. หลังจากเขียนโปรแกรมเสร็จแลวใหทําการ Save File ที่เขียนขึ้นเปนนามสกุล .C โดยคลิก ที่ปุม
หรือ Save As… แลวทําการตั้งชื่อไฟลจากตัวอยางคือ LAB1.C ในที่นี้จะตั้งชื่อเหมือนกับชื่อ
Project ที่ไดตั้งไวในตอนแรก หรือผูใชจะตั้งใหแตกตางกันก็ไดไมมีผลอะไร แตชื่อ File ตองใส
นามสกุล .C ลงไปดวย จากนั้นจะไดหนาจอออกมาดังรูป จะสังเกตเห็นวาชื่อ File ในตอนแรกเปน
IDE1 หลังจากที่เรา Save แลวจะเปลี่ยนตามชื่อที่ Save ไวคือ LAB1.C

รูป แสดงโปรแกรมที่เขียนขึ้นหลังจาก Save File แลว

ในโปรแกรมตัวอยางจากรูปนี้สามารถดูตัวโปแกรมที่สมบูรณไดจากดานลาง ซึ่งผูใชสามารถ
ทดลองนําไปเขียนและ Run ดูได โดยลักษณะของโปแกรมจะเปนไฟวิ่ง ซึ่งผูใชจะตองตอ LED ที่ขั้ว
ตอ 34 Pin ถาตองการจะดูผลการทํางาน

ETT CO. ,LTD. 25 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

/////////////////////////////////////////////////////////////////////////
// PRO.Test Port //
// Use LED Connect at PA-PD common Cathod //
////////////////////////////////////////////////////////////////////////////
# include <stdio.h>
# include <ez8.h>
//--------- Delay -----------------
void delay (int count)
{
int i , j ;
for (i = 0; i <= count ; i++)
for (j = 0 ; j<= count ; j++) ;
}
//------- Main -------------------
main()
{ unsigned char x , y ;
PADD = 0X00 ; // PA = output,PA0-PA7
PBDD = 0X00 ; // PB = output,PB0-PB7
PCDD = 0X00 ; // PC = output,PC0-PC6
PDDD = 0X00 ; // PD = output,PD0,PD1,PD3
while(1)
{
//--------- LED run 1 Bit ----------
PAOUT = 0X01 ; // Data go Port PA
delay (300) ;
for (y = 0 ; y <= 7 ; y++)
{
PAOUT = PAOUT << 1 ; // Shift Data in Port A 1Bit
delay (300) ;
} // Shift Data จนครบ 7 Bit

ETT CO. ,LTD. 26 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

PBOUT = 0X01 ; // Data go Port PB


delay (300) ;
for (y = 0 ; y <= 7 ; y++)
{
PBOUT = PBOUT<<1 ; // Shift Data in Port B 1 Bit
delay (300) ;
}
PCOUT = 0X01 ; // Data go PC
delay (300) ;
for (y = 0 ; y <= 6 ; y++)
{
PCOUT = PCOUT<<1 ; // Shift Data in Port C 1 Bit
delay (300) ;
}
PDOUT = 0X01 ; // Data go Port PD
delay (300) ;
for (y = 0 ; y <= 1 ; y++)
{
PDOUT = PDOUT<<1 ; // Shift Data in Port D 1 Bit
delay (250) ;
}
PDOUT = 0X08 ; // Data go PD3
delay(300) ;
PDOUT = 0X00 ;
}
}

ETT CO. ,LTD. 27 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

หลังจากที่ Save File ที่เขียนเรียบรอยแลวกอนที่จะทําการ Compiler เราจะตองทําการ Add


File และกําหนดคุณสมบัติของ File ที่เขียนขึ้นดังนี้

- Add File ไปยัง Project ที่สรางไว


1. จากเมนู Project เลือกเมนูยอย Add File จากนั้นจะปรากฏหนาตาง Add File To Project
ขึ้น มาดังรูป ใหเรา คลิก File นามสกุล . C ที่ Save ไวในตอนแรกจากตัวอยางคือ
LAB1.C แลวคลิกปุม Add

2. หลังจาก Add File แลวโปรแกรมจะกลับมาที่หนาตางหลัก และทางหนาตางดานซายมือ


ใน Folder Project File จะพบ File LAB1.C ที่เรา Add เขามา ดังรูป

File ที่ Add เขามา

ETT CO. ,LTD. 28 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

- การตั้งคา Project File ที่เขียนขึ้นหลังจากทําการ Add File เรียบรอยแลว


1. จากเมนู Project ใหเลือกที่ Setting จากนั้นหนาตาง Project Setting จะปรากฏขึ้นมาและมี
แทบใหเราเขาไปตั้งคา 6 แทบดวยกัน
2. เลือกแทบ General จะปรากฏหนาตางดังรูป ในชอง CPU ใหเลือก CPU ที่เราใช คือ
เบอร Z8F4801 ถาคาที่กําหนดตรงกับที่เราตองการแลวก็ไมตองแกไขอะไร

3. เลือกแทบ C (Compiler) จะแสดงหนาตางดังรูป โดยในแตละชองของหนาตางผูใชตอง


แนใจวาไดกําหนดคาตามที่แสดงในรูปนี้แลว ถาชองไหนยังไมใชใหทําการเปลี่ยน

ETT CO. ,LTD. 29 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

4. เลือกแท็บ Assambler จะแสดงหนาตางดังรูป และทําการเช็คบล็อก ตามที่แสดงในรูป

ETT CO. ,LTD. 30 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

5 . เลือกแทบ Linker จะแสดงหนาตางดังรูป ในชอง Category จะถูกเลือกเปน General


และ ทําการเช็คบล็อกดังรูป

6. เลือกแทบ Target จะแสดงหนาตางดังรูป ซึ่งหนาตางนี้จะเปนการกําหนดขนาดชนิดของ


ขอมูลที่ใช ซึ่งผูใชสมารถกําหนดไดตามความเหมาะสม หรือจะใชคา default ตามนี้ก็ได

ETT CO. ,LTD. 31 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

7. เลือกแทบ Debugger จะแสดงหนาตางดังรูป ในชอง Driver คา default จะกําหนดเปน


Simulator ซึ่งหมายถึงวาตองการ Run โปรแกรมที่เขียนบนตัวคอมพิวเตอร โปรแกรม
จะไมถูก Download ลงใน CPU ซึ่งผูใชสามารถดูคาการเปลี่ยนแปลงของรีจีสเตอรได
ตาม Step การทํางานของโปรแกรมที่เขียน โดยไปที่เมนู View แลวทําการเลือก Debug
Windows จากนั้นก็เลือกเมนูยอยที่ตองการจะดู (ตองทําการ Run โปรแกรมกอน)

8. ถาผูใชตองการจะ Download โปรแกรมที่เขียนลงบนบอรด ลงไปในตัว CPU จะตองเลือก


ในชอง Driver เปน Z8Encore! OCD Driver จะแสดงหนาตางดังรูป จากนั้นคลิกที่
Configure Driver จะปรากฏหนาตาง Configure Target ขึ้นมา เพื่อใหผูใชทําการกําหนด
คา Baud Rate ในการรับสงขอมูล ซึ่งในตัวอยางจะเลือก 57600 bit/sec ,กําหนด Port ที่ใช
ในการ Download โปรแกรม จากตัวอยางจะเลือก Com1 และสุดทายกําหนดความถี่ของ
CPU ที่ใช ซึ่ง CPU ของบอรดนี้จะใชความถี่ที่ 18.432 MHz

ETT CO. ,LTD. 32 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

9. หลังจากกําหนดคาตางๆให Project ที่สรางขึ้นเรียบรอยแลวให คลิก OK

-การ Compiler และการ Download โปรแกรมหลังจากกําหนดคาให Project แลว

1. ไปทีเมนู Build เลือก Compile ( ) จะทําการตรวจสอบความผิดพลาดของโปรแกรมที่


เขียนถาไมพบ Error แสดงวาโปรแกรมที่เขียนถูกตอง ถาในสวนนี้พบErrorผูใชตองกลับ
ไปแกไขโปรแกรมจนกวาจะ Compile ผาน
2. เมื่อ Compile ผานแลวใหไปที่ เมนู Build แลวเลือก Rebuild All ( )ซึ่งจะทําหนาที่
ในการสรางไฟลที่เกี่ยวของกับ Project ของเราขึ้นมา ถาโปรแกรมที่เขียนไมพบ Error
อะไร แสดงวา โปรแกรมที่เราเขียนสารถที่จะนําไป Run ไดแลว
3. การ Run หรือ Download โปรแกรม หลังจากที่โปรแกรมผานการ Rebuild All แลว ให
ไปที่เมนู Build แลว เลือก Debug และเขาไปคลิกที่คําสั่ง go หรือกด F5 ( )โปรแกรม
ที่เราเขียนขึ้นก็จะถูก Download ไปยังCPU บนบอรดทดลองพรอมกันก็จะแสดงการ Run
ใหเราเห็นที่หนาจอดวย โดยจะแสดงจุดสีน้ําเงินปรากฏใหเห็นอยูหนาคําสั่งที่ถูก Run

ETT CO. ,LTD. 33 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

รูป แสดงหนาตางขณะทําการ Download โปรแกรมหลังคลิกคําสั่ง go

4. การหยุด Run โปรแกรมทําไดโดย คลิกที่ปุม Stop Debugging ( )


5. กอนที่จะทําการ Download โปรแกรมควรจะกดปุม Reset ที่ตัวบอรดกอนทุกครั้ง เพื่อ
ปองกันการ Download ผิดพลาด และอีกสิ่งหนึ่งที่ตองคํานึงถึงคือ ผูใชตองแนใจวา Set
คาตางใหกับProject ที่สรางขึ้นถูกตองแลว โดยเฉาะในสวนของ Debugger ตองกําหนด
ตําแหนงของพอรตที่ใช Download ใหถูกตอง และในชอง Driver ตองเลือก Z8Encore!
OCD Driver เทานั้นถึงจะ Download โปรแกรมลงบนบอรดได

ในสวนของการใชงานโปรแกรม ZDS-II ที่กลาวมาแลวขางตน จะเปนการแนะนํา การใช


งานโปรแกรมเบื้องตนเพื่อใหผูใชสามารถที่จะรูวิธีการสราง Project , การกําหนดคาใหกับ Project ที่
สรางขึ้นและการ Download โปแกรมลงบนบอรดทดลอง ไดอยางถูกตอง สวนรายละเอียดอื่นๆ จะ
ไมกลาวถึง ณ ที่นี้ ขอใหผูใชทําการศึกษาทดลอง และสังเกต การใชงานดวยตนเอง

การทํางานของปุมคําสั่งตางๆที่สําคัญในโปรแกรม

Compile/Assembly File ใชสําหรับตรวจสอบความผิดพลาดโครงสรางของคําสั่งที่เขียนขึ้น

Build ใชสําหรับสราง Output File ที่มีการเปลี่ยนแปลงใน Project ใหม

Rebuild All ใชสําหรับสราง Output File ใน Project ใหมทั้งหมด โดยไมสนวา File


นั้นจะมีการเปลี่ยนแปลงหรือไม

Connect To Target ใชสําหรับติดตอกับฮารดแวรเพื่อเขาไปยัง รีจีสเตอร หนวยความจํา


และอื่น โดยจะไมมีการโหลด Code ลงไปใน CPU

ETT CO. ,LTD. 34 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Download Code ใชสําหรับ Download Code ลงใน CPU แตจะยังไมทําการ Run

Reset ใชสําหรับในการ Reset โปรแกรมใหเริ่มการ Runใหม

Go ใชสําหรับ Download โปรแกรมลงบน CPU และทําการ Run โปรแกรมดวย

Stop Debugging ใชสําหรับหยุดและออกจากการ Run โปรแกรม

Insert/Remove Breakpoint ใชสําหรับใส และ ลบ Breakpoint ในบรรทัดที่ Cursor


ปรากฏ โดยจะใสไวกอนที่จะ Run โปรแกรม เมื่อโปรแกรม Run จะขามบรรทัดที่ใส
Breakpoint ไป

Enable/Disable Breakpoint ใชสําหรับกําหนด Breakpoint ในบรรทัดที่ Cursor


ปรากฏ ใหทํางาน หรือ หยุดทํางาน

Disable All Breakpoint ใชสําหรับ กําหนด Breakpoint ใน File ทั้งหมดที่เปดขึ้นมา


ใหหยุดทํางาน

Remove All Breakpoint ใชสําหรับลบ Breakpoint ออกจาก File ที่เปดไวทั้งหมด

Step Over ใชสําหรับ Run โปรแกรมครั้งละ 1 บรรทัด โดยจะไมแสดงการเขาไป Run


โปรแกรมในฟงกชันใหเห็น คือ จะ Run ฟงกชันนั้นใหเสร็จใน Step เดียวเลย

Step Into ใชสําหรับ Run โปรแกรมครั้งละ 1บรรทัด โดยจะเขาไป Run โปรแกรมใน


ฟงกชันใหเห็นดวย

Step Out ใชสําหรับ Run โปรแกรม ใหเสร็จในครั้งเดียว

Set Next Instruction ใชสําหรับ ใหกระโดดไป Run โปรแกรม ในบรรทัดที่ Cursor


ปรากฏอยู

ETT CO. ,LTD. 35 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

รูป วงจรของบอรด CP-JRZ8F01 V1.0 (Sheet1)

ETT CO. ,LTD. 36 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

รูป วงจรของบอรด CP-JRZ8F01 V1.0 (Sheet2)

ETT CO. ,LTD. 37 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Address (Hex) Register Description Mnemonic Reset (Hex)


RAM
000-EFF Data Register File RAM ------ XX
Timer 0
F00 Timer 0 High Byte T0H 00
F01 Timer 0 Low Byte T0L 01
F02 Timer 0 Reload High Byte T0RH FF
F03 Timer 0 Reload Low Byte T0RL FF
F04 Timer 0 PWM Hight Byte T0PWMH 00
F05 Timer 0 PWM Low Byte T0PWML 00
F06 Reserved (ไมใช) ---- XX
F07 Timer 0 Control T0CTL 00
Timer1
F08 Timer 1High Byte T1H 00
F09 Timer 1Low Byte T1L 01
F0A Timer1Reload High Byte T1RH FF
F0B Timer 1Reload Low Byte T1RL FF
F0C Timer 1 PWM High Byte T1PWMH 00
F0D Timer 1 PWM High Byte T1PWML 00
F0E Reserved (ไมใช) ---- XX
F0F Timer 1 Control T1CTL 00
Timer2
F10 Timer 2 High Byte T2H 00
F11 Timer 2 Low Byte T2L 01
F12 Timer 2 Reload High Byte T2RH FF
F13 Timer 2 Reload Low Byte T2RL FF
F14 Timer 2 PWM High Byte T2PWMH 00
F15 Timer 2 PWM Low Byte T2PWML 00
F16 Reserved ---- XX
F17 Timer 2 Control T2CTL 00
ตาราง แสดง ตําแหนง Address และ ชื่อ Register Control ที่ใชอางอิงในการเขียนโปรแกรม

ETT CO. ,LTD. 38 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Address (Hex) Register Description Mnemonic Reset (Hex)


Timer3
F18 Timer3 High Byte T3H 00
F19 Timer3 Low Byte T3L 01
F1A Timer3 Reload High Byte T3RH FF
F1B Timer3 Reload Low Byte T3RL FF
F1C Timer3 PWM High Byte T3PWMH 00
F1D Timer3 PWM Low Byte T3PWML 00
F1E Reserved (ไมใช) --- XX
F1F Timer3 Control T3CTL 00
20-3F Reserved (ไมใช) --- XX
UART0
F40 UART0 Transmit Data U0TXD XX
UART0 Receive Data U0RXD XX
F41 UART0 Status 0 U0STAT0 0000011Xb
F42 UART0 Control 0 U0CTL0 00
F43 UART0 Control 1 U0CTL1 00
F44 UART0 Status 1 U0STAT1 00
F45 Reserved (ไมใช) --- X
F46 UART0 Baud Rate High Byte U0BRH FF
F47 UART0 Baud Rate Low Byte U0BRL FF
UART1
F48 UART1 Transmit Data U1TXD XX
UART1 Receive Data U1RXD XX
F49 UART1 Status 0 U1STAT0 0000011XP
F4A UART1 Control 0 U1CTL0 00
F4B UART1 Control 1 U1CTL1 00
F4C UART1 Status 1 U1STAT1 00
F4D Reserved ---- XX
XX = Undefined
ตาราง แสดง ตําแหนง Address และ ชื่อ Register Control ที่ใชอางอิงในการเขียนโปรแกรม (ตอ)

ETT CO. ,LTD. 39 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Address (Hex) Register Description Mnemonic Reset (Hex)


F4E UART1 Baud Rate High Byte U1BRH XX
F4F UART1 Baud Rate Low Byte U1BRL XX
I2C
F50 I2C Data I2CDATA 00
F51 I2C Status I2CSTAT 80
2
F52 I C Control I2CCTL 00
F53 I2C Baud Rate High Byte I2CBRH FF
F54 I2C Baud Rate Lor Byte I2CBRL FF
F55-F5F0 Reserved ( ไมใช ) --- XX
Serial Peripheral Interface (SPI)
F60 SPI Data SPIDATA XX
F61 SPI Control SPICTL 00
F62 SPI Status SPISTAT 00
F63 SPI Mode SPIMODE 00
F64-F65 Reserved (ไมใช) --- XX
F66 SPI Baud Rate High Byte SPIBRH FF
F67 SPI Baud Rate Low Byte SPIBRL FF
F68-F69 Reserved (ไมใช) --- XX
Analog – to – Digital Converter (ADC)
F70 ADC Control ADCCTL 00
F71 Reserved --- XX
F72 ADC Data High Byte ADCD_H XX
F73 ADC Data Low Byte ADCDL XX
F74-FAF Reserved (ไมใช) --- XX
DMA0
FB0 DMA0 Control DMA0CTL 00
FB1 DMA0 I/O Address DMA0IO XX
FB2 DMA0 end/start Address high Nibble DMA0H XX
XX = Undefined
ตาราง แสดง ตําแหนง Address และ ชื่อ Register Control ที่ใชอางอิงในการเขียนโปรแกรม (ตอ)

ETT CO. ,LTD. 40 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Address (Hex) Register Description Mnemonic Reset (Hex)


FB3 DMA0 Start Address Low Byte DMA0START XX
FB4 DMA0 End Address Low Byte DMA0END XX
DMA1
FB8 DMA1 Control DMA1CTL 00
FB9 DMA1 I/O Address DMA1IO XX
FBA DMA1 end/start Address high Nibble DMA1H XX
FBB DMA1 Start Address Low Byte DMA1START XX
FBC DMA End Address Low Byte DMA1END XX
DMA ADC
FBD DMA_ADC Address DMAA_ADDR XX
FBE DMA_ADC Control DMAACTL 00
FBF DMA_ADC Status DMAASTAT 00
Interrupt Controller
FC0 Interrupt Request 0 IRQ0 00
FC1 IRQ0 Enable High Bit IRQ0ENH 00
FC2 IRQ0 Enable Low Bit IRQ0ENL 00
FC3 Interrupt Request 1 IRQ1 00
FC4 IRQ1 Enable High Bit IRQ1ENH 00
FC5 IRQ Enable Low Bit IRQ1ENL 00
FC6 Interrupt Request 2 IRQ2 00
FC7 IRQ2 Enable High Bit IRQ2ENH 00
FC8 IRQ2 Enable Low Bit IRQ2ENL XX
FC9-FCC Reserved (ไมใช) --- XX
FCD Interrupt Edge Select IRQES 00
FCE Interrupt Port Select IRQPS 00
FCF Interrupt Control IRQCTL 00
XX = Undefined
ตาราง แสดง ตําแหนง Address และ ชื่อ Register Control ที่ใชอางอิงในการเขียนโปรแกรม (ตอ)

ETT CO. ,LTD. 41 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Address (Hex) Register Description Mnemonic Reset (Hex)


I/O Port A
FD0 Port A Address PAADDR 00
FD1 Port A Control PACTL 00
FD2 Port A Input Data PAIN XX
FD3 Port A Output Data PAOUT 00
I/O Port B
FD4 Port B Address PBADDR 00
FD5 Port B Control PBCTL 00
FD6 Port B Input Data PBIN XX
FD7 Port B Output Data PBOUT 00
I/O Port C
FD8 Port C Address PCADDR 00
FD9 Port C Control PCCTL 00
FDA Port C Input Data PCIN XX
FDB Port C Output Data PCOUT 00
I/O Port D
FDC Port D Address PDADDR 00
FDD Port D Control PDCTL 00
FDE Port D Input Data PDIN XX
FDF Port D Output Data PDOUT 00
I/O Port E
FE0 Port E Address PEADDR 00
FE1 Port E Control PECTL 00
FE2 Port E Input Data PEIN XX
FE3 Port E Output Data PEOUT 00
I/O Port F
FE4 Port F Address PFADDR 00
FE5 Port F Control PFCTL 00
XX = Undefined
ตาราง แสดง ตําแหนง Address และ ชื่อ Register Control ที่ใชอางอิงในการเขียนโปรแกรม (ตอ)

ETT CO. ,LTD. 42 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Address (Hex) Register Description Mnemonic Reset (Hex)


FE6 Port F Input Data PFIN XX
FE7 Port F Output Data PFOUT 00
I/O Port G
FE8 Port G Address PGADDR 00
FE9 Port G Control PGCTL 00
FEA Port G Input Data PGIN XX
FEB Port G Output Data PGOUT 00
I/O Port H
FEC Port H Address PHADDR 00
FED Port H Control PHCTL 00
FEE Port H Input Data PHIN XX
FEF Port H Output Data PHOUT 00
Watch – Dog Timer (WDT)
FF0 Watch-Dog Timer Control WDTCTL XXX00000 b
FF1 Watch-Dog Timer Reload Upper byte WDTU FF
FF2 Watch-Dog Timer Reload High Byte WDTH FF
FF3 Watch-Dog Timer Reload Low Byte WDTL FF
FF4-FF7 Reserved (ไมใช) --- XX
Flash Memory Controller
FF8 Flash Control /Flash Status FCTL / FSTAT 00
FF9 Flash Page Select FPS 00
FFA Flash Program Frequency High Byte FPFH 00
FFB Flash Program Frequency Low Byte FPFL 00
EZ8 CPU
FFC Flags --- XX
FFD Register Pointer RP XX
FFE Stack Pointer High Byte SPH XX
FFF Stack Pointer Low Byte SPL XX
ตาราง แสดง ตําแหนง Address และ ชื่อ Register Control ที่ใชอางอิงในการเขียนโปรแกรม (ตอ)

ETT CO. ,LTD. 43 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Prom Memory Interrupt


Vector Address Interrupt Source Mnemonic Assertion Type
0002H Reset RESET Not applicable
0004H Watch-Dog Timer WDT Continuous assertion
0006H Illegal Instruction Trap TRAP Not applicable
0008H Timer Channel 2 TIMER2 Single assertion (pulse)
000AH Timer Channel 1 TIMER1 Single assertion (pulse)
000CH Timer Channel 0 TIMER0 Single assertion (pulse)
000EH Uart Channel 0 receiver UART0_RX Continuous assertion
0010H Uart Channel 0 transmitter UART0_TX Continuous assertion
2
0012H IC I2C Continuous assertion
0014H SPI SPI Continuous assertion
0016H ADC ADC Single assertion (pulse)
0018H Port A7 or Port D7 P7AD Single assertion (pulse)
001AH Port A6 or Port D6 P6AD Single assertion (pulse)
001CH Port A5 or Port D5 P5AD Single assertion (pulse)
001EH Port A4 or Port D4 P4AD Single assertion (pulse)
0020H Port A3 or Port D3 P3AD Single assertion (pulse)
0021H Port A2 or Port D2 P2AD Single assertion (pulse)
0024H Port A1 or Port D1 P1AD Single assertion (pulse)
0026H Port A0 or Port D0 P0AD Single assertion (pulse)
0028H Timer channel 3 TIMER3 Single assertion (pulse)
002AH Uart Channel 1 receiver UART1_RX Continuous assertion
002CH Uart Channel 1 transmitter UART1_TX Continuous assertion
002EH DMA DMA Single assertion (pulse)
0030H Port C3 C3 Single assertion (pulse)
0032H Port C2 C2 Single assertion (pulse)
0034H Port C1 C1 Single assertion (pulse)
0036H Port C0 C0 Single assertion (pulse)
ตาราง แสดง ตําแหนง Interrupt Vector และ ชื่อ Interrupt Source ที่ใชอางอิงในการเขียนโปรแกรม

ETT CO. ,LTD. 44 WWW.ETT.CO.TH


คูมือการใชงานบอรดไมโครคอนโทรลเลอรรุน “ CP-JRZ8F01 V1.0 ”

Paddr (Hex) Register Description Mnemonic Reset (Hex)


01 Data Direction PADD / PBDD / PCDD / 01
PDDD / PEDD / PFDD /
PGDD / PHDD
02 Alternate Function PAAF / PBAF / PCAF / 00
PDAF / PEAF / PFAF /
PGAF / PHAF
03 Output Control (Open-Drain) PAOC / PBOC / PCOC / 00
PDOC / PEOC / PFOC /
PGOC / PHOC
04 High Drive Enable PAHDE / PBHDE / 00
PCHDE / PDHDE /
PEHDE / PFHDE /
PGHDE / PHHDE
05 Stop Mode Recovery Source PASMRE / PBSMRE / 00
Enable. PCSMRE / PDSMRE /
PESMRE / PFSMRE /
PGSMRE / PHSMRE
06-FF No Function --- ---
ตาราง แสดง ตําแหนง Address และ ชื่อ SUB-Register Control ที่ใชอางอิงในการเขียนโปรแกรม

ETT CO. ,LTD. 45 WWW.ETT.CO.TH


ET-ROBOTICS SERIAL
ET-ROBOT RD2 (CPU MCS51) ET-ROBOTICS
SYSTEM 2
เรียนรูแ้ ละศึกษาระบบหุน่ ยนต์ ด้วย CPU ตระกูล MCS51 ของ PHILIPS

R-TRACKER 3
64 Kbyte
Flash
CPU Mcs51 P89C51RD2 PHILIPS
SENSOR ตรวจจับแสงตามเส้นแบบ 3 ช่อง

ตัวฐานรถใช้ ALUMINUM หนา 3 MM

BATTERY SL6-1.3

BATTERY CHARGERS PACB-0004

SW SENSOR MICRO SW SERVO MOTOR S03T/STD/JR


พร้อมชุดกันชน LEGO แรงบิด 7.2 Kg - cm
ET-ROBOT RD2 (CPU MCS51) ชุด ROBOT SERVO MOTOR อีกหนึ่ง
จากทีมงานทีใ่ ช้ CPU MICROCONTROLLER ในตระกูลของ MCS51 โดยเลือกใช้เบอร์
P89C51RD2 ของ PHILIPS เป็น CPU ประจำตัว ROBOT
คุณสมบัติ ET-ROBOT RD2
ฐานตัว ROBOTR D2 นี้เลือกใช้วัสดุ ALUMINUM ชุบ ANODIAED
สีน้ำเงินหนา 3 mm สามารถรับน้ำหนักได้เป็นอย่างเป็นอย่างดี อุปกรณ์ SENSOR ทีม่ ใี ห้บนชุด ET-ROBOT RD2
ระบบขับเคลื่อน ROBOTใช้ตัว DC SERVO MOTOR รุ่น S03T/STD/ R-TRACKER 3 บอร์ดตรวจจับแสงตามเส้นแบบ 3 ช่องสัญญาณ ใช้
JR จำนวน 2 ตัว มีแรงบิดขับเคลื่อนในแต่ตัวขาด 7.2 Kg – CM SENSOR แสงเบอร์ PRP-359F จำนวน 3 ตัว พร้อมส่วน IC OPAMP
มีแรงมากพอสำหรับรับ น้ำหนักของอุปกรณ์หรือ BATTERY ต่างๆ SW SENSOR 4 ชุดพร้อมชุดกันชน LEGO ใช้แบบ MICRO SW
CPU P89C51 RD2 ของบริษทั PHILIPS เป็น CPU ในตระกูล MCS51 อุปกรณ์ POWER SUPPLY
หน่วยความจำโปรแกรมขนาด 64 KBYTE แบบ FLASH ในชุด ET-ROBOT RD2 จะมีตัว BATTERY แบบชาร์จได้ SEALED
พร้อมส่วนแสดงผลแบบ LCD DISPLAY ขนาด 16 ตัวอักษร 2 บรรทัด RE ขนาด 6V 1.3 A สามารถใช้งานได้นานกว่า 2 ชั่วโมง มีให้ในชุด
RS232 PORT MAX232 ON BOARD พร้อมวงจร ETT DOWNLOAD ซึ ่ ง จะทำให้ ป ระหยั ด มากกว่ า ในการใช้ ถ่ า นไฟฉายพร้ อ มในชุ ด
A TO D ขนาด 4 CH 12 BIT IC ADS7841 (OPTION) ก็จะมีเครื่องชาร์จ BATTERY รุ่น PACB – 0004 ให้ในชุดนี้ด้วย
RTC DS1307 (OPTION), EEPROM 24XX (OPTION), CIRCUIT พร้อมกันนี้ในชุดยังประกอบด้วย คู่มือ,CD-ROM โปรแกรม, สาย
LOWVOLT DETECT (OPTION),พร้อม ลำโพงเล็ก ON BOARD ET-DOWNLOAD RD2, สาย RS232 แบบ 9 PIN
1 INPUT SW ,4 INPUT DIP SW, 10 BIT I/O PORT, 4 LED • ตัว ROBOT RD2 พร้อม BAT 6V1.3A :ขนาด ก 15x ย 20.5x ส 10 cm
OUTPUT, 3 INPUT LED, พร้อมลำโพงบนบอร์ด น้ำหนัก 0.95 Kg ใช้งานได้ประมาณ 2 ชัวโมง

บริษทั อีทที ี จำกัด 1112/96-98 ถนนสุขุมวิท แขวงพระโขนง เขตคลองเตย กรุงเทพฯ 10110

ETT CO., LTD. 1112/96-98 Sukhumvit Rd., Phrakanong Bangkok Thailand 10110
Tel : 02-7121120 Fax : 02-3917216 www.ett.co.th email : sale@etteam.com www.ett.co.th

You might also like