18

ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน
Page 2: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน
Page 3: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

ไมโครคอนโทรลเลอรและการประยกตใชงาน 2

บรรณาธการทปรกษา ทพวรรณ อภวนทวรรตน บรรณาธการบรหาร ทวยา วณณะวโรจน หวหนาบรรณาธการ แทนพร เลศวฒภทร

บรรณาธการ สนนช อรามพจมาน ออกแบบปก ภาณพนธ โนวยทธ ออกแบบรปเลม รชชนก ศภศร ธรการสำนกพมพ องคณา อรรถพงศธร

พมพท : หางหนสวนจำกด ท. เอส. บ. โปรดกส

จดพมพโดย

5-7 ซอยสขมวท 29 ถนนสขมวท แขวงคลองเตยเหนอ เขตวฒนา กรงเทพ 10110

โทร. 0-2258-0320 (6 เลขหมายอตโนมต), 0-2259-9160 (10 เลขหมายอตโนมต)

http://www.tpabookcentre.com

จดจำหนายโดย บรษท ซเอดยเคชน จำกด (มหาชน)

1858/87-90 อาคารเนชนทาวเวอร ชน 19 ถนนบางนา-ตราด

แขวงบางนา เขตบางนา กรงเทพฯ 10260

โทร. 0-2739-8000, 0-2739-8222 โทรสาร 0-2739-8356-9

http://www.se-ed.com

ขอมลทางบรรณานกรมของสำนกหอสมดแหงชาต

ดอนสน ปงผาบ.

ไมโครคอนโทรลเลอรและการประยกตใชงาน 2. - - กรงเทพฯ : สมาคมสงเสรมเทคโนโลย (ไทย-ญปน), 2549.

248 หนา.

1. ไมโครคอนโทรลเลอร. 2. การควบคมอตโนมต. I. ชอเรอง.

629.89

ISBN 978-974-443-217-9

สงวนลขสทธตามพระราชบญญตลขสทธ พ.ศ. 2537 โดย สมาคมสงเสรมเทคโนโลย (ไทย-ญปน)

หามลอกเลยนไมวาสวนใดสวนหนงของหนงสอเลมน ไมวาในรปแบบใด ๆ

นอกจากจะไดรบอนญาตเปนลายลกษณอกษร

“ถาหนงสอมขอผดพลาดเนองจากการพมพ ใหนำมาแลกเปลยนไดทสมาคมฯ” โทร. 0-2258-0320 ตอ 1560, 1570

ราคา 230 บาท

พมพครงท 1 สงหาคม 2549 จำนวนพมพ 3,000 เลม พมพครงท 2 มนาคม 2551 จำนวนพมพ 1,000 เลม

โดย... ดอนสน ปงผาบ

Page 4: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน
Page 5: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

คำนำนายกสมาคม

สมาคมสงเสรมเทคโนโลย (ไทย-ญปน) กอตงขนเมอป พ.ศ. 2516 ดวยความรวมมอรวมใจของ

กลมบคคลทไดผานการศกษาระดบตาง ๆ จากประเทศญปน โดยไดรบความรวมมอทางดานทนทรพย

บางสวนจาก The Japan-Thailand Economic Cooperation Society (JTECS) เพอใชจายในการดำเนน

งานกจกรรมของสมาคมฯ ซงประกอบดวย ฝายสำนกพมพ ฝายภาษาและวฒนธรรม ฝายการศกษาและ

ฝกอบรม ฝายบรการสอบเทยบและวเคราะหสงแวดลอม ฝายวนจฉยและใหคำปรกษาสถานประกอบการ

และฝายเทคโนโลยสารสนเทศ ซงแตละฝายจดดำเนนการโดยสมาชกของสมาคมฯ ทำหนาท เปนคณะ

ทปรกษารบผดชอบบรหารงานใหเปนไปตามเปาหมาย

สำหรบฝายสำนกพมพฯ โดยแผนกตำราสนบสนนเทคนคอตสาหกรรม มนโยบายพนฐานคอ

การสงเสรมและเรงรดใหมการจดพมพหนงสอตำราทางเทคโนโลยทกประเภท รวมถงหนงสอทางดาน

การบรหารจดการธรกจ อตสาหกรรม ท งท เปนงานแปลโดยตรง งานแปลเรยบเรยง งานถอดความ

งานรวบรวม งานแตง และงานสำรวจวจยทางดานอตสาหกรรม โดยทสมาคมฯ มความเหนวา หนงสอตำรา

ภาษาไทย โดยเฉพาะในระดบอาชวศกษาแขนงวชาเทคโนโลยตาง ๆ ยงมอยในปรมาณจำกดไมพอเพยง

ถาสงเสรมใหมหนงสอเชนนเพมขน ยอมมสวนชวยยกระดบมาตรฐานการศกษาทางเทคโนโลยใหสงขน

และแพรหลายข นโดยปรยาย อกท งยงชวยสรางสรรคปญญา ความคดรเร ม และความร ความเขาใจ

อนถกตอง ซงจะเปนการปรากฐานสำคญในการพฒนาอตสาหกรรมของประเทศไทย เปนประโยชนแกสงคม

อตสาหกรรมโดยสวนรวม

ปจจบน สมาคมฯ ยงคงมเจตนารมณอนแนวแนทจะขยายงานทก ๆ ฝายตอไปอยางไมหยดยง

และหวงเปนอยางยงวาดวยเจตนาอนบรสทธของสมาคมฯ ในการดำเนนกจการทมใชการแสวงหาผลกำไร

หากม งม นท จะใหนกศกษาและประชาชนไดมโอกาสซ อหาหนงสอตำราในราคายอมเยาเชนน คงเกด

ประโยชนแกสงคมสวนรวมทงในทางตรงและทางออม และหากสถาบนการศกษาใดตองการใชสวนหนง

สวนใดเพ อใชประกอบการศกษา ทางสมาคมฯ กมไดขดของ แตใครขอใหทำเร องขออนญาตตอทาง

สมาคมฯ กอน

อนง สมาคมฯ ใครขอแสดงความขอบคณเปนอยางยงตอผเขยนและคณะผจดทำทไดพากเพยร

จนทำใหตำราชดนสำเรจขนมาไดไว ณ ทนดวย

(นายประยร เชยววฒนา)

นายกสมาคมสงเสรมเทคโนโลย (ไทย-ญปน)

Page 6: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

คำแถลงของสำนกพมพ ส.ส.ท.

สำนกพมพ ส.ส.ท. โดยแผนกตำราสนบสนนเทคนคอตสาหกรรม ววฒนาการมาจากโครงการ

สนบสนนเทคนคอตสาหกรรม ซงแตเดมใชชอวา โครงการตำรา ซงจดตงขนเมอป พ.ศ. 2516 พรอม ๆ

กบการกอต งสมาคมสงเสรมเทคโนโลย (ไทย-ญ ป น) โดยม งหวงท จะใหมตำราทางดานวทยาการ

ตาง ๆ ท งในระดบอาชวศกษาและประชาชนท วไป เพ อเพ มพนความร ทางดานชางท สามารถนำไปใช

ปฏบตงานได

ในระยะแรกนน ตำราทผลตโดยโครงการตำรา สวนใหญจะเปนหนงสอแปลจากตนฉบบภาษา

ญป น ตอมาจงไดขยายขอบขายของการจดพมพครอบคลมไปถงงานแปลและเรยบเรยงจากตนฉบบ

ภาษาอน งานเรยบเรยง-เขยนตำราจากประสบการณของผชำนาญในแตละสาขา ซงสวนใหญจะเปนอาจารย

จากสถาบนการศกษา

ตอมาในระยะ 4-5 ป หลงจากการกอตงสมาคมฯ โครงการตำราไดววฒนาการเปนโครงการ

สนบสนนเทคนคอตสาหกรรม และเปนสวนตำราสนบสนนเทคนคอตสาหกรรมในป พ.ศ. 2539

พรอม ๆ กบการขยายขอบขายหนงสอทจดพมพเพมเตม ไดแก หนงสอทางดานการบรหารจดการธรกจ

การบรหารจดการคณภาพ และอน ๆ ซงสอดคลองกบวตถประสงคการดำเนนงาน

โดยทหนงสอทจดพมพโดยสมาคมฯ ไดรบการตอนรบเปนอยางดจากนกศกษาและประชาชน

ท วไป ทางสมาคมฯ จงใครขอเชญชวนใหผ เช ยวชาญในวงการอตสาหกรรม และสถาบนการศกษา

ไดชวยกนเขยน-เรยบเรยงหนงสอทางดานเทคนคอตสาหกรรมและอน ๆ ใหแพรหลายยงขน โดยสมาคมฯ

ยนดใหการสนบสนนในดานการจดพมพ

สำนกพมพ ส.ส.ท. ขอขอบคณทานผเขยน-เรยบเรยงและเจาหนาทของสมาคมฯ ทกทานทให

ความรวมมอเปนอยางดในการจดพมพหนงสอเลมน และหวงวาหนงสอเลมนจะมสวนชวยในการพฒนา

เศรษฐกจและอตสาหกรรมของประเทศ และหากทานผอานมขอชแนะประการใด ขอไดโปรดแจงใหทาง

สำนกพมพทราบดวย จกเปนพระคณยง

Page 7: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

137

หนงสอ ไมโครคอนโทรลเลอรและการประยกตใชงาน 1 และ 2 ใชประกอบการเรยนการสอน

ในวชาทเกยวกบ ไมโครคอนโทรลเลอรและการประยกตใชงาน เนอหาในหนงสอ ไมโครคอนโทรลเลอรและการประยกตใชงาน 1 ประกอบไปดวย ความรพนฐานของไมโครคอนโทรลเลอรและไมโครโพรเซส- เซอร โครงสรางและสถาปตยกรรมของไมโครคอนโทรลเลอรในตระกล MCS-51 การเขยนโปรแกรมภาษาแอสเซมบล พนฐานของภาษาซ การใชงานโปรแกรม Keil การพฒนาไมโครคอนโทรลเลอรดวยภาษาซ การเขยนโปรแกรมควบคมหลอดแสดงผล LED การรบขอมลจากสวตชและหนยนตขนาดเลกควบคมดวยไมโครคอนโทรลเลอร

เนอหาในหนงสอ ไมโครคอนโทรลเลอรและการประยกตใชงาน 2 ประกอบไปดวย การเขยนโปรแกรมควบคมสญญาณไฟจราจร การควบคมหลอดแสดงผล 7 สวน การควบคมสเตปเปอรมอเตอร การควบคมรเลย การควบคมดซมอเตอร การควบคมแขนกล หนยนตเดนตามเสนควบคมดวยไมโครคอนโทรลเลอร การใชงานโปรแกรม Proteus การจาลองการทางานของไมโครคอนโทรลเลอร และการเขยนโปรแกรมควบคมหนยนต 4 ขา

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

หนงสอเลมนผเขยนไดเพยรพยายามทาใหสมบรณทสดเตมกาลงความสามารถ หากมขอ บกพรองหรอผดพลาดประการใด ผจดทาขอนอมรบคาแนะนาตาง ๆ เพอใชในการแกไขปรบปรงและพฒนาตอไป ผจดทาขอขอบพระคณอาจารยทกทานทไดใหวชาความร ผทชวยเหลอและตรวจสอบ ในการจดทาหนงสอเลนนจนเสรจสมบรณ

ดอนสน ปงผาบ

Page 8: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

บทท 1 การควบคมสญญาณไฟจราจร .................................................................................................... 1 1.1 วงจรจาลองสญญาณไฟจราจร............................................................................................. 2 1.2 การใชงานวงจรจบเวลา........................................................................................................ 2 1.3 วงจรควบคมสญญาณไฟจราจรแบบเลอกโหมดการทางาน................................................. 10 1.4 วงจรไฟจราจรแบบแสดงตวเลข......................................................................................... 13 1.5 วงจรควบคมสญญาณไฟจราจร......................................................................................... 16 1.6 สรปทายบท ...................................................................................................................... 16 แบฝกหดบทท 1 ....................................................................................................................... 17 บทท 2 การควบคมหลอดแสดงผล 7 สวน ............................................................................................ 19 2.1 หลกการทางานของหลอดแสดงผล 7 สวน ........................................................................ 19 2.2 วงจรเชอมตอหลอดแสดงผล 7 สวน ................................................................................. 21 2.3 วงจรเชอมตอไมโครคอนโทรลเลอรกบหลอดแสดงผล 7 สวนขนาด 2 หลก ...................... 24 2.4 การเชอมตอไมโครคอนโทรลเลอรกบหลอดแสดงผล 7 สวนขนาด 4 หลก ........................ 28 2.5 การทางานของไอซ 74138 ................................................................................................. 28 2.6 หลกการเขยนโปรแกรมควบคมหลอดแสดงผล 7 สวน ขนาด 4 หลก ............................... 29 2.7 สรปทายบท ...................................................................................................................... 38 แบบฝกหดบทท 2 ................................................................................................................... 39 บทท 3 การควบคมสเตปเปอรมอเตอร .................................................................................................. 41 3.1 สเตปเปอรมอเตอร............................................................................................................ 41 3.2 การเชอมตอไมโครคอนโทรลเลอรกบสเตบเปอรมอเตอร ................................................... 42 3.3 การควบคมการหมนแบบ 1 เฟส ....................................................................................... 43 3.4 การกลบทางหมนของสเตปเปอรมอเตอร ........................................................................... 45

Page 9: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

3.5 การควบคมการหมนแบบ 2 เฟส........................................................................................46 3.6 การควบคมการหมนแบบครงขน........................................................................................48 3.7 การควบคมตาแหนงของสเตปเปอรมอเตอร .......................................................................50 3.8 สรปทายบท .......................................................................................................................54 แบบฝกหดบทท 3 .....................................................................................................................55 บทท 4 การควบคมรเลยและดซมอเตอร ...............................................................................................57 4.1 รเลย .................................................................................................................................57 4.2 วงจรเชอมตอไมโครคอนโทรลเลอรกบรเลย .......................................................................59 4.3 การทางานของวงจรรเลย ...................................................................................................59 4.4 การตอรเลยควบคมดซมอเตอร .........................................................................................65 4.5 การควบคมทศทางการหมนของดซมอเตอร .......................................................................66 4.6 การควบคมแบบสตารเดลตา..............................................................................................69 4.7 สรปทายบท .......................................................................................................................75 แบบฝกหดบทท 4 .....................................................................................................................76 บทท 5 การควบคมแขนกล ...................................................................................................................77 5.1 การควบคมแบบเปด ..........................................................................................................78 5.2 การควบคมแบบปด ...........................................................................................................78 5.3 วงจรควบคมการทางานของแขนกล....................................................................................79 5.4 การทางานของไอซ TA7279 ..............................................................................................80 5.5 การควบคมการทางานของแขนกล......................................................................................81 5.6 การควบคมความเรวของมอเตอร.......................................................................................91 5.7 การควบคมจานวนรอบในการหมนของดซมอเตอรแบบปอนกลบ .......................................93 5.8 สรปทายบท .......................................................................................................................95 แบบฝกหดบทท 5 .....................................................................................................................96 บทท 6 หนยนตเดนตามเสน .................................................................................................................97 6.1 สวนประกอบของหนยนต ..................................................................................................97

Page 10: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

6.2 วงจรควบคมหนยนต ........................................................................................................ 98 6.3 เซนเซอร ........................................................................................................................... 99 6.4 หนยนตเดนตามเสน ....................................................................................................... 100 6.5 หลกการเขยนโปรแกรมควบคมหนยนต .......................................................................... 104 6.6 สรปทายบท .................................................................................................................... 113 แบบฝกหดบทท 6 .................................................................................................................. 114 บทท 7 การใชงานโปรแกรม Proteus ................................................................................................ 115 7.1 สภาพแวดลอมของโปรแกรม........................................................................................... 115 7.2 คาสงของเมนไฟล ........................................................................................................... 118 7.3 คาสงของเมน View ....................................................................................................... 118 7.4 คาสงของเมน Edit ......................................................................................................... 119 7.5 คาสงของเมน Debug ................................................................................................... 119 7.6 คาสงเมนของ Template ................................................................................................ 120 7.7 คาสงของเมน Help ........................................................................................................ 120 7.8 คาสงของเมน Main Modes .......................................................................................... 120 7.9 คาสงของเมน Gadgets.................................................................................................. 121 7.10 การใชงานโปรแกรมขนพนฐาน ........................................................................................ 121 7.11 การตอวงจรและการจาลองการทางาน.............................................................................. 130 7.12 สรปทายบท .................................................................................................................... 133 แบบฝกหดบทท 7 .................................................................................................................. 134 บทท 8 การจาลองการทางาน .............................................................................................................. 135 8.1 การควบคมหลอดแสดงผล LED .................................................................................... 136 8.2 การควบคมสญญาณไฟจราจร......................................................................................... 138 8.3 การควบคมไฟจราจรแบบไฟเขยวกระพรบ ...................................................................... 140 8.4 การควบคมสญญาณไฟจราจรแสดงผลแบบตวเลข.......................................................... 142 8.5 การควบคมหลอดแสดงผล 7 สวน.................................................................................. 144 8.6 การควบคมทศทางการหมนของดซมอเตอร ..................................................................... 146

Page 11: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

8.7 การควบคมความเรวของดซมอเตอร ................................................................................148 8.8 การควบคมทศทางการหมนของสเตปเปอรมอเตอร ..........................................................151 8.9 การควบคมตาแหนงการหมนของสเตปเปอรมอเตอร ........................................................153 8.10 การควบคมเมทรกซสวตช................................................................................................155 8.11 สรปทายบท .....................................................................................................................158 แบบฝกหดบทท 8 ..................................................................................................................159 บทท 9 หนยนต 4 ขา..........................................................................................................................161 9.1 เซอรโวมอเตอร................................................................................................................161 9.2 การควบคมเซอรโวมอเตอร..............................................................................................162 9.3 วงจรควบคมเซอรโวมอเตอร............................................................................................164 9.4 หนยนต 4 ขา ..................................................................................................................167 9.5 การกาวขาของหนยนต .....................................................................................................169 9.6 การเดนหนาของหนยนต ..................................................................................................176 9.7 การเลยวซาย ...................................................................................................................181 9.8 สรปทายบท .....................................................................................................................193 แบบฝกหดบทท 9 ...................................................................................................................194 ภาคผนวก ..............................................................................................................................................195

Page 12: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน
Page 13: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

ในบทนจะกลาวถงการประยกตใชงานไมโครคอนโทรลเลอรเพอควบคมสญญาณไฟจราจร การเชอม ตอไมโครคอนโทรเลอรกบวงจรสญญาณไฟจราจร การใชงานวงจรจบเวลา การเขยนโปรแกรมควบคมสญญาณไฟจราจรในรปแบบตาง ๆ และสามารถดผลการจาลองการทางานสญญาณไฟจราจรในบทท 8 และในแผนซด ประกอบหนงสอ

Page 14: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

2

1.1 วงจรจาลองสญญาณไฟจราจร

µ10 F

× 10K 6

Reset

C2

C3 Crystals11.0592 MHz

33 pF

33 pF

1920

1817

141312AT

89C205

1

P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0

C1

1

5

4

R 4.7 K

10

+ 5V R Pull Up

RST

XTAL1

XTAL2GND

VCC

1G

A1A2A3A4A5A6A7A8

Y1Y2Y3Y4Y5Y6Y7Y8

246

131517

1820

1614

753

74244

11910

2GGND

G2Y2R2

G1Y1R1

R 220 6×

รปท 1.1 วงจรจาลองสญญาณไฟจราจร

จากรปท 1.1 คอวงจรจาลองสญญาณไฟจราจรโดยใชหลอดแสดงผล LED สเขยว สเหลอง และ สแดงจานวน 2 ชดตอเขากบพอรต P1 ของไมโครคอนโทรลเลอร การจาลองการทางานของวงจรสญญาณ ไฟจราจรโดยใชหลอดแสดงผล LED จะชวยลดขอผดพลาดกอนการสรางวงจรจรงและทาใหสามารถทดสอบการทางานของโปรแกรมไดสะดวกกอนการนาไปใชงาน 1.2 การใชงานวงจรจบเวลา ไมโครคอนโทรลเลอรมวงจรนบและวงจรจบเวลาเพอใชในการนบหรอจบเวลาการทางาน วงจรนบคอวงจรทใชในการนบสญญาณพลสภายนอก สวนวงจรจบเวลาคอ วงจรทนบสญญาณนาฬกาของระบบเพอใช ในการกาหนดเวลาในการทางานของอปกรณตาง ๆ เชน การแสดงผลของหลอดแสดงผล 7 สวน และการหนวงเวลาการทางานของอปกรณ

Page 15: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

3

ไมโครคอนโทรลเลอรโดยทวไปจะมวงจรจบเวลา 2 ตวคอ Timer0 และ Timer1 ในหวขอนจะกลาวถงการใชงานวงจรจบเวลาในโหมด 2 เปนวงจรจบเวลาขนาด 8 บต การใชงานตองกาหนดคาในรจสเตอร THx และ TLx เพอใหนบตามสญญาณนาฬกาของระบบจนถง FFH แลวเกดโอเวอรโฟลว การกาหนดคาใหรจสเตอร THx และ TLx แสดงในตารางท 1.1 โดยมขนตอนการคานวณดงน 1. คานวณหาเวลาของแมชชนไซเกล ตวอยาง ใหสรางฐานเวลา 0.1 มลลวนาท โดยกาหนดใหไมโครคอนโทรลเลอรทางานทความถ 11.0592 MHz

เวลา 1 สญญาณนาฬกา = 1/ความถ = 1/11.0592 MHz = 0.09042 usec เวลา 1 แมชชนไซเกล = เวลา 1 สญญาณนาฬกา × 12 = 0.09042 × 12 = 1.085 usec

2. คานวณหาจานวนแมชชนไซเกลทจะทาใหเกดโอเวอรโฟลว จานวนแมชชนไซเคล = 0.1 ms/1.085 us = 100/1.085 = 92.17 3. คานวณการกาหนดคาใหกบรจสเตอร THx และ TLx รจสเตอร THx และ TLx = 256-92 = 164 = A4H ดงนนตองกาหนดคาในรจสเตอร THx=A4H และรจสเตอร TLx=A4H จะทาให Timer ทาการนบแมชชนไซเกลจานวน 92 ครงจะไดเวลา 0.1 มลลวนาท และทาใหเกดโอเวอรโฟลวหรอนบเกน FFH หมายเหต คาในรจสเตอร TLx จะกาหนดหรอไมกได เนองจากการทางานของ Timer ในโหมด 2 จะทาการโหลดคาจากรจสเตอร THx ใหกบรจสเตอร TLx อตโนมต 4. เขยนเปนฟงกชนไดดงน 1 2 3 4 5 6 7 8 9 10 11 12 13

//delay time =0.1msec void delay(int msec) { TH0=0xA4; //Timer 0 ,0.1 msec TL0=0xA4; TMOD=0x02; //Mode 2,8bits Auto Reload while(msec--) { TR0=1; //Set Timer0 do{ //Waiting }while(TF0==0); TF0=0; //Clear TF0 } TR0=0; //Stop Timer 0 }

Page 16: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

4

คาอธบาย 1. บรรทดท 2 ฟงกชนหนวงเวลาซงจะรอรบคาเวลามาเกบไวในตวแปร msec 2. บรรทดท 3 และ 4 กาหนดคาในรจสเตอร TH0 และ TL0=A4H 3. บรรทดท 5 ให Timer0 ทางานในโหมด 2 4. บรรทดท 6 ถง 11 วนรอบนบคาตวแปร msec โดยแตละรอบจะหนวงเวลา 0.1 มลลวนาท 5. บรรทดท 7 กาหนดใหแฟลก TR0=1 ให Timer0 เรมการทางาน 6. บรรทดท 8 และ 9 หยดรอจนกระทงแฟลก TF0=1 หรอ Timer0 นบเกนคา FFH 7. บรรทดท 10 กาหนดใหแฟลก TF0=0 8. บรรทดท 12 หยดการทางานของ Timer0

ตารางท 1.1 การกาหนดคาฐานเวลา

ฐานเวลา THx TLx ความถ 10 ไมโครวนาท F7H F7H 11.0592 MHz 20 โมโครวนาท EEH EEH 11.0592 MHz 50 ไมโครวนาท D2H D2H 11.0592 MHz 0.1 มลลวนาท A4H A4H 11.0592 MHz 0.2 มลลวนาท 48H 48H 11.0592 MHz

ตวอยางท 1.1 โปรแกรมควบคมสญญาณไฟเขยวกบไฟแดง 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

#include <reg51.h> void delay(unsigned int msec); void main() { do { P1=0X81; //G2 and R1 On delay(200); P1=0X24; //G1 and R2 On delay(200); }while(1); } //delay time =0.1ms*100=10msec void delay(int msec) { int c; TMOD=0x02; //Timer0 Mode2 TH0=0xA4; //0.1ms TL0=0xA4; for(c=0;c<msec*100;c++) { TF0=0; //Clear TF0 TR0=1; //Set TR0 while(TF0==0); //waiting TF0 Over Flow } TR0=0; //Stop Timer }

Page 17: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

5

คาอธบาย 1. บรรทดท 4 ถง 9 วนรอบสงขอมลออกพอรต P1 ในฟงกชน do while 2. บรรทดท 5 สงขอมล 81H ออกพอรต P1 ใหไฟเขยว 2 และไฟแดง 1 ตด 3. บรรทดท 6 หนวงเวลาการทางาน 4. บรรทดท 7 สงขอมล 24H ออกพอรต P1 ใหไฟเขยว 1 และแดง 2 ตด 5. บรรทดท 8 หนวงเวลาการทางาน ผลการรนโปรแกรม ไมโครคอนโทรลเลอรจะวนรอบสงขอมล 81H ออกพอรต P1 ทาใหไฟเขยว 2 และไฟแดง 1 ตดแลวหนวงเวลา จากนนจงสงขอมล 24H ออกพอรต P1 ทาใหไฟเขยว 1 และไฟแดง 2 ตดแลวหนวงเวลา แสดงดงรปท 1.2

G2=ONR1=ON

G1=ONR2=ONDELAY DELAY

P1=0X81; P1=0X24;

รปท 1.2 ลาดบการทางานของไฟจราจรแบบไฟเขยวกบไฟแดง

ตวอยางท 1.2 โปรแกรมควบคมไฟจราจรแบบไฟเขยว ไฟเหลองและไฟแดง วธคด

การควบคมสญญาณไฟจราจรแบบไฟเขยว ไฟเหลองและไฟแดงตองวนรอบสงขอมลตามลาดบการทางานของไฟจราจรตามลาดบ 1 ถง 4 แสดงดงตารางท 1.2

ตารางท 1.2 ลาดบการทางานของไฟจราจร

ตาแหนงบต B7 80H

B6 40H

B5 20H

B4 10H

B3 08H

B2 04H

B1 02H

B0 01H

ลาดบ การทางาน G2 Y2 R2 G1 Y1 R1

ขอมลทสง ออกพอรต

1 G2 R1 1 0 0 0 0 0 0 1 81H 2 Y2 R1 0 1 0 0 0 0 0 1 41H 3 R2 G1 0 0 1 0 0 1 0 0 24H 4 R2 Y1 0 0 1 0 0 0 1 0 22H

Page 18: ไมโครคอนโทรลเลอร์และการ ......ไมโครคอนโทรลเลอร และการประย กต ใช งาน

6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

คาอธบาย 1. บรรทดท 4 ถง 13 วนรอบสงขอมลออกพอรต P1 ในฟงกชน do while 2. บรรทดท 5 สงขอมล 81H ออกพอรต P1 ใหไฟเขยว 2 และไฟแดง 1 ตด 3. บรรทดท 6 หนวงเวลาการทางาน 4. บรรทดท 7 สงขอมล 41H ออกพอรต P1 ใหไฟเหลอง 2 และไฟแดง 1 ตด 5. บรรทดท 8 หนวงเวลาการทางาน 6. บรรทดท 9 สงขอมล 24H ออกพอรต P1 ใหไฟแดง 2 และไฟเขยว 1 ตด 7. บรรทดท 10 หนวงเวลาการทางาน 8. บรรทดท 11 สงขอมล 22H ออกพอรต P1 ใหไฟแดง 2 และไฟเหลอง 1 ตด

9. บรรทดท 12 หนวงเวลาการทางาน

#include <reg51.h> void delay(unsigned int msec); void main() { do { P1=0X81; //G2 and R1 On delay(200); P1=0X41; //Y2 and R1 On delay(30); P1=0X24; //R2 and G1 On delay(200); P1=0X22; //R2 and Y1 On delay(30); }while(1); } //delay time =0.1ms*100=10msec void delay(int msec) { int c; TMOD=0x02; //Timer0 Mode2 TH0=0xA4; //0.1ms TL0=0xA4; for(c=0;c<msec*100;c++) { TF0=0; //Clear TF0 TR0=1; //Set TR0 while(TF0==0); //waiting TF0 Over Flow } TR0=0; //Stop Timer }