Robo-PICA Thai Manual

Page 1

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

1

àÃÕ¹ÃÙ áÅÐÊà ҧËØ ¹Â¹µ Íѵâ¹ÁÑµÔ ¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC Robot experiment with PIC microcontroller ¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ

(C) Innovative Experiment Co.,Ltd.

˹Öè § ã¹Ë¹Ñ § Ê× Í ªØ ´ Ëع ¹µ à¾×Íè ¡ÒÃàÃÕ¹ÃÙ


2

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

Robot experiment with PIC microcontroller

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ISBN 974 - 92023 - 0 -9

¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäŠʧǹÅÔ¢ÊÔ·¸Ôµì ÒÁ ¾.Ã.º. ÅÔ¢ÊÔ·¸Ôì ¾.È. 2521 Ë ÒÁ¡ÒÃÅÍ¡àÅÕ¹äÁ ÇÒ Ê Ç¹Ë¹Ö§è Ê Ç¹ã´¢Í§Ë¹Ñ§Ê×ÍàÅ Á¹Õé ¹Í¡¨Ò¡¨Ðä´ ÃºÑ Í¹Ø­Òµ ã¤Ã¤ÇÃ㪠˹ѧÊ×ÍàÅ Á¹Õé 1. ¹Ñ¡àÃÕ¹ ¹ÔÊµÔ ¹Ñ¡ÈÖ¡ÉÒ áÅкؤ¤Å·ÑÇè ä»·ÕÁè ¤Õ ÇÒÁʹã¨ã¹¡ÒÃÊà ҧËع ¹µ 굄 â¹Áѵ¢Ô ¹Ò´àÅç¡´ ÇÂäÁâ¤Ã ¤Í¹â·ÃÅàÅÍà PIC 2. ʶҺѹ¡ÒÃÈÖ¡ÉÒ âçàÃÕ¹ ÇÔ·ÂÒÅÑ ÁËÒÇÔ·ÂÒÅÑ ·ÕÁè ¡Õ ÒÃà» ´¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒÍÔàÅç¡·ÃÍ¹Ô¡Ê ËÃ×Í ÀÒ¤ÇÔªÒÇÔÈÇ¡ÃÃÁÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍà 3. ¤³Ò¨Òà·ÁÕè ¤Õ ÇÒÁµ ͧ¡ÒÃÈÖ¡ÉÒ áÅÐàµÃÕÂÁ¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒäÁâ¤Ãâ»Ãà«Êà«Íà - äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ã¹ÃдѺ¡ÅÒ§·Õµè Í §¡ÒÃ㪠§Ò¹â»Ãá¡ÃÁ¤ÍÁ¾ÔÇàµÍà ÀÒÉÒÊÙ§ 4. ˹ ǧҹàÍ¡ª¹·ÕÁè ¡Õ ÒþѲ¹Ò¼ÅÔµÀѳ± ´Ò ¹ÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍà ´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾ áÅШíÒ˹ ÒÂâ´Â ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ 3133/53 «.ÊØ¢ÁØ ÇÔ· 101/2 ¶.ÊØ¢ÁØ ÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005 ÃÒÂÅÐàÍÕ´·Õ»è ÃÒ¡¯ã¹Ë¹Ñ§Ê×ÍàÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ¼ Ò¹¡ÒõÃǨ·Ò¹Í ҧ ÅÐàÍÕ´áÅж ǹ¶Õè à¾×Íè ãË Á¤Õ ÇÒÁÊÁºÙó áÅж١µ ͧÁÒ¡·ÕÊè ´Ø ÀÒÂãµ à§×Íè ¹ä¢áÅÐàÇÅÒ·Õ¾è §Ö ÁÕ¡Í ¹¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ¤ÇÒÁàÊÕÂËÒÂÍѹÍÒ¨à¡Ô´¨Ò¡ ¡ÒùíÒ¢ ÍÁÙÅã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õäé »ãª ·Ò§ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÁÔä´ ÁÕ ÀÒÃÐ㹡ÒÃÃѺ¼Ô´ªÍºáµ »ÃСÒÃã´ ¤ÇÒÁ¼Ô´¾ÅÒ´¤ÅÒ´à¤Å×Íè ¹·ÕÍè Ò¨ÁÕáÅÐä´ ÃºÑ ¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ÍÍ¡ä»¹Ñ¹é ·Ò§º ÃÔÉ·Ñ Ï ¨Ð¾ÂÒÂÒÁªÕáé ¨§áÅÐá¡ ä¢ã¹¡ÒèѴ¾ÔÁ¾ ¤ÃÑ§é µ Íä»


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

3

¤íÒ¹íÒ ËØ ¹Â¹µ à» ¹ÊÔ觻ÃдÔÉ° ·ÕèºÙóҡÒÃͧ¤ ¤ÇÒÁÃÙ Í ҧ¤Ãº¶ ǹ·Ñé§ã¹´ Ò¹ÇÔ·ÂÒÈÒʵà ෤â¹âÅÂÕ ¡Ãкǹ¡ÒäԴ ¡ÒäǺ¤ØÁÍÒÃÁ³ áÅÐÊѹ·¹Ò¡Òà ´Ñ§¹Ñ¹é 㹡ÒÃàÃÕ¹ÃÙÇ ·Ô ÂÒ¡ÒÃÊÁÑ ãËÁ Ë¹Ø Â¹µ ¨§Ö ÁÕº·ºÒ·ÁÒ¡¢Ö¹é áÅÐà» ¹à¤Ã×Íè §Á×Í·ÕÊè Òí ¤Ñ­ã¹¡ÒÃÊà ҧ¡ØÈâźÒÂ㹡ÒÃàÃÕ¹ÃÙÇ ·Ô ÂÒÈÒʵà áÅÐà·¤â¹âÅÂÕ áÅЪ ÇÂãË ¡ÒÃàÃÕ¹ÃÙ㠹ᢹ§¹Õ·é àÕè ¤Â¶Ù¡¨íÒ¡Ñ´äÇ ã¹Ç§¨íÒ¡Ñ´ä´ ÃºÑ ¡ÒÃà» ´ÍÍ¡ãË ä´ ÃºÑ ÃÙã ¹ ǧ¡Ç Ò§ áÅÐà¢ Ò¶Ö§ä´ §Ò ¢ֹé ÀÒÂãµ §º»ÃÐÁÒ³·ÕÅè ´Å§Í ҧÁÒ¡ ¡ÒÃàÃÕ¹ÃÙ à¾×èÍÊà ҧËØ ¹Â¹µ Íѵâ¹ÁѵԢ¹Ò´àÅç¡â´Â㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ໠¹µÑǤǺ¤ØÁ ¡Òà ·íÒ§Ò¹¹Ñé¹ ¼Ù àÃÕ¹¨Ðä´ ÃѺ¡Òý ¡½¹¤ÇÒÁÅÐàÍÕ´Ãͺ¤Íºã¹¡ÒþԨÒóÒáÅзíÒ¤ÇÒÁࢠÒ㨡Òà ·íÒ§Ò¹¢Í§ªÔé¹Ê ǹ·Ò§¡ÅáÅÐÍÔàÅç¡·ÃÍ¹Ô¡Ê ä´ ÃѺ¡Òý ¡ãª ¡Ãкǹ¡ÒäԴÍ ҧÁÕà˵ؼÅ㹡ÒÃà¢Õ¹ â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ëع ¹µ ÃÙ¨ ¡Ñ ¾Ô¨ÒóÒᡠ䢻 ­ËÒáÅÐÍØ»ÊÃä·ÕÍè Ò¨à¡Ô´¢Ö¹é 㹡Òà Êà ҧáÅз´Åͧ áÅзÕÊè Òí ¤Ñ­«Ö§è ÍÒ¨Áͧ¢ ÒÁ令×Í ½ ¡ãË Ã¨Ù ¡Ñ ¡ÒäǺ¤ØÁÍÒÃÁ³ ã¹ÀÒÇÐ·Õ¾è º» ­ËÒ·Õè äÁ ¤Ò´ËÁÒÂ㹡ÒÃÊà ҧáÅз´Åͧ Ëع ¹µ à» ¹Ê×Íè ·Õ¹è Òí ͧ¤ ¤ÇÒÁÃÙ· áÕè µ¡µ Ò§¡Ñ¹Í ҧÊÔ¹é àªÔ§ 2 á¹Ç·Ò§ÁÒ¾ºáÅмÊÁ¼ÊÒ¹ ¡Ñ¹ à¾×èÍÊà ҧ»ÃÐ⪹ ä´ Í ҧàËÅ×Íàª×èÍ ¹Ñ蹤×Í ¤ÇÒÁÃÙ ´ Ò¹ÎÒà ´áÇà (hardware) áÅÐ «Í¿µ áÇà (software) Ëع ¹µ ¨§Ö à» ¹Ê×Íè ¡ÒÃàÃÕ¹ÃÙà ´ÕÂÇ·Õáè Ê´§ãË àËç¹Í ҧªÑ´à¨¹¶Ö§¡ÒùíÒͧ¤ ¤ÇÒÁÃÙ· §Ñé Êͧ´ Ò¹ÁÒ »ÃСͺ¡Ñ¹ à¾×Íè ãË à¡Ô´ªÔ¹é §Ò¹Êà ҧÊÃä áÅÐÊà ҧ¤ÇÒÁÊ¹Ø¡Ê¹Ò¹ä´ ã¹¤ÃÒÇà´ÕÂǡѹ ã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õéä´ ¹íÒàʹ͢ ÍÁÙÅ·Õè¤Ãº¶ ǹÃͺ´ ҹ㹡ÒÃàÃÕ¹ÃÙ à¾×èÍÊà ҧáÅз´Åͧ¡Òà ·íÒ§Ò¹¢Í§ËØ ¹Â¹µ Íѵâ¹ÁѵԢ¹Ò´àÅç¡·Õè¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC Íѹ໠¹äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà ·Õèä´ ÃѺ¤ÇÒÁ¹ÔÂÁÊÙ§ à¹×èͧ¨Ò¡ÁդسÊÁºÑµÔ·Ò§ÎÒà ´áÇà ·ÕèàËÁÒÐÍ ҧÂÔè§ã¹¡ÒùíÒÊà ҧ Ëع ¹µ 굄 â¹ÁÑµÔ â´Âá¹Ð¹íÒãË ·ÃÒº¶Ö§¡Ò÷íÒ§Ò¹¢Í§Ê ǹ»ÃСͺµ Ò§æ ¡ÒÃ㪠§Ò¹«Í¿µ áÇà ·ãÕè ª 㹡Òà ¾Ñ²¹Ò µÑÇÍ ҧ¡ÒÃÊà ҧËØ ¹Â¹µ µÑÇÍ ҧâ»Ãá¡ÃÁà¾×èͤǺ¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ËØ ¹Â¹µ ã¹Åѡɳе Ò§æ µÑ§é áµ ¢¹Ñé ¾×¹é °Ò¹ä»¨¹¶Ö§¡Ò÷íÒ§Ò¹¡ÑºµÑǵÃǨ¨Ñºáººµ Ò§æ à¾×Íè ãË ä´ àÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹¢Í§Ãкº¤Çº¤ØÁ Íѵâ¹ÁѵÔä´ ·Ñé§ã¹·Ò§µÃ§áÅÐ·Ò§Í ÍÁ ¤³Ð¼Ù¨ ´Ñ ·íҢ͢ͺ¤Ø³ Microengineering Labs Inc. ÊËÃÑ°ÍàÁÃÔ¡Ò ·Õäè ´ à¼Âá¾Ã «Í¿µ áÇà PIC BASIC PRO ¤ÍÁä¾àÅÍà ã¹Ãع ·´Åͧ áÅÐ Mechnique ¨Ò¡Íѧ¡ÄÉ·Õäè ´ à¼Âá¾Ã «Í¿µ áÇà Microcode Studio «Ö§è 㪠ÃÇ Á¡Ñº PIC BASIC PRO ¤ÍÁä¾àÅÍà «Ö§è 㪠¾² Ñ ¹Òâ»Ãá¡ÃÁ¤Çº¤ØÁËع ¹µ ã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õé ¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ


4

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

ÊÒúѭ º··Õè 1 á¹Ð¹íÒªÔ¹é Ê Ç¹áÅÐÍØ»¡Ã³ 㹡ÒÃÊà ҧËع ¹µ áÅСÒÃ㪠§Ò¹«Í¿µ áÇà ÊÒí ËÃѺ¾Ñ²¹Òâ»Ãá¡ÃÁ ..............................................7 1.1 ªÔ¹é Ê Ç¹¢Í§Ëع ¹µ Robo-PICA 1.2 à¤Ã×Íè §Á×Í·Õãè ª 㹡ÒÃÊà ҧËع ¹µ 1.3 «Í¿µ áÇà ÊÒí ËÃѺ¾Ñ²¹Òâ»Ãá¡ÃÁ¤Çº¤ØÁËع ¹µ º··Õè 2 RBX-877 ἧǧ¨ÃàÃÕ¹ÃÙá Åз´Åͧ¤Çº¤ØÁËع ¹µ ´Ç  äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ...................................................................................29 2.1 ¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤ 2.2 ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã ¡Ô¨¡ÃÃÁ·Õè 1 : à¢Õ¹â»Ãá¡ÃÁ·´ÊͺºÍà ¤Çº¤ØÁ RBX-877 º··Õè 3 Êà ҧËع ¹µ Robo-PICA ...................................................................................55 ¡Ô¨¡ÃÃÁ·Õè 2 : »ÃСͺŠÍÊÒ¾ҹáÅÐâ¤Ã§Ëع ¹µ º··Õè 4 ¡ÒäǺ¤ØÁËع ¹µ àº×Íé §µ ¹ ..............................................................................61 ¡Ô¨¡ÃÃÁ·Õè 3 : µÃǨÊͺ·ÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà ¡Ô¨¡ÃÃÁ·Õè 4 : ¤Çº¤ØÁ¡ÒÃàÅÕÂé ǢͧËع ¹µ ¡Ô¨¡ÃÃÁ·Õè 5 : ¡ÒäǺ¤ØÁ¤ÇÒÁàÃçǢͧËع ¹µ ¡Ô¨¡ÃÃÁ·Õè 6 : Ëع ¹µ à¤Å×Íè ¹·Õµè ÒÁÃٻẺ·Õ¡è Òí ˹´ º··Õè 5 Ëع ¹µ µÃǨ¨ÑºàÊ ¹Íѵâ¹ÁÑµÔ ...........................................................................71 5.1 µÑǵÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô ¡Ô¨¡ÃÃÁ·Õè 7 : ·´Êͺ¡ÒÃÍ Ò¹¤ ÒÊÑ­­Ò³ÍйÒÅÍ¡ ¡Ô¨¡ÃÃÁ·Õè 8 : Ëع ¹µ Robo-PICA à¤Å×Íè ¹·Õµè ÒÁàÊ ¹


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

5

º··Õè 6 ¤Çº¤ØÁËع ¹µ ´Ç ÂÃÕâÁµ¤Í¹â·ÃÅ..................................................................81 6.1 ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 6.2 ÃÕâÁµ¤Í¹â·ÃÅ Easy Remote4 ËÃ×Í ER-4 ¡Ô¨¡ÃÃÁ·Õè 9 : µÔ´µÑ§é ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ¡Ô¨¡ÃÃÁ·Õè 10 : Í Ò¹¤ Ò¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ Easy Remote4 ¡Ô¨¡ÃÃÁ·Õè 11 : ËØè¹Â¹µìà¤Å×è͹·Õè´ Ç¡ÒäǺ¤ØÁ¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ º··Õè 7 Ëع ¹µ µÃǨ¨ÑºÇѵ¶ØẺäÁ ÊÁÑ ¼ÑÊ ...................................................................89 7.1 ËÅÑ¡¡Ò÷íÒ§Ò¹¢Í§ ZX-08 ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç ÂáʧÍÔ¹¿ÃÒàô ¡Ô¨¡ÃÃÁ·Õè 12 : µÔ´µÑ§é ἧǧ¨ÃµÃÇǨѺÇѵ¶Ø ¡Ô¨¡ÃÃÁ·Õè 13 : ·´Êͺ¡Ò÷íÒ§Ò¹¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø ¡Ô¨¡ÃÃÁ·Õè 14 : Ëع ¹µ à¤Å×Íè ¹·ÕËè źËÅÕ¡Çѵ¶ØẺäÁ ÊÁÑ ¼ÑÊ º··Õè 8 Robo-PICA ¡Ñº¡ÒÃÇÑ´ÃÐÂзҧ´ ÇÂâÁ´ÙÅÇÑ´ÃÐÂзҧẺÍÔ¹¿ÃÒàô ................95 8.1 ¢ ÍÁÙÅàº×Íé §µ ¹¢Í§ GP2D120/GP2D12 âÁ´ÙŵÃǨ¨ÑºáÅÐÇÑ´ÃÐÂзҧ´ ÇÂáʧÍÔ¹¿ÃÒàô 8.2 ËÅÑ¡¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙŵÃǨÇÑ´ÃÐÂзҧ´ ÇÂáʧÍÔ¹¿ÃÒàô ¡Ô¨¡ÃÃÁ·Õè 15 : µÔ´µÑ§é âÁ´ÙÅ GP2D120 á¡ Robo-PICA ¡Ô¨¡ÃÃÁ·Õè 16 : ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè Í Ò¹¤ Ò¨Ò¡ GP2D120 áÊ´§¼Å·Õâè Á´ÙÅ LCD ¡Ô¨¡ÃÃÁ·Õè 17 : ËźËÅÕ¡ÊÔ§è ¡Õ´¢ÇÒ§´ Ç¡ÒÃÇÑ´ÃÐÂзҧ


6

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

7

º··Õè 1

á¹Ð¹íÒªÔ¹é Ê Ç¹áÅÐÍØ»¡Ã³ 㹡ÒÃÊà ҧËع ¹µ áÅСÒÃ㪠§Ò¹«Í¿µ áÇà ÊÒí ËÃѺ¾Ñ²¹Òâ»Ãá¡ÃÁ 㹺·¹Õ¨é йíÒàʹͶ֧¢ ÍÁÙÅã¹àº×Íé §µ ¹¢Í§ªÔ¹é Ê Ç¹µ Ò§æ µÅÍ´¨¹à¤Ã×Íè §Á×Í·Õ¹è Òí ÁÒ㪠㹡Òà Êà ҧËØ ¹Â¹µ Íѵâ¹ÁѵԢ¹Ò´àÅç¡·Õè¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC «Ö觵Ñ駪×èÍÇ Ò Robo-PICA â´ÂẠ§ÍÍ¡à» ¹ 4 Ê Ç¹¤×Í 1. ªÔ¹é Ê Ç¹¢Í§Ëع ¹µ Robo-PICA 2. à¤Ã×Íè §Á×Í·Õãè ª 㹡ÒÃÊà ҧËع ¹µ 3. á¹Ð¹íÒ¡ÒÃ㪠§Ò¹«Í¿µ áÇà ·Õè㪠㹡ÒþѲ¹Òâ»Ãá¡ÃÁ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ËØ ¹Â¹µ

1.1 ªÔ¹é Ê Ç¹¢Í§Ëع ¹µ Robo-PICA ÁÕ·§Ñé ÊÔ¹é 3 ¡ÅØÁ ËÅÑ¡ ´Ñ§¹Õé

1.1.1 ªÔ¹é Ê Ç¹·Ò§¡Å

ªØ´à¿ ͧ¢Ñº¾Ã ÍÁÁÍàµÍÃ

¢Ø´»ÃСͺŠÍÊÒ¾ҹ ªØ´»ÃСͺ°Ò¹ »ÃСͺ´ Ç ἠ¹°Ò¹áÅÐªÔ¹é µ ;ÅÒʵԡẺ ÁØÁ©Ò¡, á¹ÇµÃ§, ÁØÁ» Ò¹

¢Ø´¹Íµ-Ê¡ÃÙ, àÊÒÃͧ, ¢ ͵ Í áÅÐ᡹·Í§àËÅ×ͧ¢¹Ò´µ Ò§æ


8

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

1.1.2 ªÔ¹é Ê Ç¹·Ò§ÍÔàÅç¡·Ã͹ԡÊ

ἧǧ¨ÃÊÇÔµª ἧǧ¨ÃµÃǨ¨Ñº Çѵ¶ØẺÍÔ¹¿ÃÒàô

RBX-877 ἧ¤Çº¤ØÁËÅÑ¡ âÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ἧǧ¨ÃµÃǨ¨Ñº áʧÊз ͹ÍÔ¹¿ÃÒàô

ER-4 ÃÕâÁµ¤Í¹â·ÃÅ ÍÔ¹¿ÃÒàô

¡ÐºÐ¶ Ò¹ AA 4 ¡ ͹¾Ã ÍÁÊÒµ Í

âÁ´ÙÅ LCD ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ ẺÁÕä¿Ê ͧËÅѧ

1.1.3 ÍØ»¡Ã³ àÊÃÔÁ (¨íÒ˹ ÒÂᡨҡªØ´Áҵðҹ)

à«Íà âÇÁÍàµÍà ¾Ã ÍÁÅ ÍáÅÐÂÒ§

ªØ´à¿ ͧ¢ÑºÁÍàµÍà 4 ÍѵÃÒ·´

ẵàµÍÃÕè AA 4 ¡ ͹

ªØ´»ÃСͺᢹ GP2D120 âÁ´ÙÅÇÑ´ÃÐÂзҧ ´ ÇÂáʧÍÔ¹¿ÃÒàô

1.2 à¤Ã×Íè §Á×Í·Õãè ª 㹡ÒÃÊà ҧËع ¹µ

¤ÕÁµÑ´»Í¡ÊÒÂä¿

ÁÕ´¤ÑµàµÍÃ

䢤ǧ»ÅÒÂá©¡

¤ÍÁ¾ÔÇàµÍÃ

µè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 98SE ¢Ö¹é ä» ÁÕ¾Íà µÍ¹Ø¡ÃÁáÅоÍà µ¢¹Ò¹


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

9

1.3 «Í¿µ áÇà ÊÒí ËÃѺ¾Ñ²¹Òâ»Ãá¡ÃÁ¤Çº¤ØÁËع ¹µ ã¹ËØ ¹Â¹µ Robo-PICA ·Õè¨Ð·íÒ¡Ò÷´ÅͧÊà ҧã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õé¤Çº¤ØÁ¡Ò÷íÒ§ÇÒ¹´ Ç äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ´Ñ§¹Ñ鹨֧ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ ÇÂâ»Ãá¡ÃÁÀÒÉÒ áÍÊà«ÁºÅÕ ÀÒÉÒàºÊÔ¡â´Â㪠«Í¿µ áÇà àºÊÔ¡¤ÍÁä¿àÅÍà ªÇ  áÅÐÀÒÉÒ C «Ö§è ¡çµÍ §¾Ö§è «Í¿µ áÇà C ¤ÍÁä¾àÅÍà ઠ¹¡Ñ¹ Í ҧäáçµÒÁ ·Õè¹íÒÁÒá¹Ð¹íÒã¹·Õè¹Õéà» ¹¡ÒþѲ¹Òâ»Ãá¡ÃÁ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ËØ ¹Â¹µ ´ ÇÂÀÒÉÒàºÊÔ¡ à¹×èͧ¨Ò¡à» ¹ÀÒÉÒ·Õè§ Òµ Í¡ÒÃàÃÔèÁµ ¹àÃÕ¹ÃÙ áÅз´Åͧ ´Ñ§¹Ñ鹨֧µ ͧ㪠«Í¿µ áÇà àºÊÔ¡¤ÍÁä¾àÅÍà ËÃ×Í«Í¿µ áÇà ÊÒí ËÃѺá»Å§â»Ãá¡ÃÁ·ÀÒÉÒàºÊÔ¡à» ¹ÃËÑÊà¤Ã×Íè §ËÃ×ÍáÁªÕ¹â¤ ´ áÅЫͿµ áÇà ·¹Õè ÂÔ Á㪠ÁÒ¡·ÕÊè ´Ø ¤×Í PICBASIC PRO ¤ÍÁä¾àÅÍà ÊíÒËÃѺ PICBASIC PRO ¤ÍÁä¾àÅÍà ·Õè¹íÒÁÒ㪠˹ѧÊ×ÍàÅ Á¹Õé¨Ðà» ¹ÃØ ¹·´Åͧ㪠ËÃ×Í PICBASIC PRO DEMO «Ö§è ÁÕ¢Í ¨íҡѴ㹡Ò÷íÒ§Ò¹¾Í¤Çà ᵠ·Ç Ò«Í¿µ áÇà ¹áÕé ¨¡¿ÃÕ¨Ò¡¼Ù¾ ² Ñ ¹Ò ¹Ñ¹è ¤×Í Microemgineering Lab ÊÒÁÒö´Òǹ âËÅ´ä´ ·Õè www.melabs.com áÅмٷ ÊÕè ¹ã¨Ãع ÊÁºÙó ÊÒÁÒöµÔ´µ ͡ѺµÑÇ᷹㹻ÃÐà·Èä·Â¤×Í ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ www.inex.co.th Í ҧäáçµÒÁâ»Ãá¡ÃÁµÑÇÍ ҧ¡Ò÷´Åͧà¡×ͺ·Ñé§ËÁ´ÊÒÁÒö·íÒ§Ò¹ä´ ¡Ñº PICBASIC PRO ¤ÍÁä¾àÅÍÃ Ã¹Ø Demo ¹ÕÍé  ҧäÁ Á»Õ ­ ËÒ ÊíÒËÃѺ¼Ù· µÕè Í §¡Ò÷ÃÒºÃÒÂÅÐàÍÕ´¢Í§¡Ò÷íÒ§Ò¹ áÅСÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC â´Â㪠PICBASIC PRO ¤ÍÁ ä¾àÅÍà ÊÒÁÒÃ¶Í Ò¹ä´ à¾ÔÁè àµÔÁ¨Ò¡Ë¹Ñ§Ê×Í àÃÕ¹ÃÙá ÅÐ㪠§Ò¹ PICBASIC PRO ¤ÍÁä¾àÅÍà à¢Õ¹ â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ¨Ñ´¾ÔÁ¾ â´ÂºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´

1.3.1 PicBasic Pro Compiler àÇÍà ª¹Ñ ·´Åͧ㪠§Ò¹ (Demo version) à¹×Íè §¨Ò¡ PICBASIC PRO ¤ÍÁä¾àÅÍà ã¹àÇÍà ª¹Ñ ·Õãè ª §Ò¹ä´ ÊÁºÙó ¹¹Ñé ÁÕÃÒ¤Ò¤ ͹¢ Ò§ÊÙ§ ·Ò§ Microengineering Labs ¨Ö§ä´ ÍÍ¡àÇÍà ª¹Ñ ·´ÅͧÍÍ¡ÁÒãË ãª §Ò¹ä´ ¿ÃÕ à¾×Íè à» ´âÍ¡ÒÊãË ¼ÊÙ ¹ã¨ ä´ ·´Åͧ㪠§Ò¹ â´ÂÁÕ¢ ͨíÒ¡Ñ´´Ñ§¹Õé l

ÊÒÁÒö¤ÍÁä¾Å â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ä´ 31 ºÃ÷Ѵ äÁ ¹ºÑ ËÁÒÂà˵ØáÅкÃÃ·Ñ´Ç Ò§

l ãª ä´ ¡º Ñ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC àºÍà PIC16F627(A), PIC16F628(A), PIC16F84(A),

PIC16F870, PIC16F871 , PIC16F872 , PIC16F873(A), PIC16F874(A), PIC16F876(A) áÅÐ PIC16F877(A) l

äÁ ÊÒÁÒöàÃÕ¡ä¿Å ࢠÒÁÒ¼¹Ç¡´ ÇÂä´àÃ硵տ INCLUDE ä´


10

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

1.3.1.1 Ê Ç¹»ÃСͺáÅСÒ÷íÒ§Ò¹¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ˹ Ò·Õ¢è ͧ PICBASIC PRO ¤ÍÁä¾àÅÍà ¤Í× á»Åâ»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ (.bas) à» ¹ÀÒÉÒà¤Ã×Íè § (.hex) ËÃ×ÍáÁªÕ¹â¤ ´ ¡Ò÷íÒ§Ò¹¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà à¾×Íè ãË ä´ áÁªÕ¹â¤ ´ÁÕ´§Ñ ¹Õé 1. ¹íÒâ»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ÁÒá»Å§à» ¹ÀÒÉÒáÍÊà«ÁºÅÕ ä´ ¼ÅÅѾ¸ à» ¹ä¿Å .asm 2. ·íÒ¡ÒÃáÍÊà«ÁàºÅÍà â»Ãá¡ÃÁÀÒÉÒáÍÊà«ÁºÅÕ ä´ ¼ÅÅѾ¸ à» ¹ä¿Å .hex ´Ñ§¹Ñ¹é Ê Ç¹»ÃСͺ·ÕÊè Òí ¤Ñ­ÁÒ¡¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ¤Í× Ê Ç¹á»Å§ÀÒÉÒàºÊÔ¡ à» ¹áÍÊà«ÁºÅÕ â´ÂÀÒÂã¹ PICBASIC PRO ¤ÍÁä¾àÅÍà ¨ÐÁÕµÇÑ á»ÅÀÒÉÒáÍÊà«ÁºÅÕ 2 µÑǤ×Í PM (PICmicro Macro assembler «Ö§è à» ¹¢Í§ Microengineering Labs àͧ ¡Ñº MPASM ¢Í§ Microchip â´Â»¡µÔËÃ×ͤ ÒµÑ§é µ ¹·Õ¡è Òí ˹´ÁҡѺµÑǤÍÁä¾àÅÍà ¨ÐàÅ×͡㪠PM à» ¹ËÅÑ¡ ¡Ãкǹ¡ÒÃá»ÅËÃ×ͤÍÁä¾Å ¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ¨Ð´íÒà¹Ô¹¡ÒÃä»ã¹¤ÃÒÇ à´ÕÂǡѹµÑé§áµ á»ÅÀÒÉÒàºÊÔ¡à» ¹áÍÊà«ÁºÅÕ áÅШҡÀÒÉÒáÍÊà«ÁºÅÕà» ¹áÁªÕ¹â¤ ´ ä´ à» ¹ä¿Å .hex à¾×Íè ¹íÒä»â»Ãá¡ÃÁŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÍ ä»

1.3.1.2 ¤íÒʧǹ¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ËÁÒ¶֧ ¤íÒËÃ×Í¢ ͤÇÒÁ·Õäè Á ÊÒÁÒö¹íÒÁÒ㪠㹡ÒÃµÑ§é ª×Íè µÑÇá»Ãã¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡·Õè 㪠PICBASIC PRO ¤ÍÁä¾àÅÍà 㹡ÒÃá»Å «Ö§è ¡ç¤Í× ª×Íè ¤íÒÊѧè áÅоÒÃÒÁÔàµÍà ·àÕè ¡ÕÂè Ç¢ ͧ㹤íÒÊѧè àÃÕ§ ÅíҴѺµÒÁµÑÇÍÑ¡ÉÃÀÒÉÒÍѧ¡ÄÉä´ ´Ñ§¹Õé µÑÇÍÑ¡Éà A ABS

ADCIN

AND

ANDNOT

ASM

AUXIO

BANK1 BANK9 BIN BIN8 BIN16

BANK2 BANK10 BIN1 BIN9 BIT

BANK3 BANK11 BIN2 BIN10 BRANCH

BANK4 BANK12 BIN3 BIN11 BRANCHL

BANK5 BANK13 BIN4 BIN12 BUTTON

BANK6 BANK14 BIN5 BIN13 BYTE

CASE

CLEAR

CLEARWDT

CON

COS

COUNT

DCD DEC5

DEBUG DEFINE

DEBUGIN DIG

DEC DISABLE

DEC1 DIV32

DEC2 DTMFOUT

ELSE

ENABLE

END

ENDASM

ENDIF

ERASECODE EXT

µÑÇÍÑ¡Éà B BANK0 BANK8 BANKA BIN7 BIN15

BANK7 BANK15 BIN6 BIN14

µÑÇÍÑ¡Éà C CALL

µÑÇÍÑ¡Éà D DATA DEC4

DEC3

µÑÇÍÑ¡Éà E EEPROM

µÑÇÍÑ¡Éà F FOR

FREQOUT


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

11

µÑÇÍÑ¡Éà G GET

GOSUB

GOTO

HEX1 HSEROUT

HEX2

HEX3

HEX4

HEX5

HIGH

HPWM

I2CWRITE IBIN7 IBIN15 IF INPUT ISBIN5 ISBIN13 ISDEC4

IBIN IBIN8 IBIN16 IHEX INTERRUPT ISBIN6 ISBIN14 ISDEC5

IBIN1 IBIN9 IDEC IHEX1 IS ISBIN7 ISBIN15 ISHEX

IBIN2 IBIN10 IDEC1 IHEX2 ISBIN ISBIN8 ISBIN16 ISHEX1

IBIN3 IBIN11 IDEC2 IHEX3 ISBIN1 ISBIN9 ISDEC ISHEX2

IBIN4 IBIN12 IDEC3 IHEX4 ISBIN2 ISBIN10 ISDEC1 ISHEX3

IBIN5 IBIN13 IDEC4 IHEX5 ISBIN3 ISBIN11 ISDEC2 ISHEX4

LCDOUT

LET

LIBRARY

LOOKDOWN

LOOKDOWN2

LOOKUP

LOOKUP2

µÑÇÍÑ¡Éà H HEX HSERIN

µÑÇÍÑ¡Éà I I2CREAD IBIN6 IBIN14 IDEC5 INCLUDE ISBIN4 ISBIN12 ISDEC3 ISHEX5

µÑÇÍÑ¡Éà L LCDIN LOW

µÑÇÍÑ¡Éà M MAX

MIN

MOD

NCD

NEXT

NOT

ON

OR

ORNOT

OUTPUT

OWIN

OWOUT

PAUSEUS POLLRUN

PEEK POLLWAIT

PEEKCODE POT

POKE PULSIN

POKECODE PULSOUT

POLLIN PUT

POLLMODE PWM

RCTIME REVERSE

READ

READCODE

REM

REP

RESUME

RETURN

SBIN1 SBIN9 SDEC SERIN2 SHEX5 STEP

SBIN2 SBIN10 SDEC1 SEROUT SHIFTIN STOP

SBIN3 SBIN11 SDEC2 SEROUT2 SHIFTOUT STR

SBIN4 SBIN12 SDEC3 SHEX SIN SWAP

SBIN5 SBIN13 SDEC4 SHEX1 SKIP SYMBOL

SBIN6 SBIN14 SDEC5 SHEX2 SLEEP SYSTEM

SBIN7 SBIN15 SELECT SHEX3 SOUND

THEN

TO

TOGGLE

USBIN

USBINIT

USBOUT

WORD

WRITE

WRITECODE

µÑÇÍÑ¡Éà N NAP

µÑÇÍÑ¡Éà O OFF

µÑÇÍÑ¡Éà P PAUSE POLLOUT

µÑÇÍÑ¡Éà R RANDOM REV

µÑÇÍÑ¡Éà S SBIN SBIN8 SBIN16 SERIN SHEX4 SQR

µÑÇÍÑ¡Éà T µÑÇÍÑ¡Éà U µÑÇÍÑ¡Éà V µÑÇÍÑ¡Éà W WAIT

VAR

WAITSTR

WEND

WHILE

XOR

XORNOT

XOUT

µÑÇÍÑ¡Éà X XIN


12

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

1.3.1.3 ¡ÒõԴµÑ§é PICBASIC PRO ¤ÍÁä¾àÅÍà Ãع Demo â»Ãá¡ÃÁ PICBASIC PRO Ãع DEMO ¨ÐÁÕãË ´Òǹ âËÅ´¿ÃÕ·àÕè ǻ䫵 www.melabs.com ËÃ×Í´Ùä´ ¨Ò¡«Õ´ÃÕ ÍÁ·Õ¨è ´Ñ ÁҾà ÍÁ¡ÑºªØ´Ëع ¹µ Robo-PICA·íÒ¡ÒäѴÅÍ¡â»Ãá¡ÃÁ·Ñé§â¿Åà´Íà ¢Í§ PICBASIC PRO DEMO ä»ÂѧÎÒà ´´ÔÊ¡ (á¹Ð¹íÒãË ¹íÒä»äÇ ·Õèä´Ã¿ C:) â´Â㪠¤íÒÊÑè§ Copy áÅÐ Paste à» ¹ÍѹàÊÃç¨ÊÔ¹é ¡ÒõԴµÑ§é â»Ãá¡ÃÁ PICBASIC PRO DEMO

13.1.4 ¡ÒõԴµÑ§é PICBASIC PRO Ãع Áҵðҹ PICBASIC PRO ¤ÍÁä¾àÅÍÃ Ã¹Ø Áҵðҹ໠¹Ãع ·Õ·è Òí §Ò¹ä´ Í ҧÊÁºÙó ÊÒÁÒöµÔ´µ ÍÊÑ§è «×éÍâ»Ãá¡ÃÁä´ ¨Ò¡ºÃÔÉÑ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ «Ö觡ÒõԴµÑ駨ÐàËÁ×͹¡ÑºÃØ ¹ Demo ¹Ñ¹è ¤×Í ¤Ñ´ÅÍ¡ä¿Å â»Ãá¡ÃÁ¨Ò¡á¼ ¹´ÔÊ¡ â»Ãá¡ÃÁ PICBASIC PRO Compiler ä»ÂѧÎÒà ´´ÔÊ¡ ã¹ à¤Ã×èͧ¤ÍÁ¾ÔÇàµÍà ·Õèµ Í§¡ÒõԴµÑé§

1.3.1.5 ¡ÒÃ㪠§Ò¹ PICBASIC PRO ¤ÍÁä¾àÅÍà º¹Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ â´Âá· ¨ÃÔ§áÅ Ç PICBASIC PRO ¤ÍÁä¾àÅÍà ໠¹«Í¿µ áÇà ··Õè Òí §Ò¹º¹Ãкº»¯ÔºµÑ ¡Ô ÒôÍÊ áÅÐÊÒÁÒöàÃÕ¡㪠§Ò¹ã¹áººà¢Õ¹¤íÒÊѧè àÃÕ§ºÃ÷ѴËÃ×Í command line ¹Ñ¹è ¤×ͼÙã ª §Ò¹µ ͧ¨´¨íÒ ¾ÒÃÒÁÔàµÍà »ÃСͺãË ä´ ´Ç  «Ö§è ÍÒ¨äÁ Êдǡ¹Ñ¡áÅÐã¹·Õ¹è ¨Õé ÐäÁ ¹Òí ÁÒàÊ¹Í ËÒ¡µ ͧ¡Ò÷ÃÒºÃÒ ÅÐàÍÕ´ÊÒÁÒö´Ùä´ ¨Ò¡ä¿Å ¤ÁÙ Í× ¡ÒÃ㪠§Ò¹ PICBASIC PRO ÀÒÉÒÍѧ¡ÄÉ (´Òǹ âËÅ´ä´ ¨Ò¡ www.melabs.com áÅÐÁÕÁҾà ÍÁ¡Ñº«Í¿µ áÇà àÁ×Íè ¨Ñ´«×Íé ã¹Ãع ÊÁºÙó ) à¹×Íè §¨Ò¡» ¨¨Øº¹Ñ Ãкº»¯ÔºµÑ ¡Ô Òâͧ¤ÍÁ¾ÔÇàµÍà ÊÇ ¹ãË­ à» ¹ÇÔ¹â´ÇÊ ´Ñ§¹Ñ¹é 㹡ÒÃ㪠§Ò¹ PICBASIC PRO ¤ÍÁä¾àÅÍà ¡ºÑ Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ ãË ä´ ÃºÑ ¤ÇÒÁÊдǡ¨Ö§µ ͧ㪠§Ò¹Ã ÇÁ¡Ñº «Í¿µ áÇà ¨Ñ´¡ÒõԴµ ͡Ѻ¼Ù 㪠§Ò¹·ÕèÁÕ˹ ÒµÒã¹áºº¡ÃÒ¿ ¡ËÃ×ͺҧ·ÕàÃÕÂ¡Ç Ò IDE (Integrated Development Environment) ÊíÒËÃѺ PICBASIC PRO ¤ÍÁä¾àÅÍà Á¼Õ ¨Ù ´Ñ ·íÒ«Í¿µ áÇÃ Å¡Ñ É³Ð¹Õàé ¼Â á¾Ã ÍÂÙ 2 µÑǤ×Í Code Designer ¢Í§ CSMicro Systems áÅÐ Microcode Studio ¢Í§ Mecanique áÅзÕèá¹Ð¹íÒãË ãª ã¹·Õè¹Õé¤×Í Microcode Studio à¹×Íè §¨Ò¡ÊÒÁÒö´Òǹ âËÅ´ÁÒ㪠§Ò¹ä´ ¿ÃÕ áÅÐÊÒÁÒÃ¶ãª ä´ ¡Ñº PICBASIC PRO ¤ÍÁä¾àÅÍà ·Ñé§ã¹ÃØ ¹ÊÁºÙó áÅÐÃØ ¹·´Åͧ㪠¹Í¡¨Ò¡¹Ñé¹ Microcode Studio ÂѧÁÕ˹ ÒµÒáÅÐÇÔ¸¡Õ ÒÃ㪠§Ò¹ µÅÍ´¨¹àÁ¹Ù¤Òí ÊÑ§è ·Õãè ª §Ò¹§ Ò ໠¹ÁԵáѺ¼Ùã ª §Ò¹ÊÙ§ (friendly user) áÁ ÇÒ ¨ÐÁÕ¢Í ¨íҡѴ㹡Ò÷íÒ´Õº¡Ñ à¡Íà «§Öè ¨Ðµ ͧ¨Ñ´«×Íé ã¹Ãع Plus ¡çµÒÁ áµ ÊÒí ËÃѺÃع Áҵðҹ¡çÊÒÁÒö㪠§Ò¹ä´ ´Õ ¡ÒõԴµÑ§é à¾×Íè 㪠§Ò¹ PICBASIC PRO ¤ÍÁä¾àÅÍà ¡ºÑ Microcode Studio ¡çÊдǡ à¾ÃÒÐ Microcode Studio ÊÒÁÒö¤ ¹â¿Åà´Íà ·µÕè ´Ô µÑ§é PICBASIC PRO ¤ÍÁä¾àÅÍÃ ä´ àͧ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

13

1.3.2 Microcode Studio «Í¿µ áÇà ¾² Ñ ¹Òâ»Ãá¡ÃÁÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC â´Â㪠ÃÇ Á¡Ñº¤ÍÁä¾àÅÍà Microcode Studio à» ¹¢Í§ Mecanique »ÃÐà·ÈÍѧ¡ÄÉ ÊÒÁÒö´Òǹ âËÅ´ä´ ¿ÃÕ·Õè www.mecanique.com â´Â¡ÒÃ㪠§Ò¹¨Ðµ ͧ㪠à ÇÁ¡Ñº PICBASIC PRO ¤ÍÁä¾àÅÍà ·Ñé§ã¹ÃØ ¹ ÊÁºÙó áÅÐÃع Demo

1.3.2.1 ¡ÒõԴµÑ§é â»Ãá¡ÃÁ Microcode Studio ઠ¹à´ÕÂǡѺ PICBASIC PRO ¤ÍÁä¾àÅÍÃ Ã¹Ø Demo â»Ãá¡ÃÁ Microcode Studio ÊÒÁÒö àÅ×Í¡µÔ´µÑé§ä´ ¨Ò¡ä¿Å mcstudio.exe «Öè§ÍÂ٠㹫մÕÃÍÁ·Õè¨Ñ´ÁҾà ÍÁ¡ÑºªØ´ËØ ¹Â¹µ Robo-PICA ã¹ â¿Åà´Íà PIC\Tools\MicroCode Studio 2.1.0.1 (ËÁÒÂàÅ¢àÇÍà ªÑ¹·Õèµ Í· ÒÂÍÒ¨à»ÅÕè¹á»Å§ä´ ) ãË ´ºÑ àºÔŤÅÔ¡·Õäè ¿Å mcstudio.exe ã¹â¿Åà´Íà ¹àÕé ¾×Íè àÃÔÁè ¡ÒõԴµÑ§é ¡´»ØÁ µÍºÃѺµÒÁ¢Ñ¹é µÍ¹µ Ò§æ ¨¹¡ÒõԴµÑé§àÊÃç¨ÊÁºÙó àÁ×è͵ ͧ¡ÒÃÃѹâ»Ãá¡ÃÁ Microcode Studio ÊÒÁÒö价Õè»Ø Á Start à Program à Microcode Studio à Microcode Studio ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§àÃÔÁè µ ¹·íÒ§Ò¹¢Í§ Microcode Studio ´Ñ§ã¹ÃÙ»·Õè 1-1

ÃÙ»·Õè 1-1 ˹ Òµ Ò§ËÅÑ¡ÊíÒËÃѺàÃÔÁè µ ¹¡Ò÷íÒ§Ò¹¢Í§ Microcode Studio


14

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

ÃÙ»·Õè 1-2 ˹ Òµ Ò§ PICBasic Option 㪠ÊÒí ËÃѺ¡íÒ˹´ ËÃ×ͤ ¹ËÒà¾×Íè µíÒá˹ §¢Í§â¿Åà´Íà ËÃ×Íä´àÃ硵ÍÃÕè ÃÙ»·Õè 1-3 ˹ Òµ Ò§¤ ¹ËÒâ¿Åà´Íà ¢Í§â»Ãá¡ÃÁ PICBASIC PRO ´ ǵ¹àͧ ·Õµè ´Ô µÑ§é PICBASIC PRO ¤ÍÁä¾àÅÍÃ

1.3.2.2 ¡ÒáíÒ˹´µíÒá˹ §ãË PICBASIC PRO à¾×Íè ãË Microcode Studio ·ÃÒºµíÒá˹ §µÔ´µÑ§é ¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà Ãع Demo ¨Ðµ ͧÃкصÒí á˹ §àËÅ Ò¹Õ·é Õè àÁ¹Ù View à PICBasic Option ¢Í§ Microcode Studio â´Â˹ Òµ Ò§ PICBasic Option áÊ´§ã¹ÃÙ»·Õè 1-2 㹡óյ´Ô µÑ§é PICBASIC PRO ¤ÍÁä¾àÅÍÃ Ã¹Ø Demo (ËÃ×ÍÁҵðҹ)äÇ ã¹ÎÒà ´´ÔÊ¡ áÅ Ç ÊÒÁÒö¡´»Ø Á à¾×èÍãË ¤ ¹ËÒâ´ÂÍѵâ¹ÁÑµÔ áµ ã¹¡Ã³Õ¢ ÍÁÙÅã¹ÎÒà ´´ÔÊ¡ ÁÕÁÒ¡ à¾×Íè ¡íÒ˹´µíÒá˹ §¢Í§â»Ãá¡ÃÁ´ Ç ÍÒ¨¨ÐàÊÕÂàÇÅÒ㹡Òä ¹ËÒ ÊÒÁÒö¡´»ØÁ µ¹àÍ§ä´ â´ÂàÁ×Íè ¡´»ØÁ ¹Õé ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§´Ñ§ÃÙ»·Õè 1-3 à¾×Íè ¤ ¹ËÒä´àáµÍÃÕËè Ã×Íâ¿Åà´Íà ·µÕè ´Ô µÑ§é PICBASIC PRO ¤ÍÁä¾àÅÍà ´Ç µ¹àͧ àÁ×Íè ¾ºáÅ Ç ãË ¡´»ØÁ à¾×Íè Â×¹Âѹ ËÁÒÂà赯 ¼Ùã ª §Ò¹ÊÒÁÒöµÃǨÊͺ¤ÇÒÁ¶Ù¡µ ͧ¢Í§¡ÒáíÒ˹´µíÒá˹ §¤ÍÁä¾àÅÍÃ ä´ â´Â¡ÒÃà» ´â»Ãá¡ÃÁ µÑÇÍ ҧ¢Ö¹é ÁÒ ¡´»ØÁ F9 à¾×Íè ¤ÍÁä¾Å â»Ãá¡ÃÁ ãË Ê§Ñ à¡µ·Õáè ¶ºáÊ´§Ê¶Ò¹Ð´ ҹŠҧ Ëҡᨠ§¢ ͤÇÒÁ unable to find compiler (ÃÙ» (¡)) áÊ´§Ç Ò ¡ÒÃÃкصÒí á˹ §ÂѧäÁ ¶¡Ù µ ͧ ãË á¡ ä¢ Ëҡᨠ§¢ ͤÇÒÁ Success : xx words used. (ÃÙ» (¢)) áÊ´§Ç Ò ·Ø¡Í ҧ¶Ù¡µ ͧ

(¡) ʶҹÐËÒ PICBASIC PRO ¤ÍÁä¾àÅÍà äÁ ¾º

(¢) ʶҹСÒäÍÁä¾Å àÊÃç¨ÊÁºÙó


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

15

1.3.2.3 Ê Ç¹»ÃСÍÔºáÅФسÊÁºÑµÔ·Õè¹ Òʹ㨢ͧ Microcode Studio

Microcode Studio à» ¹â»Ãá¡ÃÁÊà ҧÊÀÒÇÐáÇ´Å ÍÁ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒàºÊÔ¡ ÊíÒËÃѺ PICBASIC PRO ¤ÍÁä¾àÅÍà ·íÒãË ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ´ ÇÂÀÒÉÒàºÊÔ¡¹Ñé¹à» ¹àÃ×èͧ§ Ò â´ÂÁÕÊ Ç¹»ÃСͺ·ÕèÊíҤѭ´Ñ§¹Õé

1. ¾×¹é ·Õàè ¢Õ¹â»Ãá¡ÃÁ ¨Ð㪠ÊáÕ ÅФÇÒÁ˹ҢͧµÑÇÍÑ¡ÉÃà» ¹µÑÇẠ§á¡¤íÒÊѧè ÅÒàºÅ ¤ÍÁ àÁ¹µ áÅТ ÍÁÙŵ Ò§æ ÍÍ¡¨Ò¡¡Ñ¹ ·íÒãË ¡Ò÷íÒ¤ÇÒÁࢠÒ㨡Ѻâ»Ãá¡ÃÁ·íÒä´ § Ò 2. ˹ Òµ Ò§ Code Explorer à¾×Íè ¡ÃÐâ´´ä»ÂѧµíÒá˹ §ÅÒàºÅ µÑÇá»Ã ¤ Ò¤§·Õµè Ò § æ ä´ Í ҧ ÃÇ´àÃçÇ ·Ñé§ÂѧÊÒÁÒöᨡᨧ¡ÒáíÒ˹´µíÒá˹ §ÅÒàºÅËÃ×͵ÑÇá»Ãµ Ò§ æ ä´ § ÒÂÍÕ¡´ Ç ˹ Òµ ҧࢠҶ֧ËÑÇ¢ ÍËÅÑ¡¢Í§ ᶺàÁ¹Ù â»Ãá¡ÃÁ (Code Explorer) ᶺà¤Ã×Íè §Á×Í

ᶺáÊ´§Ê¶Ò¹Ð (Status Bar)

ᶺª×Íè â»Ãá¡ÃÁ·Õàè » ´äÇ áÅ Ç

¾×¹é ·Õàè ¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡

ÃÙ»·Õè 1-4 áÊ´§Ê ǹ»ÃСͺ·ÕÊè Òí ¤Ñ­ã¹Ë¹ Òµ Ò§ËÅÑ¡¢Í§ Microcode Studio

˹ Òµ Ò§áÊ´§¢ ͼԴ¾ÅÒ´


16

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

3. ˹ Òµ Ò§áÊ´§¢ ͼԴ¾ÅÒ´ àÁ×èͤÍÁä¾Å â»Ãá¡ÃÁ ÍÒ¨à¡Ô´¢ ͼԴ¾ÅÒ´¢Öé¹ä´ ˹ Òµ Ò§¹Õé ¨ÐáÊ´§¢ ͼԴ¾ÅÒ´µ Ò§æ ¢Ö¹é ÁÒ ¼Ùã ª §Ò¹ÊÒÁÒö㪠àÁÒÊ ¤ÅÔ¡·Õºè Ã÷ѴàËŠҹѹé â»Ãá¡ÃÁ¨ÐáÊ´§ ᶺ¢Öé¹·ÕèºÃ÷Ѵ·Õè¼Ô´¾ÅÒ´ ·íÒãË ÊÒÁÒöࢠÒä»á¡ ä¢â»Ãá¡ÃÁä´ § Ò 4. ᶺáÊ´§Ê¶Ò¹Ð áÊ´§´ ÇÂÊÑ­Åѡɳ û٠LED ÊÕá´§áÅÐà¢ÕÂÇ à¾×Íè ãË Ê§Ñ à¡µä´ §Ò  5. ᶺà¤Ã×èͧÁ×Í ÃÇÁ¤íÒÊÑè§á¡ ä¢áÅФÍÁä¾Å â»Ãá¡ÃÁäÇ ·íÒãË ¼Ù àÃÔèÁµ ¹ÊÒÁÒö㪠§Ò¹ â»Ãá¡ÃÁä´ Í ҧÃÇ´àÃçÇ 6. ˹ Òµ Ò§Ê×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ (Serial Communications Window) 㪠ªÇ ÂáÊ´§¼Å¢ ÍÁÙŠ͹ءÃÁ·ÕÊè § ÁÒ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¼Ò ¹¤íÒÊѧè DEBUG ËÃ×Í SEROUT â´ÂÊÒÁÒö¡íÒ˹´¤ Ò Áҵðҹ¡ÒÃÊ×Íè ÊÒõ Ò§ æ ä´ Í ҧÍÔÊÃÐ ¹Í¡¨Ò¡¹Ñé¹ÂѧÁդسÊÁºÑµÔ¾ÔàÈÉÍ×è¹æ ·Õè¹ Òʹ㨠l à» ´Ë¹ Òµ Ò§«Íà Êâ»Ãá¡ÃÁä´ ËÅÒÂ˹ Òµ Ò§à¾×Í è á¡ ä¢ ËÃ×Í´ÙÃÒÂÅÐàÍÕ´¾Ã ÍÁ¡Ñ¹ä´ l àÅ×Í¡ÃٻẺ¡ÒäÍÁä¾Å 仨¹¶Ö§¡ÒÃâ»Ãá¡ÃÁ¢ ÍÁÙÅŧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ ä´ Í ҧ ËÅÒ¡ËÅÒ áÅÐËÅѧ¨Ò¡¡íÒ˹´¤ ÒáÅ Ç ÊÒÁÒöÊÑ觧ҹ¨Ò¡¤íÒÊÑè§à´ÕÂÇà¾×èͤÍÁä¾Å áÅÐâ»Ãá¡ÃÁ l ÊíÒËÃѺ¼Ùã ª §Ò¹·Õãè ª §Ò¹Ã ÇÁ¡ÑººÍà ´ ICD (In Circuit Debugger) ¨ÐÁÕà¤Ã×Í è §Á×ÍÊíÒËÃѺ ¡ÒÃÃѹâ»Ãá¡ÃÁẺ«Ô§à¡ÔÅÊàµç»à¾×èʹټšÒ÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁä´

1.3.2.4 àÁ¹Ù㪠§Ò¹¢Í§â»Ãá¡ÃÁ Microcode Studio àÁ¹Ù File NEW (Ctrl+N) Êà ҧ˹ Òµ Ò§ãËÁ ÊÒí ËÃѺ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ Open (Ctrl+O) à» ´«Íà Êâ»Ãá¡ÃÁ·Õºè ¹Ñ ·Ö¡äÇ áÅ Ç¡ ͹˹ Ò¹Õé Save (Ctrl+S) ºÑ¹·Ö¡«Íà Êâ»Ãá¡ÃÁ Save As 㪠º¹Ñ ·Ö¡ä¿Å ŧ´ÔÊ¡ ẺÃкØâ¿Åà´Íà áÅЪ×Íè ä¿Å ãËÁ Save All 㪠º¹Ñ ·Ö¡ä¿Å ·§Ñé ËÁ´·Õàè » ´ÍÂÙ Close 㪠»´ ˹ Òµ Ò§«Íà Êâ»Ãá¡ÃÁ·Õáè Í¡µÕ¿ÍÂÙã ¹¢³Ð¹Ñ¹é Close All » ´Ë¹ Òµ Ò§«Íà Êâ»Ãá¡ÃÁ·Ñ§é ËÁ´ Reopen 㪠໠´«Íà Êâ»Ãá¡ÃÁÅ ÒÊØ´·ÕÁè ¡Õ ÒÃà» ´ãª §Ò¹¡ ͹˹ Ò¹Õé Print Setup 㪠¡Òí ˹´¤ Òà¤Ã×Íè §¾ÔÁ¾ à¾×Íè ¾ÔÁ¾ «Íà ´â»Ãá¡ÃÁ Print Preview ÊíÒËÃѺáÊ´§¼Å¡ÒþÔÁ¾ ·ËÕè ¹ Ҩ͡ ͹¾ÔÁ¾ Print ÊíÒËÃѺ¾ÔÁ¾ «Íà Êâ»Ãá¡ÃÁÍÍ¡·Ò§à¤Ã×Íè §¾ÔÁ¾ Exit ÍÍ¡¨Ò¡â»Ãá¡ÃÁ Microcode Studio


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

àÁ¹Ù Edit

Undo (Ctrl+Z) 㪠¡àÅÔ¡¡ÒáÃзíÒ·Õ·è Òí 仡 ͹˹ Ò¹Õé Redo (Shift+Ctrl+Z) 㪠·Òí «éÒí ¤íÒÊÑ§è ·Õ¶è ¡Ù Â¡àÅÔ¡¡ ͹˹ Ò¹Õé Cut (Ctrl+X) µÑ´¢ ͤÇÒÁ Copy (Ctrl+C) ¤Ñ´ÅÍ¡¢ ͤÇÒÁ Paste (Ctrl+V) ÇÒ§¢ ͤÇÒÁã¹¾×¹é ·Õè ·Õ¡è Òí ˹´ Delete (Ctrl+Del) ź¢ ͤÇÒÁ Select All (Ctrl+A) àÅ×Í¡¢ ͤÇÒÁ·Ñ§é ËÁ´ Find (Ctrl+F) ¤ ¹ËÒ¢ ͤÇÒÁ Replace (Ctrl+R) ¤ ¹ËÒáÅ Çá·¹·Õ´è Ç Â¢ ͤÇÒÁ·Õ¡è Òí ˹´ Find Next (F3) 㪠¤¹ ËÒ¢ ͤÇÒÁ¶Ñ´ä»

àÁ¹Ù View Code Explorer à» ´ËÃ×Í» ´Ë¹ Òµ Ò§ Code Explorer ÊíÒËÃѺ ¡ÒÃà¢ Ò¶Ö§Ê Ç¹µ Ò§ æ ¢Í§â»Ãá¡ÃÁä´ â´Â§ Ò Serial Communications Window (F4) 㪠໠´Ë¹ Òµ Ò§Ê×Íè ÊÒà ¢ ÍÁÙÅ͹ءÃÁ ´Ñ§áÊ´§ã¹ÃÙ» ÊÒÁÒö¡íÒ˹´ÃÙ»áººä´ µÒÁµ ͧ¡ÒÃ

Toolbars àÅ×Í¡áÊ´§á¶ºà¤Ã×Íè §Á×Í·Õ¡è Òí ˹´·ÕËè ¹ Ò¨Í â´Âᶺ à¤Ã×Íè §Á×͵ Ò§ æ ÁÕ´§Ñ ¹Õé Standard : à¤Ã×Íè §Á×Í¾×¹é °Ò¹ ä´ á¡ Êà ҧä¿Å ãËÁ (New), à» ´ ä¿Å ·ÁÕè ÍÕ ÂÙá Å Ç (Open) ËÃ×ͺѹ·Ö¡ä¿Å (Save) à» ¹µ ¹

l

17


18

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

Compile and Program : à¤Ã×Íè §Á×ÍÊíÒËÃѺ¤ÍÁä¾Å â»Ãá¡ÃÁáÅÐ ´Òǹ âËÅ´ä»ÂѧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ ä´ á¡ ¡ÒáíÒ˹´àºÍà ¢Í§äÁâ¤Ã ¤Í¹·ÃÅàÅÍà , ¤ÍÁä¿Å â»Ãá¡ÃÁ, àÃÕ¡˹ Òµ Ò§ Serial Communications In Circuit Debug (ICD) : à¤Ã×Íè §Á×ʹټŢͧ¢ ÍÁÙÅÀÒÂã¹â»Ãá¡ÃÁ µ ͧµ ͡ѺÎÒà ´áÇà ੾ÒÐÊíÒËÃѺ¡Ò÷íÒ In Circuit Debug ´ Ç (㪠äÁ ä´ ¡ºÑ PICBASIC PRO ¤ÍÁä¾àÅÍÃ Ã¹Ø Demo) Edit : à¤Ã×Íè §Á×Íᡠ䢫Íà Êâ»Ãá¡ÃÁ »ÃСͺ´ Ç ¤ ¹ËÒ (Find), á·¹·Õ¢è Í ÁÙÅ (Replace), ¡Ò÷íÒãË ºÃ÷Ѵ·Õ¡è Òí ˹´à» ¹ Comment à» ¹µ ¹

PICBASIC OPTION ¡íÒ˹´¡ÒÃ㪠§Ò¹ PICBASIC ¤ÍÁä¾àÅÍà áÅЫͿµ áÇà ·ãÕè ª â»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé

Compiler : ¡íÒ˹´â¿Åà´Íà áÅФسÊÁºÑµ¢Ô ͧ¤ÍÁä¾àÅÍà Assambler â´Â»¡µÔ Microcode Studio ·íÒ¡ÒÃáÍÊà«ÁàºÅÍà «ÍÃ Ê â»Ãá¡ÃÁâ´Â㪠ä¿Å PM.EXE «Ö§è ÃͧÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC 㹠͹ءÃÁ 12 áÅÐ 14 ºÔµ·Ñ§é ËÁ´ ·íÒãË äÁ ¨Òí à» ¹µ ͧ¡íÒ˹´¤ ÒãË ÊÇ ¹¹Õé Programmer 㪠àÃÕ¡«Í¿µ áÇà ÊÒí ËÃѺâ»Ãá¡ÃÁ¢ ÍÁÙÅŧã¹äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà â´ÂÍѵâ¹ÁѵÔ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

Editor Option ¡íÒ˹´ÊÀÒÇÐáÇ´Å ÍÁ㹡ÒÃà¢Õ¹ â»Ãá¡ÃÁ â´ÂẠ§á¡໠¹Ê ǹ ÍÂ æ ´Ñ§¹Õé General : ¡íÒ˹´¤ Òàº×Íé §µ ¹ ä´ á¡ ¡íÒ˹´µíÒá˹ §â¿Åà´Íà àÃÔÁè µ ¹,àÅ×Í¡áÊ´§àÅ¢ºÃ÷Ѵ, ¨Ñ´¡Òà ·íÒ§Ò¹¢Í§á·ç», ¡ÃÐⴴ仵íÒá˹ §·ÕÁè ¢Õ Í ¼Ô´¾ÅÒ´ à» ¹µ ¹

Highlighter »ÃѺᵠ§ÊÕáÅÐÃٻẺ¢Í§µÑÇÍÑ¡Éà à¾×Íè Ạ§á¡¤íÒÊÑ§è ¤ÍÁàÁ¹µ ª¹Ô´¢Í§µÑÇàÅ¢ µÑÇá»Ã áÅÐ ÊÑ­Åѡɳ µÒ § æ ÍÍ¡¨Ò¡¡Ñ¹

Program Header ¡íÒ˹´ãË ãÊ ¤ÍÁàÁ¹µ äÇ ·ÊÕè Ç ¹ËÑÇ ¢Í§â»Ãá¡ÃÁâ´ÂÍѵâ¹ÁÑµÔ ÊÒÁÒö¡íÒ˹´ª×Íè ¼Ùà ¢Õ¹«ÍÃ Ê â»Ãá¡ÃÁ Ê Ç¹ã¹ºÃ÷Ѵ ·Õàè » ¹Çѹ·Õè ¨ÐãÊ Ç¹Ñ ·Õ·è àÕè ÃÔÁè µ ¹Êà ҧ â»Ãá¡ÃÁãË â´ÂÍѵâ¹ÁѵÔ

Online Updating àÅ×Í¡ÊíÒËÃѺãË â»Ãá¡ÃÁµÃǨÊͺ ¢ ÍÁÙÅã¹âÎÁྨ¢Í§¼Ù¼ Å﵂ ÒÁÕâ»Ãá¡ÃÁàÇÍà ª¹Ñ ãËÁ ËÃ×ÍäÁ â´Â¨ÐµÃǨÊͺàÁ×Íè Í͹äŹ ࢠÒÊÙÍ ¹Ô àµÍà à¹çµáÅ Çà· Ò¹Ñ¹é ¶ Ò äÁ µÍ §¡ÒÃ㪠¤ÇÒÁÊÒÁÒö¹Õ¡é Òí ˹´à» ¹áºº Manual ä´

l

19


20

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

àÁ¹Ù Help Help Topics 㪠ÊÒí ËÃѺ໠´à¢ ÒÊÙË ¹ Òµ Ò§áÊ´§ÃÒÂÅÐàÍÕ´¡ÒÃ㪠§Ò¹â»Ãá¡ÃÁ Microcode Studio áÅСÒÃ㪠§Ò¹ PICBASIC PRO àº×Íé §µ ¹ Microcode Studio Plus áÊ´§ÃÒÂÅÐàÍÕ´¤Ø³ÊÁºÑµ¢Ô ͧâ»Ãá¡ÃÁ MicroCode Studio Plus áÅÐÃÒÂÅÐàÍÕ´¢Í§¼Ù¼ ÅÔµ ÊíÒËÃѺ«Í¿µ áÇà ã¹Ãع Plus ¨Ðµ ͧàÊÕ¤ Ò㪠¨Ò Âà¾ÔÁè áµ ¤ÇÒÁÊÒÁÒö¢Í§â»Ãá¡ÃÁ¡ç¨Ðà¾ÔÁè µÒÁ´ ÇÂ

About áÊ´§ÃÒÂÅÐàÍÕ´àÇÍà ª¹Ñ ¢Í§â»Ãá¡ÃÁ Microcode Studio


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

21

1.3.3 Miracle PIC «Íµ áÇà ÊÒí ËÃѺâ»Ãá¡ÃÁ¢ ÍÁÙÅŧã¹Ë¹ ǤÇÒÁ¨íҢͧ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC àÁ×èÍ·íÒ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡´ Ç Microcode Studio áÅ Ç µ ͧ·íÒ¡ÒäÍÁä¾Å ´ Ç PICBASIC PRO ¤ÍÁä¾àÅÍà ¨Ðä´ ä¿Å .hex Íѹ໠¹ä¿Å ÀÒÉÒà¤Ã×Íè §¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ¨Ò¡¹Ñ¹é µ ͧ·íÒ¡ÒÃà¢Õ¹ËÃ×Íâ»Ãá¡ÃÁ¢ ÍÁÙŹÕÅé §ã¹Ë¹ ǤÇÒÁ¨íÒÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC «Öè§ã¹·Õè¹Õé㪠«Í¿µ áÇà ·Õèª×èÍ Miracle PIC ¾Ñ²¹Ò¢Öé¹â´ÂºÃÔÉÑ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÊÒÁÒö´Òǹ âËÅ´ä´ ·Õè www.inex.co.th â´Â Miracle PIC ¹Õ¨é зíÒ§Ò¹¡Ñºá¼§Ç§¨Ã RBX-877 Íѹ à» ¹á¼§Ç§¨Ã¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ëع ¹µ Robo-PICA ·Õ¨è зíÒ¡ÒÃÊà ҧ¡Ñ¹ã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õé

1.3.3.1 ¡ÒõԴµÑ§é â»Ãá¡ÃÁ ࢠÒä»·Õèâ¿Åà´Íà PIC\Tools\Miracle_PIC ã¹á¼ ¹«Õ´ÕÃÍÁ·ÕèÁҾà ÍÁ¡ÑºªØ´ËØ ¹Â¹µ RoboPICA µÔ´µÑé§â´Â´ÑºàºÔŤÅÔ¡·Õèä¿Å mPICSetup161.exe (ËÁÒÂàÅ¢àÇÍà ªÑ¹ÍÒ¨à»ÅÕè¹á»Å§ä´ ) ËÃ×Ͷ Ò´Òǹ âËÅ´ÁÒ¡çãË ´ÑºàºÔŤÅÔ¡·Õèä¿Å ª×èÍËÅÑ¡à´ÕÂǡѹ¹Õé ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§¢ ͤÇÒÁᨠ§¡Òà Â×¹ÂѹµÔ´¡µÑé§â»á¡ÃÁ ãË ¡´»Ø Á OK µÍºÃѺ仨¹¡ÃзÑ觡ÒõԴµÑé§àÊÃç¨ÊÁºÙó

1.3.3.2 ÃÒÂÅÐàÍÕ´»ØÁ 㪠§Ò¹¢Í§ Miracle PIC àÃÕ¡㪠â»Ãá¡ÃÁ Miracle PIC ä´ â´Âä»·Õ»è ÁØ Start à Program à Miracle PIC à Miracle PIC Flash ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ´Ñ§ã¹ÃÙ»·Õè 1- 4

ᶺ¤íÒÊÑè§

àÅ×Í¡àºÍà ¢Í§ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà »ØÁ µÃǨÊͺàºÍà äÁâ¤Ã ¤Í¹â·ÃÅàÅÍÃ ÍµÑ â¹ÁѵÔ

»Ø Á㪠§Ò¹ âËÁ´ÊÑ­­Ò³¹ÒÌ ¡Ò áÊ´§ÃٻẺ¢Í§ ¡Òû ͧ¡Ñ¹¢ ÍÁÙŠᨠ§àºÍà äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÕèàÅ×Í¡

ÃÙ»·Õè 1-4 ˹ Òµ Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ Miracle PIC

ᶺáÊ´§Ê¶Ò¹Ð¡Ò÷íÒ§Ò¹ áÊ´§ ID ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ãÕè ª áÊ´§¤ Ò Configuration word


22

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

2.4.2.1 »ØÁ ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ËÅÑ¡ 1. »ØÁ

OPEN 㪠໠´ä¿Å ¹ÒÁÊ¡ØÅ .HEX ·Õµè Í §¡ÒÃâ»Ãá¡ÃÁŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

2. »ØÁ

SAVE 㪠º¹Ñ ·Ö¡«Íà Ê⤠´«Ö§è à» ¹ä¿Å ¹ÒÁÊ¡ØÅ .HEX ŧã¹ÎÒà ´´ÔÊ¡ ËÃ×Í¿ÅÍ»» ´ ÊÔ ¡

PROGRAM 㪠à¢Õ¹¢ ÍÁÙŢͧä¿Å .HEX ŧã¹Ë¹ ǤÇÒÁ¨íҢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà 3. »ØÁ VERIFY 㪠µÃǨÊͺ¡ÒÃâ»Ãá¡ÃÁ â´Â·íÒ¡ÒÃà»ÃÕºà·Õº¢ ÍÁÙÅ㹺ѿà¿Íà ¡ºÑ ¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ 4. »ØÁ ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ËÅѧ¨Ò¡·Õâè »Ãá¡ÃÁ¢ ÍÁÙÅáÅ Ç 5. »ØÁ READ 㪠ÍÒ ¹¢ ÍÁÙŨҡäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·àÕè Å×Í¡äÇ 6. »ØÁ BLANK CHECK 㪠µÃǨÊͺ¢ ÍÁÙÅÇ Ò§ÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà 7. »ØÁ ERASE 㪠ź¢ ÍÁÙÅÀÒÂã¹Ë¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·àÕè Å×Í¡ 8. ª ͧàÅ×Í¡àºÍà äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

2.4.2.2 àÁ¹Ù㪠§Ò¹¢Í§â»Ãá¡ÃÁ àÁ¹Ù File

Open File Save File As Recent Files Exit

㪠໠´ä¿Å ¹ÒÁÊ¡ØÅ .HEX ·Õµè Í §¡ÒÃâ»Ãá¡ÃÁ ·íÒ§Ò¹àËÁ×͹¡Ñº»ØÁ OPEN 㪠º¹Ñ ·Ö¡á¿ Á¢ ÍÁÙÅ㹪×Íè Í×¹è 㪠໠´ä¿Å ·àÕè ¤Âà» ´ãª §Ò¹¡ ͹˹ Ò¹Õé ÍÍ¡¨Ò¡â»Ãá¡ÃÁ

àÁ¹Ù View 㪠´¤Ù Ò ¾ÒÃÒÁÔàµÍà ·§Ñé ËÁ´¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC Program Buffer (F11) 㪠áÊ´§ÃÒÂÅÐàÍÕ´¢Í§«Íà Ê⤠´ àÁ×Íè àÅ×Í¡àÁ¹Ù¹¨Õé лÃÒ¡¯Ë¹ Òµ Ò§áÊ´§ ¢ ÍÁÙÅã¹ÃÙ»·Õè 2-4 â´ÂáÊ´§¢ ÍÁÙŷѧé ã¹ÃÙ»¢Í§àÅ¢°Ò¹ÊԺˡáÅÐÃËÑÊáÍÊ¡Õé ¼Ùã ª §Ò¹ÊÒÁÒÃ¶á¡ ä¢ (edit) ¢ ÍÁÙÅä´ â´ÂàÅ×Í¡µíÒá˹ §¢Í§Ë¹ ǤÇÒÁ¨íÒ·Õµè Í §¡ÒÃáÅ Ç» ͹¤ Òä´ ·¹Ñ ·Õ ËÃ×ͨÐ㪠¿§ ¡ ª¹Ñè Fill Program Buffer ¡çä´ Data Buffer (F12) 㪠áÊ´§ÃÒÂÅÐàÍÕ´¢Í§Ë¹ ǤÇÒÁ¨íÒ¢ ÍÁÙÅÍÕÍ¾Õ ÃÍÁ àÁ×Íè àÅ×Í¡àÁ¹Ù¹¨Õé лÃÒ¡¯ ˹ Òµ Ò§áÊ´§¢ ÍÁÙÅã¹ÃÙ»·Õè 2-5 ¼Ùã ª ÊÒÁÒÃ¶á¡ ä¢ (edit) ¢ ÍÁÙÅä´ â´ÂàÅ×Í¡µíÒá˹ §¢Í§Ë¹ ǤÇÒÁ¨íÒ·Õµè Í §¡ÒÃáÅ Ç » ͹¤ Òä´ ·¹Ñ ·Õ ËÃ×ͨÐ㪠¿§ ¡ ª¹Ñè Fill Data Buffer ¡çä´ Configuration (F9) áÊ´§ÃÒÂÅÐàÍÕ´·Ò§ÎÒà ´áÇà ·µÕè Í §àÅ×Í¡¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC â´Â àÁ×Íè àÅ×Í¡¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§ Configuration ´Ñ§ã¹ÃÙ»·Õè 2-6 Count Program 㪠áÊ´§¨íҹǹ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·¹Õè Òí ÁÒâ»Ãá¡ÃÁÇ Ò ·íÒ¡ÒÃâ»Ãá¡ÃÁ ¡Õµè ÇÑ ÁÕ¨Òí ¹Ç¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·âÕè »Ãá¡ÃÁäÁ ÊÒí àÃç¨à· Òã´ Always on top 㪠¡Òí ˹´ãË Ë¹ Òµ Ò§ËÅÑ¡¢Í§ Miracle-PIC ÍÂÙã ¹µíÒá˹ §º¹ÊØ´·Ø¡¤Ãѧé


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

23

ÃÙ»·Õè 1-5 ˹ Òµ Ò§áÊ´§¢ ÍÁÙŢͧ˹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ

ÃÙ»·Õ1-6 è ˹ Òµ Ò§áÊ´§¢ ÍÁÙŢͧ˹ ǤÇÒÁ¨íÒ¢ ÍÁÙÅÍÕÍ¾Õ ÃÍÁ

àÁ¹Ù Device 㪠ÊÒí ËÃѺàÅ×Í¡àºÍà ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·µÕè Í §¡ÒõԴµ Í´ ÇÂ

àÁ¹Ù Command

Program Chip (F4) 㪠â»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·íÒ§Ò¹àËÁ×͹¡Ñº»ØÁ PROGRAM Verify Chip (F5) 㪠µÃǨÊͺ¡ÒÃà¢Õ¹¢ ÍÁÙÅŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÇÒ ¶Ù¡µ ͧËÃ×ÍäÁ Read Chip (F6) 㪠ÍÒ ¹¢ ÍÁÙŨҡäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·íÒ§Ò¹àËÁ×͹¡Ñº»ØÁ READ Erase Chip (F7) 㪠ź¢ ÍÁÙÅÀÒÂã¹Ë¹ ǤÇÒÁ¨íҢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC Blank Chip (F8) 㪠µÃǨÊͺ¢ ÍÁÙÅÇ Ò§ÀÒÂã¹Ë¹ ǤÇÒÁ¨íҢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

àÁ¹Ù Option Ạ§à» ¹ 4 Ê Ç¹¤×Í Ê Ç¹¡íÒ˹´ÃٻẺ¡ÒÃâ»Ãá¡ÃÁáÅеÃǨÊͺ ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé Program/Verify Program àÅ×Í¡à¾×èÍâ»Ãá¡ÃÁáÅеÃǨÊͺ¢ ÍÁÙÅ·Õèâ»Ãá¡ÃÁŧã¹äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà ÅÒ ÊØ´¡Ñº¢ ÍÁÙÅ㹺ѿà¿ÍÃ


24

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

Program/Verify Data àÅ×Í¡à¾×Íè â»Ãá¡ÃÁáÅеÃǨÊͺ¢ ÍÁÙÅã¹Ë¹ ǤÇÒÁ¨íÒ¢ ÍÁÙÅã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ËÅѧ¨Ò¡ä´ ÃºÑ ¡ÒÃâ»Ãá¡ÃÁÅ ÒÊØ´ Program/Verify ID àÅ×Í¡à¾×Íè â»Ãá¡ÃÁáÅеÃǨÊͺ¤ Ò ID ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà Program/Verify Configuration àÅ×Í¡à¾×Íè â»Ãá¡ÃÁáÅеÃǨÊͺ¡ÒáíÒ˹´¤ Ò¾ÒÃÒÁÔàµÍà ËÃ×Í ¤ Ò Configuration ¢Í§¢ ÍÁÙÅ·Õâè »Ãá¡ÃÁŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÅÒ ÊØ´ Ê Ç¹·ÕÊè ͧ໠¹¡ÒÃàÅ×͡㪠¤ÇÒÁÊÒÁÒö¾ÔàÈÉÍ×¹è ¢Í§ Miracle -PIC »ÃСͺ´ Ç Auto verify after program àÅ×Í¡ãË µÃǨÊͺ¢ ÍÁÙÅËÅѧ¨Ò¡â»Ãá¡ÃÁàÊÃç¨Í ҧÍѵâ¹ÁÑµÔ Auto erase before program àÅ×͡ź¢ ÍÁÙÅÀÒÂã¹Ë¹ ǤÇÒÁ¨íÒ¡ ͹¡ÒÃâ»Ãá¡ÃÁ Program all address àÅ×Í¡ãË â»Ãá¡ÃÁ¢ ÍÁÙÅŧ㹷ءáÍ´à´Ãʢͧ˹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ ËÒ¡ ¢ ÍÁÙÅ·Õ¹è Òí ÁÒâ»Ãá¡ÃÁÁÕ¢¹Ò´àÅç¡¡Ç Ò Ê Ç¹·Õàè ËÅ×ͨÐà¢Õ¹¢ ÍÁÙÅ 0x3FFF Å§ä» Ê Ç¹·ÕÊè ÒÁ Confirm erase message àÅ×Í¡áÊ´§¢ ͤÇÒÁàµ×͹¡ ͹ź˹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ Ê Ç¹ÊØ´· Ò Parallel port 㪠àÅ×Í¡¾Íà µ¢¹Ò¹·Õµè ´Ô µ Í àÅ×Í¡ä´ 3 µíÒá˹ §¤×Í LPT1- LPT3

2.4.2.3 ¡ÒáíÒ˹´¤ Ò Configuration

ä»·Õàè Á¹Ù View à Configuration ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé

Oscillator 㪠àÅ×Í¡ª¹Ô´¢Í§Ç§¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹ÒÌ ¡Ò¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ÁÕ 8 Ẻ¤×Í LP : ¤ÃÔʵÍÅẺ¡íÒÅѧ§Ò¹µèÒí XT : ¤ÃÔʵÍŤÇÒÁ¶Õäè Á à¡Ô¹ 4MHz HS : ¤ÃÔʵÍŤÇÒÁ¶Õè 4MHz ¢Ö¹é ä» EXTCLK : 㪠ʭ Ñ ­Ò³¹ÒÌ ¡ÒÀÒ¹͡ INTRC : 㪠ǧ¨Ã RC ÀÒÂã¹ EXTRC (ER) : 㪠ǧ¨Ã RC ÀÒ¹͡ INTRC clockout : 㪠ǧ¨Ã RC ÀÒÂã¹ â´Â·Õ¢è Ò OSC2 ¨ÐÁÕÊ­ Ñ ­Ò³¤ÇÒÁ¶Õè fOSC/4 Ê §ÍÍ¡ÁÒ´ Ç EXTRC Clockout : 㪠ǧ¨Ã RC ÀÒ¹͡â´Â·Õ¢è Ò OSC2 ¨ÐÁÕÊ­ Ñ ­Ò³¤ÇÒÁ¶Õè fOSC/4 Ê §ÍÍ¡ÁÒ´ Ç Code protect 㪠àÅ×Í¡âËÁ´¢Í§¡Òû ͧ¡Ñ¹¡ÒÃÍ Ò¹¢ ÍÁÙÅÍÍ¡¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

ÃÙ»·Õè 1-7 ˹ Òµ Ò§¡íÒ˹´¤ Ò Configuration ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ã¹â»Ãá¡ÃÁ Miracle PIC


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

25

Configuration 㪠àÅ×Í¡ãË ¤ÇÒÁÊÒÁÒö¾ÔàÈɢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·íÒ§Ò¹ ¤ÇÒÁÊÒÁÒö·ÕÊè Òí ¤Ñ­ä´ á¡ WDT (Watchdog timer) : àÅ×Í¡ãË Ç͵ª ´Íç ¡ä·àÁÍà ·Òí §Ò¹/äÁ ·Òí §Ò¹ PWRT (Power-up Timer) : àÅ×Í¡ãË à¾ÒàÇÍÃ Í»Ñ ä·àÁÍà ·Òí §Ò¹/äÁ ·Òí §Ò¹ BODEN (Brown-out Reset) : àÅ×Í¡ãË Ç§¨ÃºÃÒÇàÍÒµ ´àÕ ·ç¡µ «§Öè ·íÒ˹ Ò·ÕÃè àÕ «µäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC àÁ×Íè áç´Ñ¹ä¿àÅÕÂé §Å´Å§µèÒí ¡Ç Ò·Õ¡è Òí ˹´äÇ ·Òí §Ò¹ LVP (Low Voltage Program) : àÅ×Í¡ãË â»Ãá¡ÃÁ¢ ÍÁÙÅŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´ ÇÂáç´Ñ¹ µèÒí +5V á·¹·Õ¨è Ð㪠+12V µÒÁ»¡µÔ WRT (Write flash memory) : 㪠àÍç¹àÍàºÔÅ¡ÒÃà¢Õ¹¢ ÍÁÙÅŧã¹Ë¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ´ ǵÑÇ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àͧ

1.3.3.3 ¡ÒÃ㪠§Ò¹ Miracle PIC à ÇÁ¡Ñº Microcode Studio Microcode Studio ÊÒÁÒöàÃÕ¡㪠§Ò¹«Í¿µ áÇà ÊíÒËÃѺ´Òǹ âËÅ´¢ ÍÁÙÅŧäÁâ¤Ã ¤Í¹â·ÃÅàÅÍà PIC ä´ ·¹Ñ ·Õ ËÅѧ¨Ò¡·Õ·è Òí ¡ÒäÍÁä¾Å â»Ãá¡ÃÁ´ Ç PICBASIC PRO ¤ÍÁä¾àÅÍà áÅ Ç ·íÒãË ¡ÒþѲ¹Òâ»Ãá¡ÃÁÊдǡÁÒ¡ à¾ÃÒÐà¾Õ§¡´»Ø Á F10 ã¹ Microcode Studio à¾Õ§»Ø Á à´ÕÂÇ ¡ç¨ÐàÃÔÁè ·íÒ¡ÒäÍÁä¾Å , áÍÊà«ÁàºÅÍà áÅдÒǹ âËŴ⤠´Å§ã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àÊÃç¨ ÊÁºÙó Í ҧäáçµÒÁ ¡ ͹·Õè¨Ðઠ¹¹Ñé¹ä´ ¨Ðµ ͧÃкصíÒá˹ §·ÕèµÔ´µÑ駫Ϳµ áÇà ÃÇÁ·Ñ駪×èͧ͢ «Í¿µ áÇà ·µÕè Í §¡ÒÃãË Microcode Studio ·ÃÒºàÊÕ¡ ͹ ´Ñ§ÁÕ¢¹Ñé µÍ¹µ Í仹Õé ¢Ñ¹é µÍ¹·Õè 1 à» ´â»Ãá¡ÃÁ Microcode Studio áÅ ÇàÅ×Í¡àÁ¹Ù VIEW à PICBasic Option à¾×Íè à» ´Ë¹ Òµ Ò§ PICBasic Option ¢Ö¹é ÁÒ àÅ×Í¡á·ç» Programmer ´Ñ§ÃÙ»


26

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¢Ñ鹵͹·Õè 2 ¡´»Ø Á à¾×èÍà¾ÔèÁà¤Ã×èͧâ»Ãá¡ÃÁµÑÇãËÁ ࢠÒä» »ÃÒ¡¯ ˹ Òµ Ò§¾Ã ÍÁµÑÇàÅ×Í¡¢Í§à¤Ã×èͧâ»Ãá¡ÃÁ¾Ã ÍÁ«Í¿µ áÇà µ Ò§ æ ÁÒãË àÅ×Í¡´Ñ§ÃÙ»

¢Ñ¹é µÍ¹·Õè 3 à¹×Íè §¨Ò¡ Miracle PIC äÁ ÁÍÕ ÂÙã ¹ÃÒ¡ÒùÕé ãË ¤ÅÔ¡àÅ×Í¡·ÕËè ÇÑ ¢ Í Create a custom â»Ãá¡ÃÁ¨ÐáÊ´§Ë¹ Òµ Ò§ãË ãÊ ªÍ×è «Í¿µ áÇà ãË ÃÐºØ programmer entry ¨Ò¡¹Ñ¹é ¡´»ØÁ à¾×Íè ·íÒ¢Ñ¹é µÍ¹µ Íä» ª×Íè Miracle PIC ¡´»ØÁ ¢Ñ鹵͹·Õè 4 â»Ãá¡ÃÁ¨Ðᨠ§ãË ãÊ ª×èÍä¿Å â»Ãá¡ÃÁËÅÑ¡·ÕèÃѹãË ·íÒ§Ò¹ ã¹·Õè¹Õéª×èÍä¿Å ¤×Í mPICFlash.exe ãÊ Å§ã¹ª Í§Ç Ò§´Ñ§ã¹ÃÙ» ¨Ò¡¹Ñ¹é ¡´»ØÁ à¾×Íè ·íÒµÒÁ¢Ñ¹é µÍ¹µ Íä»

¢Ñ¹é µÍ¹·Õè 5 ¤ ¹ËÒä´àáµÍÃÕ·è àÕè ¡çºâ»Ãá¡ÃÁ Miracle PIC äÇ â´ÂÊÒÁÒöËÒẺÍѵâ¹ÁÑµÔ ËÃ×ÍÃÐºØ´Ç Âµ¹àͧ â´Â¡Òá´·Õ»è ÁØ â´Â¡Òá´·Õ»è ÁØ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

27

¢Ñ¹é µÍ¹·Õè 6 à¾×Íè ãË ¡Ò÷íÒ§Ò¹¢Í§ Miracle PIC àÁ×Íè àÃÕ¡㪠§Ò¹¨Ò¡ Microcode Studio à» ¹ ä»Í ҧÍѵâ¹ÁÑµÔ ¨Ðµ ͧ¡íÒ˹´¾ÒÃÒÁÔàµÍà Miracle PIC ´Ñ§¹Õé -e -l $hex-filename$ -p -v -x

¤ Ò¾ÒÃÒÁÔàµÍà -e -l $hex-filename$

ÃÒÂÅÐàÍÕ´ ·íÒ¡ÒÃź¢ ÍÁÙÅã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡Í ¹â»Ãá¡ÃÁ âËÅ´ä¿Å .hex ¨Ò¡ Microcode Studio

-p

ãË Á¡Õ ÒÃâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

-v

ãË Á¡Õ ÒõÃǨÊͺ¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¡ÒÃâ»Ãá¡ÃÁ

-x

ÍÍ¡¨Ò¡ Miracle PIC ËÅѧâ»Ãá¡ÃÁ¢ ÍÁÙÅàÊÃç¨

â´Â¤ÇÒÁËÁÒ¢ͧ¾ÒÃÒÁÔàµÍà ·Õè¡íÒ˹´Å§ä»ÁմѧáÊ´§ã¹µÒÃÒ§ ËÃ×Í´ÙÃÒÂÅÐàÍÕÂ´ä´ ¨Ò¡ ä¿Å Using parameter with MicroCode.txt ã¹â¿Åà´Íà ·àÕè ¡çºä¿Å Miracle PIC ËÅѧ¨Ò¡¡íÒ˹´¤ Ò àÊÃç¨àÃÕºà Í ãË ¡´»ØÁ à¾×Íè ¨º¡ÒáíÒ˹´¤ ÒãË ¡ºÑ â»Ãá¡ÃÁ Miracle PIC


28

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

29

º··Õè 2

RBX-877 ἧǧ¨ÃàÃÕ¹ÃÙ áÅз´Åͧ

¤Çº¤ØÁËØ ¹Â¹µ ´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ËØ ¹Â¹µ Robo-PICA ·íÒ§Ò¹ä´ ´ Ç¡ÒäǺ¤ØÁ¨Ò¡ºÍà ´ RBX-877 (PIC16F877 Robot controller Experiment board) â´ÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ãÕè ª ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¤×Í PIC16F877 ã¹ ÃÙ»·Õè 2-1 áÊ´§ä´ÍÐá¡ÃÁ¡Ò÷íÒ§Ò¹àº×Íé §µ ¹¢Í§ºÍà ´ RBX-877 «Ö§è 㹺·¹Õ¨é йíÒàʹ͡Ò÷íÒ§Ò¹ àº×Íé §µ ¹¢Í§ºÍà ´ RBX-877 à¾×Íè 㪠¢Í ÁÙÅÍ Ò§ÍÔ§ÊíÒËÃѺ㪠㹡ÒÃÊà ҧËع ¹µ 㹺·µ Íæ ä» Ç§¨ÃÊà ҧáç´Ñ¹ä¿ÊÙ§ ÊíÒËÃѺâ»Ãá¡ÃÁ

ÀÒ¤¨ ÒÂä¿ áººÊÇÔµª ª§Ôè

+12V

+5V

ẵàµÍÃÕè AA 4 ¡ ͹

ǧ¨ÃáÊ´§Ê¶Ò¹Ð ẵàµÍÃÕè

ǧ¨Ãâ»Ãá¡ÃÁ äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

Ê Ç¹àª×Íè Áµ ÍâÁ´ÙÅ LCD

ǧ¨ÃÊ×Íè ÊÒâ ÍÁÙż Ò¹ ¾Íà µÍ¹Ø¡ÃÁ RS-232

¢ÑºÅíÒ⾧໠Ââ«

Ê Ç¹Ê×Íè ÊÒÃÃкººÑÊ I C

äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877(A)-20

¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ áÅÐÍ Ò¹¤ ÒÊÑ­­Ò³ ÍйÒÅÍ¡¨Ò¡ÀÒ¹͡

ǧ¨Ã¢ÑºÁÍàµÍà 俵ç

¢Ñºà«Íà âÇÁÍàµÍÃ

ǧ¨Ã¡íÒà¹Ô´ ÊÑ­­Ò³¹ÒÌÔ¡Ò 20MHz

ÃÙ»·Õè 2-1 ºÅçÍ¡ä´ÍÐá¡ÃÁáÊ´§¡Ò÷íÒ§Ò¹ã¹Ê ǹµ Ò§ æ ¢Í§ºÍà ´ RBX-877


30

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¨Ø´µ ;Íà µ¢¹Ò¹´Òǹ âËÅ´â»Ãá¡ÃÁ ÅíÒ⾧໠Ââ« (µ Í¢Ò RA4) ¨Ø´µ ;Íà µÍ¹Ø¡ÃÁ RS-232 (µ Í¢Ò RC6 áÅÐ RC7) ¨Ø´µ ÍâÁ´ÙÅ LCD ¨Ø´µ ÍÃкººÑÊ I2C ¨Ø´µ Í ÊÇÔµª à» ´/» ´ ẵàµÍÃÕè (µ Í¢Ò RC0, RC5, RD4-RD7) (µ Í¢Ò RC3 áÅÐ RC4)

äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

21+ $.&%%

¨Ø´µ Íà«Íà âÇÁÍàµÍà ÊÇÔµª àÅ×Í¡âËÁ´ LED áÊ´§¼Å (µ Í¢Ò RB2-RB0) ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ à͹¡»ÃÐʧ¤ (µ Í¢Ò RB5-RB3) ÃÑ ¹ /â»Ãá¡ÃÁ ¨Ø´µ ÍÁÍàµÍà 俵ç (µ Í¢Ò RA0-RA3, RA5, RE0-RE2) (µ Í¢Ò RC2, RD0, RD1 ÊÇÔµª ÃàÕ «µ áÅÐ RC1, RD2, RD3)

ÃÙ»·Õè 2-2 áÊ´§Ê ǹ»ÃСͺµ Ò§æ ·ÕÊè Òí ¤Ñ­¢Í§ºÍà ´ RBX-877

2.1 ¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤ 㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877(A)-20 ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹·Ñ§é ËÁ´ l ´Òǹ âËÅ´â»Ãá¡ÃÁ¨Ò¡¤ÍÁ¾ÔÇàµÍà ¼Ò ¹¾Íà µ¢¹Ò¹ áÅÐÁÕ¨´ Ø µ ;Íà µÍ¹Ø¡ÃÁà¾×Íè Ê×Íè ÊÒâ ÍÁÙÅ l ÁÕǧ¨Ã¢ÑºÁÍàµÍà 俵ç 2 ªØ´¾Ã ÍÁ LED áÊ´§·ÔÈ·Ò§¡ÒÃËÁع l ¢Ñºà«Íà âÇÁÍàµÍà ¢¹Ò´àÅç¡ 4.8-6V ä´ 3 µÑÇ l ÁÕÅÒí ⾧໠Ââ«ÊíÒËÃѺ¢ÑºàÊÕ§ l ÁÕ LED áÊ´§¼Å 3 ª ͧµ ͵ç¡Ñº¢Ò¾Íà µ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà l ÁÕ¨´ Ø µ ÍâÁ´ÙÅ LCD ÃͧÃѺ·Ñ§é Ẻ¸ÃÃÁ´ÒáÅÐẺÁÕä¿Ê ͧËÅѧ l ¨Ø´µ ͺÑÊ I2C ÊíÒËÃѺàª×Í è Áµ ͡ѺÍØ»¡Ã³ ·ÁÕè ¡Õ ÒÃÊ×Íè ÊÒâ ÍÁÙż Ò¹ÃкººÑÊ I2C l ÁÕ¨´ Ø µ ÍÍÔ¹¾ØµàÍÒµ ¾µØ Ẻ´Ô¨µÔ ÍÅáÅÐÍÔ¹¾ØµÍйÒÅÍ¡ 8 ª ͧ l ¤ÇÒÁÅÐàÍÕ´¢Í§Ç§¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍÅ 10 ºÔµ l ·íÒ§Ò¹´ ÇÂẵàµÍÃÕè AA 4 ¡ ͹ ãª ä´ ·§Ñé ẺÍÑŤÒäŹ áÅÐẺ»ÃШØä¿ãËÁ l ¢¹Ò´ 2.375 x 6.25 ¹ÔÇé l


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

R7 510

+Vpp +5V

K1 DOWNLOAD (RJ11-6)

+5V

IC4/5 14 1

D0 D1

2

R8/1 10k

3 IC4/3

D2 D3 ACK GND

40

4 7

R10 4k7

+5V

IC4/4 10

+Vpp

R9 10k

IC4/1 5 6

R8/3 10k

11

C8 0.1/50V

R8/2 10k

39

Q2 BC557

R11 10k

R12 510

LED2 RUN

11

32 12

RB7

+Vm LED1 LOW-BAT.

+

-

C2 C1 220/16V 0.1/50V

R13 220

S2 RESET

S1 MODE

+5V

RB4

C10

C12

6 7 8

1 2 3 4 5

RB3 16

1 3

C11

38 37 36

L1 6 50µH (radial) 3

D1 1N4001

R2 47k

8

IC5 ICL232

7

IC2 TL499A ZD1 5V6

R5 30k

2

R4 150

C3 0.01/50V

C4 220/16V

ZD2 5V1

4

IC1 KIA7042

R6 10k

5

R18 510

LED6

Q2

LED5

R17 510

LED4

R16 510

Q1 Q0

+5V JP1

4 5

S

+5V

Q1 IRFZ414

2

C13

7

10

25

8

9

26

6

R1 1k

R3 4.7R

MCLR

RB5

C10-C14 10/50V

1 +V RESET 3 GND 2

1

D

D2 1N5819

S1 POWER

+5V R14 4k7

G

31 RB6

IRF414

+-o

8

+4.8~6Vdc

IC3/1-IC3/5 74LS07 LED3 PGM

KIA 7042 5

7

K1 DC input

C9 0.1/50V

C6 0.22/50V

4

IC3 MAX662

6

C7 4.7/50V

IC4 PIC16F877-20

+5V

2

31

3

1 C5 0.22/50V

l

RC0

RC6/TxD RC7/RxD

RC5

15

4

24

6

BLA

DSP1 LCD 16x2 (back light option)

RS E

+V Vo

15

C14

D7 D6 D5 D4 D3 D2 D1 D0 R/W 14 13 12 11 10 9 8 7 5

K2 SERIAL PORT

15

R15 27

BACK LIGHT ON

1 VR1 10k

3

BRIGHTNESS

BLK GND 16 2

RD7 RD6

+5V J8 PORT7

10

J7 PORT6

9

J6 PORT5

8

J5 PORT4

7

J4 PORT3

5

J3 PORT2

4

J2 PORT1

3

J1 PORT0

2

RD5 RE2/AN7

RD4

RE1/AN6

+5V

RA4

RE0/AN5

RA3/AN3 RA2/AN2

J14 I2C bus

SDA SCL

RD0 RD1

RA1/AN1

RD2 RD3

RA0/AN0

R24 4k7

23 RC4/SDA

+5V +Vm

RB1

16

19

2

20

7 2A 1

1A

21

15 4A

22

10

16

9

35 +Vm

34

J13 SERVO #3

+Vm

J12 SERVO #2

+Vm

J11 SERVO #1

8

Vcc1

12EN

C15 0.1/63V

1Y 3 2Y

IC6 L293D

4Y 3Y

+ +

R21 1k

DIRECT LED6 DIR. #A

6 14

LED7 DIR. #B

11 R22 1k

3A 34EN

13 12 5

4

INVERT

C16 0.1/63V J10A-J10B MOTOR-B

INVERT

+ + DIRECT

RC3/SCL

GND

RB0

CR1 Ceramic Resonator 20MHz

R19 4k7

RC2/CCP1 17

RC1/CCP2

18

J9A-J9B MOTOR-A

Q3 BC557

SP1 PIEZO

RB2 R23 4k7

R20 10k

RA5/AN4

+5V

+5V

6

13

33

14

ÃÙ»·Õè 2-2 áÊ´§Ç§¨ÃÊÁºÙó ¢Í§ºÍà ´ RBX-877

2.2 ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã

2.2.1 Ê Ç¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

ËÑÇã¨ÊíҤѭ¤×Í IC4 äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 «Ö§è ÁÕÊÒí ËÃѺµ Í㪠§Ò¹ÁÒ¡¶Ö§ 32 ¢Ò ´Ñ§¹Ñé¹´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà à¾Õ§µÑÇà´ÕÂǨ֧µ ͡ѺÍØ»¡Ã³ ÍÔ¹¾ØµàÍÒµ ¾Øµà¾×èÍÊà ҧ໠¹ËØ ¹Â¹µ ä´ Í ҧ§ Ò´Ò â´ÂÁÕ CR1 à«ÃÒÁÔ¡àÃâ«à¹àµÍà 20MHz ¡íÒà¹Ô´¤ÇÒÁ¶ÕÊè ­ Ñ ­Ò³¹ÒÌ ¡ÒãË á¡ IC4


32

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

2.2.2 ÀÒ¤¨ ÒÂä¿ º¹ºÍà ´ RBX-877 㪠ǧ¨ÃÀÒ¤¨ ÒÂä¿ÊÇÔµª ª§Ôè Ẻ»ÃѺ¢Ö¹é (step up) à¾×Íè ãË ÊÒÁÒö·íÒ§Ò¹ ä´ ¡ÑºáºµàµÍÃÕèÍÑŤÒäŹ áÅÐẺ»ÃШØä¿ãËÁ ä´ â´Â¨Ø´ÁØ §ËÁÒÂà¾×èÍÃÑ¡ÉÒÃдѺáç´Ñ¹ä¿àÅÕé§ ¤§·Õ·è Õè +5V à¾×Íè ¨ ÒÂãË ¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà áÅÐäÍ«Õ··Õè Òí §Ò¹´ ÇÂáç´Ñ¹ä¿àÅÕÂé § +5V µ ÇÑ Í×¹è æ ·Ñ駹Õéà¹×èͧ¨Ò¡àÁ×èÍàÃÔèÁµ ¹¨ ÒÂä¿ãË á¡ Ç§¨Ã ÃдѺ¢Í§áç´Ñ¹·ÕèẵàµÍÃÕè¨Ð¤ ÍÂæ Ŵŧ ´ Ç¡ÒÃ㪠ǧ¨Ã¨ ÒÂä¿ÊÇÔµª ªÔè§áºº»ÃѺ¢Öé¹ ¨Ö§·íÒãË áç´Ñ¹ä¿àÅÕé§ǧ¨ÃÃÇÁÂѧ¤§ÃÑ¡ÉÒÃдѺÍÂÙ ·Õè +5V ÍÂÙ ä´ ¨¹¡Ç ÒÃдѺáç´Ñ¹¢Í§áºµàµÍÃÕè¨ÐŴŧµèíÒÁÒ¡¨ÃÔ§æ (»ÃÐÁÒ³ 1.5V) ¨Ö§äÁ ÊÒÁÒöÃÑ¡ÉÒ ÃдѺáç´Ñ¹äÇ ä´ ÊÇÔµª S1 ·íÒ˹ Ò·Õèà» ¹ÊÇÔµª à» ´» ´à¾×èͨ ÒÂä¿ãË ¡ÑºÇ§¨Ã·Ñé§ËÁ´ IC1 àºÍà KIA7042 ·í Ò Ë¹ Ò ·Õè µ ÃǨ¨Ñ º áç´Ñ ¹ ä¿àÅÕé  § ¶ Ò áç´Ñ ¹ ä¿àÅÕé  §ÁÕ Ã Ð´Ñ º µèí Ò ¡Ç Ò 4.2V ¢ÒàÍÒµ ¾Ø µ ¢Í§ IC1 ¨ÐÁÕÅͨԡ໠¹ 0 ·íÒãË LED1 µÔ´ÊÇ Ò§ ᨠ§àµ×͹ÊÀÒÇÐẵàµÍÃÕ¾è Åѧ§Ò¹µèÒí (LOW-BAT) ¶Ñ´¨Ò¡ ǧ¨ÃµÃǨÊͺẵàµÍÃÕè¨ÐÁÕµÑǵ Ò¹·Ò¹ R3, ä´âÍ´ D1 áÅЫÕà¹Íà ä´âÍ´ ZD1 ·íÒ˹ Ò·Õè¨íÒ¡Ñ´ áç´Ñ¹·Õ»è Í ¹ãË ¡ºÑ IC2 äÁ ãË ÁáÕ Ã§´Ñ¹à¡Ô¹ 5.6V ÊíÒËÃѺ IC2 à» ¹äÍ«ÕÊÇÔµª ª§Ôè à¾ÒàÇÍà «¾Ñ ¾ÅÒ¡ÃÐáʵèÒí àºÍà TL499A ÊÒÁÒöÃѺáç´Ñ¹ ÍÔ¹¾Øµä´ µ§Ñé áµ ªÇ § 4.2-5.6V à¾×Íè Êà ҧä¿àÅÕÂé §¤§·Õè +5V áµ à¾×Íè » ͧ¡Ñ¹¤ÇÒÁàÊÕÂËÒ·ÕÍè Ò¨à¡Ô´¢Ö¹é ¨Ò¡ ¨Ò¡¡Ò÷íÒ§Ò¹·Õ¼è ´Ô ¾ÅÒ´¢Í§ IC2 ¨ÐÁÕ«àÕ ¹Íà ä´âÍ´ ZD2 ·íÒ˹ Ò·Õ»è Í §¡Ñ¹áç´Ñ¹äÁ ãË à¡Ô¹ +5.1V àÍÒäÇ ´ ÇÂ

2.2.3 Ê Ç¹â»Ãá¡ÃÁ¢ ÍÁÙÅ áç´Ñ¹ä¿àÅÕé§ +5V Ê Ç¹Ë¹Ö觨ÐÊ §ãË ¡ÑºäÍ«Õ MAX662 à¾×èÍÊà ҧáç´Ñ¹ä¿ÊÙ§ +12.5V ÊíÒËÃѺ㪠㹡ÒÃâ»Ãá¡ÃÁ¢ ÍÁÙÅã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 Ê Ç¹¡ÒôÒǹ âËÅ´¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ¨ÐÁÕÊÇÔµª S2 㪠àÅ×Í¡Ç Òµ ͧ¡ÒÃãË PIC16F877 ÍÂÙ ã¹âËÁ´â»Ãá¡ÃÁËÃ×ÍÃѹ Ê Ç¹Ë¹Ö觢ͧÊÇÔµª ¨Ðà» ¹¡ÒÃàÅ×Í¡¡Òè ÒÂä¿ãË ¡Ñº LED áÊ´§ ÊÀÒÇСÒ÷íÒ§Ò¹¢Í§ PIC16F877 â´Â¶ ÒÍÂÙã ¹âËÁ´â»Ãá¡ÃÁ LED ÊÕá´§¨ÐµÔ´ÊÇ Ò§ áµ ¶Ò ÍÂÙã ¹ âËÁ´Ãѹ LED ÊÕà¢ÕÂǨеԴÊÇ Ò§ ÍÕ¡Ê Ç¹Ë¹Ö觢ͧÊÇÔµª ¨ÐàÅ×Í¡¡Ò÷íÒ§Ò¹¢Í§¢Ò MCLR â´Âã¹ âËÁ´Ãѹ¢Ò MCLR ¨Ðµ ÍࢠҡѺÊÇÔµª RESET à¾×Íè 㪠ã¹ÃÕ૵¡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¶ ÒÍÂÙ ã¹âËÁ´â»Ãá¡ÃÁ ¢Ò MCLR ¨Ðµ ÍࢠҡѺǧ¨ÃÊà ҧáç´Ñ¹ä¿ÊÙ§ÊíÒËÃѺâ»Ãá¡ÃÁ àÁ×èÍ¢Ò MCLR ä´ ÃºÑ áç´Ñ¹ +12.5V äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ¨ÐࢠÒÊÙâ ËÁ´â»Ãá¡ÃÁ â´ÂÁÕ¡ÒÃ Ê §¼ Ò¹¢ ÍÁÙŢͧ¡ÒÃâ»Ãá¡ÃÁ¨Ð¡ÃзíÒ¼ Ò¹¢Ò RB6 áÅÐ RB7 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

33

2.2.4 Ê Ç¹áÊ´§¼Å ÊíÒËÃѺ¡ÒÃáÊ´§¼Å¢ ͤÇÒÁ ºÍà ´ RBX-877 ÁÕ¨´Ø µ ÍâÁ´ÙÅ LCD ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ â´Â㪠¢Ò RD4-RD7 à» ¹¢ÒÊ §¢ ÍÁÙŠ㪠¢Ò RC5 à» ¹¢Ò E ÊíÒËÃѺ» ͹ÊÑ­­Ò³¾ÑÅÊ àÍç¹àÍàºÔÅ¡Òà ·íÒ§Ò¹¢Í§âÁ´ÙÅ LCD áÅÐ¢Ò RC0 à» ¹¢Ò RS ÊíÒËÃѺ¡íÒ˹´ÃٻẺ¢Í§¢ ÍÁÙÅ·ÕèÊ §ä»ÂѧâÁ´ÙÅ LCD â´ÂÁÕµÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ VR1 ·íÒ˹ Ò·Õè»ÃѺ¤ÇÒÁࢠÁ¢Í§¨ÍáÊ´§¼Å ÊíÒËÃѺ¡Ã³Õ·Õè㪠âÁ´ÙÅ LCD ·ÕÁè äÕ ¿Ê ͧËÅѧ (back light) ÊÒÁÒö㪠¨ÁÑê à»Íà àÅ×͡㪠ä¿Ê §ËÅѧËÃ×ÍäÁ ¡äç ´ ¡ÒÃáÊ´§¼Å¼ Ò¹ LED ¢Ò RB3, RB4 áÅÐ RB5 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 µ ͵çࢠҡѺ LED4, LED5 áÅÐ LED6 à¾×Íè áÊ´§Ê¶Ò¹Ð¡Ò÷íÒ§Ò¹ ¡ÒÃáÊ´§¼Å´ ÇÂÊÑ­­Ò³àÊÕ§ ¡ÒâѺÊÑ­­Ò³àÊÕ§¢Í§ºÍà ´ RBX-877 㪠¢Ò¾Íà µ RA4 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 µ Íà ÇÁ¡ÑºÇ§¨Ã¢ÂÒÂÊÑ­­Ò³«Öè§ãª ·ÃÒ¹«ÔÊàµÍà Q3 à¾×èÍ ¢ÑºÅíÒ⾧໠Ââ«

2.2.5 Ê Ç¹¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¡ÒÃÃѺÊÑ­­Ò³ÍÔ¹¾ØµËÃ×͢ѺÍØ»¡Ã³ àÍÒµ ¾ØµÀÒ¹͡ÊÒÁÒö¡ÃзíÒä´ â´ÂµÃ§¼ Ò¹¢Ò RA0-RA3 , ¢Ò RA5 áÅÐ ¢Ò RE0-RE2 â´Â¢Ò¾Íà µàËÅ Ò¹ÕÊé ÒÁÒö¡íÒ˹´¡Ò÷íÒ§Ò¹ä´ 3 Ẻ¤×Í 1. à» ¹¢ÒÍÔ¹¾ØµÍйÒÅÍ¡ à¾×Íè ÃѺÊÑ­­Ò³ÍÔ¹¾ØµáººÍйÒÅÍ¡Ê §à¢ Òä»»ÃÐÁÇżÅÂѧǧ¨Ã á»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍÅ¢¹Ò´ 10 ºÔµÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 2. à» ¹¢ÒÍÔ¹¾Øµ´Ô¨µÔ ÍÅ 3. à» ¹¢ÒàÍÒµ ¾µØ ´Ô¨µÔ ÍÅ à¾×Íè Ê §Åͨԡ 0 áÅÐ 1 ä»ÂѧÍØ»¡Ã³ ÀÒ¹͡µ Ò§ æ ã¹ÀÒÇл¡µÔ àÁ×èÍàÃÔèÁ¨ ÒÂ俤ÃÑé§áá ¢Ò¾Íà µ·Ñé§ËÁ´¨Ðà» ¹¢ÒÍÔ¹¾ØµÍйÒÅÍ¡ ¨Ø´µ Í 3 ¢Ò·Õãè ª àª×Íè Áµ ÍÍØ»¡Ã³ ÀÒ¹͡ ¨ÐÁÕä¿àÅÕÂé § +5V áÅСÃÒÇ´ ÃÇÁä»´ ÇÂ

ÃÙ»·Õè 2-3 âÁ´ÙÅ LCD ·Õãè ª ¡ºÑ ºÍà ´ RBX-877

ÃÙ»·Õè 2-4 µÑÇÍ ҧἧǧ¨ÃµÃǨ¨ÑºÊÑ­­Ò³·Õãè ª ¡ºÑ ºÍà ´RBX-877


34

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

2.2.5 Ê Ç¹Ê×Íè ÊÒâ ÍÁÙż Ò¹¾Íà µÍ¹Ø¡ÃÁ RS-232 ¡ÒÃÊ×èÍÊÒâ ÍÁÙÅÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ÊÒÁÒö·íÒä´ ¼ Ò¹·Ò§¢Ò RC6 áÅÐ RC7 «Ö§è à» ¹¢Ò¾Íà µÊ×Íè ÊÒâ ÍÁÙŢͧâÁ´ÙÅ USART ÍÂÙá Å Ç IC5 àºÍà ICL232 ·íÒ˹ Ò·Õèà»ÅÕè¹ÃдѺáç´Ñ¹¨Ò¡¢Ò¾Íà µ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ãË µÃ§µÒÁÁҵðҹ RS-232 ¡ ͹¨Ð¶Ù¡Ê §ÍÍ¡ä»Âѧ¨Ø´µ Í K2 «Ö§è à» ¹¤Í¹à¹ç¡àµÍà Ẻ DB-9

2.2.6 ǧ¨Ã¢ÑºÁÍàµÍà ¡ÒâѺÁÍàµÍà 俵ç¢Í§ºÍà ´ RBX-877 㪠IC6 àºÍà L293D â´ÂÁÍàµÍà A ¨Ð¤Çº¤ØÁ ¡ÒâѺà¤Å×è͹¨Ò¡¢Ò¾Íà µ RD0 ¡Ñº RD1 áÅÐàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹´ ÇÂ¢Ò RC2 Ê Ç¹ÁÍàµÍà B ¨Ð¤Çº¤ØÁ¡ÒâѺà¤Å×Íè ¹´ Ç¢ҾÍà µ RD2 ¡Ñº RD3 áÅÐàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹´ Ç¢ҾÍà µ RC1 â´Â ÁÕ LED6 áÅÐ LED7 «Ö§è à» ¹ LED 2 ÊÕ áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà áç´Ñ¹·Õè¨ ÒÂãË ¡Ñºä»äÍ«Õ L293D »ÃСͺ´ ÇÂáç´Ñ¹ä¿àÅÕé§ +5V áÅÐáç´Ñ¹ÀÒ¤¢Ñº ÁÍàµÍà (+Vm) «Ö§è µ Íâ´ÂµÃ§¨Ò¡áºµàµÍÃÕè ·íÒãË ÊÒÁÒö¢Ñº¡ÃÐáÊä´ Í ҧàµçÁ·Õè ¢Ò¾Íà µ RB0, RB1 áÅÐ RB2 㪠¢ºÑ à«Íà âÇÁÍàµÍà â´Âä¿àÅÕÂé §¢Í§à«Íà âÇÁÍàµÍÃ ä´ ÁÒ ¨Ò¡áºµàµÍÃÕè à¾×Íè ãË Á¡Õ ÃÐáÊÁÒ¡¾Í·Õãè ª ¢ºÑ ÁÍàµÍÃ

2.2.7 Ê Ç¹àª×Íè Áµ ÍÃкººÑÊ I2C à¾×Íè ãË ºÍà ´ RBX-877 ÊÒÁÒö¢ÂÒÂÃкºáÅÐÊÒÁÒö»ÃÐÂØ¡µ 㪠§Ò¹µ Ò§æ ä´ ËÅÒ¡ËÅÒ ÁÒ¡ÂÔ§è ¢Ö¹é ¢Ò RC3/SCL áÅÐ¢Ò RC4/SDA ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ¨Ð¶Ù¡ãª à» ¹¢Ò ¾Íà µÊíÒËÃѺàª×Íè Áµ ͡ѺÃкººÑÊ I2C â´ÂÁÕµÇÑ µ Ò¹·Ò¹ R23 áÅÐ R24 à» ¹µÑǵ Ò¹·Ò¹¾ÙÅÍÑ»ãË ¡ÑºÃкººÑÊ I2C

E

ã¹â»Ãá¡ÃÁµÑÇÍ ҧ·Ñé§ËÁ´¡íÒ˹´ãË ãª äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 Êѧࡵ¨Ò¡â»Ãá¡ÃÁã¹ ºÃ÷Ѵ @ DEVICE

PIC16F877,HS_OSC ' Use PIC16F877 and HS Oscilator

¶ ÒËÒ¡ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§àºÍà ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ໠¹ PIC16F877A ËÃ×ÍàºÍà ͹×è æ µ ͧ ·íÒ¡ÒÃá¡ ä¢â»Ãá¡ÃÁ·ÕèºÃ÷Ѵ´Ñ§¡Å ÒǹÕé´ Ç à¾ÃÒÐÍÒ¨·íÒãË â»Ãá¡ÃÁ¢ ÍÁÙÅŧã¹äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà äÁ ä´ áÅÐÍÒ¨ÁÕ¤ÇÒÁ¼Ô´¾ÅҴ㹡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¤Çº¤ØÁä´


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

35

¡Ô¨¡ÃÃÁ·Õè 1 à¢Õ¹â»Ãá¡ÃÁ·´ÊͺºÍà ¤Çº¤ØÁ RBX-877 ¨Ø´»ÃÐʧ¤ à¾×Íè ½ ¡ËÑ´¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡â´Â㪠à¤Ã×Íè §Á×Í·Ò§«Í¿µ áÇà ÃÇ Á¡Ñ¹¤×Í PICBASIC PRO ¤ÍÁ ä¾àÅÍà , Microcode Studio áÅÐ Miracle PIC 㹡ÒÃÊà ҧâ»Ãá¡ÃÁ¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ¡ ͹·Õ¨Ð ¹íÒä»ãª 㹡ÒÃÊà ҧËع ¹µ Robo-PICA µ Íä»

¢Ñ¹é µÍ¹¡Ò÷´Åͧ

1. à» ´â»Ãá¡ÃÁ Microcode Studio ·Õäè ´ ¼¹Ç¡¡ÒÃàª×Íè Áµ ͡Ѻ PICBASIC PRO ¤ÍÁä¾àÅÍà (¨Ðà» ¹Ãع ·´Åͧ 㪠ËÃ×ÍÃع ÊÁºÙó ¡äç ´ â´Â·Ø¡â»Ãá¡ÃÁ㹡Ԩ¡ÃÃÁ¹Õãé ª Ã¹Ø ·´ÅÍ§ä´ ·§Ñé ËÁ´) áÅÐ Miracle PIC äÇ àÃÕºà ÍÂáÅ Ç 2. à¢Õ¹â»Ãá¡ÃÁ·´ÅͧµÒÁµÑÇÍ ҧã¹áµ ÅСԨ¡ÃÃÁ Í£ 3. àª×Íè Áµ ÍÊÒ CX-6 ¢Í§ºÍà ´ RBX-877 ࢠҡѺ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà 4. àª×Íè Áµ ÍÍØ»¡Ã³ ·ãÕè ª à¾ÔÁè àµÔÁã¹áµ ÅСÒ÷´ÅͧࢠҡѺ¨Ø´µ ;Íà µ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà º¹ºÍà ´ RBX-877 ¨Ò¡¹Ñ¹é à» ´ÊÇÔµª ¨Ò Âä¿ãË á¡ ºÍà ´ RBX-877 5. àÅ×Í¡âËÁ´¡Ò÷íÒ§Ò¹¢Í§ºÍà ´ RBX-877 ÁÒ·Õè PROGRAM ËÃ×Í PGM. 6. ·íÒ¡ÒäÍÁä¾Å áÅдÒǹ âËÅ´â»Ãá¡ÃÁŧº¹ºÍà ´ RBX-877 7. ¡´ÊÇÔµª à¾×Íè à»ÅÕÂè ¹âËÁ´¡Ò÷íÒ§Ò¹¢Í§ºÍà ´ RBX-877 à» ¹âËÁ´Ãѹ (RUN) à¾×Íè ·´Êͺ¡Ò÷íÒ§Ò¹

¡Ô¨¡ÃÃÁ Í·Õè 1-1 áÊ´§¼Å´ Ç LED ¨Ò¡ÃÙ»·Õè A1-1 ¢Ò RB3,RB4 áÅÐ RB5 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC 㪠µÍ ࢠҡѺ LED â´ÂÁÕµÇÑ µ Ò¹·Ò¹ 510Ω ·íÒ˹ Ò·Õ¨è Òí ¡Ñ´¡ÃÐáÊãË á¡ LED ¨Ò¡Ç§¨Ã¡ÒâѺËÃ×ͤǺ¤ØÁãË LED µÔ´ÊÇ Ò§¨Ðµ Í§Ê §Åͨԡ 1 ãË ¡ºÑ ¢Ò¾Íà µàËÅ Ò¹Õé Ê Ç¹¡Ò÷íÒãË ´ºÑ µ Í§Ê §Åͨԡ 0 ÍÍ¡ä»á·¹ PIC16F877-20 LED6

RB5 RB4 RB3

38 4*#

R18 510

LED5

R17 510

LED4

R16 510

37 4*" 36 4*!

ÃÙ»·Õè A1-1 áÊ´§Ç§¨ÃáÅеíÒá˹ §¡Òõ Í LED º¹ºÍà ´ RBX-877


36

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

' File : a0101.bas ' Description : Drive LED at RBb by HIGH command @ DEVICE PIC16F877,HS_OSC ' Use PIC16F877 and HS Oscilator DEFINE OSC 20 ' Use Oscillator 20 MHz HIGH PORTB.3 LOOP: GOTO LOOP

' Set LED at RB3 --> ON ' Still Here

¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ â»Ãá¡ÃÁ¹Õãé ª ¤Òí Êѧè HIGH à¾×Íè ¢Ñº LED ·Õµè Í ¡Ñº¢Ò RB3 â´Â¤íÒÊѧè HIGH ÁÕ¡Ò÷íÒ§Ò¹ 2 ¢Ñ¹é µÍ¹¤×Í ¡íÒ˹´ãË ¢Ò¾Íà µ RB3 à» ¹àÍÒµ ¾µØ áÅ ÇÊ §Åͨԡ 1 ÍÍ¡ä»·Õ¢è Ò¹Õé ¨Ò¡¹Ñ¹é ¤íÒÊÑ§è ¶Ñ´ÁÒ¨ÐãË â»Ãá¡ÃÁǹÅÙ» ·íÒ§Ò¹«éÒí ÍÂÙ· µÕè Òí á˹ §à´ÔÁ ËÃ×Íà» ¹¡ÒÃËÂØ´¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¹Ñ¹è àͧ ·íÒãË LED ·Õ¢è Ò RB3 µÔ´¤ Ò§

â»Ãá¡ÃÁ·Õè A1-1 â»Ãá¡ÃÁà¾×Íè Êѧè ãË LED «Ö§è µ ÍÍÂÙ¡ ºÑ ¢Ò RB3 µÔ´ÊÇ Ò§ A1.1.1 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-1 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ LED ·Õµè Òí á˹ § RB3 µÔ´¤ Ò§ A1.1.2 ¨Ò¡â»Ãá¡ÃÁ·Õè A1-1 à¾×Íè ãË àËç¹ÀÒ¾¡Ò÷íÒ§Ò¹¢Í§¤íÒÊÑ§è ·Õªè ´Ñ à¨¹ ´Ñ§¹Ñ¹é 㹡Ò÷´Åͧµ Í仨ÐáÊ´§ãË àË繶֧¤íÒÊÑ§è ·Õãè ª ¢ºÑ LED ·ÕÅè ÐàÍÕ´¢Ö¹é «Ö§è µ ͧ㪠2 ¤íÒÊÑ§è ¤×Í OUTPUT PORTB.4 à» ¹¡ÒáíÒ˹´ãË ¢Ò RB4 à» ¹àÍÒµ ¾µØ áŠǨ֧㪠¤Òí ÊÑ§è ¡íÒ˹´ãË RB4 ÁÕÅͨԡ 1 㹺Ã÷Ѵµ Íä» ´Ñ§áÊ´§ã¹â»Ãá¡ÃÁ·Õè A1-2 ' File : a0102.bas ' Description : Drive LED at RB4 by basic method @ DEVICE PIC16F877,HS_OSC ' Use PIC16F877 and HS Oscilator DEFINE OSC 20 ' Use Oscillator 20 MHz OUTPUT PORTB.4 PORTB.4 = 1 LOOP: GOTO LOOP

' RB4 --> OUTPUT ' Set LED at RB4 --> ON ' Still Here

â»Ãá¡ÃÁ·Õè A1-2 áÊ´§â»Ãá¡ÃÁà¾×Íè ¡íÒ˹´ãË LED ·Õ¢è Ò RB4 µÔ´ÊÇ Ò§ â´Âãª Ç¸Ô ¡Õ ÒÃ¾×¹é °Ò¹¤×Í ¡íÒ˹´ãË ¢Ò¾Íà µà» ¹àÍÒµ ¾µØ ¡ ͹ ¨Ò¡¹Ñ¹é Ê §¢ ÍÁÙÅ ]1^ ä»Âѧ¢Ò¾Íà µ·Õµè Í §¡Òà ' File : a0103.bas ' Description : Basic 3-dots running light @ DEVICE PIC16F877,HS_OSC DEFINE OSC 20 TRISB = %11000111 LOOP: PORTB = %00001000 PAUSE 500 PORTB = %00010000 PAUSE 500 PORTB = %00100000 PAUSE 500 GOTO LOOP

' ' ' ' ' ' ' ' '

Use PIC16F877 and HS Oscilator Use Oscillator 20 MHz RB3,RB4,RB5 --> OUTPUT LED at RB3 --> ON Delay Time 0.5 Sec LED at RB4 --> ON Delay Time 0.5 Sec LED at RB5 --> ON Delay Time 0.5 Sec

â»Ãá¡ÃÁ·Õè A1-3 â»Ãá¡ÃÁ·ÕÊè §Ñè §Ò¹ãË LED µÔ´áººä¿ÇÔ§è â´Â㪠¡ÒõԴµ ÍẺ亵


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

37

ËÅÑ¡¡ÒÃàº×Íé §µ ¹ã¹¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ¤×Í ¡íÒ˹´ãË ¢Ò¾Íà µ·íÒ˹ Ò·Õàè » ¹àÍÒµ ¾µØ ¡ ͹ ¨Ò¡¹Ñ¹é ¨Ö§Ê §¤ ÒÍÍ¡ä»ÂѧµíÒá˹ §¢Ò¾Íà µ¹Ñ¹é ÊíÒËÃѺâ»Ãá¡ÃÁ·Õè A1-3 ¡çÁÇÕ ¸Ô ¡Õ ÒÃઠ¹à´ÕÂǡѹ â´Â¡íÒ˹´¤ Òä»Âѧ¾Íà µâ´ÂµÃ§á·¹´ Ç¢ ÍÁÙÅã¹ÃдѺ 亵 (8 ºÔµ) ´ ǤíÒÊѧè TRISB ¶ Òµ ͧ¡ÒÃãË ¢Òã´·íÒ˹ Ò·Õàè » ¹àÍÒµ ¾µØ µ ͧ¡íÒ˹´ºÔµ¹Ñ¹é ãË ÁÅÕ Í¨Ô¡à» ¹ 0 ¶ Òµ ͧ¡ÒÃãË ¢Òã´·íÒ˹ Ò·Õàè » ¹ÍÔ¹¾Øµ µ ͧ¡íÒ˹´ºÔµ¹Ñ¹é ãË ÁÅÕ Í¨Ô¡à» ¹ 1 ÊíÒËÃѺ¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»áÊ´§·Õ¾è Íà µ¹Ñ¹é ÊÒÁÒÃ¶Ê §¢ ÍÁÙÅ 8 ºÔµµÃ§ÍÍ¡ä»Âѧ¾Íà µ·Õµè Í §¡ÒÃä´ àÅ ´Ñ§áÊ´§ã¹µÑÇÍ ҧâ»Ãá¡ÃÁ A1.1.3 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-3 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ LED ·Ñ§é 3 ´Ç§·Õµè Òí á˹ § RB3, RB4 áÅÐ RB5 ¨ÐµÔ´-´ÑºÊÅѺ¡Ñ¹ä»ã¹ÅѡɳТͧä¿ÇÔ§è

¡Ô¨¡ÃÃÁ Í·Õè 1-2 Í Ò¹¤ ÒÍÔ¹¾Øµ´Ô¨ÔµÍÅ´ ÇÂÊÇÔµª º¹ºÍà ´ RBX-877 äÁ ÁÊÕ ÇÔµª ÊÒí ËÃѺ¡ÒÃ㪠§Ò¹»¡µÔµ´Ô µÑ§é ÍÂÙ ¨ÐÁÕ¡àç ¾Õ§ÊÇÔµª ·ãÕè ª àÅ×Í¡âËÁ´¡Ò÷íÒ§Ò¹ (MODE) áÅÐÊÇÔµª ÃàÕ «µ (RESET) à· Ò¹Ñ¹é ´Ñ§¹Ñ¹é à¾×Íè ãË à¢ Ò㨶֧¡ÒÃÃѺ¤ ÒÍÔ¹¾Øµ´Ô¨µÔ ÍÅ´ ÇÂÊÇÔµª à¾×Íè ¹íÒ仵ѴÊÔ¹ ã¨ÊÑ§è ¡Òõ Ò§ æ ¨Ö§¨íÒà» ¹µ ͧµ Íἧǧ¨ÃÊÇÔµª ¨Ò¡ÀÒ¹͡ࢠҡѺºÍà ´ RBX-877

¡Ò÷íÒ§Ò¹¢Í§á¼§Ç§¨ÃÊÇÔµª ¨Ò¡Ç§¨Ãã¹ÃÙ»·Õè A1-2 áÊ´§ãË àËç¹Ç ÒàÁ×Íè äÁ Á¡Õ Òá´ÊÇÔµª ¢Ò DATA ¨ÐÁÕÅͨԡ 1 ¨Ò¡µÑǵ Ò¹·Ò¹ R2 ¤ Ò 10kΩ ·Õµè Í ¾ÙÅÍÑ»äÇ àÁ×Íè ÁÕ¡Òá´ÊÇÔµª S1 ¨Ðµ Í¢Ò DATA ŧ¡ÃÒÇ´ ·íÒãË ¢Ò DATA ÁÕÅͨԡ 0 «Ö§è ¡ç·Òí ãË ÁÕ ¡ÃÐáÊäËż Ò¹µÑǵ Ò¹·Ò¹ R1 Ê §¼ÅãË LED µÔ´ÊÇ Ò§µÒÁ¡Òá´ÊÇÔµª +V

LED R1 510

R2 10k DATA

S1 GND

ÃÙ»·Õè A1-2 áÊ´§ÅѡɳÐáÅÐǧ¨Ã¢Í§á¼§Ç§¨ÃÊÇÔµª «Ö§è àÁ×Íè ¡´ÊÇÔµª ·àÕè ÍÒµ ¾µØ DATA ¨Ðà» ¹Åͨԡ ]0^


38

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×èÍÍ Ò¹¤ Ò¨Ò¡ÊÇÔµª ¡ÒõÃǨÊͺ¡Òá´ÊÇÔµª ã¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡·Õãè ª PICBASIC PRO ¤ÍÁä¾àÅÍà ÇÔ¸·Õ §Õè Ò Â·ÕÊè ´Ø ¤×Í Ç¹ÅÙ»áŠǵÃǨÊͺ´ ǤíÒÊѧè IF...THEN ¶ ÒÁÕ¡Òá´ÊÇÔµª ¡ãç Ë ¡ÃÐâ´´ä»·íÒ§Ò¹µÒÁà§×Íè ¹ä¢µ Ò§æ 㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ðµ ͧàÅ×Í¡¾Íà µ·Õµè Í §¡Òõ ͡ѺÊÇÔµª ¡Í ¹ ¨Ò¡¹Ñ¹é ¡íÒ˹´ãË ¢Ò¾Íà µ¹Ñ¹é ·íÒ˹ Ò·Õè à» ¹¾Íà µÍÔ¹¾Øµ´Ô¨µÔ ÍÅ â´Âà¢Õ¹¢ ÍÁÙÅÊíÒËÃѺ¡íÒ˹´¡Ò÷íÒ§Ò¹ä»ÂѧÃÕ¨ÊÔ àµÍà ADCON1

¡Ò÷´Åͧ A1.2.1 µ Íἧǧ¨ÃÊÇÔµª ࢠҡѺºÍà ´ RBX-877 ·Õªè Í § RA0 ´Ñ§ÃÙ»·Õè A1-3 A1.2.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-4 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 A1.2.3 ·´Åͧ¡´ÊÇÔµª áÅ ÇÊѧࡵ¼Å¡Ò÷íÒ§Ò¹¢Í§ºÍà ´ RBX-877 ·Õàè ¡Ô´¢Ö¹é ¨Ðä´ Â¹Ô àÊÕ§ÍÍ¡·Ò§ÅíÒ⾧ µÒÁ¨Ñ§ËÇСÒá´ÊÇÔµª 㹡Ò÷´Åͧ¹Õãé ª ¾Íà µ A «Ö§è »¡µÔ¨Ðà» ¹¾Íà µÍÔ¹¾ØµÍйÒÅÍ¡ ´Ñ§¹Ñ¹é ¨Ö§µ ͧµÔ´µ ͡ѺÃÕ¨ÊÔ àµÍà ADCON1 à¾×èÍ¡íÒ˹´ÅѡɳСÒ÷íÒ§Ò¹ãËÁ à¾×èÍ¡íÒ˹´ãË à» ¹ÍÔ¹¾Øµ´Ô¨ÔµÍÅá·¹ ¤ Ò·Õèà¢Õ¹ä»Âѧ ÃÕ¨ÊÔ àµÍà ADCON1 ¨Ö§à· ҡѺ $07

µíÒá˹ §µ Íἧǧ¨ÃÊÇÔµª

ÃÙ»·Õè A1-3 áÊ´§µíÒá˹ §¢Í§¨Ø´µ Í RA0 º¹ºÍà ´ RBX-877 ·Õãè ª àª×Íè Áµ ͡Ѻἧǧ¨ÃÊÇÔµª ÊÒí ËÃѺ·´Åͧ ¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ´Ô¨µÔ ÍŢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ' File : a0104.bas ' Description : Reading digital input via switch board @ DEVICE PIC16F877,HS_OSC ' Use DEFINE OSC 20 ' Use ÄDCON1 = $07 ' Set LOOP: IF PORTA.0 = 0 THEN FREQOUT PORTA.4,300,1000 ENDIF GOTO LOOP

PIC16F877 and HS Oscilator Oscillator 20 MHz PORTA & PORTE --> Digital I/O ' Test Switch at RA0 Press ? ' Show Sound on Piezo 0.3 Sec ' Test Again

â»Ãá¡ÃÁ·Õè A1-4 â»Ãá¡ÃÁÍ Ò¹¤ ÒÍÔ¹¾Øµ´Ô¨µÔ ÍŨҡÊÇÔµª à¾×Íè ¹íÒÁҤǺ¤ØÁ¡ÒâѺàÊÕ§ÍÍ¡·Ò§ÅíÒ⾧


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

39

¡Ô¨¡ÃÃÁ Í·Õè 1-3 áÊ´§¢ ͤÇÒÁº¹âÁ´ÙÅ LCD º¹ºÍà ´ RBX-877 Í͡ẺãË Á¨Õ ´Ø ÊíÒËÃѺàª×Íè Áµ ÍâÁ´ÙÅ LCD àÍÒäÇ àÃÕºà ÍÂáÅ Ç â´ÂÁÕÃÒÂÅÐàÍÕ´ ¢Í§Ç§¨Ãàª×Íè Áµ ʹѧÃÙ»·Õè A1-4 «Ö§è ¨Ðµ ͧ㪠ÃÒÂÅÐàÍÕ´¡ÒÃàª×Íè Áµ ͹Õäé »ÃкØã¹â»Ãá¡ÃÁà¾×Íè ãË PICBASIC PRO ¤ÍÁä¾àÅÍÃ ÃºÑ ·ÃÒºÇ Ò µ ͧµÔ´µ ͡ѺâÁ´ÙÅ LCD ¼ Ò¹·Ò§¢Ò¾Íà µã´º Ò§ ¡ÒÃàª×Íè Áµ ÍâÁ´ÙÅ LCD ¢Í§ºÍà ´ RBX-877 㪠¢Ò¾Íà µ 6 ¢Ò »ÃСͺ´ Ç¢ҾÍà µ RD4-RD7 µ ͡Ѻ¢Ò ¢ ÍÁÙÅ D4-D7 à¾×Íè 㪠ʧ ¢ ÍÁÙÅä»ÂѧâÁ´ÙÅ LCD ã¹âËÁ´ 4 ºÔµ ¶Ñ´ÁÒ¢Ò¾Íà µ RC0 µ ͡Ѻ¢Ò RS áÅÐ RC5 µ ͡Ѻ ¢Ò E Ê Ç¹¢Ò R/W ¢Í§âÁ´ÙÅ LCD ãË µÍ ŧ¡ÃÒÇ´ à¾×Íè ¡íÒ˹´ãË à¢Õ¹¢ ÍÁÙŨҡäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ä»ÂѧâÁ´ÙÅ LCD à¾Õ§·Ò§à´ÕÂÇ

¡ÒáíÒ˹´µíÒá˹ §¢Ò¾Íà µ·Õµè Í ¡ÑºâÁ´ÙÅ LCD ãË PICBASIC PRO ¤ÍÁä¾àÅÍÃ ÃºÑ Ã٠㹡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ÊíÒËÃѺ PICBASIC PRO ¤ÍÁä¾àÅÍà à¾×Íè àª×Íè Áµ ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ¡Ñº âÁ´ÙÅ LCD ¨Ðµ ͧÁÕ¡ÒûÃСÒÈËÃ×Í¡íÒ˹´ª×Íè ¢ÒãË µÇÑ ¤ÍÁä¾àÅÍÃ ÃºÑ ·ÃÒºµÑ§é áµ µÍ¹µ ¹¢Í§â»Ãá¡ÃÁ ´Ñ§¹Õé 1: DEFINE 2: DEFINE 3: DEFINE 4: DEFINE 5: DEFINE 6: DEFINE 7: DEFINE 8: DEFINE 9: DEFINE 10:DEFINE

LCD_DREG PORTD ' LCD_DBIT 4 ' LCD_RSREG PORTC ' LCD_RSBIT 0 ' LCD_EREG PORTC ' LCD_EBIT 5 ' LCD_BITS 4 ' LCD_LINES 2 ' LCD_COMMANDUS 2000 LCD_DATAUS 50

Set LCD Data port Set starting Data bit (0 or 4) if 4-bit bus Set LCD Register Select port Set LCD Register Select bit Set LCD Enable port Set LCD Enable bit Set LCD bus size (4 or 8 bits) Set number of lines on LCD ' Set command delay time in microsecond ' Set data delay time in microsecond +5V JP1

RC0 15

4

24

6

RC5 PIC16F877-20 RB7 RB6 RB5 RB4

40

RS E

DSP1 LCD 16x2 (back light option)

BLA +V Vo

D7 D6 D5 D4 D3 D2 D1 D0 R/W BLK GND 14 13 12 11 10 9 8 7 5 16 2

15

4 # %

BACK LIGHT ON

1 3 VR1 10k

BRIGHTNESS

39 38 37

ÃÙ»·Õè A1-4 ǧ¨Ãàª×Íè Áµ ÍâÁ´ÙÅ LCD ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 º¹ºÍà ´ RBX-877


40

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¤íÒÊѧè DEFINE LCD ¨Ðµ ͧÃкطÊÕè Ç ¹ËÑǢͧâ»Ãá¡ÃÁ ¡ ͹àÃÕ¡㪠¤Òí Êѧè à¾×Íè µÔ´µ ͡ѺâÁ´ÙÅ LCD ´Ñ§ÁÕÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁáµ ÅкÃ÷Ѵ´Ñ§¹Õé ºÃ÷Ѵ·Õè 1 ºÃ÷Ѵ·Õè 2 ºÃ÷Ѵ·Õè 3 ºÃ÷Ѵ·Õè 4 ºÃ÷Ѵ·Õè 5 ºÃ÷Ѵ·Õè 6 ºÃ÷Ѵ·Õè 7 ºÃ÷Ѵ·Õè 8 ºÃ÷Ѵ·Õè 9 ºÃ÷Ѵ·Õè 10

¡íÒ˹´ãË PORTD à» ¹¾Íà µÊíÒËÃѺ¢Ò¢ ÍÁÙÅ D4-D7 DEFINE LCD_DBIT 4 ¡íÒ˹´ãË ¢Ò¢ ÍÁÙÅàÃÔÁè µ ¹¹Ñº¨Ò¡ 4 (D4) ¡ÒáíÒ˹´¤ ҢͧºÃ÷Ѵ¹Õ¡é Òí ˹´¤ Òä´ à¾Õ§Êͧ¤ Òà· Ò¹Ñ¹é ¤×Í 0 ËÃ×Í 4 DEFINE LCD_DREG PORTD

DEFINE LCD_RSREG PORTC DEFINE LCD_RSBIT 0 DEFINE LCD_EREG PORTC DEFINE LCD_EBIT 5 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2 DEFINE LCD_COMMANDUS 2000 DEFINE LCD_DATAUS 50

¡íÒ˹´ãË PORTC à» ¹¾Íà µÊíÒËÃѺ¢Ò RS ÃкصÒí á˹ §ºÔµ¢Í§¢Ò RS à» ¹ºÔµ 0 (RC0) ¡íÒ˹´ãË PORTC à» ¹¾Íà µÊíÒËÃѺ¢Ò E ÃкغµÔ ·Õè 5 ¢Í§ PORTC à» ¹¢Ò E (RC5) ¡íÒ˹´¨íҹǹºÔµã¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅà» ¹áºº 4 ºÔµ ¡íÒ˹´¨íҹǹºÃ÷Ѵ¢Í§âÁ´ÙÅ LCD à» ¹ 2 ºÃ÷Ѵ ¡íÒ˹´ª ǧ˹ ǧàÇÅÒÊíÒËÃÑºÊ §¤íÒÊѧè 2000 äÁâ¤ÃÇÔ¹Ò·Õ ¡íÒ˹´ª ǧ˹ ǧàÇÅÒÊíÒËÃÑºÊ §¢ ÍÁÙÅ 50 äÁâ¤ÃÇÔ¹Ò·Õ

¤íÒÊÑ§è ·Õãè ª 㹡ÒÃÊ §¢ ͤÇÒÁä»áÊ´§¼Å·Õâè Á´ÙÅ LCD ¤×Í LCDOUT ¡ÒäǺ¤ØÁâÁ´ÙÅ LCD ¨Ðµ Í§Ê § ¤íÒÊÑè§áÅТ ÍÁÙŠ㹡óÕà¢Õ¹¤íÒÊѧè àÃÔÁè ¨Ò¡à¢Õ¹ÃËÑÊ $FE à¾×Íè ᨠ§ãË ¤ÍÁä¾àÅÍà ·ÃÒºÇ Ò ¢ ÍÁÙŵ ͨҡ¹Õ¨é Ðà» ¹¢ ÍÁÙÅ ¤íÒÊѧè ¡µÑÇÍ ҧ ¤íÒÊѧè à¤ÅÕÂà ¨ÍáÊ´§¼Å¨Ðµ Í§Ê §¤ Ò $FE Í͡仡 ͹ µÒÁ´ Ç¢ ÍÁÙŤíÒÊÑ§è ¡ÒÃà¤ÅÕÂà ¨ÍáÊ´§ ¼Å¤×Í $01 áÊ´§µÑÇÍ ҧ¡ÒÃ㪠§Ò¹ã¹â»Ãá¡ÃÁ·Õè A1-5 â´ÂàÃÔÁè µÑ§é áµ ºÃ÷Ѵ Main à» ¹µ ¹ä» ´Ñ§¹Õé ºÃ÷Ѵáá LCDOUT $FE,$01 à» ¹¡ÒÃÊ §¤íÒÊѧè à¾×Íè à¤ÅÕÂà ¨ÍáÊ´§¼Å ºÃ÷Ѵ·Õè 2 LCDOUT "Innovative" ¹íÒ¢ ͤÇÒÁ Innovative áÊ´§·ÕèâÁ´ÙÅ LCD ºÃ÷Ѵáá ºÃ÷Ѵ·Õè 3 LCDOUT $FE,$C0 à» ¹¡ÒÃÊ §¤íÒÊѧè à¾×Íè ãË à¤Íà à«Íà àÅ×Íè ¹ä»·Õºè Ã÷Ѵ·Õè 2 ºÃ÷Ѵ·Õè 4 LCDOUT "Experiment" ¹íÒ¢ ͤÇÒÁ Experiment áÊ´§·ÕèâÁ´ÙÅ LCD ºÃ÷ѴÊͧ ËÁÒÂà赯 ¤íÒÊÑè§à¾×èÍãË à¤Íà à«Íà ¢Í§âÁ´ÙÅ LCD ¡ÃÐâ´´¡ÅѺ价ÕèµíÒá˹ §áá¢Í§ºÃ÷Ѵº¹ ¤×Í $FE,$80 ¶ Òµ ͧ¡ÒÃãË à¤Íà à«Íà 任ÃÒ¡¯·Õµ è Òí á˹ §¶Ñ´¨Ò¡¹Õé ÊÒÁÒö·íÒä´ â´Â¡ÒáíÒ˹´¤ ÒáÍ´à´ÃÊàÅ×Íè ¹ ¶Ñ´ä»

¡Ò÷´Åͧ A1.3.1 ¹íÒâÁ´ÙÅ LCD ÁÒàÊÕºŧº¹¤Í¹à¹ç¡àµÍà 16 ¢Òº¹ºÍà ´ RBX-877 ËÒ¡µ ͧ¡ÒÃãË ä¿Ê ͧËÅѧ·íÒ§Ò¹ µ ͧàÊÕº¨ÑÁê à»Íà ·µÕè Òí á˹ § LCD backlight


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

41

A1.3.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-5 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 áÅ ÇÊѧࡵ¼Å¡Ò÷íÒ§Ò¹¢Í§ ºÍà ´ RBX-877 ·Õàè ¡Ô´¢Ö¹é ·Õâè Á´ÙÅ LCD áÊ´§¢ ͤÇÒÁ Innovative 㹺Ã÷Ѵº¹ áÅÐ Experiment 㹺Ã÷ѴŠҧ ' File : a0105.bas ' Description : Show message on LCD module @ DEVICE PIC16F877,HS_OSC DEFINE OSC 20

' Use PIC16F877 and HS Oscilator ' Use Oscillator 20 MHz

DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE

LCD_DREG PORTD LCD_DBIT 4 LCD_RSREG PORTC LCD_RSBIT 0 LCD_EREG PORTC LCD_EBIT 5 LCD_BITS 4 LCD_LINES 2 LCD_COMMANDUS 2000 LCD_DATAUS 50

' ' ' ' ' ' ' ' ' '

Set Set Set Set Set Set Set Set Set Set

Main:

LCDOUT LCDOUT LCDOUT LCDOUT

' ' ' '

Send Command To Clear Screen Show Text on Line 1 Set Cursor on Line 2 Show Text on Line 2

$FE,$01 "Innovative" $FE,$C0 "Experiment"

LCD Data port starting Data bit (0 or 4) if 4-bit bus LCD Register Select port LCD Register Select bit LCD Enable port LCD Enable bit LCD bus size (4 or 8 bits) number of lines on LCD command delay time in us data delay time in us

END

â»Ãá¡ÃÁ·Õè A1-5 â»Ãá¡ÃÁ·´ÅͧáÊ´§¢ ͤÇÒÁº¹âÁ´ÙÅ LCD ¢Í§ºÍà ´ RBX-877

ÃÙ»·Õè A1-5 áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·Õè A1-5 º¹âÁ´ÙÅ LCD ¢Í§ºÍà ´ RBX-877 ¡Ã³Õ¡ÒÃáÊ´§¢ ͤÇÒÁ·Õ¨è ͧ͢âÁ´ÙÅ LCD ÁÕ¤ÇÒÁࢠÁÁÒ¡ËÃ×Í ¹ ÍÂà¡Ô¹ä» ÊÒÁÒö»ÃѺ¤ÇÒÁࢠÁ (ËÃ×ͤÇÒÁÊÇ Ò§) ä´ ¨Ò¡ µÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ ºÃÔàdz´ Ò¹º¹¢Í§âÁ´ÙÅ LCD ´Ñ§ã¹ÃÙ»


42

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¡Ô¨¡ÃÃÁ Í·Õè 1-4 ¡ÒÃÊ×èÍÊÒâ ÍÁÙšѺ¤ÍÁ¾ÔÇàµÍà ¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅÃÐËÇ Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ ¤ÍÁ¾ÔÇàµÍà Áѡ㪠¡ÒÃÊ×Íè ÊÒü Ò¹¾Íà µÍ¹Ø¡ÃÁ â´Â㪠Áҵðҹ¡ÒÃÊ×Íè ÊÒà RS-232 «Ö§è ·Ñ§é ÀÒ¤ÃѺáÅÐÀÒ¤Ê §¨Ðµ ͧ¡íÒ˹´¤ ÒÍѵÃҺʹáÅÐÃٻẺ¢ ÍÁÙÅãË µÃ§¡Ñ¹ ÊíÒËÃѺºÍà ´ RBX-877 ä´ àµÃÕÂÁǧ¨ÃÊíÒËÃѺàª×Íè Áµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà ¼Ò ¹¾Íà µÍ¹Ø¡ÃÁµÒÁÁҵðҹ RS-232 äÇ áÅ Ç â´Â㪠äÍ«Õ ICL232 ´Ñ§áÊ´§ã¹ÃÙ»·Õè A1-6 â´ÂäÍ«Õ ICL232 ¨Ð·íÒ˹ Ò·Õàè »ÅÕÂè ¹ÃдѺáç´Ñ¹¨Ò¡ÃдѺ TTL ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ãË à» ¹áç´Ñ¹µÒÁÁÒµ°Ò¹ RS-232 ÊíÒËÃѺ¢ÒÊ §¢ ÍÁÙÅ ã¹·Ò§¡ÅѺ¡Ñ¹·Õ¢è ÒÃѺ¢ ÍÁÙÅ ¨Ð·íÒ ¡ÒÃà»ÅÕÂè ¹ÃдѺáç´Ñ¹µÒÁÁҵðҹ RS-232 ¡ÅѺä»à» ¹ÃдѺ TTL +5V C10-C14 10/50V

C12

6 7 8

1 2 3 4

16

1 3

C10

C11

2

IC5 ICL232

PIC16F877-20

4 5

C13

7

10

25

8

9

26

5

6

RC6/TxD RC7/RxD

15

C14

SERIAL PORT

ÃÙ»·Õè A1-6 ǧ¨Ãàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ RS-232 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 º¹ºÍà ´ RBX-877

à¤Ã×èͧÁ×Í·Ò§«Í¿µ áÇà ·Õè㪠ª ÇÂ㹡ÒÃÃÑºÊ §¢ ÍÁÙšѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà (¡) Hyper terminal Hyper Terminal à» ¹â»Ãá¡ÃÁÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÂÍ´¹ÔÂÁ »¡µÔ¨ÐµÔ´µÑ§é ÁҾà ÍÁ¡ÑºÃкº»¯ÔºµÑ ¡Ô Òà ÇÔ¹â´ÇÊ áÅ Ç ã¹¡ÒÃàÃÕ¡㪠§Ò¹à¢ Òä»·Õàè Á¹Ù Accessories à Communications àÅ×Í¡â»Ãá¡ÃÁ Hyper Terminal «Ö§è ÁÕäͤ͹໠¹ÃÙ» ÁÕ¢¹Ñé µÍ¹¡ÒáíÒ˹´¤ Òµ Ò§æ ¢Í§â»Ãá¡ÃÁ´Ñ§¹Õé


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

43

¢Ñ¹é µÍ¹·Õè 1 àÁ×Íè àÃÕ¡㪠§Ò¹¤Ãѧé áá â»Ãá¡ÃÁ¨Ðᨠ§ãË ¢Ñ鹵͹·Õè 2 àÅ×Í¡¾Íà µÍ¹Ø¡ÃÁ·Õèµ Í§¡ÒõԴµ Í·Õèª Í§ » ͹ª×Íè ·Õªè Í § Name áÅ Ç¡´»ØÁ OK Connect using àÅ×Í¡ COM1 ËÃ×Í COM ã´æ

¢Ñ¹é µÍ¹·Õè 4 ËÅѧ¨Ò¡¡íÒ˹´¤ ÒàÊÃç¨àÃÕºà Í â»Ãá¡ÃÁ ¨ÐáÊ´§Ë¹ Òµ Ò§ÊíÒËÃѺ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ¢Ö¹é ÁÒ ¾Ã ÍÁ ¢Ñ鹵͹·Õè 3 ¡íÒ˹´¤ ÒÍѵÃҺʹ ÃÇÁ·Ñé§ÃٻẺ¢Í§ µÔ´µ ÍÊ×Íè ÊÒáѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà (µÑÇàÅ¢ã¹ÀÒ¾ ¢ ÍÁÙÅ㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅãË µÃ§¡Ñº¤ Ò·Õ¡è Òí ˹´ãË ¡ºÑ à» ¹¤ Ò·Õàè ¡Ô´¢Ö¹é ËÅѧ¨Ò¡µÔ´µ ͡ѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà äÁâ¤Ã¤Í¹â·ÃÅàÅÍà »¡µÔà» ¹ 9600 8N1 ä´ àÃÕºà ÍÂáÅÐÁÕ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅà¡Ô´¢Ö¹é áÅ Ç

(¢) ÊíÒËÃѺ¼Ùã ª §Ò¹â»Ãá¡ÃÁ Microcode Studio ¶ Òà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡¼ Ò¹«Í¿µ áÇà Microcode Studio ÍÂÙá Å Ç ã¹ Microcode Studio ä´ ¨´Ñ àµÃÕÂÁ˹ Òµ Ò§ÊíÒËÃѺÊ×èÍÊÒâ ÍÁÙÅ͹ءÃÁÁÒãË ´ Ç ÊÒÁÒöàÃÕ¡㪠§Ò¹ä´ â´Âä»·ÕèàÁ¹Ù View à Serial Communication Window ËÃ×Í¡´»ØÁ F4 ËÃ×ͤÅÔ¡·Õäè ͤ͹ º¹Ë¹ Òµ Ò§ËÅÑ¡¢Í§ Microcode Studio ¡çä´ ã¹ÃÙ»·Õè A1-7 áÊ´§Ë¹ Òµ Ò§¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁËÃ×Í Serial communication ¢Í§ Microcode Studio ¼Ùã ª §Ò¹ÊÒÁÒö»ÃѺ¤ ÒÍѵÃҺʹáÅФ ÒÁҵðҹ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅÍ×¹è æ ¼ ҹ˹ Òµ Ò§¹Õäé ´ â´ÂµÃ§


44

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

ÃÙ»·Õè A1-7 áÊ´§Ë¹ Òµ Ò§ Serial Communication Window ÊíÒËÃѺÃÑºÊ §¢ ÍÁÙšѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ

¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×èÍÊ×èÍÊÒâ ÍÁÙÅ͹ءÃÁ¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ¤íÒÊѧè ÊíÒËÃѺ¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅ͹ءÃÁ·ÕÁè ÍÕ ÂÙã ¹ PICBASIC PRO ¤ÍÁä¾àÅÍà Á´Õ Ç Â¡Ñ¹ËÅÒ¤íÒÊÑ§è ´Ñ§¹Õé SEROUT SEROUT2 HSEROUT SERIN SERIN2 HSERIN

â´Â¡Ô¨¡ÃÃÁ Í¹ըé Ð͸ԺÒ¶֧¡ÒÃ㪠§Ò¹¤íÒÊѧè ã¹ÃٻẺµ Ò§æ µÅÍ´¨¹¢ Í´ÕáÅТ ÍàÊÕ´ ÇÂ

¡ÒÃ㪠§Ò¹¤íÒÊѧè SEROUT

SEROUT à» ¹¤íÒÊѧè Ê §¢ ÍÁÙÅ͹ءÃÁ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ä»Âѧ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà Í ҧ

§ Ò·ÕÊè ´Ø â´Â¼Ùã ª §Ò¹äÁ ¨Òí à» ¹µ ͧ¡íÒ˹´¤ Ò¾ÒÃÒÁÔàµÍà µÒ §æ ÁÒ¡¹Ñ¡ ÁÕû٠Ẻ¡ÒÃ㪠§Ò¹´Ñ§¹Õé SEROUT Pin,Mode,[Item {,Item...}] Pin ËÁÒ¶֧ ¢Ò¾Íà µ·Õµ è Í §¡ÒÃ㪠ʧ ¢ ÍÁÙÅ

ËÁÒ¶֧ ¡ÒáíÒ˹´¤ ÒÍѵÃҺʹáÅÐÃٻẺ¡ÒÃÊ×Íè ÊÒâ ÍÁÙŠઠ¹ ¶ Ò෠ҡѺ 0 à» ¹¡ÒÃÊ×Íè ÊÒà ¢ ÍÁÙÅ´ ÇÂÍѵÃҺʹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ¶ Ò෠ҡѺ 2 à» ¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ´ ÇÂÍѵÃҺʹ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ Item ¤×Í ¢ ÍÁÙÅ·Õµ è Í §¡ÒÃÊ §ÍÍ¡ä» ¢ ͨíÒ¡Ñ´¢Í§¤íÒÊѧè SEROUT ¤×Í äÁ ÊÒÁÒö¨Ñ´ÃٻẺ¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §ä´ áÅÐÊÒÁÒÃ¶Ê §ä´ ੾ÒÐÃËÑÊáÍÊ¡Õàé · ҹѹé Mode


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

45

' File : a0106.bas ' Description : Send serial data to computer by SEROUT command @ DEVICE PIC16F877,HS_OSC DEFINE OSC 20 A VAR BYTE A = 0 MAIN: SEROUT PORTC.6,2,[A] PAUSE 10 A = A+1 GOTO MAIN

' Use PIC16F877 and HS Oscilator ' Use Oscillator 20 MHz ' ' ' ' '

Start A with 0 Send A Delay 10 Millisecond Increment A Again

¤íÒ͸ԺÒÂà¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁ¹Õãé ª µÇÑ á»Ã A ·íÒ˹ Ò·Õàè ¡çº¤ Ò¢ ÍÁÙÅ ¡ Í¹Ê §ÍÍ¡ä»Âѧ¾Íà µÍ¹Ø¡ÃÁ â´Â¤ Ò·Õ¹è Òí ä»áÊ´§¨Ð ÁÕ¤Ò µÑ§é áµ 0-255 àÁ×Íè Ê §ä»Âѧâ»Ãá¡ÃÁÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ ÍÒ·Ô Hyper Terminal ¢ ÍÁÙŨÐä´ ÃºÑ ¡ÒèѴÍÂÙã ¹ ÃٻẺ¢Í§ÃËÑÊáÍÊ¡Õé ·Ò§´ Ò¹ÎÒôáÇà â»Ãá¡ÃÁàÅ×͡㪠¢Ò¾Íà µ RC6 㹡ÒÃÊ §¢ ÍÁÙÅÍÍ¡ä»Âѧ¾Íà µÍ¹Ø¡ÃÁ áºÐ¡íÒ˹´ ¤ Ò Mode ෠ҡѺ 2 «Ö§è ËÁÒ¶֧ àÅ×Í¡ÍѵÃҺʹ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ ´Ñ§¹Ñ¹é ·Õâè »Ãá¡ÃÁÊ×Íè ÊÒâ ÍÁÙź¹¤ÍÁ¾ÔÇàµÍà ¨Ðµ ͧ¡íÒ˹´¤ ÒÍѵÃҺʹãË µÃ§¡Ñ¹´ ÇÂ

â»Ãá¡ÃÁ·Õè A1-6 â»Ãá¡ÃÁ·´Åͧ㪠¤Òí Êѧè SEROUT à¾×Íè Ê §¢ ÍÁÙŢͧµÑÇá»Ã A ÍÍ¡ä»Âѧ¤ÍÁ¾ÔÇàµÍà A1.4.1 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-6 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 A1.4.2 àª×Íè Áµ ÍÊÒÂÃÐËÇ Ò§ºÍà ´ RBX-877 ¡Ñº¾Íà µÍ¹Ø¡ÃÁ A1.4.3 à» ´â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial Communication ã¹ Microcode Studio áÅ ÇàÅ×Í¡ ÍѵÃҺʹ໠¹ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 A1.4.4 Ãѹâ»Ãá¡ÃÁ áÅ ÇÊѧࡵ¡ÒÃáÊ´§¼Å¢Í§â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial Communication ã¹ Microcode Studio ·ÕËè ¹ Òµ Ò§ËÅÑ¡¢Í§ Hyper Terminal áÊ´§¼Å¡Ò÷íÒ§Ò¹´Ñ§¹Õé ËÁÒÂà赯 ¢ ÍÁÙÅÍ ҧÅÐàÍÕ´à¡ÕÂè ǡѺ¡ÒÃ㪠§Ò¹ ¤íÒÊѧè SEROUT áÅФíÒÊÑ§è ·Ñ§é ËÁ´ ¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ÊÒÁÒö´ÙÃÒÂÅÐàÍÕÂ´ä´ ¨Ò¡Ë¹Ñ§Ê×Í àÃÕ¹ÃÙá ÅÐ㪠§Ò¹ PICBASIC PRO ¤ÍÁä¾àÅÍà ¨Ñ´¾ÔÁ¾ â´Â ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ (www.inex.co.th) ËÃ×ͨҡ ˹ Òµ Ò§ ª ÇÂàËÅ×ͧ͢ Microcode Studio


46

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¡ÒÃ㪠§Ò¹¤íÒÊѧè SEROUT2 ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè SEROUT2 DataPin{\FlowPin},Mode,{Pace,} {Timeout,Label,}[Item...] DATAPIN MODE

Item

ËÁÒ¶֧ ¢Ò¾Íà µ·Õãè ª ʧ ¢ ÍÁÙÅ

ËÁÒ¶֧ ¤ Ò·Õãè ª ¡Òí ˹´ÃٻẺ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅáÅÐÍѵÃҺʹ·Õãè ª ઠ¹ ¶ ÒàÅ×Í¡ÍѵÃҺʹ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 µ ͧ¡íÒ˹´¤ Ò Mode ෠ҡѺ 84 ¶ ÒàÅ×Í¡ÍѵÃҺʹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 µ ͧ¡íÒ˹´¤ Ò Mode ෠ҡѺ 396 ¤×Í ¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §ÍÍ¡ä»

¢ Íᵡµ Ò§·Õàè Ëç¹ä´ Í ҧªÑ´à¨¹¢Í§¤íÒÊѧè SEROUT áÅÐ SEROUT2 ¡ç¤Í× SEROUT2 ÊÒÁÒö¡íÒ˹´ ¤ Ò¾ÒÃÒÁÔàµÍà µÒ §æ ä´ ÁÒ¡¡Ç Ò àª ¹ ÊÒÁÒö¡íÒ˹´ÃٻẺ¢Í§¢ ÍÁÙÅ·Õ·è Òí ¡ÒÃÊ §, ÃٻẺ¢Í§¡ÒÃÊ § áÅÐÍѵÃÒ àÃçÇ㹡ÒÃÊ §ä´ ã¹â»Ãá¡ÃÁ·´Åͧ·Õè A1-7 áÊ´§ãË àË繶֧¡ÒáíÒ˹´ÃٻẺ¢ ÍÁÙÅ·Õáè Ê´§à» ¹àÅ¢°Ò¹ÊÔº (ÃÐºØ ¤íÒÊѧè DEC äÇ ·´Õè Ò ¹Ë¹ Ңͧ¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ § )áÅеÑÇàÅ¢°Ò¹Êͧ (ÃкؤÒí Êѧè BIN äÇ ·´Õè Ò ¹Ë¹ Ңͧ¢ ÍÁÙÅ·Õè µ ͧ¡ÒÃÊ §) ¹Í¡¨Ò¡¹ÕÊé ÒÁÒöÊѧè ãË àÅ×Íè ¹à¤Íà à«Íà ä»ÂѧµíÒá˹ §Ë¹ ÒÊØ´¢Í§ºÃ÷ѴáÅÐ¢Ö¹é ºÃ÷ѴãËÁ ä´ â´Â¡ÒÃ Ê §ÃËÑÊáÍÊ¡Õé $0D áÅÐ $0A µÒÁÅíҴѺ A1.4.5 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-7 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 A1.4.6 àª×Íè Áµ ÍÊÒÂÃÐËÇ Ò§ºÍà ´ RBX-877 ¡Ñº¾Íà µÍ¹Ø¡ÃÁ A1.4.7 à» ´â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial Communication ã¹ Microcode Studio áÅ ÇàÅ×Í¡ ÍѵÃҺʹ໠¹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 ' File : a0107.bas ' Description : Send serial data to computer by SEROUT2 command @ DEVICE PIC16F877,HS_OSC ' Use PIC16F877 and HS Oscilator DEFINE OSC 20 ' Use Oscillator 20 MHz A VAR BYTE A = 0 ' Start A with 0 MAIN: SEROUT2 PORTC.6,396,[DEC A," ",BIN A,$0D,$0A] ' Show A in Decimal Mode PAUSE 10 ' Delay A = A+1 ' Increment A GOTO MAIN

¤íÒ͸ԺÒÂà¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁ¹Õ¡é Òí ˹´¤ Ò Mode ¢Í§¤íÒÊѧè SEROUT2 äÇ à· Ò¡Ñº 396 «Ö§è ËÁÒ¶֧ àÅ×Í¡ÍѵÃҺʹ㹡Òà Ê×Íè ÊÒâ ÍÁÙÅ෠ҡѺ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹áºº 8N1 ´Ñ§¹Ñ¹é ·Õâè »Ãá¡ÃÁ Hyper Terminal ¨Ðµ ͧ ¡íÒ˹´¤ ÒÁҵðҹ¢Í§¡ÒÃÊ×Íè ÊÒÃãË µÃ§¡Ñ¹´ ÇÂ

â»Ãá¡ÃÁ·Õè A1-7 â»Ãá¡ÃÁ·´Åͧ㪠¤Òí Êѧè SEROUT2 à¾×Íè Ê §¢ ÍÁÙÅä»Âѧ¤ÍÁ¾ÔÇàµÍÃ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

47

A1.4.8 Ãѹâ»Ãá¡ÃÁ áÅ ÇÊѧࡵ¡ÒÃáÊ´§¼Å¢Í§â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial Communication ã¹ Microcode Studio ·ÕËè ¹ Òµ Ò§ËÅÑ¡¢Í§ Hyper Terminal áÊ´§¼Å¡Ò÷íÒ§Ò¹´Ñ§¹Õé

¡ÒÃ㪠§Ò¹¤íÒÊѧè HSEROUT ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè HSEROUT [Item {,Item...}] Item

¤×Í ¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §ÍÍ¡ä»

à» ¹¤íÒÊѧè Ê §¢ ÍÁÙÅ͹ءÃÁ·Õãè ª ¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC «Ö§è ÁÕâÁ´ÙÅÊ×Íè ÊÒÃ͹ءÃÁ UART ËÃ×Í USART ÍÂÙ ÀÒÂã¹ ´Ñ§¹Ñ鹡 ͹㪠§Ò¹¤íÒÊÑ觨е ͧ¡íÒ˹´¤ ÒàÃÔèÁµ ¹ãË ¡ÑºâÁ´ÙÅ USART ÀÒÂã¹µÑÇäÁâ¤Ã ¤Í¹â·ÃÅàÅÍà ¡Í ¹¼ Ò¹·Ò§¤íÒÊѧè DEFINE â´ÂÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé HSEROUT

DEFINE HSER_RCSTA 90h

àÍç¹àÍàºÔÅ¡ÒÃÃѺ¢ ÍÁÙÅ

DEFINE HSER_TXSTA 20h

àÍç¹àÍàºÔÅ¡ÒÃÊ §¢ ÍÁÙÅ

DEFINE HSER_BAUD 2400

¡íÒ˹´¤ ÒÍѵÃҺʹ ´ ÇÂÇÔ¸¡Õ ÒÃãÊ ¤Ò ÍѵÃҺʹŧä»â´ÂµÃ§

¡íÒ˹´¤ ÒÍѵÃҺʹ¼ Ò¹ÃÕ¨ÊÔ àµÍà SPBRG «Ö§è à» ¹ÃÕ¨ÊÔ àµÍà ÊíÒËÃѺ¡íÒ˹´¤ ÒÍѵÃҺʹ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·ÕÁè âÕ Á´ÙÅÊ×Íè ÊÒÃ͹ءÃÁÍÂÙÀ ÒÂã¹ DEFINE HSER_SPBRG 25


48

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¨Ð¾ºÇ Ò¤íÒÊѧè HSEROUT ¡Ñº SEROUT2 ÁÕ¤ÇÒÁ¤Å Ò¤ÅÖ§¡Ñ¹ ¨Ø´áµ¡µ Ò§¤×Í ¤íÒÊѧè HSEROUT ¨Ð㪠§Ò¹ä´ ¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·ÕÁè âÕ Á´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍÂÙÀ ÒÂã¹à· ҹѹé áÅСÒÃÃÑºÊ §¢ ÍÁÙŨм Ò¹·Ò§ ¢Ò¾Íà µ·Õàè ª×ÍÁµ ͡ѺâÁ´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ¹Õé äÁ ÊÒÁÒöà»ÅÕÂè ¹á»Å§¢Ò¾Íà µä´ ã¹¢³Ð·Õ¤è Òí Êѧè SEROUT2 ÊÒÁÒÃ¶ãª ä´ ¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ã¹Í¹Ø¡ÃÁ 14 ºÔµ¢Ö¹é ä»ä´ ·¡Ø àºÍà äÁ ÇÒ ÀÒÂã¹µÑÇÁѹ¨ÐÁÕâÁ´ÙÅÊ×Íè ÊÒà ¢ ÍÁÙÅ͹ءÃÁÍÂÙÀ ÒÂã¹ËÃ×ÍäÁ áµ Í ҧäáçµÒÁ¤íÒÊѧè HSEROUT ¨Ð㪠¾¹×é ·ÕËè ¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ¹ ÍÂ¡Ç Ò ´Ñ§¹Ñ¹é Ëҡ㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·ÕÁè âÕ Á´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍÂÙÀ ÒÂ㹤ÇÃàÅ×͡㪠¤íÒÊѧè HSEROUT ¨Ðª ÇÂÅ´¢¹Ò´¢Í§â»Ãá¡ÃÁä´ ÁÒ¡¡Ç Ò A1.4.9 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-8 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 ' File : a0108.bas ' Description : Send serial data to computer by HSEROUT command @ DEVICE PIC16F877,HS_OSC DEFINE OSC 20 DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 20h DEFINE HSER_BAUD 2400 A VAR BYTE A = 0 Main: HSEROUT ["Innovative HSEROUT ["Experiment A = A+1 GOTO MAIN

' ' ' ' '

Use Use Set Set Set

PIC16F877 and HS Oscilator Oscillator 20 MHz receive register to receiver enabled transmit register to transmitter enabled baud rate

' Start A with 0 "] ' Show Text in String ",DEC A,$0D,$0A] ' Show String and Decimal Number ' increment A

â»Ãá¡ÃÁ·Õè A1-8 â»Ãá¡ÃÁ·´Åͧ㪠¤Òí Êѧè HSEROUT à¾×Íè Ê §¢ ÍÁÙÅä»Âѧ¤ÍÁ¾ÔÇàµÍà A1.4.10 àª×Íè Áµ ÍÊÒÂÃÐËÇ Ò§ºÍà ´ RBX-877 ¡Ñº¾Íà µÍ¹Ø¡ÃÁ à» ´â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial communication ã¹ Microcode Studio áÅ ÇàÅ×Í¡ÍѵÃҺʹ໠¹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 A1.4.11 Ãѹâ»Ãá¡ÃÁ áÅ ÇÊѧࡵ¡ÒÃáÊ´§¼Å¢Í§â»Ãá¡ÃÁ Hyper Terminal ·ÕËè ¹ Òµ Ò§ËÅÑ¡¢Í§ Hyper Terminal áÊ´§¼Å¡Ò÷íÒ§Ò¹´Ñ§¹Õé


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

49

¡ÒÃÃѺ¢ ÍÁÙÅ͹ءÃÁâ´Â㪠¤Òí Êѧè SERIN ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè SERIN Pin,Mode,{Timeout,Label,}{[Qual...],}{Item...}

Ñ ¢ ÍÁÙÅ ÊíÒËÃѺºÍà ´ RBX-877 㪠¢Ò RC7 (PORTC.7) Pin ¤×Í ¢Ò¾Íà µ·Õãè ª ú Mode 㪠¡Òí ˹´ÍѵÃҺʹáÅÐÃٻẺ¡ÒÃÊ×Í è ÊÒâ ÍÁÙÅ ¶ Ò෠ҡѺ 0 ËÁÒ¶֧ ¡íÒ˹´¤ ÒÍѵÃҺʹ໠¹

2,400 ºÔµµ ÍÇÔ¹Ò·Õ ¶ Ò෠ҡѺ 2 ËÁÒ¶֧ ¡íÒ˹´ÍѵÃҺʹ෠ҡѺ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹áºº 8N1 Timeout ËÁÒ¶֧ ª ǧàÇÅÒÃÍÃѺ¢ ÍÁÙÅ ÁÕ˹ ÇÂà» ¹ÁÔÅÅÔǹ Ô Ò·Õ ¶ ÒËÒ¡ÃÍÃѺ¢ ÍÁÙÅà¡Ô¹àÇÅÒ·Õ¡è Òí ˹´ «Õ¾ÂÕ ¨Ù СÃÐâ´´ä»·íÒ§Ò¹ÂѧµíÒá˹ §·Õ¡è Òí ˹´â´Â Label Qual à» ¹¢ ÍÁÙÅ·Õãè ª à»ÃÕºà·Õº¡Ñº¢ ÍÁÙÅ·ÕÍ è Ò ¹ä´ ¶ ҵç¡Ñ¹ãË ¹Òí ¢ ÍÁÙŵÑǵ Íä»à¡çº·Õµè ÇÑ á»Ã Item SERIN à» ¹¤íÒÊÑ§è § Ò·ÕÊ è ´Ø ã¹¡ÒÃÃѺ¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ÁÒáÊ´§ áµ ¨ÐäÁ ÊÒÁÒöµÃǨÊͺ ¡ÒÃÊ×Íè ÊÒõ Ò§æ ä´ â´Â·íÒä´ à¾Õ§ÃÍÃѺ¢ ÍÁÙÅÀÒÂã¹àÇÅÒ·Õ¡è Òí ˹´à· ҹѹé A1.4.12 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-9 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 ' File : a0109.bas ' Description : Receive serial data from computer by SERIN command @ DEVICE PIC16F877,HS_OSC ' Use DEFINE OSC 20 ' Use DEFINE LCD_DREG PORTD ' Set DEFINE LCD_DBIT 4 ' Set DEFINE LCD_RSREG PORTC ' Set DEFINE LCD_RSBIT 0 ' Set DEFINE LCD_EREG PORTC ' Set DEFINE LCD_EBIT 5 ' Set DEFINE LCD_BITS 4 ' Set DEFINE LCD_LINES 2 ' Set DEFINE LCD_COMMANDUS 2000 ' Set DEFINE LCD_DATAUS 50 ' Set A VAR BYTE LOOP: SERIN PORTC.7,0,["R"],A LCDOUT $FE,$01,A GOTO LOOP

PIC16F877 and HS Oscilator Oscillator 20 MHz LCD Data port starting Data bit (0 or 4) if 4-bit bus LCD Register Select port LCD Register Select bit LCD Enable port LCD Enable bit LCD bus size (4 or 8 bits) number of lines on LCD command delay time in us data delay time in us

¤íÒ͸ԺÒÂà¾ÔÁè àµÔÁ ¡ÒÃÃÍÃѺ¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ´Ç ¤íÒÊѧè SERIN ã¹â»Ãá¡ÃÁ¹Õ¨é Ð㪠µÇÑ ÍÑ¡Éà R à» ¹µÑÇ¡íÒ˹´¡ÒÃàÃÔÁè µ ¹ÃѺ¢ ÍÁÙÅ ¨Ò¡¹Ñ¹é ¨ÐÃѺ¢ ÍÁÙÅ·Õµè ÒÁËÅѧµÑÇÍÑ¡Éà R ÁÒà¡çºäÇ ·µÕè ÇÑ á»Ã A áÅ Ç㪠¤Òí Êѧè LCDOUT à¾×Íè ¹íÒ¢ ÍÁÙÅ ·ÕÃè ºÑ ä´ ÁÒáÊ´§¼Å·Õâè Á´ÙÅ LCD ÊíÒËÃѺ¡ÒáíÒ˹´ Mode 㹤íÒÊѧè SERIN à» ¹ 0 ËÁÒ¤ÇÒÁÇ Ò àÅ×Í¡ãª ÍµÑ ÃҺʹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹áºº 8N1

â»Ãá¡ÃÁ·Õè A1-9 â»Ãá¡ÃÁ·´Åͧ㪠§Ò¹¤íÒÊѧè SERIN à¾×Íè ÃѺ¢ ÍÁÙÅ͹ءÃÁ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÁÒáÊ´§¼Å ·Õâè Á´ÙÅ LCD º¹ºÍà ´ RBX-877


50

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A1.4.13 àª×Íè Áµ ÍÊÒÂÃÐËÇ Ò§ºÍà ´ RBX-877 ¡Ñº¾Íà µÍ¹Ø¡ÃÁ à» ´â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial communication ã¹ Microcode Studio áÅ ÇàÅ×Í¡ÍѵÃҺʹ໠¹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 Í ҧäáçµÒÁÊíÒËÃѺ¡Ò÷´Êͺâ»Ãá¡ÃÁ¤ÃÒǹդé ÇÃàÅ×͡㪠˹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio ¨ÐàËÁÒÐÊÁ¡Ç Ò à¹×Íè §¨Ò¡ÊÒÁÒöáÊ´§¤ Ò·ÕÊè § Í͡仨ҡ¤ÍÁ¾ÔÇàµÍà ãË ¼ãÙ ª §Ò¹àËç¹´ Ç A1.4.14 Ãѹâ»Ãá¡ÃÁ áÅ Ç¡´¤Õº Íà ´à¾×Íè Ê §¢ ÍÁÙÅä»ÂѧºÍà ´ RBX-877 ¼ Ò¹·Ò§ª ͧ Send ã¹Ë¹ Òµ Ò§ Serial Comminication ¢Í§ Microcode Studio ¨Ò¡¹Ñ¹é ¡´»ØÁ Connect Êѧࡵ¡ÒÃáÊ´§¼Å¢Í§âÁ´ÙÅ LCD º¹ºÍà ´ RBX-877 à»ÃÕºà·Õº¡Ñº¤ Ò·Õáè Ê´§º¹Ë¹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio ·ÕËè ¹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio áÊ´§¼Å¡Ò÷íÒ§Ò¹´Ñ§¹Õé

¡ÒÃÃѺ¢ ÍÁÙÅ͹ءÃÁâ´Â㪠¤Òí Êѧè SERIN2 ¤íÒÊѧè SERIN2 »ÃѺ»Ãا¡ÒÃ㪠§Ò¹à¾ÔÁè àµÔÁ¨Ò¡¤íÒÊѧè SERIN â´ÂÊÒÁÒö¡íÒ˹´ÃٻẺ¡ÒÃÃѺ¢ ÍÁÙÅ ä´ ËÅÒÂẺ ÃÇÁ¶Ö§ÊÒÁÒöµÃǨÊͺ¡ÒÃÃѺ¢ ÍÁÙÅä´ ´Ç  ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè ÁÕ´§Ñ ¹Õé SERIN2 DataPin{\FlowPin},Mode,{ParityLabel,} {Timeout,Label,}[Item...] DataPin ¤×Í ¢Ò¾Íà µ·Õãè ª ú Ñ ¢ ÍÁÙÅ ÊíÒËÃѺºÍà ´ RBX-877 㪠¢Ò RC7 (PORTC.7) Mode 㪠¡Òí ˹´ÍѵÃҺʹáÅÐÃٻẺ¡ÒÃÊ×Í è ÊÒâ ÍÁÙÅ ¶ Ò¡íÒ˹´¤ Ò෠ҡѺ 396 ÍѵÃҺʹ෠ҡѺ 2,400

ºÔµµ ÍÇÔ¹Ò·Õ ¶ Ò¡íÒ˹´¤ Ò෠ҡѺ 84 ¨Ðä´ ÍµÑ ÃҺʹ෠ҡѺ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹áºº 8N1 ParityLabel ËÁÒ¶֧ µíÒá˹ §·Õè¡íÒ˹´ãË â»Ãá¡ÃÁ¡ÃÐâ´´ä» àÁ×èÍà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¡Òà µÃǨÊͺ¾ÒÃÔµÕé «Ö§è ¨Ð㪠§Ò¹ä´ àÁ×Íè ÁÕ¡ÒáíÒ˹´ãË Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµàÕé · ҹѹé (ºÔµ 13 ¢Í§ Mode à» ¹ 1 ) Timeout ËÁÒ¶֧ ÃÐÂÐàÇÅÒ㹡ÒÃÃÍÃѺ¢ ÍÁÙÅ â´Â¶ ÒäÁ Á¢ Õ Í ÁÙÅࢠÒÁÒ ãË ¡ÃÐâ´´ä»·íÒ§Ò¹µÒÁ Label ·Õ¡è Òí ˹´ â´Â¤ ÒàÇÅÒ·Õ¡è Òí ˹´ÁÕ˹ ÇÂà» ¹ÁÔÅÅÔÇ¹Ô Ò·Õ Item ËÁÒ¶֧ µÑÇá»Ã 1 µÑÇËÃ×ÍÁÒ¡¡Ç ÒÊíÒËÃѺà¡çº¢ ÍÁÙÅ·Õäè ´ ú Ñ ¨Ò¡¢Ò Datapin ÊÒÁÒö¡íÒ˹´ÃÙ» Ẻ¢Í§µÑÇá»Ãà» ¹áººÍÒà ààà¾×Íè ÃѺ¢ ÍÁÙÅ·ÕÅè ÐËÅÒ æ 亵 ä´


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

51

' File : a0110.bas ' Description : Receive serial data from computer by SERIN2 command @ DEVICE PIC16F877,HS_OSC ' Use PIC16F877 and HS Oscilator DEFINE OSC 20 ' Use Oscillator 20 MHz DEFINE LCD_DREG PORTD ' Set LCD Data port DEFINE LCD_DBIT 4 ' Set data bit start at bit4 in 4-bit mode DEFINE LCD_RSREG PORTC ' Set LCD Register Select port DEFINE LCD_RSBIT 0 ' Set LCD Register Select bit DEFINE LCD_EREG PORTC ' Set LCD Enable port DEFINE LCD_EBIT 5 ' Set LCD Enable bit DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_LINES 2 ' Set number of lines on LCD DEFINE LCD_COMMANDUS 2000 ' Set command delay time in us DEFINE LCD_DATAUS 50 ' Set data delay time in us DAT VAR BYTE[9] LOOP: SERIN2 PORTC.7,396,3000,OUT,[str DAT\9 ] ' Recieve Data 9 bytes save to DAT LCDOUT $FE,$01,STR DAT\9 ' Show data on LCD Module GOTO LOOP ' Again OUT: FREQOUT PORTA.4,100,2000 ' If Timeout, generate sound GOTO LOOP

¤íÒ͸ԺÒÂà¾ÔÁè àµÔÁ ¨Ò¡â»Ãá¡ÃÁà» ¹¡ÒÃÃѺ¢ ÍÁÙŵÑÇÍÑ¡Éà 9 µÑÇࢠÒÁÒà¡çºã¹µÑÇá»Ã DAT «Ö§è à» ¹µÑÇá»ÃẺÍÐàà¨Ò¡¹Ñ¹é ¹íÒ¤ Òä»áÊ´§·Õâè Á´ÙÅ LCD 㹡óշäÕè Á Á¡Õ ÒÃÊ §¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ¹Ò¹à¡Ô¹ 3 ÇÔ¹Ò·Õ ãË ¡ÃÐâ´´ä»·íÒ§Ò¹ ·Õâè »Ãá¡ÃÁ Í OUT Íѹ໠¹â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³àÊÕ§¢ÑºÍÍ¡·Ò§ÅíÒ⾧à¾×Íè àµ×͹¼Ùã ª §Ò¹ãË ÃºÑ ÃÙ

â»Ãá¡ÃÁ·Õè A1-10 â»Ãá¡ÃÁ·´Åͧ㪠§Ò¹¤íÒÊѧè SERIN2 à¾×Íè ÃѺ¢ ÍÁÙÅ͹ءÃÁ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÁÒáÊ´§¼Å ·Õâè Á´ÙÅ LCD º¹ºÍà ´ RBX-877 A1.4.15 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-10 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 A1.4.16 àª×Íè Áµ ÍÊÒÂÃÐËÇ Ò§ºÍà ´ RBX-877 ¡Ñº¾Íà µÍ¹Ø¡ÃÁ à» ´â»Ãá¡ÃÁ Hyper Terminal ËÃ×Í˹ Òµ Ò§ Serial communication ã¹ Microcode Studio áÅ ÇàÅ×Í¡ÍѵÃҺʹ໠¹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 Í ҧäáçµÒÁÊíÒËÃѺ¡Ò÷´Êͺâ»Ãá¡ÃÁ¤ÃÒǹդé ÇÃàÅ×͡㪠˹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio ¨ÐàËÁÒÐÊÁ¡Ç Ò à¹×Íè §¨Ò¡ÊÒÁÒöáÊ´§¤ Ò·ÕÊè § Í͡仨ҡ¤ÍÁ¾ÔÇàµÍà ãË ¼ãÙ ª §Ò¹àËç¹´ Ç A1.4.17 Ãѹâ»Ãá¡ÃÁ áÅ Ç¡´¤Õº Íà ´à¾×Íè Ê §¢ ÍÁÙÅä»ÂѧºÍà ´ RBX-877 ¼ Ò¹·Ò§ª ͧ Send ã¹Ë¹ Òµ Ò§ Serial Comminication ¢Í§ Microcode Studio ¨Ò¡¹Ñ¹é ¡´»ØÁ Connect Êѧࡵ¡ÒÃáÊ´§¼Å¢Í§âÁ´ÙÅ LCD º¹ºÍà ´ RBX-877 à»ÃÕºà·Õº¡Ñº¤ Ò·Õáè Ê´§º¹Ë¹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio ·ÕËè ¹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio áÊ´§¼Å¡Ò÷íÒ§Ò¹´Ñ§ã¹ÃÙ»·Õè A1-8


52

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¼Å·ÕËè ¹ Òµ Ò§ Serial Communication ¼Å·Õâè Á´ÙÅ LCD º¹ºÍà ´ RBX-877

ÃÙ»·Õè A1-8 áÊ´§¼Å¡Ò÷´Åͧ㪠§Ò¹¤íÒÊѧè SERIN2 à¾×Íè ÃѺ¢ ÍÁÙÅ͹ءÃÁ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÁÒáÊ´§¼Å ·Õâè Á´ÙÅ LCD º¹ºÍà ´ RBX-877 ¨Ò¡â»Ãá¡ÃÁ·Õè A1-10 ¡ÒÃÃѺ¢ ÍÁÙÅ͹ءÃÁâ´Â㪠¤Òí Êѧè HSERIN HSERIN à» ¹¤íÒÊѧè ÃѺ¢ ÍÁÙÅ͹ءÃÁ·Õãè ª ¡º Ñ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC «Ö§è ÁÕâÁ´ÙÅÊ×Íè ÊÒÃ͹ءÃÁ UART ËÃ×Í

USART ÍÂÙÀ ÒÂã¹ ¡ ͹㪠§Ò¹¤íÒÊÑ§è ¨Ðµ ͧ¡íÒ˹´¤ ÒàÃÔÁè µ ¹ãË ¡ºÑ âÁ´ÙÅ USART ÀÒÂã¹µÑÇäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ ͹¼ Ò¹·Ò§¤íÒÊѧè DEFINE â´ÂÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé EFINE HSER_RCSTA 90h àÍç¹àÍàºÔÅ¡ÒÃÃѺ¢ ÍÁÙÅ DEFINE HSER_TXSTA 20h àÍç¹àÍàºÔÅ¡ÒÃÊ §¢ ÍÁÙÅ DEFINE HSER_BAUD 2400 ¡íÒ˹´¤ ÒÍѵÃҺʹ ´ ÇÂÇÔ¸¡Õ ÒÃãÊ ¤Ò ÍѵÃҺʹŧä»â´ÂµÃ§ DEFINE HSER_SPBRG 25 ¡íÒ˹´¤ ÒÍѵÃҺʹ¼ Ò¹ÃÕ¨ÊÔ àµÍà SPBRG «Ö§è à» ¹ÃÕ¨ÊÔ àµÍà ÊíÒËÃѺ¡íÒ˹´¤ ÒÍѵÃҺʹ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·ÕÁè âÕ Á´ÙÅÊ×Íè ÊÒÃ͹ءÃÁÍÂÙÀ ÒÂã¹ ÊíÒËÃѺ¢Ò¾Íà µ·Õãè ª ÃºÑ ¢ ÍÁÙŨж١¡íÒ˹´äÇ µÒµÑÇ ¢Ö¹é ÍÂÙ¡ ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC àºÍà ¹¹Ñé æ Ç Ò ¢Ò¾Íà µ·Õãè ª ÃºÑ ¢ ÍÁÙÅ͹ءÃÁ (RxD) ¢Í§âÁ´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁà» ¹¢Òã´ ÊíÒËÃѺ PIC16F877 ¤×Í¢Ò RC7 ÁÕû٠Ẻ¡ÒÃ㪠¤Òí ÊÑ§è ´Ñ§¹Õé HSERIN {ParityLabel,}{Timeout,Label,}[Item{,...}]


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ParityLabel

µÃǨÊͺ¾ÒÃÔµÕé

l

53

ËÁÒ¶֧ µíÒá˹ §·Õè¡íÒ˹´ãË â»Ãá¡ÃÁ¡ÃÐâ´´ä» àÁ×èÍà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¡ÒÃ

Timeout ËÁÒ¶֧ ÃÐÂÐàÇÅÒ㹡ÒÃÃÍÃѺ¢ ÍÁÙÅ â´Â¶ ÒäÁ Á¢ Õ Í ÁÙÅࢠÒÁÒ ãË ¡ÃÐâ´´ä»·íÒ§Ò¹µÒÁ Label

·Õ¡è Òí ˹´ â´Â¤ ÒàÇÅÒ·Õ¡è Òí ˹´ÁÕ˹ ÇÂà» ¹ÁÔÅÅÔÇ¹Ô Ò·Õ Item ËÁÒ¶֧ µÑÇá»Ã 1 µÑÇËÃ×ÍÁÒ¡¡Ç ÒÊíÒËÃѺà¡çº¢ ÍÁÙÅ·Õäè ´ ú Ñ ¨Ò¡¢Ò RxD «Ö§è ¡ç¤Í× ¢Ò¾Íà µ RC7 ÊÒÁÒö¡íÒ˹´ÃٻẺ¢Í§µÑÇá»Ãà» ¹áººÍÒà ààà¾×Íè ÃѺ¢ ÍÁÙŤÃÒÇÅÐËÅÒÂæ 亵 ä´ ¨Ð¾ºÇ Ò¤íÒÊѧè HSERIN ¡Ñº SERIN2 ÁÕ¤ÇÒÁ¤Å Ò¤ÅÖ§¡Ñ¹ ¨Ø´áµ¡µ Ò§¤×Í ¤íÒÊѧè HSERIN ¨Ð㪠§Ò¹ ä´ ¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·ÕÁè âÕ Á´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍÂÙÀ ÒÂã¹à· ҹѹé áÅÐäÁ ÊÒÁÒöà»ÅÕÂè ¹á»Å§¢Ò¾Íà µ ä´ ã¹¢³Ð·Õ¤è Òí Êѧè SERIN2 ÊÒÁÒÃ¶ãª ä´ ¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ã¹Í¹Ø¡ÃÁ 14 ºÔµ¢Ö¹é ä»ä´ ·¡Ø àºÍà äÁ ÇÒ ÀÒÂã¹µÑÇÁѹ¨ÐÁÕâÁ´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍÂÙÀ ÒÂã¹ËÃ×ÍäÁ áµ Í ҧäáçµÒÁ¤íÒÊѧè HSERIN ¨Ð㪠¾¹×é ·ÕËè ¹ ǤÇÒÁ ¨íÒâ»Ãá¡ÃÁ¹ ÍÂ¡Ç Ò ´Ñ§¹Ñ¹é Ëҡ㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC ·ÕÁè âÕ Á´ÙÅÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍÂÙÀ ÒÂ㹤ÇÃàÅ×͡㪠¤íÒÊѧè HSERIN ¨Ðª ÇÂÅ´¢¹Ò´¢Í§â»Ãá¡ÃÁä´ ÁÒ¡¡Ç ÒáÅÐÊдǡ¡Ç Ò A1.4.18 à¢Õ¹â»Ãá¡ÃÁ·Õè A1-11 ·íÒ¡ÒäÍÁä¾Å áÅ Ç´Òǹ âËÅ´ä»ÂѧºÍà ´ RBX-877 ' File : a0111.bas ' Description : Receive serial data from computer by HSERIN command @ DEVICE PIC16F877,HS_OSC DEFINE OSC 20 DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 20h DEFINE HSER_BAUD 2400 DAT VAR BYTE

' ' ' ' '

LOOP:

' Recieve Data 9 Byte Save To DAT

HSERIN [DAT] DAT = DAT + 3 HSEROUT [DAT] GOTO LOOP

Use Use Set Set Set

PIC16F877 and HS Oscilator Oscillator 20 MHz receive register to receiver enabled transmit register to transmitter enabled baud rate

' Send Back To Serial ' Again

¤íÒ͸ԺÒÂà¾ÔÁè àµÔÁ ¨Ò¡â»Ãá¡ÃÁáÊ´§ãË àË繶֧¡ÒÃÃѺ¢ ÍÁÙŨҡ¾Íà µÍ¹Ø¡ÃÁ´ ǤíÒÊѧè HSERIN ¨Ò¡¹Ñ¹é ¹íÒ¤ Ò·Õäè ´ ºÇ¡¢Ö¹é ä»ÍÕ¡ 3 áÅ ÇÊ §¡ÅѺ价վè Íà µÍ¹Ø¡ÃÁÍÕ¡¤Ãѧé à» ¹¡ÒÃáÊ´§ãË àËç¹Ç Ò¢ ÍÁÙÅ·ÕÃè ºÑ à¢ ÒÁÒ¨Ò¡¾Íà µÍ¹Ø¡ÃÁÊÒÁÒö ¹íÒÁÒ¡ÃзíÒ¡Ò÷ҧ¤³ÔµÈÒÊµÃ ä´ ·¹Ñ ·Õ

â»Ãá¡ÃÁ·Õè A1-11 â»Ãá¡ÃÁ·´Åͧ㪠§Ò¹¤íÒÊѧè HSERIN à¾×Íè ÃѺ¢ ÍÁÙÅ͹ءÃÁ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÁÒ»ÃѺ»Ãا ¤ Ò´ Ç¡Ãкǹ¡Ò÷ҧ¤³ÔµÈÒʵà áÅ ÇÊ §¡ÅѺä»Âѧ¤ÍÁ¾ÔÇàµÍà à¾×èÍáÊ´§¼ÅÂѧ˹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio


54

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A1.4.19 àª×Íè Áµ ÍÊÒÂÃÐËÇ Ò§ºÍà ´ RBX-877 ¡Ñº¾Íà µÍ¹Ø¡ÃÁ à» ´â»Ãá¡ÃÁ˹ Òµ Ò§ Serial communication ã¹ Microcode Studio áÅ ÇàÅ×Í¡ÍѵÃҺʹ໠¹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ ÃٻẺ¢ ÍÁÙÅà» ¹ 8N1 A1.4.20 Ãѹâ»Ãá¡ÃÁ áÅ Ç¡´¤Õº Íà ´à¾×Íè Ê §¢ ÍÁÙÅä»ÂѧºÍà ´ RBX-877 ¼ Ò¹·Ò§ª ͧ Send ã¹Ë¹ Òµ Ò§ Serial Comminication ¢Í§ Microcode Studio ¨Ò¡¹Ñ¹é ¡´»ØÁ Connect Êѧࡵ¼Å¡Ò÷íҧҹ㹪 ͧ Receive ¢Í§Ë¹ Ò µ Ò§ Serial Communication ËÅѧ¨Ò¡Ê §¢ ÍÁÙÅÍÍ¡ä» ·ÕËè ¹ Òµ Ò§ Serial Communication ¢Í§ Microcode Studio áÊ´§¼Å¡Ò÷íÒ§Ò¹´Ñ§ã¹ÃÙ»

¢ ÍÁÙÅ·ÕÊè § ÍÍ¡ä»

¢ ÍÁÙÅ·ÕÃè ºÑ ¡ÅѺÁÒ ¨ÐÁÕ¤Ò à· Ò¡Ñº ¢ ÍÁÙÅ·ÕÊè § +3 ઠ¹ Ê §ÃËÑÊáÍÊ¡Õé ¢Í§àÅ¢ 1 ¤×Í 21h ¤ Ò·ÕÃè ºÑ ¡ÅѺÁÒ ¤×Í 24h «Ö§è µÃ§¡ÑºÃËÑÊáÍÊ¡Õ¢é ͧ àÅ¢ 4


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

55

º··Õè 3

Êà ҧËع ¹µ Robo-PICA ÁÒ¶Ö§º·¹Õàé » ¹¡ÒùíÒàʹ͡ÒÃÊà ҧËع ¹µ Robo-PICA Íѹ໠¹Ëع ¹µ 굄 â¹Áѵ¢Ô ¹Ò´àÅç¡ ·Õ¤è Ǻ¤ØÁ¡Ò÷íÒ§Ò¹´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 â´Â¨ÐẠ§ÍÍ¡à» ¹ 2 ª ǧ¤×Í á¹Ð¹íÒ ¡ÒûÃСͺªØ´à¿ ͧ¢Ñºã¹ª ǧáá áÅлÃСͺµÑÇËع ¹µ 㹪 ǧ·ÕÊè ͧ Ëع ¹µ Robo-PICA ·ÕÊè à ҧ ¢Ö¹é 㹺·¹ÕÂé §Ñ à» ¹Ëع ¹µ ¾¹×é °Ò¹·ÕÂè §Ñ äÁ Á¡Õ ÒõԴµ ͡ѺÍØ»¡Ã³ µÃǨ¨Ñºã´æ ´Ñ§¹Ñ¹é ¡ÒäǺ¤ØÁ¡Òà à¤Å×Íè ¹·Õ·è §Ñé ËÁ´¨Ö§à» ¹¡ÒäǺ¤ØÁáÅеѴÊԹ㨨ҡâ»Ãá¡ÃÁ·Õºè ÃèØäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·§Ñé ÊÔ¹é «Ö§è ¨Ðä´ ¡Å ÒǶ֧¡ÒâѺà¤Å×Íè ¹Ëع ¹µ Robo-PICA ¢Ñ¹é µ ¹ã¹º··Õè 4 Robo-PICA PIC16F877(A) mobile robot

¢Ñºà¤Å×Íè ¹´ ÇÂ࿠ͧ¢ÑºÁÍàµÍà ¤áÙ ÅЪشŠÍÊÒ¾ҹ l ¤Çº¤ØÁ´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877(A) â»Ãá¡ÃÁä´ ã¹µÑÇ l ÊÒÁÒöµÔ´µÑ§é ἧǧ¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàôà¾×Íè µÃǨ¨ÑºàÊ ¹, ἧǧ¨ÃÊÇÔµª µÃǨ¨Ñº¡Òê¹, ἧǧ¨ÃÃѺáʧÍÔ¹¿ÃÒàôà¾×Íè ¤Çº¤ØÁ¨Ò¡ÃÐÂÐä¡Å, ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶ØẺÍÔ¹¿ÃÒàôà¾×Íè ËźËÅÕ¡ ÊÔ§è ¡Õ´¢ÇÒ§áÅÐἧǧ¨ÃµÃǨ¨Ñº¤Å×¹è ÍÑŵÃÒ⫹ԡà¾×Íè ÇÑ´ÃÐÂзҧáÅÐËźËÅÕ¡ÊÔ§è ¡Õ´¢ÇҧẺäÁ ÊÁÑ ¼ÑÊ l ÁÕâÁ´ÙÅ LCD ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷ѴáÅÐ LED ÊíÒËÃѺáÊ´§¼Å¡Ò÷íÒ§Ò¹ l


56

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¡Ô¨¡ÃÃÁ·Õè 2

»ÃСͺŠÍÊÒ¾ҹáÅÐâ¤Ã§ËØ ¹Â¹µ Š͢ѺÊÒ¾ҹãË­ x 2 Å Í»ÃФͧÊÒ¾ҹãË­ x 2 ´ØÁÅ Í»ÃФͧ x 8 Ê¡ÃÙ 3x6 ÁÁ. x 3 Å Í»ÃФͧÊÒ¾ҹ¡ÅÒ§ x 6 Ê¡ÃÙà¡ÅÕÂǻŠÍ 2 ÁÁ. x 2

àÊÒ¾ÅÒʵԡ ËÅÒ¢¹Ò´

ªØ´µ ÍÊÒ¾ҹ x 2 Ê¡ÃÙ 3x10 ÁÁ. x 16

ÁÍàµÍÃ ä ¿µÃ§ ¾Ã Í Áà¿ Í §¢Ñ º à´ÕÂè Ç x 2

Ê¡ÃÙ 3x25 ÁÁ. x 3 ¹Íµ 3 ÁÁ. x 20 ᡹¡ÅÁ x 4 ªÔ¹é µ ÍÁØÁ©Ò¡,á¹ÇµÃ§áÅÐÁØÁ» Ò¹ x 60 RBX-877 ἧǧ¨ÃäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 x 1 á¼ ¹°Ò¹ x 1 ©Ò¡ÂÖ´Å Í»ÃФͧẺÊѹé x 2 ¡ÐºÐ¶ Ò¹ AA 4 ¡ ͹ ¾Ã ÍÁÊÒµ ÍáÅÐẵàµÍÃÕè 1 ªØ´ ©Ò¡ÂÖ´Å Í»ÃФͧ (ẵàµÍÃÕµè Í §¨Ñ´ËÒà¾ÔÁè àµÔÁ) ẺÂÒÇ x 2

âÁ´ÙÅ LCD 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ ẺÁÕä¿Ê ͧËÅѧ ἧǧ¨ÃµÃǨ¨Ñºáʧ Êз ͹ÍÔ¹¿ÃÒàô x 2

ÃÙ»·Õè A2-1 áÊ´§ÍØ»¡Ã³ ÊÒí ËÃѺÊà ҧŠÍÊÒ¾ҹáÅÐâ¤Ã§¢Í§Ëع ¹µ Robo-PICA


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

57

A2.1 àÃÔÁè µ ¹´ Ç¡ÒûÃСͺÊÒ¾ҹ¨íҹǹÊͧàÊ ¹ â´ÂÊÒ¾ҹ 1 àÊ ¹»ÃСͺ仴 Ç ÊÒ¾ҹ 30 ¢ ͵ Í 1 àÊ ¹, ÊÒ¾ҹ 10 ¢ ͵ Í 1 àÊ ¹ áÅÐÊÒ¾ҹ 8 ¢ ͵ Í 2 àÊ ¹ (¶ Ò»ÃСͺàÊÃç¨àÃÕºà ÍÂÊÒ¾ҹµÖ§ËÃ×ÍË ͹ à¡Ô¹ä» ÊÒÁÒö»ÃѺµíÒá˹ §¡ÒÃÂÖ´¢Í§Å Í»ÃФͧ à¾×Íè ãË ¾Í´Õ¡ºÑ ¤ÇÒÁÂÒǢͧÊÒÂ¾Ò¹ä´ ) ÊÒ¾ҹ 30 ¢ ͵ Í x 1

ÊÒ¾ҹ 10 ¢ ͵ Í x 1

ÊÒ¾ҹ 8 ¢ ͵ Í x 2

A2.2 ¹íÒ»ÅÒÂÊÒ¾ҹ 30 ¢ ͵ ÍàÊÕºࢠҡѺ»ÅÒ´ Ò¹Ë¹Ö§è ¢Í§ÊÒ¾ҹ 10 ¢ ͵ Í ¨Ò¡¹Ñ¹é ¹íÒ»ÅÒÂÍÕ¡´ Ò¹ ¢Í§ÊÒ¾ҹ 10 ¢ ͵ ÍàÊÕºࢠҡѺ»ÅÒÂÊÒ¾ҹ 8 ¢ ͵ Í ¹íÒ»ÅÒÂÍÕ¡´ Ò¹¢Í§ÊÒ¾ҹ 8 ¢ ͵ ÍàÊÕºࢠҡѺ »ÅÒÂÊÒ¾ҹ 8 ¢ ͵ ÍàÊ ¹·ÕÊè ͧ ÊØ´· Ò¹íÒ»ÅÒ´ Ò¹·Õàè ËÅ×ͧ͢ÊÒ¾ҹ 8 ¢ ͵ ÍàÊ ¹·ÕÊè ͧàÊÕº ͹¡Ñºä» ·ÕÊè Ò¾ҹ 30 ¢ ͵ Í ¨Ðä´ ÅÍ ÊÒ¾ҹ·ÕÊè ÁºÙó ãË ·Òí àËÁ×͹¡Ñ¹ 2 ªØ´

¡ÒÃÊà ҧŠÍÊÒ¾ҹ¨Ò¡¡Òõ ÍÊÒ¾ҹËÅÒÂæ µÑÇࢠҴ Ç¡ѹ ÁըشÁØ §ËÁÒµ ͧ¡ÒÃãË ¼Ù Êà ҧ ÊÒÁÒö»ÃѺᵠ§¤ÇÒÁÂÒǢͧÊÒÂ¾Ò¹ä´ ËÅÒ¢¹Ò´´ ǵ¹àͧ Ëع ¹µ ·ÊÕè à ҧ¢Ö¹é äÁ ¨Òí à» ¹µ ͧ ÁÕ¢¹Ò´¢Í§Å ÍÊÒ¾ҹµÒÁ·ÕÃè кØàÊÁÍä» A2.3 ¹íҪش࿠ͧÁÍàµÍÃ Â´Ö à¢ Ò¡Ñºá¼ ¹°Ò¹ ¨Ò¡¹Ñ¹é à ÍÂÊ¡ÃÙ 3x10 ÁÁ.áÅÐÊ¡ÃÙ 3x6 ÁÁ.µÒÁµíÒá˹ §·ÕÃè кØã¹ ÃÙ» ¨ÐàËç¹Ç ÒÂÖ´à¾Õ§ 3 ¨Ø´ à¹×Íè §¨Ò¡¨Ðµ ͧàËÅ×ÍäÇ Ê Òí ËÃѺµÔ´µÑ§é ©Ò¡ÂÖ´Å Í»ÃФͧẺÂÒÇ


58

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A2.4 ¹íÒŠ͢ѺÊÒ¾ҹËÅÑ¡àÊÕºࢠҡѺ᡹ËÁع¢Í§ÁÍàµÍà ¨Ò¡¹Ñ¹é 㪠ʡÃÙà¡ÅÕÂǻŠÍ 2 ÁÁ.¢Ñ¹ÂÖ´ãË á¹ ¹ ·íÒઠ¹¹Õ·é §Ñé Êͧ¢ Ò§

A2.5 ¹íÒ©Ò¡ÂÖ´Å ÍÂÒÇÂÖ´¡Ñºá¼ ¹°Ò¹´ ÇÂÊ¡ÃÙ 3x10 ÁÁ. â´Â¢Ñ¹ÂִࢠÒä»ã¹ÃÙ嫅 ÁÍàµÍà ·àÕè ËÅ×ÍÍÂÙÍ ¡Õ µíÒá˹ § Ë¹Ö§è ¨Ò¡¢Ñ¹é ¨Í¹·Õè A2.3 Ê Ç¹ÍÕ¡´ ҹ˹֧è ãË ÃÍ ÂÊ¡ÃÙ 3x10 ÁÁ. ¨Ò¡´ Ò¹º¹áÅТѹÂÖ´´ ǹ͵ 3 ÁÁ.´Ñ§ã¹ÃÙ»

A2.6 ¹íÒ©Ò¡ÂÖ´Å ÍÊѹé ÂִࢠҡѺἠ¹°Ò¹ã¹ÍÕ¡´ Ò¹µÃ§¢ ÒÁ¡Ñº´ Ò¹·Õµè ´Ô µÑ§é ÁÍàµÍà â´Â¹ÑºÃÙ¨Ò¡ÃÔÁÊشࢠÒÁÒ 4 ÃÙà¨ÒÐ ´Ñ§ã¹ÃÙ» ¨Ò¡¹Ñ¹é 㪠ʡÃÙ 3x10 ÁÁ. ¢Ñ¹ÂÖ´©Ò¡ãË á¹ ¹´ ǹ͵ 3 ÁÁ. ·íÒઠ¹¹Õ·é §Ñé Êͧ´ Ò¹ ¨Ò¡¹Ñ¹é ¹íÒÊÍ´ ᡹âÅËСÅÁࢠÒä»ã¹©Ò¡ÂÖ´á¡¹Å Í áŠǹíÒÅ Í»ÃФͧÊÒ¾ҹãË­ àÊÕºࢠҷջè ÅÒ¢ͧ᡹âÅËзѧé Êͧ¢ Ò§ Å Í»ÃФͧãË­ ᡹¡ÅÁ ´ØÁÅ Í


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

59

A2.7 Êʹ᡹âÅËзѧé 3 àÊ ¹à¢ Òä»ã¹Ã٢ͧ©Ò¡Âִ᡹ŠÍÂÒÇã¹µíÒá˹ §·Õè 1, 4 áÅÐ 7 (¹Ñº¨Ò¡´ ҹ㴡çä´ ) áŠǹíÒÅ Í»ÃФͧÊÒ¾ҹ¡ÅÒ§µÔ´µÑ§é ࢠҷջè ÅÒ·ѧé Êͧ¢ Ò§¢Í§á¡¹âÅËзѧé 3 àÊ ¹ » ´´ Ç´ØÁÅ Íà¾×Íè ãË á¹ ¹ Å Í»ÃФͧ¢¹Ò´¡ÅÒ§

᡹âÅËСÅÁ

´ØÁÅ Í

A2.8 ¹íÒἧǧ¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàôà Í´ ÇÂÊ¡ÃÙ 3x15 ÁÁ. áÅ Ç㪠àÊÒÃͧ¾ÅÒʵԡ 3 ÁÁ. ¨íҹǹ ÊͧµÑÇà ÍÂࢠÒÍÕ¡ÍÕ¡´ Ò¹¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô ·íÒàËÁ×͹¡Ñ¹ÊͧªØ´ ¨Ò¡¹Ñ¹é ÂִࢠҡѺ°Ò¹ ´ ҹŠҧ¢Í§Ëع ¹µ ºÃÔàdz´ ҹ˹ Ò (½ § µÃ§¢ ÒÁ¡Ñº·Õµè ´Ô µÑ§é ÁÍàµÍà ) â´ÂÁÕÃÐÂÐË Ò§ÃÐËÇ Ò§á¼§Ç§¨ÃµÃǨ¨Ñº ·Ñ§é Êͧ»ÃÐÁÒ³ 3 ¶Ö§ 4 «Á. ¢Ñ¹ÂÖ´ãË á¹ ¹´ ǹ͵ 3 ÁÁ. ÊѧࡵÃÐÂÐË Ò§¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºáʧÊз ͹ ÍÔ¹¿ÃÒàô¡Ñº¾×¹é »ÃÐÁÒ³ 5 ÁÁ.

A2.9 ¹íҡкж ҹà Í´ ÇÂÊ¡ÃÙ 3x25 ÁÁ. ÊͧµÑÇ ÊíÒËÃѺ»ÅÒÂÍÕ¡´ Ò¹¢Í§Ê¡ÃÙãË ÊÇÁàÊÒÃͧ¾ÅÒʵԡ 15 ÁÁ. ¨Ò¡¹Ñ¹é ¹íҡкж Ò¹ÂִࢠҡѺἠ¹°Ò¹¢Í§Ëع ¹µ â´ÂËѹ´ Ò¹¢ÑÇé µ ÍÊÒÂä»Âѧ·ÔÈ·Ò§à´ÕÂǡѺÁÍàµÍà à¹×Íè §¨Ò¡ µíÒá˹ §¨Ø´µ ͧ͢ÁÍàµÍà áÅÐẵàµÍÃÕÍè ÂÙã ¡Å ¡¹Ñ ¢Ñ¹ãË á¹ ¹´ ǹ͵ 3 ÁÁ.


60

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A2.10 ¹ÓªÔ¹é µèÍÁØÁ©Ò¡ÂÖ´à¢éÒ·Õ´è Òé ¹Ë¹éÒ 2 ¨Ø´áÅдéÒ¹ËÅѧ¢Í§á¼è¹°Ò¹ã¹µÓá˹觹͡ÊØ´ â´ÂãªéÊ¡ÃÙ 3x10 ÁÁ. ¡Ñº¹Íµ 3 ÁÁ. ¢Ñ¹ÂÖ´ãË á¹ ¹´Ñ§ã¹ÃÙ» â´ÂµíÒá˹ §·ÕÂè ´Ö ·Ñ§é 3 µíÒá˹ §¹Ñ¹é ¨ÐÊÑÁ¾Ñ¹¸ ¡ºÑ µíÒá˹ §ÃÙ嫅 ¢Í§ ºÍà ´ RBX-877 ¨Ò¡¹Ñ¹é µ ÍªÔ¹é µ Íá¹ÇµÃ§à¢ ҡѺ»ÅÒ¢ͧªÔ¹é µ ÍÁØÁ©Ò¡à¾×Íè ÃÍ¡ÒÃÂÖ´»ÃСººÍà ´ RBX-877 µ Íä» ´ Ò¹ËÅѧ¢Í§â¤Ã§ËØ ¹Â¹µ ´ ҹ˹ Ңͧâ¤Ã§ËØ ¹Â¹µ

ªÔ¹é µ ÍÁØÁ©Ò¡

ªÔ¹é µ ÍÁØÁ©Ò¡

A2.11 ¹íÒªÔ¹é µ ÍÁØÁ©Ò¡ÂִࢠҡѺºÍà ´ RBX-877 ã¹µíÒá˹ § ·Õµè ç¡ÑºªÔ¹é µ ÍÁØÁ©Ò¡·ÕÂè ´Ö ¡Ñºâ¤Ã§Ëع ¹µ ã¹¢Ñ¹é µÍ¹·Õè A2.10 â´Â㪠ʡÃÙ 3x10 ÁÁ.¡Ñº¹Íµ 3 ÁÁ. A2.12 ¹íÒẵàµÍÃÕè AA 4 ¡ ͹ºÃèØŧ㹡кж Ò¹ áÅ Ç» ´ ½Ò¡ÐºÐ¶ Ò¹ ¨Ò¡¹Ñ¹é ¨Ö§¹íÒºÍà ´ RBX-877 ·Õµè ´Ô µÑ§é ªÔ¹é µ ÍÁØÁ©Ò¡ áÅ Ç ÁÒ»ÃСºà¢ ҡѺâ¤Ã§Ëع ¹µ ·äÕè ´ ¨Ò¡¢Ñ¹é µÍ¹·Õè A2.10 â´Â »ÅÒ¢ͧªÔ¹é µ ÍÁØÁ©Ò¡·Õºè Íà ´ RBX-877 ¨Ðµ ÍáࢠһÅÒ¢ͧ ªÔ¹é µ Íá¹ÇµÃ§·Õâè ¤Ã§Ëع ¹µ ¾Í´Õ ´ Ç¡ÒÃÊà ҧẺ¹Õ¨é Ъ ÇÂãË ¶Í´ºÍà ´ RBX-877 ÍÍ¡ä´ ÊдǡàÁ×Íè ÁÕ¤ÇÒÁµ ͧ¡ÒÃà»ÅÕÂè ¹ ẵàµÍÃÕè A2.12 àÊÕº¢ÑÇé ¢Í§ÁÍàµÍÃ à¢ Ò·Õ¨è ´Ø µ Í¢ÑÇé ÁÍàµÍà M-1 áÅÐ M-2 â´ÂÊÒÁÒöÊÅѺµíÒá˹ §¡ÒÃàÊÕº¢ÑÇé ÁÍàµÍà à¾×Íè ¡íÒ˹´ ·ÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà ãË ¶Ù¡µ Í§ä´ «Öè§ÊÒÁÒö»ÃѺᵠ§ ãËÁ ä´ ã¹¡Ô¨¡ÃÃÁ¢Ñºà¤Å×Íè ¹Ëع ¹µ ÊíÒËÃѺÊÒ¨ҡ¡ÐºÐ¶ Ò¹ ¹Ñ¹é ãË àÊÕºࢠҡѺ¨Ø´µ Í 4.8-6V ã¹µíÒá˹ §ã¡Å ¡ºÑ ÊÇÔµª »´ à» ´ ¨Ñ´ÊÒÂàª×èÍÁµ Í·Ñé§ËÁ´ãË àÃÕºà Í A2.13 ¹íÒÊÒ¾ҹ·Õ»è ÃСͺäÇ áÅ Çã¹¢Ñ¹é µÍ¹¡ ͹˹ Ò¹Õ¤é Šͧ ࢠҡѺŠ͢Ѻà¤Å×Íè ¹áÅÐÅ Í»ÃФͧ A2.14 ¹íÒÊÒµ ͨҡἧǧ¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹àÊÕºࢠҡѺ µíÒá˹ § RA0 áÅÐ RA1 ¢Í§ºÍà ´ RBX-877 à» ¹¡ÒÃàÊÃç¨ÊÔ¹é ¡ÒÃÊà ҧËع ¹µ Robo-PICA

ªÔ¹é µ Íá¹ÇµÃ§


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

61

º··Õè 4

¡ÒäǺ¤ØÁËØ ¹Â¹µ àº×éͧµ ¹

ÊÔ§è áá·Õ·è Òí ãË ÃÇÙ Ò ÊÒÁÒö¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ëع ¹µ ä´ ¤Í× ¡ÒáíÒ˹´ãË Ë¹Ø Â¹µ à¤Å×Íè ¹ ·Õäè »ã¹·ÔÈ·Ò§·Õµè Í §¡ÒÃä´ ´Ñ§¹Ñ¹é Ê Ç¹áá·Õµè Í §·íÒ¤ÇÒÁࢠÒ㨤×Í Ê Ç¹¢Í§¡ÒâѺà¤Å×Íè ¹ «Ö§è ËÑÇ㨠ÊíҤѭ¤×Í Ç§¨Ã¢ÑºÁÍàµÍà ã¹ËØ ¹Â¹µ Robo-PICA 㪠ÁÍàµÍà 俵ç·íҧҹà ÇÁ¡ÑºªØ´à¿ ͧ㹡ÒâѺà¤Å×è͹ ÍØ»¡Ã³ ËÅÑ¡·Õãè ª ã¹Ç§¨Ã¢ÑºÁÍàµÍà 俵ç¤×Í äÍ«ÕàºÍà L293D «Ö§è ÊÒÁÒö¢ÑºÁÍàµÍÃ ä¿µÃ§ä´ 2 µÑÇ â´Â 㪠¢Ò¤Çº¤ØÁ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ·Ñ§é ËÁ´ 6 ¢Ò äÍ«Õ L293D ÁÕ¤³ Ø ÊÁºÑµ·Ô ¹Õè Ò Ê¹ã¨ ´Ñ§¹Õé l

¨ Ò¡ÃÐáʢѺÁÍàµÍà 俵çã¹áµ ÅЪ Í§ä´ µÍ à¹×Íè § 600mA

l ¨ Ò¡ÃÐáÊÊÙ§Êش㹪 ǧÊѹ é æ ä´ 1.2A ã¹áµ ÅЪ ͧ l

ÁÕǧ¨Ã» ͧ¡Ñ¹ÍسËÀÙÁÔÊÙ§à¡Ô¹¡Ç Ò¤ Ò·Õè¡íÒ˹´

l

·¹µ ÍÊÑ­­Ò³Ãº¡Ç¹ä´ ´Õ

l

¡íÒ˹´Åͨԡ 0 «Ö§è 㪠㹡ÒäǺ¤ØÁä´ µ§Ñé áµ áç´Ñ¹ 1.5V ŧÁÒ¶Ö§ 0V

l

ÁÕä´âÍ´» ͧ¡Ñ¹¡ÃÐáÊ ͹¡ÅѺ¨Ò¡ÁÍàµÍà µ ÍäÇ ÀÒÂã¹

ÃٻẺ¡ÒâѺÁÍàµÍà 俵çãË ·Òí §Ò¹ÁÕ 4 ÃٻẺ¤×Í 1. ¢ÑºãË ÁÍàµÍà ËÁعµÒÁà¢çÁ¹ÒÌ ¡Ò 2. ¢ÑºãË ÁÍàµÍà ËÁع·Ç¹à¢çÁ¹ÒÌ ¡Ò 3. »Å ÍÂ᡹ÁÍàµÍà ÍÊÔ ÃÐ 4. Åç͡᡹ÁÍàµÍà ¡ÒäǺ¤ØÁÁÍàµÍà ·Ñé§ËÁ´¢Í§äÍ«Õ L293D ä´ ÃѺ¡ÒáíÒ˹´¨Ò¡ÊÑ­­Ò³Åͨԡ ´Ñ§áÊ´§ ÃÒÂÅÐàÍÕ´㹵ÒÃÒ§·Õè 4-1


62

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¢Ò 12EN/34EN

¢Ò 1A/3A

¢Ò 2A/4A

¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍÃ

0

X

X

1

0

0

1

0

1

1

1

0

1

1

1

᡹ÁÍàµÍà ໠¹ÍÔÊÃР᡹ÁÍàµÍà ¶Ù¡ÅçÍ¡ ÁÍàµÍà ËÁعµÒÁà¢çÁ¹ÒÌÔ¡Ò ÁÍàµÍà ËÁع·Ç¹à¢çÁ¹ÒÌÔ¡Ò á¡¹ÁÍàµÍà ¶Ù¡ÅçÍ¡

X ËÁÒ¶֧ à» ¹Åͨԡ "0" ËÃ×Í "1" ¡çä´

µÒÃÒ§·Õè 4-1 áÊ´§¡Òû ͹Åͨԡà¾×Íè ¡íÒ˹´·ÔÈ·Ò§¢Í§ÁÍàµÍà ÊíÒËÃѺǧ¨Ãµ Í㪠§Ò¹¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ¹Ñ¹é áÊ´§´Ñ§ÃÙ»·Õè 4-1 «Ö§è à» ¹ ǧ¨Ãà´ÕÂǡѺ·Õãè ª 㹺Íà ´ RBX-877 ÁÍàµÍà A ¤Çº¤ØÁ·ÔÈ·Ò§ä´ ¨Ò¡¢Ò¾Íà µ RD0 áÅÐ¢Ò RD1 â´ÂàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã¢ÑºÁÍàµÍà µÇÑ ¹Õ¨é Ò¡¢Ò¾Íà µ RC2 Ê Ç¹ÁÍàµÍà B ¤Çº¤ØÁ·ÔÈ·Ò§ ä´ ¨Ò¡¢Ò¾Íà µ RD2 áÅÐ RD3 â´ÂàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã¢ÑºÁÍàµÍà B ´ Ç¢ҾÍà µ RC1 ÊíÒËÃѺàÍÒµ ¾µØ ¢Í§äÍ«Õ L293D «Ö§è µ ͧµ ÍࢠҡѺÁÍàµÍà ¹¹Ñé ¨ÐÁÕ LED áÊ´§¢ÑÇé ¢Í§áç´Ñ¹àÍÒµ ¾Øµ·Õ¨è Ò ÂãË á¡ ÁÍàµÍà â´Â LED ·Õãè ª à» ¹ LED ÊͧÊÕ áÊ´§ÊÕá´§áÅÐà¢ÕÂÇ ¶ ÒËÒ¡àÍÒµ ¾µØ ÁÕ¡Òè Ò áç´Ñ¹ãË µÃ§¢ÑÇé LED ¨ÐáÊ´§à» ¹ÊÕà¢ÕÂÇ áÅж Ò¡ÅѺ¢ÑÇé ¨Ðà» ¹ÊÕá´§ ¨Ö§¾Í·Õ¨è Ðãª Ê·Õ àÕè ¡Ô´¢Ö¹é ¹Õáé Ê´§ ·ÔÈ·Ò§¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍÃ ä´ â´Â㪠ÊàÕ ¢ÕÂÇáÊ´§¡ÒáíÒ˹´ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò Ê Ç¹ ÊÕá´§áÊ´§¡Ò÷ÕËè ¹Ø Â¹µ à¤Å×Íè ¹·Õäè »´ Ò¹ËÅѧ ÊíÒËÃѺ¨Ø´µ ÍÁÍàµÍà ÁÕ 2 ¨Ø´ ¡íÒ˹´à» ¹ DIRECT áÅÐ INVERT ÊÒÁÒö¡ÅѺÊÒ¢ͧÁÍàµÍÃ ä´ à¾×Íè ¡íÒ˹´·ÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà ãË ¶¡Ù µ ͧ J9A-J9B MOTOR-A +5V +Vm

IC4 PIC16F877

16 RD0 RD1

19

2

20

7 2A

RC2/CCP1 17 RD2 RD3 RC1/CCP2

1

1A

8

Vcc1

1Y 3

IC6 6 L293D 2Y

12EN

21

15 4A

22

10

16

9

C15 0.1/63V

4Y 3Y

14

+ +

R21 1k

DIRECT LED6 DIR. #A

LED7 DIR. #B

11 R22 1k

3A 34EN

13 12 5

INVERT

4

C16 0.1/63V J10A-J10B MOTOR-B

ÃÙ»·Õè 4-1 áÊ´§Ç§¨Ã¢ÑºÁÍàµÍà ¢Í§ºÍà ´ RBX-877

INVERT

+ + DIRECT

áÊ´§µíÒá˹ §¢Í§¢Ñéǵ Í ÁÍàµÍà áÅÐ LED ·Õãè ª áÊ´§ ¢ÑÇé ¢Í§áç´Ñ¹·Õ¨è Ò ÂãË á¡ ÁÍàµÍà º¹ºÍà ´ RBX-877 «Öè§ãª ¡íÒ˹´·ÔÈ·Ò§¡Òà ËÁع¢Í§ÁÍàµÍà ä´


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

63

¡Ô¨¡ÃÃÁ·Õè 3

µÃǨÊͺ·ÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà A3.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹«Íà Êâ»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ ´Ñ§ã¹â»Ãá¡ÃÁ·Õè P3-1 A3.2 µ ÍÊÒ´Òǹ âËÅ´¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»ÂѧËع ¹µ à» ´ÊÇÔµª ¨Ò Âä¿ ¡´ÊÇÔµª MODE àÅ×Í¡âËÁ´â»Ãá¡ÃÁ ËÃ×Í¡´»ØÁ F10 à¾×Íè Ê §â»Ãá¡ÃÁä»ÂѧËع ¹µ Robo-PICA (LED ÊÕá´§µÔ´ÊÇ Ò§) ¨Ò¡¹Ñ¹é ¡´»ØÁ '*********************************************************** '* Name : P0301.BAS * '* Notes : Test Direction of Motor * '*********************************************************** @ DEVICE PIC16F877,HS_OSC ; used PIC16F877 DEFINE OSC 20 ; Oscillator = 20 MHz LOOP: ;***** Motor Free *************** FREQOUT PORTA.4,200,2000 ; Beep ;..... Motor A ......... LOW PORTC.2 ; Disable Motor A LOW PORTD.0 LOW PORTD.1 ;..... Motor B ......... LOW PORTC.1 ; Disable Motor B LOW PORTD.2 LOW PORTD.3 PAUSE 5000 ; Delay 5 Second ;***** Motor Lock *************** FREQOUT PORTA.4,200,2000 ; ;..... Motor A ......... HIGH PORTC.2 ; ;..... Motor B ......... HIGH PORTC.1 ; PAUSE 5000 ;

Beep Enable Motor A Enable Motor B Delay 5 Second

;***** Motor Forward ************ FREQOUT PORTA.4,200,2000 ; Beep ;..... Motor A ......... LOW PORTD.0 HIGH PORTD.1 ;..... Motor B ......... HIGH PORTD.2 LOW PORTD.3 PAUSE 5000 ; Delay 5 Second ;***** Motor Backword *********** FREQOUT PORTA.4,200,2000 ; Beep ;..... Motor A ......... HIGH PORTD.0 LOW PORTD.1 ;..... Motor B ......... LOW PORTD.2 HIGH PORTD.3 PAUSE 5000 ; Delay 5 Second GOTO LOOP

â»Ãá¡ÃÁ·Õè P3-1 â»Ãá¡ÃÁ·´Åͧ¢ÑºÁÍàµÍà ã¹ÃٻẺµ Ò§æ ¢Í§Ëع ¹µ Robo-PICA


64

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A3.3 ·íÒ¡ÒÃà»ÅÕÂè ¹âËÁ´à» ¹âËÁ´Ãѹ (LED ÊÕà¢ÕÂǵԴÊÇ Ò§) ´Ù¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ«Ö§è ͸ԺÒÂä´ ´§Ñ ¹Õé Ê Ç¹áá ¡íÒ˹´ãË ¢Ò·Õãè ª ¤Çº¤ØÁÁÍàµÍà ·§Ñé ËÁ´à» ¹Åͨԡ 0 ·íÒãË äÁ Á¡Õ Òû ͹áç´Ñ¹ä»ÂѧÁÍàµÍà ·Ñ§é ÊͧµÑÇ á¡¹ÁÍàµÍà ·§Ñé ÊͧµÑÇà» ¹ÍÔÊÃÐ Ê Ç¹·Õè 2 ¡íÒ˹´ãË àÍç¹àÍàºÔÅǧ¨Ã¢ÑºÁÍàµÍà ·§Ñé ÊͧµÑÇ â´Â¡íÒ˹´ãË ÁÅÕ Í¨Ô¡ 1 Ê Ç¹¢Ò·Õãè ª ¢ºÑ ÁÍàµÍà Âѧ¤§ÁÕÅͨԡ 0 ઠ¹à´ÔÁ ·íÒãË ¢ÇÑé ¢Í§ÁÍàµÍà ·§Ñé Êͧ¢ÑÇé ä´ ÃºÑ ä¿Åº·Ñ§é ¤Ù ᡹¢Í§ÁÍàµÍà ¨Ð¶Ù¡ÅçÍ¡ Ê Ç¹·Õè 3 ¡íÒ˹´ãË ÁÍàµÍà ËÁع仴 ҹ˹ Ò â´Â¡Òû ͹ãË ¢ÇÑé ´ Ò¹Ë¹Ö§è ¢Í§ÁÍàµÍà ãË ä´ ÃºÑ ä¿ºÇ¡ â´Â ¡íÒ˹´ãË ¢Ò RD0 áÅÐ RD2 à» ¹ 1 Ê Ç¹¢ÑÇé ÍÕ¡´ Ò¹Ë¹Ö§è ¢Í§ÁÍàµÍÃ ä´ ÃºÑ áç´Ñ¹ 0V à¹×Íè §¨Ò¡¡íÒ˹´ãË ¢Ò RD1 áÅÐ¢Ò RD3 à» ¹ 0 Ê Ç¹·Õè 4 ¡ÅѺ¡ÒÃËÁع¢Í§ÁÍàµÍà â´Â¡ÅѺµíÒá˹ §¡Òû ͹Åͨԡ ¡íÒ˹´ãË ¢Ò RD0 áÅÐ RD2 à» ¹ 0 Ê Ç¹¢Ò RD1 áÅÐ RD3 à» ¹ 1 ¹Í¡¨Ò¡¹Õãé ¹ª ǧ¡ÒÃà»ÅÕÂè ¹Ê¶Ò¹Ðã¹áµ ÅФÃÑ§é ¡íÒ˹´ãË Á¡Õ ÒÃÊ §àÊÕ§¤ÇÒÁ¶Õè 2kHz à» ¹àÇÅÒ 0.2 ÇÔ¹Ò·Õ ÍÍ¡ÁÒ´ Ç à¾×Íè ãË ¼ãÙ ª §Ò¹·ÃÒºÇ Ò â»Ãá¡ÃÁ¡íÒÅѧ·íÒ§Ò¹ã¹Ê ǹã´ÍÂÙ àÁ×èÍ·´ÅͧÃѹâ»Ãá¡ÃÁãË ·´Êͺ´Ù¼Å¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà áÅдٷÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà ãË ¶Ù¡µ ͧ´ Ç ¡Å ÒǤ×Í àÁ×Íè â»Ãá¡ÃÁ¡íÒ˹´ãË ÁÍàµÍà à¤Å×Íè ¹·Õäè »´ ҹ˹ Ò (forward) ä¿áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§ ÁÍàµÍà ¤ÇõԴ໠¹ÊÕà¢ÕÂÇ áÅÐàÁ×Íè ¡íÒ˹´ãË ÁÍàµÍà à¤Å×Íè ¹·Õ¶è ÍÂËÅѧ (backward) ä¿áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§ ÁÍàµÍà ¤ÇõԴ໠¹ÊÕá´§ ´Ñ§¹Ñ¹é ·ÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà ¤ÇÃÊÑÁ¾Ñ¹¸ ¡ºÑ ¡ÒÃáÊ´§¼Å¢Í§ LED ´ Ç ¶ ÒµíÒá˹ § ·ÔÈ·Ò§äÁ ¶¡Ù µ ͧãË ¡ÅѺÊÒÂàª×Íè Áµ ÍÁÍàµÍà ä»ÂѧµíÒá˹ §µÃ§¢ ÒÁá·¹

ÃÙ»·Õè A3-1 áÊ´§¡ÒáÅѺµíÒá˹ §¢ÑÇé µ ÍÁÍàµÍà àÁ×Íè ·ÔÈ·Ò§¡ÒÃËÁع¢Í§ÁÍàµÍà äÁ ¶¡Ù µ ͧ

E

ÊíÒËÃѺÁÍàµÍà áç´Ñ¹µèíÒ ¤ÇÒÁµ Ò¹·Ò¹ÀÒÂ㹢ͧÁÍàµÍà ¨Ð¹ Í ·íÒãË àÁ×èÍ᡹ ÁÍàµÍà ÅÍç ¡¨ÐäÁ àË繤ÇÒÁᵡµ Ò§ÃÐËÇ Ò§¡ÒÃÅç͡᡹ËÃ×Í᡹໠¹ÍÔÊÃÐ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

65

¡Ô¨¡ÃÃÁ·Õè 4

¤Çº¤ØÁ¡ÒÃàÅÕéÂǢͧËØ ¹Â¹µ Ëع ¹µ Robo-PICA à¤Å×Íè ¹·Õäè ´ â´Â㪠ÁÍàµÍà 俵ç¢Ñºà¤Å×Íè ¹ÊÒ¾ҹ ´Ñ§¹Ñ¹é ¡ÒÃà¤Å×Íè ¹·Õäè »¢ ҧ˹ ÒáÅÐ ¶ÍÂËÅѧ¨Ð¡íÒ˹´ãË ÁÍàµÍà ·§Ñé ÊͧµÑÇËÁعä»ã¹·ÔÈ·Ò§à´ÕÂǾà ÍÁæ ¡Ñ¹ áµ ¶Ò µ ͧ¡ÒÃãË àÅÕÂé Ç ÊÒÁÒö·íÒä´ â´Â 1. ËÂØ´¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà µÇÑ ã´µÑÇ˹֧è àÍÒäÇ áÅ ÇãË ÁÍàµÍÃ Í¡Õ µÑÇËÁع ¶ ÒÁÍàµÍà ¢ÇÒÁ×Í ËÁع仴 ҹ˹ Ò Ëع ¹µ ¨ÐàÅÕÂé Çä»·Ò§« Ò ¶ ÒÁÍàµÍà «Ò ÂÁ×ÍËÁع仴 ҹ˹ Ò Ëع ¹µ ¨ÐàÅÕÂé Çä»·Ò§¢ÇÒ ÇÔ¸¡Õ Òà ¹Õ¤é ÇÒÁàÃçÇ㹡ÒÃàÅÕÂé ǨÐà· Òæ ¡Ñº¡ÒÃà¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò áµ ÁÍàµÍà ··Õè Òí ˹ Ò·ÕËè Áع¨Ðµ ͧÍÍ¡áçÁÒ¡¡Ç Ò»¡µÔ à¹×Íè §¨Ò¡¨Ðµ ͧÅÒ¡ÀÒÃÐÊÒ¾ҹ¢Í§Å Í´ Ò¹·ÕËè ÂØ´ÍÂÙ¡ ºÑ ·Õãè Ë º´Ô µÑǵÒÁ¡ÒÃàÅÕÂé Çä»´ Ç áÅШشËÁع¢Í§Ëع ¹µ ¨ÐÍÂÙ· ÅÕè Í ´ Ò¹·ÕÍè ÂØ´ÍÂÙ¡ ºÑ ·Õè ´Ñ§ã¹ÃÙ»·Õè A4-1

¨Ø´ËÁع

¨Ø´ËÁع

ÃÙ»·Õè A4-1 áÊ´§¡ÒÃàÅÕÂé ǢͧËع ¹µ â´ÂãË ÁÍàµÍà ´Ò ¹Ë¹Ö§è ËÂØ´ÍÂÙ¡ ºÑ ·Õè

¨Ø´ËÁع

¨Ø´ËÁع

ÃÙ»·Õè A4-2 ¡ÒÃàÅÕÂé ǢͧËع ¹µ â´ÂãË ÁÍàµÍà ·§Ñé ÊͧµÑÇËÁعä»ã¹·ÔÈ·Ò§µÃ§¡Ñ¹¢ ÒÁ


66

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

2. ãË ÁÍàµÍà µÇÑ Ë¹Ö§è ËÁع仴 ҹ˹ ÒÊ Ç¹ÍÕ¡µÑÇ˹֧è ËÁع¶ÍÂËÅѧ ¶ ÒÁÍàµÍà «Ò ÂËÁع仢 ҧ˹ Ò áÅÐÁÍàµÍà ¢ÇÒËÁع¶ÍÂËÅѧ Ëع ¹µ ¨ÐËÁعµÑÇä»·Ò§¢ÇÒÁ×Í ã¹·Ò§¡ÅѺ¡Ñ¹ ¶ ÒÁÍàµÍà ·¢ÇÒÁ×ÍËÁع仴 ҹ˹ Ò ÁÍàµÍà «Ò ÂÁ×ÍËÁع¶ÍÂËÅѧ ¨Ðà» ¹¡ÒÃàÅÕÂé ÇËÃ×ÍËÁعµÑÇä»·Ò§« Ò à¹×Íè §¨Ò¡ÁÍàµÍà ·§Ñé ÊͧµÑÇ·íÒ§Ò¹¾Ã ÍÁ¡Ñ¹ áµ ä»ã¹·ÔÈ·Ò§µÃ§¡Ñ¹¢ ÒÁ¡Ñ¹ ¨Ö§·íÒãË ¤ÇÒÁàÃçÇ㹡ÒÃËÁعµÑÇÊÙ§¡Ç Ò»¡µÔ 2 à· Ò áÅÐäÁ à¡Ô´¡ÒÃàÊÕ´·Ò¹·Õ¾è ¹×é Ê Ç¹¨Ø´ËÁع¨ÐÍÂÙ¡ §Öè ¡ÅÒ§¢Í§Ëع ¹µ ÃÐËÇ Ò§Å ÍÊÒ¾ҹ·ÕÊè ÁÑ ¼ÑÊ¾×¹é ·Ñ§é Êͧ´ Ò¹ ´Ñ§áÊ´§ã¹ÃÙ»·Õè A4-2 A4.1 à¢Õ¹â»Ãá¡ÃÁ·Õè P4-1 ¨Ò¡¹Ñ¹é à» ´ÊÇÔµª ¨Ò Âä¿ãË ¡ºÑ Ëع ¹µ áÅС´ÊÇÔµª MODE àÅ×Í¡à» ¹âËÁ´â»Ãá¡ÃÁ ¨Ò¡¹Ñ¹é ¡´»ØÁ Compile and Program ËÃ×Í¡´»ØÁ F10 à¾×Íè Ê §â»Ãá¡ÃÁä»ÂѧËع ¹µ A4.2 ¡´»ØÁ MODE à¾×Íè à»ÅÕÂè ¹à» ¹âËÁ´Ãѹ à¾×Íè Êѧè ãË Ë¹Ø Â¹µ ·Òí §Ò¹ â´Â´Ù¼Å¡ÒÃàÅÕÂé ǢͧËع ¹µ ÊÑ§à¡µä´ ÇÒ ¡ÒÃàÅÕÂé Çâ´Â¢ÑºÁÍàµÍà à¾Õ§µÑÇà´ÕÂÇ¹Ñ¹é ¨ÐàÅÕÂé Çä´ ªÒ ¡Ç Ò¡ÒâѺÁÍàµÍà ÊͧµÑÇ·íÒ§Ò¹¾Ã ÍÁ¡Ñ¹ áÅÐãË Ê§Ñ à¡µ¨Ø´ËÁع¢Í§ÁÍàµÍà ÊÒí ËÃѺ¡ÒÃàÅÕÂé Ƿѧé ÊͧẺ¨ÐÁÕµÒí á˹ §¢Í§¨Ø´ËÁع·Õáè µ¡µ Ò§¡Ñ¹ '***************************************************************** '* Name : P0401.BAS * '* Notes : Turn Robot And Spin Robot * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ; used PIC16F877 DEFINE OSC 20 ; Oscillator = 20 MHz HIGH PORTC.2 ; Enable Motor A HIGH PORTC.1 ; Enable Motor B LOOP: ;***** Motor Turn Left **************** FREQOUT PORTA.4,200,2000 LOW PORTD.0 : LOW PORTD.1 HIGH PORTD.2 : LOW PORTD.3 PAUSE 5000

; Beep ;.. Motor A .... ;.. Motor B .... ; Delay 5 Second

;***** Motor Turn Right **************** FREQOUT PORTA.4,200,2000 LOW PORTD.0 : HIGH PORTD.1 LOW PORTD.2 : LOW PORTD.3 PAUSE 5000

; Beep ;.. Motor A .... ;.. Motor B .... ; Delay 5 Second

;***** Motor Spin Left **************** FREQOUT PORTA.4,200,2000 HIGH PORTD.0 : LOW PORTD.1 HIGH PORTD.2 : LOW PORTD.3 PAUSE 5000

; Beep ;.. Motor A .... ;.. Motor B .... ; Delay 5 Second

;***** Motor Spin Right **************** FREQOUT PORTA.4,200,2000 LOW PORTD.0 : HIGH PORTD.1 LOW PORTD.2 : HIGH PORTD.3 PAUSE 5000

; Beep ;.. Motor A .... ;.. Motor B .... ; Delay 5 Second

GOTO LOOP

¤íÒ͸ԺÒÂà¾ÔÁè àµÔÁ â»Ãá¡ÃÁ¹Õ¤é Ǻ¤ØÁãË Ë¹Ø Â¹µ àÅÕÂé Ç« Ò 5 ÇÔ¹Ò·Õ ¨Ò¡¹Ñ¹é Êѧè ãË Ë¹Ø Â¹µ àÅÕÂé Ç¢ÇÒÍÕ¡ 5 ÇÔ¹Ò·Õ áÅ ÇÊѧè ãË ËÁع µÑÇ·Ò§« Ò 5 ÇÔ¹Ò·Õ áÅÐËÁعµÑÇä»·Ò§¢ÇÒÍÕ¡ 5 ÇÔ¹Ò·Õ ·íÒ«éÒí 仵ÅÍ´ ·Ø¡¤ÃÑ§é ·Õàè »ÅÕÂè ¹¡Ò÷íÒ§Ò¹¨ÐÊ §àÊÕ§ µÔ´é 1 ¤Ãѧé

â»Ãá¡ÃÁ·Õè P4-1 â»Ãá¡ÃÁ·´ÅͧÊÑ§è §Ò¹ãË Ë¹Ø Â¹µ Robo-PICA àÅÕÂé ÇáÅÐËÁعµÑÇ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

67

¡Ô¨¡ÃÃÁ·Õè 5

¡ÒäǺ¤ØÁ¤ÇÒÁàÃçǢͧËØ ¹Â¹µ Ëع ¹µ Robo-PICA ÁÕ¡ÒÃàµÃÕÂÁ¤ÇÒÁ¾Ã ÍÁÊíÒËÃѺ¡ÒûÃѺ¤ÇÒÁàÃçÇÁÍàµÍà äÇ àÃÕºà ÍÂáÅ Ç â´Â» ͹ ÊÑ­­Ò³à¢ Ò·Õ¢è ÒàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§äÍ«Õ¢ºÑ ÁÍàµÍà (EN) «Ö§è ¨Ò¡Ç§¨Ãã¹ÃÙ»·Õè 4-1 (㹺·¹Õ)é áÊ´§ãË àËç¹Ç Ò ¢ÒàÍç¹àÍàºÔŶ١µ ÍäÇ ¡ºÑ ¢Ò¾Íà µ RC2/CCP1 áÅÐ RC1/CCP2 «Ö§è ¢Ò¾Íà µ·Ñ§é Êͧ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒö ¡íÒ˹´ãË à» ¹¢ÒÊà ҧÊÑ­­Ò³ PWM (¾ÑÅÊ Ç´Ô ¸ ÁÍ´ÙàÅàµÍà ) à¾×Íè »ÃѺ¤ÇÒÁàÃçǢͧÁÍàµÍà ä´

¡Ò÷íÒ§Ò¹¢Í§¾ÑÅÊ Ç´Ô ¸ ÁÍ´ÙàÅàµÍÃ

㹡ÒäǺ¤ØÁÁÍàµÍà â´Â»¡µÔ¹¹Ñé ¨Ð» ͹áç´Ñ¹ä¿µÃ§ãË ¡ºÑ ÁÍàµÍà ÁÍàµÍà ¡¨ç зíÒ§Ò¹àµçÁ¡íÒÅѧ «Ö§è ÍÒ¨ ¨ÐÁÕ¤ÇÒÁàÃçÇÁÒ¡à¡Ô¹ä» ´Ñ§¹Ñ¹é ¡ÒûÃѺ¤ÇÒÁàÃçǢͧÁÍàµÍà ¨§Ö ãª Ç¸Ô ÅÕ ´ÃдѺáç´Ñ¹·Õ»è Í ¹ãË ¡ºÑ ÁÍàµÍà ÇÔ¸·Õ ¹Õè ÂÔ Á ¤×Í ¡Òû ͹¾ÑÅÊ ä»¢ÑºÁÍàµÍà ᷹ áÅ Ç㪠¡ÒûÃѺ¤ÇÒÁ¡Ç Ò§¾ÑÅÊ ªÇ §ºÇ¡ à¾×Íè ãË ä´ ¤Ò áç´Ñ¹à©ÅÕÂè µÒÁµ ͧ¡Òà ÇÔ¸¡Õ ÒùÕàé ÃÕÂ¡Ç Ò ¾ÑÅÊ Ç´Ô ¸ ÁÍ´ÙàÅàµÍà (PWM) â´Â¤ÇÒÁ¡Ç Ò§¾ÑÅÊ ªÇ §ºÇ¡àÁ×Íè à·Õº¡Ñº¤ÇÒÁ¡Ç Ò§¾ÑÅÊ ·§Ñé ËÁ´àÃÕ¡ Ç Ò ´ÔǵÕäé «à¡ÔÅ â´Â¨Ð¤Ô´¤ Ò´ÔǵÕäé «à¡ÔÅà» ¹à»Íà à«ç¹µ ¢Í§¤ Ò¤ÇÒÁ¡Ç Ò§¾ÑÅÊ ·§Ñé ËÁ´

V o lt

V o lt

4 .8 V

4 .8 V

áç´Ñ¹à©ÅÕÂè

´ÔǵÕäé «à¡ÔÅ 50%

2 .4 V

V o lt

(¡) áç´Ñ¹à©ÅÕÂè

Tim e

´ÔǵÕäé «à¡ÔÅ 75%

4 .8 V

Tim e

(¢) V o lt

áç´Ñ¹à©ÅÕÂè ´ÔǵÕäé «à¡ÔÅ 25 %

4 .8 V

3 .6 V 1 .2 V Tim e

(¤)

Tim e

(§)

ÃÙ»·Õè A5-1 áÊ´§¡ÒÃà»ÃÕºà·Õº¤ Òáç´Ñ¹·Õàè ¡Ô´¢Ö¹é àÁ×Íè 㪠PWM (¡) ¡Òû ͹ÊÑ­­Ò³ä¿µÃ§ (¢) PWM ÁÕ´ÇÔ µÕäé «à¡ÔÅ 50 % (¤) PWM ÁÕ´ÇÔ µÕäé «à¡ÔÅ 75 % (§) PWM ÁÕ´ÇÔ µÕäé «à¡ÔÅ 25 %


68

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

µÑÇÍ ҧ¨Ò¡ÃÙ»·Õè A5-1(b) ÁÕ¤Ò ´ÔǵÕäé «à¡ÔÅ 50% ËÁÒ¶֧ ¤ÇÒÁ¡Ç Ò§¢Í§¾ÑÅÊ ªÇ §ºÇ¡ÁÕ¤ÇÒÁ¡Ç ҧ໠¹ 50% ¢Í§¤ÇÒÁ¡Ç Ò§·Ñ§é ËÁ´ ´Ñ§¹Ñ¹é áç´Ñ¹à©ÅÕÂè ·Õäè ´ ¨ÐÁÕ¤Ò à· Ò¡Ñº (50 x 4.8) /100 = 2.4V ÊíÒËÃѺÃÙ»·Õè A5-1(c) áÅÐ (d) à» ¹¡ÒáíÒ˹´¤ Ò´ÔǵÕäé «à¡ÔÅ 75% áÅÐ 25% µÒÁÅíҴѺ ÊíÒËÃѺ¡ÒÃÊà ҧÊÑ­­Ò³ PWM ´ ÇÂâ»Ãá¡ÃÁÀÒÉÒàºÊÔ¡¢Í§ PICBASIC PRO ¤ÍÁä¾àÅÍà ·íÒä´ â´Â㪠¤íÒÊѧè HPWM «Ö§è à» ¹¤íÒÊѧè Êà ҧÊÑ­­Ò³ PWM ·Ò§ÎÒà ´áÇà ÍÍ¡·Ò§¢Ò¾Íà µ RC2 áÅÐ RC1 ´Ñ§áÊ´§â»Ãá¡ÃÁ µÑÇÍ ҧ¡ÒÃ㪠§Ò¹ PWM ã¹â»Ãá¡ÃÁ·Õè P5-1 '***************************************************************** '* Name : P0501.BAS * '* Notes : Speed Control * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ; used PIC16F877 DEFINE OSC 20 ; Oscillator = 20 MHz OUTPUT PORTC.1 ; RC1 = OUTPUT BEFORE USE CH#2 LOOP: HPWM 1 ,(100*255)/100,20000 ; Alway ON HPWM 2 ,(100*255)/100,20000 ; Alway ON ;***** Motor Forward **************** FREQOUT PORTA.4,200,2000 ; Beep LOW PORTD.0 : HIGH PORTD.1 ; ..... Motor A HIGH PORTD.2 : LOW PORTD.3 ; ..... Motor B PAUSE 5000 ; Delay 5 Second FREQOUT HPWM HPWM PAUSE

PORTA.4,200,2000 1 ,(90*255)/100,20000 2 ,(90*255)/100,20000 5000

; ; ; ;

Beep 20kHz, Duty Cycle 90% 20kHz, Duty Cycle 90% Delay 5 Second

FREQOUT HPWM HPWM

PORTA.4,200,2000 1 ,(80*255)/100,20000 2 ,(80*255)/100,20000

; Beep ; 20kHz , Duty Cycle 80% ; 20kHz , Duty Cycle 80%

PAUSE

5000

; Delay 5 Second

GOTO

LOOP

â»Ãá¡ÃÁ·Õè P5-1 â»Ãá¡ÃÁ»ÃѺ¤ÇÒÁàÃçÇ¡ÒÃà¤Å×Íè ¹·Õ¢è ͧËع ¹µ â´Âãª Ç¸Ô ¡Õ ÒÃÊà ҧÊÑ­­Ò³ PWM

E

ÊíÒËÃѺ¡ÒâѺËع ¹µ ¤Ò ´ÔǵÕäé «à¡ÔŤÇÃÁÕ¤Ò ÁÒ¡¡Ç Ò 70% à¾×Íè ãË ÊÒÁÒö¢Ñºà¤Å×Íè ¹ ÁÍàµÍà ãË à¤Å×Íè ¹·Õäè »ä´ ¡ÒáíÒ˹´¤ Ò¤ÇÒÁàÃçÇ·Õ¹è Í Âà¡Ô¹ä»ÍÒ¨¨·íÒãË Ë¹Ø Â¹µ ÁáÕ Ã§ºÔ´µÑÇã¹ÃÐËÇ Ò§¡ÒÃàÅÕÂé ÇäÁ à¾Õ§¾Íä´


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

69

A5.1 㪠â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P5-1 ¨Ò¡¹Ñ¹é ´Òǹ âËÅ´â»Ãá¡ÃÁä»ÂѧËع ¹µ Robo-PICA à¾×Íè ·´Åͧ´Ù¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ ÁÕÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ´Ñ§¹Õé 1. 㹵͹àÃÔÁè µ ¹¡íÒ˹´ãË PORTC ºÔµ 1 à» ¹àÍÒµ ¾µØ (áµ äÁ ¨Òí à» ¹µ ͧ¡íÒ˹´ãË PORTC ºÔµ 2 à» ¹ àÍÒµ ¾µØ à¹×Íè §¨Ò¡¤íÒÊѧè HPWM ¨Ð¡íÒ˹´ãË âÍÂÍѵâ¹ÁÑµÔ ) 2. ¡íÒ˹´¤ Ò PWM ÁÕ¤Ò ¤ÇÒÁ¶Õàè · ҡѺ 20kHz áÅдÔǵÕäé «à¡ÔÅ 100% «Ö§è ËÁÒ¶֧ ¢Ò EN ¢Í§äÍ«Õ L293D ä´ ÃºÑ Åͨԡ 1 µÅÍ´àÇÅÒ à» ¹¡ÒáíÒ˹´ãË ÁÍàµÍà ·Òí §Ò¹àµçÁ·Õè 100% 3. Ê §àÊÕ§ µÔ´é áÅ ÇÊѧè ãË ÁÍàµÍà à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò à» ¹àÇÅÒ 5 ÇÔ¹Ò·Õ 4. Ê §àÊÕ§ µÔ´é áÅ Çà»ÅÕÂè ¹¤ Ò´ÔǵÕäé «à¡ÔŢͧÊÑ­­Ò³ PWM à» ¹ 90% à¾×Íè Å´¤ÇÒÁàÃçÇ㹡ÒÃà¤Å×Íè ¹·Õè ¢Í§Ëع ¹µ ŧ໠¹àÇÅÒ 5 ÇÔ¹Ò·Õ 5. Ê §àÊÕ§ µÔ´é áÅ Çà»ÅÕÂè ¹¤ Ò´ÔǵÕäé «à¡ÔÅà» ¹ 80% à¾×Íè Å´¤ÇÒÁàÃçǢͧÁÍàµÍà ŧä»ÍÕ¡ à» ¹àÇÅÒ 5 ÇÔ¹Ò·Õ â´Â¨Ò¡â»Ãá¡ÃÁ¹Õ¼é ãÙ ª §Ò¹ÊÒÁÒö»ÃѺᵠ§¤ÇÒÁàÃçÇ¡ÒÃà¤Å×Íè ¹·Õ¢è ͧËع ¹µ ä´ µÒÁµ ͧ¡Òà A5.2 ¡´»ØÁ MODE à¾×Íè à»ÅÕÂè ¹à» ¹âËÁ´Ãѹ à¾×Íè Êѧè ãË Ë¹Ø Â¹µ ·Òí §Ò¹ â´Â´Ù¼Å¡Ò÷íÒ§Ò¹ Ëع ¹µ Robo-PICA ¨Ðà¤Å×Íè ¹·Õàè ÃçÇ·ÕÊè ´Ø à» ¹àÇÅÒ 5 ÇÔ¹Ò·Õ ¨Ò¡¹Ñ¹é ¨ÐÅ´¤ÇÒÁàÃçÇŧ áÅ Ç¡ÅѺä»à¤Å×Íè ¹ ·Õàè ÃçÇ¢Ö¹é ÍÕ¡¤Ãѧé ǹ·íҧҹઠ¹¹Õäé »µÅÍ´

¡Ô¨¡ÃÃÁ·Õè 6

ËØ ¹ ¹µ à ¤Å×è Í ¹·Õè µ ÒÁÃÙ » Ẻ·Õè ¡í Ò Ë¹´ ¡ÒäǺ¤ØÁãË Ë¹Ø Â¹µ Robo-PICA à¤Å×Íè ¹·Õäè »ÂѧµíÒá˹ §·Õµè Í §¡Òõ ͧ¾Ô¨ÒóҶ֧Ãкº¢Ñº à¤Å×Íè ¹¢Í§Ëع ¹µ´ Ç à¹×Íè §¨Ò¡ Robo-PICA 㪠ÁÍàµÍà 俵çà ÇÁ¡ÑºªØ´à¿ ͧ ´Ñ§¹Ñ¹é ¨Ö§äÁ ÊÒÁÒöÃÐºØ ¨íҹǹÃͺ¢Í§¡ÒÃËÁعÁÍàµÍà ·áÕè ¹ ¹Í¹ä´ ´Ñ§¹Ñ¹é ÇÔ¸·Õ ·Õè Òí ä´ ã¡Å à¤Õ§·ÕÊè ´Ø ¤×Í ¡ÒáíÒ˹´ÃÐÂÐàÇÅÒã¹ ¡ÒÃà¤Å×Íè ¹·Õè «Ö§è ã¹¢³Ðà¢Õ¹â»Ãá¡ÃÁ¨Ðµ ͧà¼×Íè ÃÐÂÐàÇÅÒ·ÕÁè ÍàµÍà àÃÔÁè µ ¹·íÒ§Ò¹áÅÐáçà©×Íè ·Õàè ¡Ô´¢Ö¹é ËÅѧ ÁÍàµÍà ËÂØ´·íÒ§Ò¹áÅ ÇàÍÒäÇ ´Ç  A6.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P6-1 áÅ Ç·´ÅͧÃѹãË ·Òí §Ò¹ â´Â੾ÒСÒäǺ¤ØÁ ãË Ë¹Ø Â¹µ àÅÕÂé Ç 90 ͧÈÒ «Ö§è ã¹â»Ãá¡ÃÁ¡íÒ˹´ÃÐÂÐàÇÅÒäÇ à· Ò¡Ñº 600 ÁÔÅÅÔÇ¹Ô Ò·Õ ÊíÒËÃѺËع ¹µ ºÒ§ µÑÇÍÒ¨¨ÐàÅÕÂé Çä´ äÁ ¶§Ö 90 ͧÈÒ áµ ºÒ§µÑÇÍÒ¨¨ÐàÅÕÂé Çà¡Ô¹ ´Ñ§¹Ñ¹é ¼Ùã ª §Ò¹µ ͧ»ÃѺᵠ§ÃÐÂÐàÇÅÒ¹Õãé Ë àËÁÒÐÊÁÊíÒËÃѺËع ¹µ áµ ÅеÑÇ ÊíÒËÃѺÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁÁÕ´§Ñ ¹Õé


70

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

'***************************************************************** '* Name : P0601.BAS * '* Notes : Control Movement * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ; used PIC16F877 DEFINE OSC 20 ; Oscilator = 20 MHz HIGH PORTC.2 ; Enable Motor A HIGH PORTC.1 ; Enable Motor B TRISD = %11110000 ; RD0-RD3 = OUTPUT Loop: GOSUB FORWARD : PAUSE 2000 ; Forward 2 second GOSUB S_LEFT90 ; Turn Left 90 deg. GOSUB FORWARD : PAUSE 2000 ; Forward 2 second GOSUB S_RIGHT90 ; Turn Right 90 deg. GOSUB BACKWARD : PAUSE 2000 ; Backward 2 second GOSUB S_RIGHT90 ; Turn Right 90 deg. GOTO Loop ; Do again FORWARD: BACKWARD: S_LEFT90:

PORTD = %00000110 : RETURN ; Forward routine PORTD = %00001001 : RETURN ; Backward routine PORTD = %00000101 : PAUSE 600 : RETURN ; Turn left 90 deg. routine S_RIGHT90: PORTD = %00001010 : PAUSE 600 : RETURN ; Turn right 90 deg. routine

â»Ãá¡ÃÁ·Õè P6-1 áÊ´§¡ÒâѺà¤Å×Íè ¹Ëع ¹µ µÒÁÃÐÂÐàÇÅÒ·Õ¡è Òí ˹´ 1. àÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà A áÅÐÁÍàµÍà B áÅСíÒ˹´ãË ¢Ò RD0-RD3 à» ¹àÍÒµ ¾µØ ÊíÒËÃѺ Ê §ÊÑ­­Ò³ä»Âѧǧ¨Ã¢ÑºÁÍàµÍà â´Â¡ÒÃà¢Õ¹â»Ãá¡ÃÁµ Í仹Õàé » ¹¡ÒáíÒ˹´¤ Ò¾Íà µâ´ÂµÃ§ ¨ÐäÁ 㪠¤Òí Êѧè HIGH ËÃ×Í LOW ã¹áµ ÅкԵ à¹×Íè §¨Ò¡ÇÔ¸¡Õ Òôѧ¡Å ÒÇ㪠¨Òí ¹Ç¹¤íÒÊѧè ÁÒ¡à¡Ô¹ä» 2. ÊÑ§è §Ò¹ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õµè ç仢 ҧ˹ Ò 2 ÇÔ¹Ò·Õ àÅÕÂé Ç« Ò 90 ͧÈÒ à¤Å×Íè ¹·Õµè çÍÕ¡ 2 ÇÔ¹Ò·Õ àÅÕÂé Ç ¢ÇÒ 90 ͧÈÒ ¶ÍÂËÅѧ 2 ÇÔ¹Ò·Õ àÅÕÂé Ç¢ÇÒ 90 ͧÈÒ ¡ ͹·Õ¨è ÐãË â»Ãá¡ÃÁ¡ÅѺä»Ç¹ÅÙ»àÃÔÁè µ ¹·íÒ§Ò¹ãËÁ Í¡Õ ¤Ãѧé 3. ÊíÒËÃѺâ»Ãá¡ÃÁ Í¤Ǻ¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà ¨Ðà» ¹¡ÒáíÒ˹´¤ ÒãË ¡ºÑ µíÒá˹ §¾Íà µ·Õµè Í §¡Òà â´ÂµÃ§ ÊíÒËÃѺ¡ÒÃÊѧè àÅÕÂé ǹѹé ã¹â»Ãá¡ÃÁ¨Ðà» ¹¡ÒÃàÅÕÂé Çâ´ÂãË ÅÍ ·Ñ§é Êͧ¢ Ò§ËÁعä»ã¹·ÔÈ·Ò§µÃ§¡Ñ¹¢ ÒÁ â´Â ¡íÒ˹´ÃÐÂÐàÇÅÒ¡ÒÃ˹ ǧäÇ ã¹â»Ãá¡ÃÁ Í ÊÒÁÒö»ÃѺà»ÅÕÂè ¹¤ Òà¾×Íè ãË Ë¹Ø Â¹µ àÅÕÂé Çà» ¹ÁØÁ©Ò¡ÁÒ¡¢Ö¹é ä´

E

à¹×Íè §¨Ò¡Ëع ¹µ 㪠¾Åѧ§Ò¹¨Ò¡áºµàµÍÃÕè ´Ñ§¹Ñ¹é ª ǧ·Õáè ºµàµÍÃÕàè µçÁáÅÐẵàµÍÃÕÍè Í ¹ ¤ÇÒÁàÃçÇ㹡Òà ËÁع¢Í§ÁÍàµÍà ¨ÐäÁ ෠ҡѹ Ê §¼ÅãË ÃÐÂзҧ·Õàè ¤Å×Íè ¹·Õäè »äÁ ෠ҡѹ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

71

º··Õè 5

Ëع ¹µ µÃǨ¨ÑºàÊ ¹Íѵâ¹ÁÑµÔ ¨Ò¡¡Ô¨¡ÃÃÁ㹺·¡ ͹˹ Ò¹Õé¨Ð¾º¢ ͨíÒ¡Ñ´¢Í§ËØ ¹Â¹µ ·Õè¢Ñºà¤Å×è͹´ ÇÂÁÍàµÍà 俵çÍÂÙ »ÃСÒÃ˹Ö觤×Í ¡ÒäǺ¤ØÁµíÒá˹ §¡ÒÃà¤Å×è͹·Õè¢Í§ËØ ¹Â¹µ «Öè§äÁ ÊÒÁÒöÃкصíÒá˹ §·Õèá¹ ¹Í¹ ä´ ´Ñ§¹Ñ¹é 㹺·¹Õ¨é Ðà¾ÔÁè ´Ç§µÒàÊÁ×͹ ãË ¡ºÑ Ëع ¹µ à¾×Íè ãË ÊÒÁÒöà¤Å×Íè ¹·Õäè »ã¹¾×¹é ·Õ·è ¡Õè Òí ˹´ ä´ â´Â㪠ËÅÑ¡¡ÒõÃǨ¨Ñº¡ÒÃÊз ͹¡ÅѺ¢Í§áʧÍÔ¹¿ÃÒàô â´Â¾×¹é ·ÕÊè àÕ ¢ Á¨ÐÁÕ¡ÒÃÊз ͹¡ÅѺ ¢Í§áʧÍÔ¹¿ÃÒàÃ´ä´ ¹ Í ᵠ¾×é¹·ÕèÊÕÍ Í¹¨ÐÁÕ¡ÒÃÊз ͹¡ÅѺ¢Í§áʧÍÔ¹¿ÃÒàÃ´ä´ ´Õ¡Ç Ò

5.1 µÑǵÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô ¡ÒõÃǨ¨ÑºáʧÊз ͹¹Ñ¹é ¨ÐÁÕÊÇ ¹»ÃСͺÊíҤѭ¤×Í ÀÒ¤Ê §áʧáÅÐÀÒ¤ÃѺáʧÊз ͹ ÊíÒËÃѺµÑǵÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô ¨Ð㪠LED ÍÔ¹¿ÃÒàô·íÒ˹ Ò·ÕÊè § áʧÍÔ¹¿ÃÒàôÍÍ¡ä» Êз ͹Çѵ¶Ø áÅÐÃѺáʧ·ÕÊè з ͹¡ÅѺÁÒ´ ÇÂâ¿âµ ·ÃÒ¹«ÔÊàµÍà àÁ×Íè â¿âµ ·ÃÒ¹«ÔÊàµÍÃ ä´ ÃºÑ áʧ ÍÔ¹¿ÃÒàô·ÕÊè з ͹¡ÅѺÁÒ¨ÐÂÍÁãË ¡ÃÐáÊä¿¿ ÒäËż Ò¹µÑÇÁѹ ÂÔ§è ä´ ÃºÑ áʧÊз ͹¡ÅѺ·ÕÁè ¤Õ ÇÒÁ ࢠÁÁÒ¡à· Òã´ ¡ç¨ÐÂÔ§è ¹íÒ¡ÃÐáÊÁÒ¡¢Ö¹é ෠ҹѹé ÃÙ»·Õè 5-1 áÊ´§µÑÇÍ ҧ¢Í§á¼§µÃǨ¨Ñº¡ÒÃÊз ͹áʧ ẺÍÔ¹¿ÃÒàô ÃÇÁ·Ñ§é Ãٻà ҧ¢Í§µÑǵÃǨ¨Ñº·Õãè ª ¨Ò¡Ç§¨Ãã¹ÃÙ»·Õè 5-1 LED ÍÔ¹¿ÃÒàô¨Ðä´ ÃºÑ ¡Òè ÒÂáç´Ñ¹µÅÍ´àÇÅÒ¨Ò¡ä¿àÅÕÂé § +V ¢Í§¢ÑÇé µ ͵ÑǵÃǨ¨Ñº â´ÂÁÕµÇÑ µ Ò¹·Ò¹ 510Ω µ ͨíÒ¡Ñ´¡ÃÐáÊãË á¡ LED ´ Ò¹ÀÒ¤ÃѺáʧÊз ͹ÍÔ¹¿ÃÒàô ¨Ø´µ ÍÊÑ­­Ò³ +V TCRT5000

OUT GND

10k

µÑǵÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô

ÃÙ»·Õè 5-1 áÊ´§Ãٻà ҧáÅÐǧ¨Ã¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô

510


72

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

㪠â¿âµ ·ÃÒ¹«ÔÊàµÍà µÍ à» ¹Ç§¨ÃẠ§áç´Ñ¹¡ÑºµÑǵ Ò¹·Ò¹ 10kΩ ¶ ÒäÁ ÁáÕ Ê§ÍÔ¹¿ÃÒàôÁÒ¡Ãзº ·Õâè ¿âµ ·ÃÒ¹«ÔÊàµÍà ¨ÐäÁ ¹Òí ¡ÃÐáÊ ¨Ø´µ Í OUT ¨ÐÁÕáç´Ñ¹ã¡Å à¤Õ§¡Ñº 0V àÁ×Íè Í Ò¹¤ Ò¨Ò¡Ê Ç¹ ǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍŢͧ Robo-PICA ¡ç¨Ðä´ ¤ ÒÍÍ¡ÁÒ¹ Í 㹡óշÕèâ¿âµ ·ÃÒ¹«ÔÊàµÍÃ ä´ ÃºÑ áʧÍÔ¹¿ÃÒàô â¿âµ ·ÃÒ¹«ÔÊàµÍà ¨ÐÂÍÁãË ¡ÃÐáÊäËż Ò¹µÑÇÁÑ¹ä´ «Ö§è ¨ÐÁÕ »ÃÔÁÒ³ÁÒ¡ËÃ×͹ Í¡ç¢Öé¹ÍÂÙ ¡Ñº¤ÇÒÁࢠÁ¢Í§áʧÍÔ¹¿ÃÒàô·Õèä´ ÃѺ ÊíÒËÃѺµÑÇá»Ã·ÕèÁռŵ Í¡ÒÃÊз ͹¡ÅѺ¢Í§áʧÍÔ¹¿ÃÒàô¹Í¡¨Ò¡¾×é¹¼ÔǢͧÇѵ¶ØáÅ Ç Âѧ ÁÕàÃ×Íè §¢Í§ÃÐÂÐË Ò§ÃÐËÇ Ò§á¼§Ç§¨ÃµÃǨ¨Ñº¡Ñº¾×¹é ¼ÔÇ´ Ç â´ÂÃÐÂÐË Ò§·Õàè ËÁÒÐÊÁÊíÒËÃѺµÑǵÃǨ ¨Ñºáºº¹Õ¨é ÐÍÂÙà ÐËÇ Ò§ 0.3-0.8 ૹµÔàÁµÃ «Ö§è ¨Ð·íÒãË ÍÒ ¹¤ Òáç´Ñ¹¨Ò¡á¼§Ç§¨Ãä´ ¤Ò ÍÂÙà ÐËÇ Ò§ 0.14.8V áÅÐãË ¤Ò ¢Í§¢ ÍÁÙÅàÁ×Íè Í Ò¹¼ ҹǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅÍÂÙã ¹ª ǧ 20-1,000 ´Ñ§¹Ñé¹á¼§Ç§¨ÃËÃ×͵ÑǵÃǨ¨Ñºáºº¹Õé¨Ö§àËÁÒÐÍ ҧÂÔ觷Õè¨Ð¹íÒÁÒ㪠໠¹µÑǵÃǨ¨ÑºàÊ ¹ ·Ñé§ àÊ ¹ÊÕ¢ÒÇËÃ×ÍàÊ ¹ÊÕ´Òí «Ö§è ¨Ð¢Ö¹é ÍÂÙ¡ ºÑ ¡ÒùíÒ¤ Ò·ÕÍè Ò ¹ä´ ä»»ÃÐÁÇżÅã¹ÅѡɳÐ㴠㹪شËع ¹µ Robo-PICA ¨Ð㪠ἧǧ¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô¹Õé 2 ªØ´à¾×Íè µÃǨ¨ÑºàÊ ¹ã¹Åѡɳе Ò§æ

E

·Õ¾è ¹×é ¼ÔÇËÃ×ÍàÊ ¹ÊÕ´Òí ἧǧ¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô¨ÐÍ Ò¹¤ Òä´ ¹Í Â¡Ç Ò 200 ·Õè¾¹×é ¼ÔÇÊÕ¢ÒÇËÃ×ÍàÊ ¹ÊÕ¢ÒÇ á¼§Ç§¨ÃµÃǨ¨ÑºáʧÊз ͹ÍÔ¹¿ÃÒàô¨ÐÍ Ò¹¤ Òä´ ÁÒ¡¡Ç Ò 600


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

73

¡Ô¨¡ÃÃÁ·Õè 7

·´Êͺ¡ÒÃÍ Ò¹¤ ÒÊÑ­­Ò³ÍйÒÅÍ¡ Ëع ¹µ Robo-PICA 㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 㹡ÒäǺ¤ØÁ¡Ò÷íÒ§Ò¹ â´ÂÀÒÂã¹ PIC16F877 ÁÕâÁ´ÙÅá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ (ADC) ¢¹Ò´ 10 ºÔµ ¨íҹǹ 8 ª ͧ â´Â¢Ò¾Íà µ·Õãè ª à» ¹¢Ò ÍÔ¹¾ØµÊÑ­­Ò³ÍйÒÅÍ¡ä´ ¤Í× RA0-RA3, RA5, RE0-RE2 «Ö§è ¡ÒÃàÅ×Í¡Í Ò¹ÊÑ­­Ò³ÍйÒÅÍ¡¨Ò¡¢Ò¾Íà µã´ ¹Ñé¹ÊÒÁÒöÊÑè§§Ò¹ä´ ¼ Ò¹·Ò§«Í¿µ áÇà ÊíÒËÃѺ¡ÒÃ㪠§Ò¹âÁ´ÙÅ ADC Í ҧÅÐàÍÕ´ÊÒÁÒö´Ùä´ ¨Ò¡Ë¹Ñ§Ê×Í »¯ÔºµÑ ¡Ô ÒÃäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F87x ¢Í§ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÊíÒËÃѺÃÕ¨ÊÔ àµÍà ÊÒí ¤Ñ­·Õ¨è е ͧ¡íÒ˹´¤ ÒàÁ×Íè 㪠§Ò¹âÁ´ÙÅ ADC ¤×ÍÃÕ¨ÊÔ àµÍà ADCON1

ºÔµ

%

$

#

"

ADFM

-

-

-

!

PCFG3 PCFG2 PCFG1 PCFG0

R/W-0 R/W-0

R/W-0

R/W-0

R/W-0

R/W-0

: ÊÒÁÒÃ¶Í Ò¹ËÃ×Íà¢Õ¹ºÔµ¹Õéä´ ÊÀÒÇÐàÁ×èÍàÃÔèÁ¨ ÒÂä¿ÁÕÅͨԡ໠¹ "0"

ÊíÒËÃѺÃÕ¨ÊÔ àµÍà ADCON0 ¶ Òà¢Õ¹â»Ãá¡ÃÁ´ Ç¡ÒÃ㪠PICBASIC PRO ¤ÍÁä¾àÅÍà äÁ ¨Òí à» ¹µ ͧ ¡íÒ˹´¤ Ò´ ǵ¹àͧÊÒÁÒö¡ÃзíÒ¼ Ò¹¤íÒÊѧè DEFINE ADC ä´ 4 ºÔµÅ Ò§¢Í§ÃÕ¨ÊÔ àµÍà ADCON1 㪠¡Òí ˹´ ¡Ò÷íÒ§Ò¹¢Í§¢Ò¾Íà µÇ Ò µ ͧ¡ÒÃãË ¢Òã´à» ¹¢ÒÃѺÊÑ­­Ò³ÍйÒÅÍ¡ ¢Òã´à» ¹ÍÔ¹¾ØµàÍÒµ ¾µØ ´Ô¨µÔ ÍÅ»¡µÔ â´ÂáÊ´§ÃÒÂÅÐàÍÕ´˹ Ò·Õàè ËÅ Ò¹Õãé ¹µÒÃÒ§·Õè A5-1 ÊíÒËÃѺºÔµ 7 ¢Í§ÃÕ¨ÊÔ àµÍà ADCON1 ¤×ͺԵ ADFM 㪠àÅ×Í¡ÃٻẺ¼ÅÅѾ¸ ¢Í§¡ÒÃá»Å§ÊÑ­­Ò³ ¶ ÒºÔµ ¹Õ¡é Òí ˹´ãË à» ¹ 0 ¼ÅÅѾ¸ 10 ºÔµ ¨ÐªÔ´·Ò§´ Ò¹« Ò¢ͧ¡ÅØÁ ¢ ÍÁÙÅ 16 ºÔµ (4 ºÔµÅ ҧ໠¹ 0 ËÁ´) áµ ¶Ò à» ¹ 1 ¼ÅÅѾ¸ ¡ÒÃá»Å§¤ Ò 10 ºÔµ ¨ÐªÔ´·Ò§´ Ò¹¢ÇҢͧ¡ÅØÁ ¢ ÍÁÙÅ 16 ºÔµ (4 ºÔµº¹à» ¹ 0 ËÁ´)

¼ÅÅѾ¸ 10 ºÔµ b

b

b

b

b

b

b

b

b

b

0

0

0

0

0

0

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

ADFM = 0 ¼ÅÅѾ¸ ẺªÔ´« ÒÂ

¼ÅÅѾ¸ 10 ºÔµ 0

0

0

0

0

0

b

b

b

b

b

b

b

b

b

b

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

ADFM = 1 ¼ÅÅѾ¸ ẺªÔ´¢ÇÒ

ÃٻẺ¡ÒáíÒ˹´¤ Ò¼ÅÅѾ¸ ¼Ò ¹ºÔµ ADFM ¢Í§ÃÕ¨ÊÔ àµÍà ADCON1


74

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

PCFG3PCFG0 0000 0001 0010 0011 0100

AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 Vref ª ͧÍйÒÅÍ¡ : Vref+ (RE2) (RE1) (RE0) (RA5) (RA3) (RA2) (RA1) (RA0) - áç´Ñ¹Í Ò§ÍÔ§ A A A A A A A A V,, V55 8:1 A A A A Vref+ A A A AN3 V55 7:1 D D D A A A A A V,, V55 5:0 D D D A Vref+ A A A AN3 V55 4:1 D D D D A D A A V,, V55 3:0

0101 011X

D D

D D

D D

D D

Vref+ D

1000 1001 1010

A D D

A D D

A A A

A A A

1011 1100 1101 1110 1111

D D D D D

D D D D D

A D D D D

A A D D D

D D

A D

A D

AN3 -

V55 -

2:1 0:0

Vref+ VrefA A Vref+ A

A A A

A A A

AN3 V,, AN3

AN2 V55 V55

6:2 6:0 5:1

Vref+ Vref+ Vref+ D Vref+

A A A D D

A A A A A

AN3 AN3 AN3 V,, AN3

AN2 AN2 AN2 V55 AN2

4:2 3:2 2:2 1:0 1:2

VrefVrefVrefD Vref-

A ¤×Í ÍÔ¹¾ØµÍйÒÅÍ¡, D ¤×Í ÍÔ¹¾ØµàÍÒµ ¾Øµ, Vref+ ¤×Í㪠¢Ò¹Õéà» ¹áç´Ñ¹Í Ò§ÍÔ§ºÇ¡, Vref- ¤×Í ãª ¢Ò¹Õéà» ¹áç´Ñ¹Í Ò§Íԧź, V,, ¤×Í áç´Ñ¹Í Ò§Íԧ෠ҡѺä¿àÅÕé§, V55 ¤×Í áç´Ñ¹Í Ò§Íԧ෠ҡѺ¡ÃÒÇ´ , AN3 ¤×Í ãª ÍÔ¹¾ØµÍйÒÅÍ¡ª ͧ 3 à» ¹¢Òáç´Ñ¹Í Ò§ÍÔ§ºÇ¡ , AN2

µÒÃÒ§·Õè A5-1 áÊ´§¡ÒáíÒ˹´¤ Ò¼ Ò¹ºÔµ PCFG3-PCFG0 ã¹ÃÕ¨ÊÔ àµÍà ADCON1 à¾×Íè àÅ×Í¡¡Ò÷íÒ§Ò¹ ¢Í§¢Ò¾Íà µ·Õàè ¡ÕÂè Ç¢ ͧ¡ÑºÊÑ­­Ò³ÍйÒÅÍ¡

¡ÒõԴµ ͡ѺâÁ´ÙÅá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ (ADC) ÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ´ Ç PICBASIC PRO ¤ÍÁä¾àÅÍà PICBASIC PRO ¤ÍÁä¾àÅÍà Á¤Õ Òí Êѧè ÊíÒËÃѺµÔ´µ ͡ѺâÁ´ÙÅ ADC ¹Ñ¹è ¤×ͤíÒÊѧè ADCIN ÁÕû٠Ẻ´Ñ§¹Õé ADCIN Channel,Var

â´Â·Õè Channel ËÁÒ¶֧ ª ͧ¢Í§ÍÔ¹¾ØµÍйÒÅÍ¡·Õµè Í §¡ÒõԴµ Í ¡íÒ˹´¤ Òä´ µ§Ñé áµ 0 ¶Ö§ 7 Var ËÁÒ¶֧ µÑÇá»Ã·Õãè ª à¡çº¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ ¨Ò¡âÁ´ÙÅ ADC â´Â»¡µÔ¡Òí ˹´¤ ÒµÑÇá»Ãà» ¹áºº 16 ºÔµ ¹Í¡¨Ò¡¹ÕÂé §Ñ ÊÒÁÒö»ÃѺᵠ§¡ÒÃÍ Ò¹¤ Ò¨Ò¡âÁ´ÙÅ ADC ä´ ËÅÒ¡ËÅÒÂ¢Ö¹é ´ Ç¡ÒÃ㪠¤Òí Êѧè DEFINE ã¹ PICBASIC PRO ¤ÍÁä¾àÅÍà ´Ñ§¹Õé DEFINE ADC_BITS ¡íÒ˹´¨íҹǹºÔµ¢ ÍÁÙÅ·Õµ è Í §¡ÒÃÍ Ò¹¤ Ò »¡µÔ¡Òí ˹´à» ¹ 8, 10 áÅÐ 12 ºÔµ ¢Ö¹é ÍÂÙ¡ ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àÅÍà ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC16F877 ÊÒÁÒö¡íÒ˹´¡ÒÃÍ Ò¹¤ Òà» ¹ 8 ËÃ×Í 10 ºÔµ ¶ Ò¨íҹǹºÔµÁÒ¡ ¤ÇÒÁÅÐàÍÕ´㹡ÒÃÍ Ò¹¤ Ò¡ç¨ÐÁÒ¡µÒÁ ¶ Ò¡íÒ˹´ 8 ºÔµ ¤ÇÒÁÅÐàÍÕ´㹠¡ÒÃÍ Ò¹¤ Ò¨Ð෠ҡѺ 256 ÃдѺ ¶ Ò¡íÒ˹´ 10 ºÔµ ¤ÇÒÁÅÐàÍÕ´¨Ðà¾ÔÁè à» ¹ 1,024 ÃдѺ ¶ Ò¡íÒ˹´ 12 ºÔµ ¤ÇÒÁÅÐàÍÕ´㹡ÒÃÍ Ò¹¤ Ò¨Ð෠ҡѺ 4,096 ÃдѺ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC DEFINE ADC_CLOCK

l

75

¡íÒ˹´ÃٻẺ¢Í§ÊÑ­­Ò³¹ÒÌ ¡Ò·Õãè ª ¡ºÑ âÁ´ÙÅ ADC àÅ×Í¡ä´ µ§Ñé áµ 0-3 â´Â

ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé 0 : 㪠ʭ Ñ ­Ò³¹ÒÌ ¡ÒÀÒÂã¹ËÒà 2 (FOSC/2) 1 : 㪠ʭ Ñ ­Ò³¹ÒÌ ¡ÒÀÒÂã¹ËÒà 8 (FOSC/8) 2 : 㪠ʭ Ñ ­Ò³¹ÒÌ ¡ÒÀÒÂã¹ËÒà 32 (FOSC/32) 3 : 㪠ʭ Ñ ­Ò³¹ÒÌ ¡Ò¨Ò¡Ç§¨Ã RC ÀÒÂã¹ (FRC)

¡íÒ˹´¤ Ò˹ ǧàÇÅÒ ÁÕ˹ ÇÂà» ¹äÁâ¤ÃÇÔ¹Ò·Õ â´Âá·Ã¡¤íÒÊÑè§ PAUSEUS ࢠÒä»ãË â»Ãá¡ÃÁ˹ ǧàÇÅÒã¹ÃÐËÇ Ò§¡ÒáíÒ˹´¤ Ò Channel áÅÐàÃÔÁ è µ ¹¡ÒÃá»Å§ÊÑ­­Ò³ DEFINE ADC_SAMPLEUS 50

¡ÒÃÍ Ò¹¤ ҨҡἧµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô ¨Ò¡¡Ô¨¡ÃÃÁ·Õè 3 ä´ µ´Ô µÑ§é ἧµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàôäÇ ·´Õè Ò ¹Å Ò§¢Í§Ëع ¹µ Robo-PICA à» ¹·Õàè ÃÕºà ÍÂáÅ Ç áÅе ÍÊÒ¨ҡἧǧ¨ÃµÃǨ¨ÑºÁÒࢠҷբè Ò¾Íà µ RA0 áÅÐ RA1 ã¹¢Ñ¹é µÍ¹µ Íä»à» ¹¡Òà à¢Õ¹â»Ãá¡ÃÁà¾×Íè ·´ÊÍºÍ Ò¹¤ Ҩҡἧǧ¨ÃµÃǨ¨ÑºÁÒáÊ´§·Õâè Á´ÙÅ LCD ¢Í§Ëع ¹µ Robo-PICA '***************************************************************** '* Name : P0701.BAS * '* Notes : Test Direction of Motor * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ' used PIC16F877 SENSOR0 DEFINE DEFINE DEFINE DEFINE

VAR WORD OSC 20 ADC_BITS 10 ADC_CLOCK 3 ADC_SAMPLEUS

' Oscilator = 20 MHz ' Set number of bits in result ' Set clock source (Internal RC = 3) 50 ' Set sampling time in microseconds

DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE

LCD_DREG PORTD LCD_DBIT 4 LCD_RSREG PORTC LCD_RSBIT 0 LCD_EREG PORTC LCD_EBIT 5 LCD_BITS 4 LCD_LINES 2 LCD_COMMANDUS LCD_DATAUS 50

' Set ' Set ' Set ' Set ' Set ' Set ' Set ' Set 2000 ' Set

ADCON1 = %10000000 MAIN:ADCIN

LCD Data port starting Data bit (0 or 4) if 4-bit bus LCD Register Select port LCD Register Select bit LCD Enable port LCD Enable bit LCD bus size (4 or 8 bits) number of lines on LCD ' Set command delay time in us data delay time in us ' All PORTA & PORTE is Analog

0, SENSOR0 ' Read channel 2 LCDOUT $FE,$01,"SENSOR0 = ", DEC SENSOR0 PAUSE 500 GOTO MAIN

â»Ãá¡ÃÁ·Õè P7-1 â»Ãá¡ÃÁÍ Ò¹¤ Ò¨Ò¡âÁ´ÙÅ ADC ª ͧ 0 ¢Í§ PIC16F877 áÊ´§¼Å·Õâè Á´ÙÅ LCD


76

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A8.1 µÔ´µÑ§é âÁ´ÙÅ LCD 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵŧº¹ºÍà ´ RBX-877 A8.2 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P8-1 ¨Ò¡¹Ñ¹é ´Òǹ âËÅ´ä»ÂѧËع ¹µ Robo-PICA A8.3 ¡´»ØÁ MODE à¾×Íè Ãѹâ»Ãá¡ÃÁ (LED ÊÕà¢Õ§ µíÒá˹ § RUN µÔ´ÊÇ Ò§) Êѧࡵ¡ÒÃáÊ´§¼Å·Õâè Á´ÙÅ LCD âÁ´ÙÅ LCD áÊ´§¢ ͤÇÒÁ SENSOR0 = xxx (xxx ÁÕ¤Ò 0-1023) A8.4 ¹íÒËع ¹µ Robo-PICA ÁÒÇÒ§º¹¾×¹é ÊÕ¢ÒÇ â´ÂãË µÒí á˹ §á¼§Ç§¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô·Õè µ ͡Ѻ¢Ò¾Íà µ RA0 ÍÂÙº ¹¾×¹é ÊÕ¢ÒÇ´ Ç Êѧࡵ¤ Ò·Õáè Ê´§º¹âÁ´ÙÅ LCD ºÑ¹·Ö¡¤ Ò·ÕÍè Ò ¹ä´ A8.5 ¹íÒËع ¹µ Robo-PICA ÁÒÇÒ§ãË µÒí á˹ §¢Í§á¼§Ç§¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô·Õµè Í ¡Ñº¢Ò¾Íà µ RA0 ÍÂÙº ¹¾×¹é ÊÕ´Òí Êѧࡵ¤ Ò·Õáè Ê´§º¹âÁ´ÙÅ LCD ºÑ¹·Ö¡¤ Ò·ÕÍè Ò ¹ä´ A8.6 ´Ñ´á»Å§â»Ãá¡ÃÁ·Õè P8-1 â´Âà»ÅÕÂè ¹ª ͧ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ª ͧ 0 (¢Ò RA0) ÁÒà» ¹ª ͧ 1 (¢Ò RA1) â´Â à»ÅÕÂè ¹â»Ãá¡ÃÁ¨Ò¡ ADCIN 0 , SENSOR0

à» ¹ ADCIN 1 , SENSOR0

áÅ Ç·íÒ¡ÒôÒǹ âËÅ´â»Ãá¡ÃÁáÅзíÒµÒÁ¢Ñ¹é µÍ¹ã¹¢ Í A8.4-A8.5 ÍÕ¡¤Ãѧé Êѧࡵ¼Å·Õäè ´ ÇÒ áµ¡µ Ò§ËÃ×Í ã¡Å à¤Õ§¡Ñºá¼§Ç§¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô·Õµè Í ÍÂÙ¡ ºÑ ¢Ò RA0 ËÃ×ÍäÁ Í ҧäà ¨Ò¡¡Ò÷´Åͧ¾ÍÊÃØ»¼Åä´ Ç Ò º¹¾×é¹·ÕèÊÕ¢ÒǹÑ鹤 Ò ·ÕèÍ Ò¹ä´ ¨ÐÍÂÙ ÃÐËÇ Ò§ 400-900 Ê Ç¹¾×é¹·ÕèÊÕ´íÒ¤ Ò·ÕèÍ Ò¹ä´ ¨ÐÍÂÙà ÐËÇ Ò§ 0-150 «Ö§è ¼Å¤ÇÒÁᵡµ Ò§¹Õé ÊÒÁÒö¡íÒ˹´¤ Ò Í Ò§ÍÔ§à¾×Íè 㪠໠¹¤ Ò¡ÅÒ§¢Í§¾×¹é ·ÕÊè ¢Õ ÒÇáÅдíÒ ¨Ò¡¹Ñ¹é ¨Ö§¹íÒ¤ Ò ¡ÅÒ§¹Õéä»à»ÃÕºà·Õº¡Ñº¤ Ò·ÕèÍ Ò¹ä´ ¶ Ò¤ Ò·ÕÍè Ò ¹ä´ ÁÒ¡¡Ç Ò¤ Ò¡ÅÒ§ ËÁÒ¤ÇÒÁÇ Ò ¾×¹é à» ¹ÊÕ¢ÒÇ ¶ Ò¤ Ò·ÕÍè Ò ¹ä´ ¹Í Â¡Ç Ò¤ Ò¡ÅÒ§ áÊ´§Ç Ò à» ¹ÊÕ´Òí

ÃÙ»·Õè A7-1 áÊ´§¼Å¡ÒÃÍ Ò¹¤ Ҩҡἧ ¨Ò¡¹Ñ¹é ¨Ö§Êѧè ãË â»Ãá¡ÃÁ¡ÃÐâ´´ä»·íÒ§Ò¹µÒÁÃٻẺ·Õ¡è Òí ˹´ ǧ¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô¼ Ò¹ âÁ´ÙÅ LCD ¢Í§Ëع ¹µ Robo-PICA

E

¶ Ò¡ÒÃÍ Ò¹¤ ÒÃÐËÇ Ò§¾×¹é ¼ÔÇÊÕ¢ÒǡѺ¾×¹é ¼ÔÇÊÕ´Òí ä´ ¤Ò ¤ÇÒÁµ Ò§¹ ÍÂà¡Ô¹ä» ãË »ÃѺÃÐÂÐË Ò§¢Í§á¼§ ǧ¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàôãË à¢ Òã¡Å ¾¹×é ÁÒ¡¢Ö¹é ¡ÒÃÍ Ò¹¤ Ò¨Ò¡¾×¹é ¼ÔǶ ÒäÁ à¡Ô´¡ÒÃÊз ͹¡ÅѺ¢Í§áʧ ઠ¹ ¡µÑÇËع ¹µ ¢¹Öé ÊÙ§æ ¼Å¡ÒÃÍ Ò¹¤ Ò¨Ò¡ ἧǧ¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹¨Ðä´ ¤Ò ã¡Å à¤Õ§ 0


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

77

¡Ô¨¡ÃÃÁ·Õè 8

Ëع ¹µ Robo-PICA à¤Å×Íè ¹·Õµè ÒÁàÊ ¹ -1 ¨Ò¡¡Ô¨¡ÃÃÁ¡ ͹˹ Ò¹Õéà» ¹¡ÒõÃǨÊͺ¤Ø³ÊÁºÑµÔ¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô¢Í§¾×é¹ÊÕ¢ÒÇáÅÐÊÕ´íÒ à¾×Íè 㪠໠¹¤ ÒÍ Ò§ÍÔ§ÊíÒËÃѺ¡ÒÃà»ÃÕºà·Õº 㹡Ԩ¡ÃÃÁ¹Õ¨é йíҼŷÕäè ´ ¹¹Ñé ÁÒ»ÃÐÂØ¡µ à¾×Íè ¤Çº¤ØÁãË Ë¹Ø Â¹µ RoboPICA ÊÒÁÒöà¤Å×Íè ¹·Õµè ÒÁàÊ ¹ ÊÒÁÒö¡íÒ˹´ÅѡɳСÒ÷íÒ§Ò¹ä´ 4 Ẻ¤×Í

1. ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹·Ñ§é ÊͧµÑÇÍÂÙº ¹¾×¹é ÊÕ¢ÒÇ 2. ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹·Ñ§é ÊͧµÑÇÍÂÙº ¹¾×¹é ÊÕ´Òí µÕ¤ÇÒÁä´ ÇÒ Ëع ¹µ ¡Òí Åѧ¤Ã ÍÁÍÂÙº ¹àÊ ¹ ¨Ö§¡íÒ˹´ µÕ¤ÇÒÁä´ ÇÒ Ëع ¹µ ÍÂÙº ÃÔàdzÊÕáè ¡ ÍÒ¨Êѧè ãË Ë¹Ø Â¹µ ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò àÅÕÂé Ç« ÒÂËÃ×Í¢ÇÒ 90 ͧÈÒ¡çä´

3. ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹·Ò§« ÒÂÍÂÙ º¹¾×é¹ÊÕ´íÒ µÕ¤ÇÒÁÇ ÒËØ ¹Â¹µ ¡íÒÅѧÍÍ¡¹Í¡àÊ ¹ä»·Ò§¢ÇÒ µ ͧ ¡íÒ˹´ãË ËØ ¹Â¹µ à¤Å×è͹·Õèä»·Ò§« Ò à¾×èÍãË ËØ ¹Â¹µ ¤Ã ÍÁÍÂÙº ÃÔàdzàÊ ¹ÊÕ´Òí àËÁ×͹à´ÔÁ

4. ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹·Ò§¢ÇÒÍÂÙ º¹¾×é¹ÊÕ´íÒ µÕ¤ÇÒÁÇ ÒËØ ¹Â¹µ ¡íÒÅѧÍÍ¡¹Í¡àÊ ¹ä»·Ò§« Ò µ ͧ ¡íÒ˹´ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »·Ò§´ Ò¹¢ÇÒ à¾×Íè ãË Ë¹Ø Â¹µ ¤Ã ÍÁÍÂÙº ÃÔàdzàÊ ¹ÊÕ´Òí àËÁ×͹à´ÔÁ


78

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

¡ÒÃËÒ¤ Ò¡ÅÒ§ÃÐËÇ Ò§ÊÕ¢ÒÇáÅÐÊÕ´íÒ ¤ Ò¡ÅÒ§·ÕÇè Ò ¹Õãé ª ÊÒí ËÃѺà»ÃÕºà·Õºã¹â»Ãá¡ÃÁ â´Â㪠ÃкØã¹ÊÁ¡Òà ¶ Ò¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡á¼§Ç§¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô¹ ÍÂ¡Ç Ò¤ Ò¡ÅÒ§ ÁÍ§ä´ ÇÒ ºÃÔ àdz·ÕèÍ Ò¹¤ Òä´ à» ¹¾×é¹ÊÕ´íÒ ¶ Ò¤ Ò·ÕèÍ Ò¹ä´ ¨Ò¡á¼§Ç§¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàôÁÒ¡¡Ç Ò¤ Ò¡ÅÒ§ ÁÍ§ä´ Ç Ò ºÃÔàdz·ÕèÍ Ò¹¤ Òä´ à» ¹¾×é¹ÊÕ¢ÒÇ â´Â ¤ Ò¡ÅÒ§ ËÒä´ ¨Ò¡ (¤ ÒµèÒí ÊØ´·ÕÍè Ò ¹ä´ ¨Ò¡¾×¹é ·ÕÊè ¢Õ ÒÇ + ¤ ÒÊÙ§ÊØ´¢Í§¾×¹é ·ÕÊè ´Õ Òí ) / 2

µÑÇÍ ҧ

¶ Ò¤ ÒµèÒí ÊØ´·ÕÍè Ò ¹ä´ ¨Ò¡¾×¹é ·ÕÊè ¢Õ ÒÇ à· Ò¡Ñº 300 ¤ ÒÊÙ§ÊØ´¢Í§¾×¹é ·ÕÊè ´Õ Òí ෠ҡѺ 100 ¤ Ò¡ÅÒ§ÁÕ¤ Ò෠ҡѺ (300+100) / 2 = 200

¨Ò¡ÃٻẺà§×Íè ¹ä¢·Õµè ÃǨ¾ºä´ ¨Ò¡á¼§Ç§¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô·Ñ§é 2 ªØ´ÊÒÁÒö¹íÒÁÒ à¢Õ¹â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õµè ÒÁàÊ ¹ä´ ´§Ñ â»Ãá¡ÃÁ·Õè P9-1 ÁÕÅÒí ´Ñº¡Ò÷íÒ§Ò¹´Ñ§¹Õé 1. ¡íÒ˹´¤ ÒàÃÔÁè µ ¹ÊíÒËÃѺµÔ´µ ÍâÁ´ÙÅá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ 2. àÍç¹àÍàºÔÅãË ÁÍàµÍà A áÅÐ ÁÍàµÍà B ¾Ã ÍÁ·Õ¨è ж١Êѧè ãË ·Òí §Ò¹ 3. Í Ò¹¢ ÍÁÙŨҡἧǧ¨ÃµÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô«Ö§è µ ÍÍÂÙ¡ ºÑ ¢Ò¾Íà µ RA0 áÅÐ RA1 â´Â ¡íÒ˹´µÑÇá»Ã SENSOR0 áÅÐ SENSOR1 ÊíÒËÃѺà¡çº¤ Ò·ÕÍè Ò ¹ä´ 4. à»ÃÕºà·Õº¤ Ò·ÕÍè Ò ¹ä´ ¡ºÑ ¤ Ò¡ÅÒ§ ¶ Ò¤ Ңͧ SENSOR0 áÅÐ SENSOR1 ÁÒ¡¡Ç Ò¤ Ò¡ÅÒ§·Ñ§é ¤Ù ¡íÒ˹´ãË ËØ ¹Â¹µ à¤Å×è͹·Õè仢 ҧ˹ Ò 5. ¶ Ò¤ Ò SENSOR0 áÅÐ SENSOR1 ¹ ÍÂ¡Ç Ò¤ Ò¡ÅÒ§·Ñ§é ¤Ù ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò (à» ¹ÀÒÇÐ ¾º·Ò§á¡ áÅ Ç¡íÒ˹´ãË à¤Å×Íè ¹·Õµè çµ Íä») 6. ¶ Ò¤ Ò SENSOR0 ¹ ÍÂ¡Ç Ò¤ Ò¡ÅÒ§à¾Õ§µÑÇà´ÕÂÇ ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »·Ò§« Ò 7. ¶ Ò¤ Ò SENSOR1 ¹ ÍÂ¡Ç Ò¤ Ò¡ÅÒ§à¾Õ§µÑÇà´ÕÂÇ ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »·Ò§¢ÇÒ

ÃÙ»·Õè A8-1 ¡ÒõԴµÑ§é ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹à¾ÔÁè à¾×Íè ãË ÊÒÁÒöµÃǨÊͺ·Ò§áÂ¡ä´ ´¢Õ ¹Öé


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

79

'***************************************************************** '* Name : P0801.BAS * '* Notes : Track Line * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ; used PIC16F877 SENSOR0 VAR WORD SENSOR1 VAR WORD DEFINE DEFINE DEFINE DEFINE

OSC ADC_BITS ADC_CLOCK ADC_SAMPLEUS

20 10 3 50

HIGH PORTC.2 HIGH PORTC.1 TRISD = %11110000 ADCON1 = %10000000 MAIN:ADCIN 0,SENSOR0 ADCIN 1,SENSOR1 IF (SENSOR0 IF (SENSOR0 IF (SENSOR0 IF (SENSOR1 GOTO MAIN FORWARD: BACKWARD: S_LEFT: S_RIGHT:

PORTD PORTD PORTD PORTD

= = = =

> < < <

Oscilator = 20 MHz Set number of bits in result Set clock source (Internal RC = 3) Set sampling time in microseconds

; ; ; ;

Enable Motor A Enable Motor B RD0-RD3 = OUTPUT All PORTA & PORTE is Analog

; Read channel 0 ; Read Channel 1

200) 200) 200) 200)

%00000110 %00001001 %00000101 %00001010

; ; ; ;

: : : :

AND (SENSOR1 > 200) THEN Forward AND (SENSOR1 < 200) THEN Forward THEN S_Left THEN S_Right GOTO GOTO GOTO GOTO

MAIN MAIN MAIN MAIN

; ; ; ;

Forward Routine Backward Routine Turn Left Routine Turn Right Routine

â»Ãá¡ÃÁ·Õè P8-1 â»Ãá¡ÃÁ·´Åͧ¤Çº¤ØÁãË Ë¹Ø Â¹µ Robo-PICA à¤Å×Íè ¹·Õµè ÒÁàÊ ¹

ÊÃØ»¼Å¡Ò÷íÒ§Ò¹ ¡Ò÷ÕèËØ ¹Â¹µ Íѵâ¹ÁѵԨÐà¤Å×è͹·ÕèµÒÁàÊ ¹ä´ ´Õ «Í¿µ áÇà «§Öè ¡ç¤Í× â»Ãá¡ÃÁ·Õãè ª ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¤ÇÃÊÒÁÒö·Õ¨è ФǺ¤ØÁãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õ·è Ò§µÃ§ ·Ò§â¤ § áÅеÃǨÊͺÊÕáè Â¡ä´ Ê Ç¹¡ÒõÃǨÊͺ·Ò§ÊÒÁáÂ¡ä´ ¨Ðµ ͧà¾ÔÁè ἧǧ¨Ã µÃǨ¨ÑºàÊ ¹à¢ Òä»ÍÕ¡ 1-2 ªØ´ Ê Ç¹·Ò§´ Ò¹ÎÒà ´áÇà ¡ÒûÃѺµíÒá˹ §¢Í§ ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹ãË ÍÂÙË Ò §¨Ò¡àÊ ¹Í ҧàËÁÒÐÊÁ (¡) (¢) ¨Ðª ÇÂãË ¡ÒõÃǨ¨Ñº·íÒä´ ´Õ à¹×èͧ¨Ò¡¶ Òἧǧ¨Ã ÃÙ»·Õè A8-2 ¼Å¡ÒõԴµÑ§é ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹ µÃÇǨ¨ÑºàÊ ¹ÍÂÙã ¡Å àÊ ¹à¡Ô¹ä» Ëع ¹µ ¨ÐµÃǨ¾ºàÊ ¹ (¡) áÊ´§¡ÒõԴµÑ§é ἧǧ¨ÃµÃǨ¨ÑºàÊ ¹ã¡Å ¡¹Ñ ÊÕ´Òí º ÍÂà¡Ô¹ä» à» ¹¼Å·íÒãË Ë¹Ø Â¹µ àÅÕÂé Ç« ÒÂÊÅѺ¢ÇÒ à¡Ô¹ä»·íÒãË Ë¹Ø Â¹µ ÊÒ Âä»Ê ÒÂÁÒ ¤Å Ò¡Ѻ§ÙàÅ×éÍ «Öè§à» ¹¼Å·íÒãË ËØ ¹Â¹µ à¤Å×è͹·ÕèµÒÁ (¢) µÔ´µÑ§é ἧǧ¨ÃË Ò§ÍÍ¡¨Ò¡àÊ ¹·íÒãË Ë¹Ø Â¹µ àÊ ¹ä´ ª Òŧ

ÁÕªÇ §ÃÐÂСÒÃà¤Å×Íè ¹·Õµè çÁÒ¡ÂÔ§è ¢Ö¹é


80

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

81

º··Õè 6

¤Çº¤ØÁËØ ¹Â¹µ ´ ÇÂÃÕâÁµ¤Í¹â·ÃÅ ÃÕâÁµ¤Í¹â·ÃÅ (remote control) á»Åà» ¹ä·ÂÍ ҧ§ ÒÂæ ¤×Í Ê Ç¹¤Çº¤ØÁ¨Ò¡ÃÐÂÐä¡Å ÊíÒËÃѺ¡ÒÃ㪠§Ò¹¡ÑºËØ ¹Â¹µ Robo-PICA ¨Ð㪠ÃÕâÁµ¤Í¹â·ÃÅ㹡ÒÃÊ §¢ ÍÁÙŤǺ¤ØÁ¼ÊÁÁҡѺ áʧÍÔ¹¿ÃÒàô ´Ñ§¹Ñ¹é 㹡Ò÷íÒ§Ò¹¨Ö§µ ͧ㪠ÃâÕ Áµ¤Í¹â·ÃÅ Easy Remote4 ËÃ×Í ER-4 ÊíÒËÃÑºÊ § ¢ ÍÁÙÅáÅÐἧǧ¨ÃÃѺáʧÍÔ¹¿ÃÒàô 38kHz ËÃ×ͺÍà ´ ZX-05 㹡ÒÃÃѺ¢ ÍÁÙÅ â´Â¢ ÍÁÙÅ·Õäè ´ ÃºÑ Áҹѹé ÊÒÁÒö¹íÒä»ãª 㹡ÒäǺ¤ØÁãË Ë¹Ø Â¹µ Robo-PICA ·íÒ§Ò¹ä´ µÒÁµ ͧ¡ÒÃ

6.1 ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô ¨Ò¡º·¡ ͹˹ Ò¹Õ¡é Å ÒǶ֧¡ÒÃÊз ͹áʧâ´Âãª Ç¸Ô ¡Õ ÒÃÊ §áʧÍÔ¹¿ÃÒàôÍÍ¡ä» áÅ ÇÃÍÃѺ ¡ÒÃÊз ͹¡ÅѺÁÒ´ ÇÂâ¿âµ ·ÃÒ¹«ÔÊàµÍà «Öè§ÍÂÙ ã¹âÁ´ÙÅà´ÕÂǡѹ ·íÒãË ÃÐÂзҧ㹡ÒÃÊ §áÅÐÃѺ áʧ¹Ñ¹é ·íÒä´ ã¹ª ǧÊѹé æ ÊíÒËÃѺ¡ÒÃÊ §áʧÍÔ¹¿ÃÒàô¨Ò¡µÑÇÊ §·ÕèÍÂÙ ä¡Å (»ÃÐÁÒ³ 5-10 àÁµÃ àËÁ×͹¡ÑºÃÕâÁµ ¤Í¹â·ÃŢͧà¤Ã×Íè §ÃѺâ·Ã·Ñȹ ) ¨Ðµ Í§ãª Ç¸Ô ¡Õ ÒüÊÁ¤ÇÒÁ¶Õ¾è ÒË à¢ Ò¡Ñº¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §ÍÍ¡ä» à¾×Íè » ͧ¡Ñ¹áʧÍÔ¹¿ÃÒàô¨Ò¡ÀÒ¹͡ÁÒú¡Ç¹ÊÑ­­Ò³·ÕÊè § ÍÍ¡ä» «Ö§è ·íÒãË ÀÒ¤ÃѺ¨Ðµ ͧ¡Ãͧ ¤ÇÒÁ¶Õ¾è ÒË ·ÃÕè ºÑ ä´ ÍÍ¡¡ ͹ ¨Ò¡¹Ñ¹é ¨Ö§¹íÒÊÑ­­Ò³¢ ÍÁÙÅÊ §ä»ãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÍ ä» ´ Ç ¡ÒÃ㪠ʭ Ñ ­Ò³¾ÒË áÅТÂÒÂÊÑ­­Ò³¹Õàé ͧ·íÒãË ÊÒÁÒÃ¶Ê §¢ ÍÁÙÅä´ ä¡Å¶Ö§ 10 àÁµÃ 0.1uF 50V

3 1 Out 2 GND

1

3 Vcc 1

ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38 kHz 㪠µÃǨ¨ÑºáʧÍÔ¹¿Òàô·Õ¼è ÊÁÊÑ­­Ò³¾ÒË ¤ÇÒÁ¶Õè 38 kHz

2

3

Out GND

2

Infrared Module

ÃÙ»·Õè 6-1 áÊ´§Ãٻà ҧáÅÐǧ¨Ã¢Í§á¼§Ç§¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô

Vcc


82

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC +3-5V

K A IR-LED

"A"

Easy remote4

"B"

2-5V

SW2 "C"

*

"D" SW3

)

(¡)

(¢)

GP0

GP5 6

5

SW3

, +

7

SW1

LED1 IR-LED

1 V,,

3

GP1

IC1 ER4-FW

2

R1 1k Q1 BC338

GP2

GP4

GND 8

(¤)

ÃÙ»·Õè 6-2 Ãٻà ҧ˹ ÒµÒáÅÐǧ¨Ã¢Í§ÃÕâÁµ¤Í¹â·ÃÅ Easy remote4

6.2 ÃÕâÁµ¤Í¹â·ÃÅ Easy Remote4 ËÃ×Í ER-4 ÃÕâÁµ¤Í¹â·ÃÅ Easy remote4 à» ¹ÃÕâÁµ¤Í¹â·ÃÅẺÍÔ¹¿ÃÒàô·ÕÍè ͡ẺãË ãª §Ò¹ä´ à͹¡»ÃÐʧ¤ â´Â㹡ÒÃÊ §ÊÑ­­Ò³ÍÍ¡¹Ñ鹨Ðà» ¹¢ ÍÁÙÅ͹ءÃÁ·Õè¼ÊÁ¡Ñº¤Å×è¹¾ÒË 38kHz â´Â ¡Ãкǹ¡Ò÷ѧé ËÁ´ä´ ÃºÑ ¡ÒäǺ¤ØÁ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà º¹µÑÇÃÕâÁµ¤Í¹â·ÃÅà¾Õ§µÑÇà´ÕÂÇ

6.2.1 ¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤ 㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¤Çº¤ØÁ¡ÒÃÊà ҧáÅÐÊ §ÊÑ­­Ò³¢ ÍÁÙÅ l 㪠LED ÍÔ¹¿ÃÒàô¢¹Ò´ 3 ÁÔÅÅÔàÁµÃ ÃÐÂзíÒ¡Òà 8-10 àÁµÃã¹¾×¹ é ·Õâè Å § l ÁÕÊÇÔµª ¤Çº¤ØÁÍÔÊÃе ͡ѹ 4 ª ͧ ·íÒ§Ò¹ã¹ÅѡɳС´µÔ´ ¡´´Ñº l ¡Ô¹¡íÒÅѧ§Ò¹µèÒí â´ÂࢠÒÊÙâ ËÁ´»ÃÐËÂÑ´¾Åѧ§Ò¹·Ñ¹·ÕàÁ×Í è Ê §¢ ÍÁÙÅáÅ Ç l 㪠ä¿àÅÕÂé § 2.4-3.0V ¨Ò¡áºµàµÍÃÕè AA ¨íҹǹ 2 ¡ ͹ ãª ä´ ·§Ñé Ẻ¸ÃÃÁ´ÒáÅлÃШØä´ l Ê §¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁ´ ÇÂÁҵðҹ RS-232 ÍѵÃҺʹ 1,200 ºÔµµ ÍÇÔ¹Ò·Õ ã¹ÃٻẺ 8N1 (ºÔµ¢ ÍÁÙÅ 8 ºÔµ äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé áÅкԵ» ´· Ò 1 ºÔµ) l

6.2.2 ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã

ǧ¨Ã¢Í§ Easy remote4 áÊ´§ã¹ÃÙ»·Õè 6-2 (¤) ¨ÐàËç¹Ç ÒÁÕÍ»Ø ¡Ã³ ¹Í ÂÁÒ¡ ÁÕà¾Õ§ÊÇÔµª ·µÕè Í à¢ Ò ¡Ñº¢Ò GP0,GP1, GP2 áÅÐ GP4 ¢Í§ IC1 «Ö§è 㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC12F629 ෠ҹѹé äÁ ¨Òí à» ¹µ ͧ µ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ»ÀÒ¹͡à¹×Íè §¨Ò¡¡íÒ˹´ãË Á¡Õ ÒþÙÅÍÑ»ä´ ¼Ò ¹·Ò§«Í¿µ áÇÃ Ê Ç¹¡ÒâѺ LED ÍÔ¹¿ÃÒàôà¾×Íè ãË Á¡Õ Òí ÅÑ§Ê §ÊÙ§ ÊÒÁÒÃ¶Ê §ä´ ä¡Å ¨Ö§µ ͼ ҹǧ¨Ã¢ÂÒÂâ´Â㪠·ÃÒ¹«ÔÊàµÍà Q1


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

83

6.2.3 ÃٻẺ¡ÒÃÊ §¢ ÍÁÙŢͧÃÕâÁµ¤Í¹â·ÃÅ Easy remote4 à¾×Íè ãË ÀÒ¤ÃѺÊÒÁÒÃ¶Í Ò¹¢ ÍÁÙÅ¡Òá´ÊÇÔµª ¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅä´ â´Â§ Ò 㹡ÒÃÊ §¢ ÍÁÙÅ ¢Í§ Easy remote4 ¨Ö§ãª ¡ÒÃÊ §¢ ÍÁÙÅẺ͹ءÃÁ µÒÁÁҵðҹ RS-232 ´ ÇÂÍѵÃҺʹ 1,200 ºÔµµ Í ÇÔ¹Ò·Õ ã¹ÃٻẺ 8N1 ¢ ÍÁÙÅ·ÕÊè § ¹Ñ¹é à» ¹µÑÇÍÑ¡Éâֹé ÍÂÙ¡ ºÑ ¡Òá´ÊÇÔµª µÇÑ ã´ ´Ñ§áÊ´§µíÒá˹ §¢Í§ ÊÇÔµª ã¹ÃÙ»·Õè 6-2 (¢) ¡´ÊÇÔµª A Ê §¢ ÍÁÙŵÑÇÍÑ¡Éà A µÑǾÔÁ¾ ãË­ ÊÅѺµÑǾÔÁ¾ àÅç¡ ¡´ÊÇÔµª B Ê §¢ ÍÁÙŵÑÇÍÑ¡Éà B µÑǾÔÁ¾ ãË­ ÊÅѺµÑǾÔÁ¾ àÅç¡ ¡´ÊÇÔµª C Ê §¢ ÍÁÙŵÑÇÍÑ¡Éà C µÑǾÔÁ¾ ãË­ ÊÅѺµÑǾÔÁ¾ àÅç¡ ¡´ÊÇÔµª D Ê §¢ ÍÁÙŵÑÇÍÑ¡Éà D µÑǾÔÁ¾ ãË­ ÊÅѺµÑǾÔÁ¾ àÅç¡ ÊÒà˵طÊÕè § ÊÅѺµÑǾÔÁ¾ ãË­ ¡ºÑ µÑǾÔÁ¾ àÅç¡à¾×Íè ãË µÇÑ ÃѺ·ÃÒºÇ Ò ¡Òá´ÊÇÔµª ¹¹Ñé à» ¹¡Òá´ Ẻ¤ Ò§µ Íà¹×Íè § ËÃ×Íà» ¹¡ÒᴻŠÍÂà» ¹¨Ñ§ËÇÐ «Ö§è ¨ÐãË ¼ÅÅѾ¸ 㹡ÒäǺ¤ØÁ·Õáè µ¡µ Ò§¡Ñ¹ ¹Ñ¹è ¤×Ͷ Ò¡´ÊÇÔµª à» ¹¨Ñ§ËÇÐ ¤ÃÑé§áá¨ÐÊ §¢ ÍÁÙŵÑÇÍÑ¡ÉÃẺµÑǾÔÁ¾ ãË­ ¶ Ò¡´µÑÇà´ÔÁ㹤ÃÑ駵 ÍÁÒ ¢ ÍÁÙÅ·ÕÊè § ÍÍ¡¨Ðà» ¹µÑÇÍÑ¡ÉÃẺµÑǾÔÁ¾ àÅç¡ áµ ¶Ò ËÒ¡¡´¤ Ò§µ Íà¹×Íè § ¨ÐÊ §¢ ÍÁÙŵÑÇÍÑ¡ÉÃẺ Å ÒÊØ´¹Ñé¹ÍÍ¡ÁÒµÅÍ´àÇÅÒ

¡Ô¨¡ÃÃÁ·Õè 9

µÔ´µÑ§é ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ÍØ»¡Ã³ áÅÐà¤Ã×Íè §Á×Í Ê¡ÃÙ 3x10 ÁÁ. x 1 àÊÒ¾ÅÒʵԡ 3 ÁÁ. x 1

¹Íµ 3 ÁÁ. x 1

ªÔ¹é µ ÍÁØÁ» Ò¹ x 1

âÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz x 1

¢Ñ¹é µÍ¹¡ÒûÃСͺ A9.1 㪠ʡÃÙ 3x10 ÁÁ. à ͼ ҹἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô¨Ò¡´ ҹ˹ Ò áÅ Ç㪠àÊÒ¾ÅÒʵԡ 3 ÁÁ. ÊÇÁࢠÒä»´ Ò¹ËÅѧà¾×Íè » ͧ¡Ñ¹ªÔ¹é µ ;ÅÒʵԡÁØÁ» Ò¹ ·Õ¨è е ͧ¹íÒÁÒµÔ´µÑ§é àºÕ´¡Ñº¨Ø´ºÑ´¡Ãբͧἧǧ¨Ã


84

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A9.2 㪠ª¹Ôé µ ÍÁØÁ» Ò¹ÂִࢠÒÊ¡ÃÙáÅТѹãË á¹ ¹´ ǹ͵ 3 ÁÁ.

A9.3 ¤ÅÒÂÊ¡ÃÙ·ÂÕè ´Ö àÊÒÃͧ·Í§àËÅ×ͧ´ ҹ˹ ÒÍÍ¡à¾×Íè àÊÕºªÔ¹é µ ÍÁØÁ » Ò¹·ÕèÂÖ´¡Ñºá¼§Ç§¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô¨Ò¡¢Ñ鹵͹·Õè A9.2 ¨Ò¡¹Ñ¹é ¢Ñ¹Ê¡ÃÙ¡ÅѺࢠÒä»ãË á¹ ¹

A9.4 µ ÍÊÒ¨ҡἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz à¢ Ò·Õ¨è ´Ø µ Í ¾Íà µ RA2 ´Ñ§¹Ñé¹ã¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡·Õè㪠PICBASIC PRO ¤ÍÁä¾àÅÍà à¾×èÍÍ Ò¹¤ Ҩҡἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ¨Ðµ ͧà¢Õ¹â»Ãá¡ÃÁµÔ´µ Í·Õµè Òí á˹ § PORTA.2

¹Ñº¨Ò¡¹Õé Ëع ¹µ Robo-PICA ¡ç¨ÐÁÕ¤ÇÒÁÊÒÁÒöà¾ÔÁè ÍÕ¡ 1 Í ҧ ¹Ñ¹è ¤×Í ÊÒÁÒöÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ ¼ Ò¹áʧÍÔ¹¿ÃÒàôä´

E

¶ Òµ ͧ¡ÒÃ㪠¾Íà µ A ·Ñ§é ËÁ´à» ¹¢Ò¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ´Ô¨µÔ ÍÅ ¨Ðµ ͧ¡íÒ˹´¤ ÒãË ¡ºÑ ÃÕ¨ÊÔ àµÍà ADCON1 ෠ҡѺ 0x07 ¡ ͹


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

85

¡Ô¨¡ÃÃÁ·Õè 10

Í Ò¹¤ Ò¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ Easy Remote4 ¡ ͹·Õè¨Ð¹íÒÃÕâÁµ¤Í¹â·ÃÅä»ãª »ÃÐ⪹ 㹡ÒäǺ¤ØÁÍØ»¡Ã³ µ Ò§æ ¨Ðµ ͧÁÒÃѺÃÙ à§×è͹䢡 Í¹Ç Ò ¢ ÍÁÙÅ·ÕÃè âÕ Áµ¤Í¹â·ÃÅÊ §ÍÍ¡Áҹѹé ÁÕû٠ẺÍ ҧäà ÁÕÇ¸Ô ãÕ ª â»Ãá¡ÃÁ㹡ÒÃÍ Ò¹¤ ÒÍ ҧäà áÅÐÍ Ò¹¤ ÒáŠǨРµÃǨÊͺ¤ ҢͧÊÇÔµª ·ÍÕè Ò ¹ä´ àËŠҹѹé Í ҧäà â´Ââ»Ãá¡ÃÁ·Õè P10-1 à» ¹µÑÇÍ ҧ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ áŠǹíÒ¼Åä»áÊ´§¼Å·Õâè Á´ÙÅ LCD ¹Í¡¨Ò¡¹Õ¡é ¨ç йíÒ¤ Ò·ÕÍè Ò ¹ä´ ¹ÁÕé Òà»ÃÕºà·Õ异 Òà» ¹¤ Ò¤Õ· ¡Õè Òí ˹´ËÃ×ÍäÁ â´Â áÊ´§¤ÇÒÁᵡµ Ò§¢Í§¤Õµ Ò §æ ÍÍ¡ÁÒ·Ò§ÅíÒ⾧໠Ââ«´ ǤíÒÊѧè FREQOUT ¢Í§â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡·Õãè ª PICBASIC PRO ¤ÍÁä¾àÅÍà '***************************************************************** '* Name : P1001.BAS * '* Notes : Use SERIN2 Receive Data From Remote Control * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ' used PIC16F877 KEY VAR BYTE DEFINE OSC 20 ' Oscilator = 20 MHz DEFINE LCD_DREG PORTD ' Set LCD Data port DEFINE LCD_DBIT 4 ' Set starting Data bit (0 or 4) DEFINE LCD_RSREG PORTC ' Set LCD Register Select port DEFINE LCD_RSBIT 0 ' Set LCD Register Select bit DEFINE LCD_EREG PORTC ' Set LCD Enable port DEFINE LCD_EBIT 5 ' Set LCD Enable bit DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_LINES 2 ' Set number of lines on LCD DEFINE LCD_COMMANDUS 2000 ' Set command delay time in us DEFINE LCD_DATAUS 50 ' Set data delay time in us ADCON1 = $07 ' ALL PORTA & PORTE = Digital I/O MAIN: SERIN2 PORTA.2,813,2000,MAIN,[KEY] ' Receive Data From IR Module LCDOUT

$FE,$01," KEY = ", KEY

IF (KEY = "A") OR (KEY = "a") THEN FREQOUT PORTA.4,100,2000 ENDIF IF (KEY = "B") OR (KEY = "b") THEN FREQOUT PORTA.4,100,2200 ENDIF IF (KEY = "C") OR (KEY = "c") THEN FREQOUT PORTA.4,100,2400 ENDIF IF (KEY = "D") OR (KEY = "d") THEN FREQOUT PORTA.4,100,2600 ENDIF

' Show Data On LCD Module ' Check Key = "A" or "a" ? ' 2kHz Beep ' Check Key = "B" or "b" ? ' 2.2kHz Beep ' Check Key = "C" or "c" ? ' 2.4kHz Beep ' Check Key = "D" or "d" ? ' 2.6kHz Beep

GOTO MAIN

â»Ãá¡ÃÁ·Õè P10-1 â»Ãá¡ÃÁÍ Ò¹¤ Ò¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ ER4 áÅ ÇáÊ´§¼Å´ ÇÂàÊÕ§áÅÐâÁ´ÙÅ LCD


86

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A10.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P12-1 A10.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ¹Õäé »ÂѧËع ¹µ Robo-PICA ¨Ò¡¹Ñ¹é ¡´ÊÇÔµª MODE à¾×Íè ãË ÍÂÙã ¹âËÁ´Ãѹ (LED ÊÕ à¢ÕÂÇ·Õµè Òí á˹ § RUN µÔ´ÊÇ Ò§) A10.3 㪠ÃâÕ Áµ¤Í¹â·ÃÅ Easy Remote4 ¡´ÊÇÔµª ʧ ÊÑ­­Ò³ä»Âѧἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙÅ LCD ·Õ¨è ÍáÊ´§¼Å¢Í§âÁ´ÙÅ LCD ¨ÐáÊ´§µÑÇÍÑ¡Éà A,B,C,D ËÃ×Í a,b,c,d ¾Ã ÍÁ·Ñ§é ¢ÑºàÊÕ§ µÔ´é Êѹé æ ·ÕèÁÕ¤ÇÒÁ¶Õèᵡµ Ò§¡Ñ¹ä»ã¹áµ ÅФÕ ËÃ×ÍÊÇÔµª ÍÍ¡·Ò§ÅíÒ⾧໠Ââ«

¡Ô¨¡ÃÃÁ·Õè 11

ËØ ¹Â¹µ à¤Å×è͹·Õè´ Ç¡ÒäǺ¤ØÁ¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ ¡Ô¨¡ÃÃÁ¹Õàé » ¹¡ÒÃ㪠ÃâÕ Áµ¤Í¹â·ÃÅ ER-4 ÁÒà» ¹µÑÇÊ §¢ ÍÁÙÅÊíÒËÃѺ¡ÒâѺà¤Å×Íè ¹ãË á¡ Robo-PICA â´Â ¢ ÍÁÙÅ·ÕÊè § ÁÒ¹Ñ¹é ¨Ð¡íÒ˹´ãË Robo-PICA à¤Å×Íè ¹·Õäè »·Ò§´ ҹ˹ Ò à¤Å×Íè ¹·Õ¶è ÍÂËÅѧ àÅÕÂé Ç« Ò áÅÐàÅÕÂé Ç¢ÇÒ ÁÕÅ¡Ñ É³Ð¡Ò÷íÒ§Ò¹¤Å Ò¡ѺöÇÔ·Âغ§Ñ ¤Ñº A11.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P11-1 A11.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ¹Õäé »ÂѧËع ¹µ Robo-PICA ¨Ò¡¹Ñ¹é ¡´ÊÇÔµª MODE à¾×Íè ãË ÍÂÙã ¹âËÁ´Ãѹ (LED ÊÕ à¢ÕÂÇ·Õµè Òí á˹ § RUN µÔ´ÊÇ Ò§) Ëع ¹µ Robo-PICA ¨ÐËÂØ´¹Ô§è ÍÂÙ¡ ºÑ ·Õè ¨¹¡Ç Ò¨ÐÁÕ¡Òá´ÊÇÔµª ·ÃÕè âÕ Áµ¤Í¹â·ÃÅ ER-4 ¡ÒÃÊÑ§è §Ò¹ ¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅẺÍÔ¹¿ÃÒàô¹Ñ¹é ¨Ðµ Í§Ê §áʧÍÔ¹¿ÃÒàôãË µÃ§¡ÑºÀÒ¤ÃѺ ÁÔ©Ð¹Ñ¹é ¨ÐÊ×Íè ÊÒâ ÍÁÙÅäÁ ä´ ÃÕâÁµ¤Í¹â·ÃÅ Easy Remote4

Ëع ¹µ Robo-PICA

○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○

ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz

ÃÙ»·Õè A11-1 áÊ´§¡ÒäǺ¤ØÁËع ¹µ ·µÕè Í §Ê §áʧÍÔ¹¿ÃÒàô¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅ ER-4 ãË µÃ§¡Ñº ἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ·Õµè ´Ô µÑ§é ÍÂÙ´ Ò ¹Ë¹ ҢͧËع ¹µ Robo-PICA


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

87

'***************************************************************** '* Name : P1101.BAS * '* Notes : Control ROBO-PICA With Remote Control * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ' used PIC16F877 KEY VAR BYTE DEFINE OSC 20 ' Oscilator = 20 MHz ADCON1 = $07 ' ALL PORTA & PORTE = Digital I/O HIGH PORTC.2 ' Enable Motor A HIGH PORTC.1 ' Enable Motor B TRISD = %11110000 ' RD0-RD3 = OUTPUT MAIN: SERIN2 PORTA.2,813,100,FREE,[KEY] ' Wait Recieve Motor ' If No Data Stop Motor IF (KEY = "A") OR (KEY = "a") THEN Backward ' Pess A or a action IF (KEY = "B") OR (KEY = "b") THEN S_Right ' Press B or b action IF (KEY = "C") OR (KEY = "c") THEN S_Left ' Press C or c action IF (KEY = "D") OR (KEY = "d") THEN Forward ' Press D or d action GOTO MAIN FREE: FORWARD: BACKWARD: S_LEFT: S_RIGHT:

PORTD PORTD PORTD PORTD PORTD

= = = = =

%00000000 %00000110 %00001001 %00000101 %00001010

: : : : :

GOTO goto Goto GOTO GOTO

Main Main Main Main Main

' ' ' ' '

Stop motor routine Forward routine Backward routine Turn left routine Turn right routine

¤íÒ͸ԺÒ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁà¾ÔÁè àµÔÁ àÃÔÁè µ ¹´ Ç¡ÒáíÒ˹´ãË ¾Íà µ A áÅÐ E à» ¹¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ´Ô¨µÔ ÍÅ´ ǤíÒÊѧè ADCON1 = $07 ¨Ò¡¹Ñ¹é àÍç¹àÍàºÔÅǧ¨Ã¢ÑºÁÍàµÍà A áÅÐ B à¾×Íè ãË Ë¹Ø Â¹µ ¾Ã ÍÁà¤Å×Íè ¹·Õ´è Ç Â¤ÇÒÁàÃçÇÊÙ§ÊØ´ ÅíҴѺµ ÍÁÒ Í Ò¹ ¤ Ҩҡἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô¼ Ò¹·Ò§¢Ò RA2 ´ ǤíÒÊѧè SERIN2 áŠǹíÒ¤ Òä´ à¡çºäÇ ã¹µÑÇá»Ã KEY ¶ ÒäÁ Á¡Õ Òá´¤ÕÂã ´æ ¹Ò¹à¡Ô¹ 100 ÁÔÅÅÔÇ¹Ô Ò·Õ ãË ¡ÃÐâ´´ä»·íÒ§Ò¹·ÕÅè ÒàºÅ FREE «Ö§è à» ¹¡ÒÃËÂØ´¡ÒÃà¤Å×Íè ¹·Õè ¢Í§ÁÍàµÍà ËÅѧ¨Ò¡Í Ò¹¤ Ò¨Ò¡ÃÕâÁµ¤Í¹â·ÃÅáÅ Ç ¹íÒä»à»ÃÕºà·ÕÂºÇ ÒµÃ§¡Ñº¤ ÒÊÇÔµª ¢Í§ÃÕâÁµ¤Í¹â·ÃÅËÃ×ÍäÁ ¶ ҵç¡ÑºÊÇÔµª D ËÃ×Í d ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò ¶ ҵç¡ÑºÊÇÔµª C ËÃ×Í c ãË Ë¹Ø Â¹µ àÅÕÂé Ç·Ò§´ Ò¹« Ò ¶ ҵç¡ÑºÊÇÔµª B ËÃ×Í b ãË Ë¹Ø Â¹µàÅÕÂé Ç·Ò§´ Ò¹¢ÇÒ ¶ ҵç¡ÑºÊÇÔµª A ËÃ×Í a ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õ¶è ÍÂËÅѧ

â»Ãá¡ÃÁ·Õè P11-1 â»Ãá¡ÃÁ¤Çº¤ØÁËع ¹µ Robo-PICA ãË à¤Å×Íè ¹·Õ´è Ç Â¢ ÍÁÙÅ͹ءÃÁ·ÕÊè § ÁÒ¨Ò¡ ÃÕâÁµ¤Í¹â·ÃÅ ER-4


88

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

89

º··Õè 7

Ëع ¹µ µÃǨ¨ÑºÇѵ¶ØẺäÁ ÊÁÑ ¼ÑÊ ¨Ò¡º··Õáè Å Çἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ÁÕ¤ÇÒÁÊÒÁÒö㹡ÒÃÃѺáʧÍÔ¹¿ÃÒàô ·ÕÊè § ÁÒä´ ¨Ò¡ÃÐÂзҧ¤ ͹¢ Ò§ä¡Å ·íÒãË àÁ×Íè ¹íÒἧǧ¨ÃâÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô 38kHz ÁÒà» ¹µÑÇ µÃǨ¨Ñº¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô ·íÒãË ÃÐÂСÒÃÊз ͹¡ÅѺ¢Í§áʧà¾ÔÁè ÁÒ¡¢Ö¹é ¨Ö§¹íÒÁÒÃÇÁࢠҡѺ ÀÒ¤Ê §ÊÑ­­Ò³ÍÔ¹¿ÃÒàô¤ÇÒÁ¶Õè 38 kHz à¾×Íè Êà ҧ໠¹µÑǵÃǨ¨Ñº¡ÒÃÊз ͹áʧ â´Â㪠ªÍ×è Ç Ò ZX-08 ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç ÂáʧÍÔ¹¿ÃÒàô (infrared objector)

7.1 ËÅÑ¡¡Ò÷íÒ§Ò¹¢Í§ ZX-08 ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç ÂáʧÍÔ¹¿ÃÒàô ã¹á¼§Ç§¨Ã¹Õàé » ¹·Ñ§é ÀÒ¤ÃѺáÅÐÊ §áʧÍÔ¹¿ÃÒàôÃÇÁÍÂÙ´ Ç Â¡Ñ¹ ÊíÒËÃѺÀÒ¤Ê §»ÃСͺ´ Ç IC1 àºÍà IRD-629FW «Ö§è ¨Ð·íÒ˹ Ò·ÕÊè à ҧ¤ÇÒÁ¶Õè 38kHz ÍÍ¡·Ò§¢Ò 3 àÁ×Íè ÁÕ¡Òû ͹Åͨԡ 1 à¢ Ò ÁÒ·ÕÍè ¹Ô ¾Øµ·Ò§¢Ò 5 àÍÒµ ¾µØ ¨Ò¡¢Ò 3 ¢Í§ IC1 ¶Ù¡Ê §µ Íä»Âѧ·ÃÒ¹«ÔÊàµÍà Q1 à¾×Íè ¢ÂÒÂÊÑ­­Ò³ãË ÁÕ¤ÇÒÁáçÁÒ¡¢Öé¹ â´ÂÁÕµÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ VR1 µÑǵ Ò¹·Ò¹ R2 áÅÐ R3 ·íÒ˹ Ò·Õè»ÃѺ¤ÇÒÁ áç¢Í§ÊÑ­­Ò³ ÊÑ­­Ò³¨Ð¶Ù¡Ê §ÍÍ¡ä»´ Ç LED1 «Ö§è à» ¹ LED ÍÔ¹¿ÃÒàô +V IC1 IRD-629FW

K1 IR-Tx

5

+V = 3-6V 1

GP4/LED GP2/TxE GP0/DET

K2 IR-Rx

R1 150

2

GP5/DIN

3

R2 2k2

VR1 10k SENSE

7 R5 1k

Çѵ¶ØËÃ×ÍÊÔ§è ¡Õ´¢ÇÒ§

R4 150 LED1 IR-LED Q1 BC337

R3 2k2

+V

8 LED2 DETECT

C1 0.1/50V M1 38kHz IRM

ÃÙ»·Õè 7-1 áÊ´§Ç§¨ÃÊÁºÙó áÅÐÃٻà ҧ˹ ҵҢͧἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø

áʧÍÔ¹¿ÃÒàô


90

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

ÊíÒËÃѺÀÒ¤ÃѺ 㪠âÁ´ÙÅÃѺáʧÍÔ¹¿ÃÒàô M1 ÃѺÊÑ­­Ò³Êз ͹·Õäè ´ ¨Ò¡ÀÒ¤Ê § àÍÒµ ¾µØ ¢Í§ M1 ¨Ð¶Ù¡Ê §ä»Âѧ IC1 à¾×Íè 㪠áÊ´§¼Å¡ÒÃÃѺ¤ Òä´ ÍÍ¡·Ò§ LED2 ¾Ã ÍÁ¡Ñ¹¹Ñ¹é ÊÑ­­Ò³¨Ð¶Ù¡ Ê §ÍÍ¡ä»Âѧ¤Í¹à¹ç¡àµÍà K2 à¾×Íè Ê §µ Íä»ÂѧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´Ç  â´ÂÁÕµÇÑ µ Ò¹·Ò¹ R1 ¤ Ò 150 âÍË Á·íÒ˹ Ò·Õ»è Í §¡Ñ¹¤ÇÒÁàÊÕÂËÒ¡ѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡Ã³Õà¡Ô´¡Ò깡ѹ¢Í§¢ ÍÁÙÅ ¤ÇÒÁäǢͧ¡ÒõÃǨ¨ÑºÇѵ¶Ø¹Ñ鹨ТÖé¹ÍÂÙ ¡Ñº¡ÒûÃѺ¤ Ңͧ VR1 ¨Ö§·íÒãË ¼Ù 㪠§Ò¹ÊÒÁÒö àÅ×Í¡»ÃѺÃÐÂÐ㹡ÒõÃǨ¨ÑºÇѵ¶Øä´ ´ ÇÂÇÔ¸Õ¡Ò÷ҧÎÒà ´áÇÃ

¡Ô¨¡ÃÃÁ·Õè 12

µÔ´µÑé§á¼§Ç§¨ÃµÃÇǨѺÇѵ¶Ø ÍØ»¡Ã³ áÅÐà¤Ã×Íè §Á×Í àÊÒÃͧ¾ÅÒʵԡ 3 ÁÁ. Ê¡ÃÙ 3x10 ÁÁ. ¹Íµ 3 ÁÁ.

¢Ñ¹é µÍ¹¡ÒûÃСͺ

ªÔ¹é µ ÍÁØÁ» Ò¹

ªÔ¹é µ Íá¹ÇµÃ§

ZX-08 ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø ´ ÇÂáʧÍÔ¹¿ÃÒàô

A12.1 Êà ҧᢹÊíÒËÃѺÂִἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø â´Âà ÍÂÊ¡ÃÙ 3x10 ÁÁ. ÂÖ´ ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø¡ºÑ ªÔ¹é µ ÍÁØÁ» Ò¹ â´Â㪠àÊÒÃͧ¾ÅÒʵԡ 3 ÁÁ. ¡Ñ¹é ÃÐËÇ Ò§¡ÅÒ§ ÊíÒËÃѺ»ÅÒÂÍÕ¡´ Ò¹¢Í§ªÔ¹é µ ÍÁØÁ» Ò¹ãË µÍ ¡ÑºªÔ¹é µ Íá¹Ç µÃ§à¾×Íè àª×Íè ÁࢠҡѺªÔ¹é µ ÍÁØÁ» Ò¹ÍÕ¡ªÔ¹é â´ÂÊà ҧᢹÂÖ´ÊíÒËÃѺἧǧ¨Ã µÃǨ¨ÑºÇѵ¶Ø¢¹Öé ÁÒ 2 ªØ´

A12.2 ¤ÅÒÂÊ¡ÃÙÂ´Ö á¼§Ç§¨Ã¢Í§ºÍà ´ RBX-877 ÍÍ¡¾ÍãË àÊÕºªÔ¹é µ ÍÁØÁ» ҹࢠÒä»ä´ â´Â¤ÅÒÂÍÍ¡·Ñ§é Êͧ´ Ò¹ ¨Ò¡¹Ñ¹é ¹íÒἧǧ¨ÃµÃǨ¨ÑºÇѵ¶ØàÊÕºࢠÒä» áÅ Ç㪠䢤ǧ¢Ñ¹ÂÖ´ãË á¹ ¹


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

91

A12.3 µ ÍÊÒ¨ҡ ZX-08 ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç ÂáʧÍÔ¹¿ÃÒàôä»Âѧ ºÍà ´ RBX-877 â´Âµ ÍÊÒ´ѧ¹Õé Rx ¢Í§á¼§Ç§¨Ã´ Ò¹« Òµ ÍࢠҡѺ¢Ò RA3 Rx ¢Í§á¼§Ç§¨Ã´ Ò¹¢ÇÒµ ÍࢠҡѺ¢Ò RA5 Tx ¢Í§á¼§Ç§¨Ã´ Ò¹« Òµ ÍࢠҡѺ¢Ò RE0 Tx ¢Í§á¼§Ç§¨Ã´ Ò¹¢ÇÒµ ÍࢠҡѺ¢Ò RE1 ¨Ðä´ Ë¹Ø Â¹µ Robo-PICA ·ÕÁè Õ µÒ ÊíÒËÃѺµÃǨ¨ÑºÇѵ¶Ø·ÍÕè ÂÙ´ Ò ¹ ˹ Òä´ â´ÂäÁ µ ͧÊÑÁ¼ÑÊ

¡Ô¨¡ÃÃÁ·Õè 13

·´Êͺ¡Ò÷íÒ§Ò¹¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø ¡Ô¨¡ÃÃÁ¹Õ¨é зíÒ¡ÒõÃǨÊͺ¼Å¨Ò¡á¼§Ç§¨ÃµÃǨ¨Ñº·Ñ§é ÊͧµÑÇ áŠǹíҼŷÕäè ´ áÊ´§¼Å·Õâè Á´ÙÅ LCD â´Â»¡µÔàÁ×Íè ¨ ÒÂä¿ãË ¡ºÑ ZX-08 ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç ÂáʧÍÔ¹¿ÃÒàô ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø¡¨ç зíÒ§Ò¹ä´ ·Ñ¹·Õ à¹×Íè §¨Ò¡¢Ò Tx ä´ ÃºÑ Åͨԡ 1 ¨Ò¡µÑǵ Ò¹·Ò¹¾ÙÅÍÑ» ¼Ùã ª §Ò¹¨ÐàËç¹ LED ÊÕá´§µÔ´ÊÇ Ò§àÁ×Íè ÁÕÇµÑ ¶ØÁÒ ¢ÇÒ§¡Ñ¹é ´ ҹ˹ Òἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø 㹡óշáÕè ¼§Ç§ÃÁÕ¤ÇÒÁäÇÁÒ¡à¡Ô¹ä»áÅеԴ¤ Ò§µÅÍ´àÇÅÒ ãË »ÃѺµÑÇ µ Ò¹·Ò¹»ÃѺ¤ Òä´ º¹á¼§Ç§¨Ã à¾×Íè Å´¤ÇÒÁäǢͧ LED ÍÔ¹¿ÃÒàôŧ A13.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P13-1 A13.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ¹Õäé »ÂѧËع ¹µ Robo-PICA ¨Ò¡¹Ñ¹é ¡´ÊÇÔµª MODE à¾×Íè ãË ÍÂÙã ¹âËÁ´Ãѹ A13.3 ¹íÒÇѵ¶ØÁÒÇÒ§´ ҹ˹ ҢͧËع ¹µ ¨Ò¡¹Ñ¹é ·´Åͧ»ÃѺµÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ º¹á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø ¨¹¡Ãзѧè LED ÊÕá´§¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Øµ´Ô ÊÇ Ò§ áÊ´§Ç ÒµÃǨ¨Ñº¾ºÇѵ¶ØáÅ Ç ¾Ã ÍÁ¡Ñ¹¹Ñ¹é ·Õâè Á´ÙÅ LCD ¨ÐáÊ´§¢ ͤÇÒÁᨠ§¼Å¡ÒõÃǨ¨Ñº´ ÇÂઠ¹¡Ñ¹ ÊíÒËÃѺÃÐÂСÒõÃǨ¨Ñº¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø ¨ÐäÁ á¹ ¹Í¹ ¢Ö¹é ÍÂÙ¡ ºÑ Çѵ¶Ø·¶Õè ¡Ù Êз ͹ ઠ¹ ¶ ÒÇѵ¶ØÁÊÕ ¢Õ ÒÇ á¼§Ç§¨ÃµÃǨ ¨ÑºÇѵ¶Ø¡ç¨ÐµÃǨ¨ÑºÇѵ¶Øä´ ·ÕèÃÐÂзҧ¤ ͹¢ Ò§ä¡Å áµ ¶ ÒÁÕÊÕ·Öº ÃÐÂÐ㹡ÒõÃǨ¨Ñº¡ç¨ÐÊÑé¹Å§ ¹Í¡¨Ò¡¹Õé¡ÒûÃѺµÑǵ Ò¹·Ò¹º¹ ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø¡çÁռŴ Ç ¹Í¡¨Ò¡¹Ñé¹Âѧ¾ºÇ Ò ¶ Òἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø·Ñé§ÊͧÇÒ§ ËѹࢠÒã¡Å ¡¹Ñ ÁÒ¡à¡Ô¹ä»¨Ðà¡Ô´¡ÒÃú¡Ç¹¡Ñ¹¢Ö¹é «Ö§è ·íÒãË á¼§Ç§¨Ã µÃǨ¨Ñºä´ µÅÍ´àÇÅÒ ¤ÇÃËѹ·ÔÈ·Ò§¢Í§á¼§Ç§¨Ãä»ã¹·ÔÈ·Ò§µÃ§ ÃÙ»·Õè A13-1 ¡ÒÃáÊ´§¼Å·Õâè Á´ÙÅ LCD ¡Ñ¹¢ ÒÁ áÅлÃѺ¤ÇÒÁࢠÁ¢Í§áʧÍÔ¹¿ÃÒàôãË àËÁÒÐÊÁ´ Ç àÁ×Íè µÃǨ¾ºÇѵ¶Ø·Ò§« ÒÂÁ×Í


92

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

'***************************************************************** '* Name : P1301.BAS * '* Notes : Detect Wall Show Status ON LCD * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ' Use PIC16F877 DEFINE

OSC

20

DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE

LCD_DREG PORTD LCD_DBIT 4 LCD_RSREG PORTC LCD_RSBIT 0 LCD_EREG PORTC LCD_EBIT 5 LCD_BITS 4 LCD_LINES 2 LCD_COMMANDUS 2000 LCD_DATAUS 50

' Oscilator = 20 MHz ' ' ' ' ' ' ' ' ' '

Set Set Set Set Set Set Set Set Set Set

LCD data port starting Data bit LCD register Select port LCD register Select bit LCD enable port LCD enable bit LCD bus size (4 or 8 bits) number of lines on LCD command delay time in us data delay time in us

ADCON1 = $07 ' ALL PORTA & PORTE = Digital I/O MAIN:HIGH PORTE.1 ' Infrared LED ON HIGH PORTE.0 IF (PORTA.3 = 0) THEN ' Check IR MOdule detection LCDOUT $FE,$01,"DETECT WALL_L" ' If detect, show on LCD ENDIF IF (PORTA.5 = 0) THEN LCDOUT $FE,$01,"DETECT WALL_R" ENDIF PAUSE 100 ' Delay LCDOUT $FE,$01 GOTO MAIN ' Check again

¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ 1. ¡íÒ˹´¤ ÒàÃÔÁè µ ¹ãË ¡ºÑ âÁ´ÙÅ LCD ¡ ͹ â´Â㪠ºÃ÷Ѵ DEFINE LCD_ «Ö§è ÁÕ·§Ñé ËÁ´ 10 ºÃ÷Ѵ 2. ¡íÒ˹´ãË ¢Ò¾Íà µ·Ñ§é ËÁ´à» ¹¢Ò´Ô¨µÔ ÍÅÍÔ¹¾ØµàÍÒµ ¾µØ â´Â¡íÒ˹´ãË Ã¨Õ ÊÔ àµÍà ADCON1 = $07 3. ãË LED ÍÔ¹¿ÃÒàôàÃÔÁè µ ¹Ê §¤ÇÒÁ¶Õè 38 kHz â´Â¡íÒ˹´ãË ¢Ò Tx ¢Í§á¼§Ç§¨Ã·Ñ§é ÊͧÁÕÅͨԡ 1 4. µÃǨÊͺ¢Ò Rx «Ö§è à» ¹¢ÒÃѺ¢ ÍÁÙŨҡ¡ÒÃÊз ͹¡ÅѺ¢Í§áʧ¨Ò¡Çѵ¶ØÇÒ ÁÕ¡ÒÃÊз ͹¡ÅѺËÃ×Í äÁ ÊíÒËÃѺ·Ò§« ÒÂÁ×Í àÁ×Íè ÁÕ¡ÒÃÊз ͹¡ÅѺ ¢Ò RA3 ¨ÐÁÕÅͨԡ 0 ãË áÊ´§¢ ͤÇÒÁ DETECT WALL_L ·Õâè Á´ÙÅ LCD ¶ ÒäÁ 㪠ãË µÃǨÊͺà§×Íè ¹ä¢·Ò§´ Ò¹¢ÇÒÁ×Í àÁ×Íè ·Ò§¢ÇÒÁ×ÍÁÕ¡ÒÃÊз ͹¡ÅѺ ¢Ò¾Íà µ RA5 ¨ÐÁÕÅͨԡ 0 ãË áÊ´§¢ ͤÇÒÁ DETECT WALL_R ·Õâè Á´ÙÅ LCD 5. ¶ ÒµÃǨÊͺáÅ Ç äÁ ¾ºÇ ÒÁÕ¡ÒÃÊз ͹¡ÅѺ ãË ·Òí ¡ÒÃà¤ÅÕÂà ¨ÍáÊ´§¼Å¢Í§âÁ´ÙÅ LCD ¨Ò¡¹Ñ¹é ¡ÅѺä»àÃÔÁè µ ¹·íÒ¡ÒõÃǨÊͺµÒÁ¢ Í 4 ãËÁ Í¡Õ ¤Ãѧé

â»Ãá¡ÃÁ·Õè P13-1 â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ÊíÒËÃѺµÃǨÊͺ¡Ò÷íÒ§Ò¹¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç  áʧÍÔ¹¿ÃÒàô¢Í§Ëع ¹µ Robo-PICA


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

93

¡Ô¨¡ÃÃÁ·Õè 14

ËØ ¹Â¹µ à¤Å×è͹·ÕèËźËÅÕ¡Çѵ¶ØẺäÁ ÊÑÁ¼ÑÊ ´ ÇÂËع ¹µ ·µÕè ´Ô µÑ§é ἧǧ¨ÃµÃǨ¨ÑºÇѵ¶Ø´Ç ÂáʧÍÔ¹¿ÃÒàôäÇ ´Ò ¹Ë¹ Ò à»ÃÕºàÊÁ×Í¹Ç Ò Ëع ¹µ ÁÕ µÒ ·ÕÁè ͧàËç¹ÊÔ§è ¡Õ´¢ÇÒ§´ ҹ˹ Ò ´Ñ§¹Ñ¹é ¨Ö§µ ͧà¢Õ¹â»Ãá¡ÃÁà¾×Íè ãË Ê Ç¹ÊÁͧ ËÃ×ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µ´Ñ ÊÔ¹ ã¨Ç Ò ¨ÐãË Ë¹Ø Â¹µ ·Òí Í ҧäõ Íä»àÁ×Íè ¾ºÊÔ§è ¡Õ´¢ÇÒ§ËÃ×ÍÇѵ¶ØÍÂÙ´ Ò ¹Ë¹ Ò '***************************************************************** '* Name : P1401.BAS * '* Notes : Detect Wall * '***************************************************************** @ DEVICE PIC16F877,HS_OSC ' used PIC16F877 DEFINE OSC 20 ' Oscilator = 20 MHz ADCON1 = $07 ' ALL PORTA & PORTE = Digital I/O HIGH PORTC.2 ' Enable Motor A HIGH PORTC.1 ' Enable Motor B TRISD = $F0 ' Set low nibble PORTD for driving motor MAIN: HIGH PORTE.1 ' Infrared LED on HIGH PORTE.0 IF (PORTA.3 = 1) AND (PORTA.5 = 1) THEN FORWARD ' Not detect, straight IF (PORTA.3 = 0) THEN LEFT ' Detect from left IF PORTA.5 = 0 THEN RIGHT ' Detect from right GOTO MAIN FORWARD: LEFT: RIGHT:

PORTD = %00000110 :GOTO MAIN PORTD = %00001001 : PAUSE 1000 : PORTD = %00000101 : PAUSE 800 GOTO MAIN PORTD = %00001001 : PAUSE 1000 : PORTD = %00001010 : PAUSE 800 GOTO MAIN

go

¤íÒ͸ԺÒ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁà¾ÔÁè àµÔÁ 1.¡íÒ˹´ãË ¢Ò¾Íà µ A áÅÐ E ·íÒ˹ Ò·Õàè » ¹¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 2. àÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà ¡íÒ˹´ãË ¢Ò RD0-RD3 à» ¹¢ÒàÍÒµ ¾µØ ÊíÒËÃѺ¤Çº¤ØÁÁÍàµÍà 3. Ê §Åͨԡ 1 ãË ¡ºÑ ÀÒ¤Ê §ÊÑ­­Ò³ÍÔ¹¿ÃÒàô¢Í§á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø·§Ñé ÊͧµÑÇ 4. µÃǨÊͺ¡ÒÃÃѺáʧÍÔ¹¿ÃÒàô¨Ò¡á¼§Ç§¨ÃµÃǨ¨ÑºÇѵ¶Ø·§Ñé ÊͧµÑÇ ¶ ÒäÁ Á¡Õ ÒÃÊз ͹ ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò â´ÂàÃÕ¡â»Ãá¡ÃÁ Í FORWARD à¾×Íè ¤Çº¤ØÁãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õäè »¢ ҧ˹ Ò 5. ¶ ÒÁÕ¡ÒÃÊз ͹¨Ò¡á¼§Ç§¨Ã·Ò§« Ò àÃÕ¡â»Ãá¡ÃÁ Í LEFT à¾×Íè ¤Çº¤ØÁãË Ë¹Ø Â¹µ ¶ÍÂËÅѧ áÅ Ç àÅÕÂé Ç¢ÇÒà¾×Íè ËźËÅÕ¡ÊÔ§è ¡Õ´¢ÇÒ§ 6. ¶ ÒÁÕ¡ÒÃÊз ͹¨Ò¡á¼§Ç§¨Ã·Ò§¢ÇÒ àÃÕ¡â»Ãá¡ÃÁ Í RIGHT à¾×Íè ¤Çº¤ØÁãË Ë¹Ø Â¹µ ¶ÍÂËÅѧ áÅ ÇàÅÕÂé Ç« ÒÂà¾×Íè ËźËÅÕ¡ÊÔ§è ¡Õ´¢ÇÒ§ 7. ãË â»Ãá¡ÃÁ¡ÅѺä»àÃÔÁè µ ¹·íÒ¡ÒõÃǨÊͺ¨Ò¡¢ Í 4 ãËÁ áÅ Çǹ·íҧҹ͠ҧ¹Õäé »µÅÍ´

â»Ãá¡ÃÁ·Õè P14-1 â»Ãá¡ÃÁ¤Çº¤ØÁãË Ë¹Ø Â¹µ Robo-PICA à¤Å×Íè ¹·ÕËè źÊÔ§è ¡Õ´¢ÇҧẺäÁ ÊÁÑ ¼ÑÊ


94

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

A14.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P14-1 A14.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ¹Õäé »ÂѧËع ¹µ Robo-PICA ¨Ò¡¹Ñ¹é ¡´ÊÇÔµª MODE à¾×Íè ãË ÍÂÙã ¹âËÁ´Ãѹ àÁ×Íè àÃÔÁè µ ¹·íÒ§Ò¹ Ëع ¹µ ¨Ðà¤Å×Íè ¹·Õäè »¢ ҧ˹ ÒÍ ҧµ Íà¹×Íè § àÁ×Íè ¾ºÊÔ§è ¡Õ´¢ÇÒ§ Ëع ¹µ ¨Ð¶ÍÂËÅѧ áÅ Çà»ÅÕè¹àÊ ¹·Ò§ä»ã¹·ÔÈ·Ò§µÃ§¡Ñ¹¢ ÒÁ¡Ñº·Õ辺ÊÔ觡մ¢ÇÒ§ ¨Ò¡¡Ò÷´Êͺà¤Å×Íè ¹·Õ¢è ͧËع ¹µ ¡ºÑ ÊÀÒ¾áÇ´Å ÍÁµ Ò§æ ¾ºÇ Ò ã¹ºÒ§¤Ãѧé Ëع ¹µ ¨ÐµÃǨÊͺ¾º Çѵ¶Øã¹ÃÐÂзҧ·Õãè ¡Å ÁÒ¡¨¹à¡×ͺª¹ ÊÒà˵ؤÍ× ã¹µíÒá˹ §·ÕËè ¹Ø Â¹µ µÃǨ¨Ñºä´ ¹¹Ñé ÁÕ¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô ä´ ¹Í  áÅШзíÒ§Ò¹ä´ ´¡Õ ºÑ ¾×¹é ·Õ·è ÁÕè ÊÕ ÍÕ Í ¹áÅÐÁÕ¾¹Ôé ¼ÔÇã¡Å à¤Õ§¡Ñ¹


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

95

º··Õè 8

Robo-PICA ¡Ñº¡ÒÃÇÑ´Ãзҧ´ Ç âÁ´ÙÅÇÑ´ÃÐÂзҧẺÍÔ¹¿ÃÒàô Íա˹Ö觵ÑǵÃǨ¨Ñº·Õè¹ Òʹ㨤×Í âÁ´ÙŵÃǨ¨ÑºáÅÐÇÑ´ÃÐÂзҧ´ ÇÂáʧÍÔ¹¿ÃÒàôàºÍà GP2D12 áÅÐ GP2D120 ¨Ò¡ Sharp â´ÂâÁ´ÙŹÕãé Ë ¼Å¡Ò÷íҧҹ໠¹áç´Ñ¹ä¿µÃ§·ÕÊè ÁÑ ¾Ñ¹¸ ¡ºÑ ÃÐÂÐ ·Ò§·Õµè ÃǨ¨Ñºä´ ´Ñ§¹Ñ¹é ¨Ö§ÊÒÁÒö¹íÒàª×Íè Áµ ͡ѺËع ¹µ Robo-PICA ä´ Í ҧ§ Ò´Ò â´Âµ ÍࢠҷÕè ÍÔ¹¾ØµÊÑ­­Ò³ÍйÒÅÍ¡ ÊíÒËÃѺâÁ´ÙÅ·Õ¨è йíÒÁÒ㪠㹺·¹Õ¤é Í× GP2D120 ·ÕÊè ÒÁÒöÇÑ´ÃÐÂÐ·Ò§ä´ 4 ¶Ö§ 30 ૹµÔàÁµÃ ã¹¢³Ð·Õè GP2D12 ÇÑ´ä´ 10 ¶Ö§ 80 ૹµÔÁàµÃ

8.1 ¢ ÍÁÙÅàº×Íé µ ¹¢Í§ GP2D120/GP2D12 âÁ´ÙŵÃǨ¨ÑºáÅÐÇÑ´ÃÐÂзҧ ´ ÇÂáʧÍÔ¹¿ÃÒàô ÁդسÊÁºÑµÔ·Õè¹ Òʹ㨴ѧ¹Õé l 㪠¡ÒõÃǨ¨ÑºÃÐÂзҧ´ Ç¡ÒÃÊз ͹áʧÍÔ¹¿ÃÒàô l ÇÑ´ÃÐÂÐ·Ò§ä´ 10 ¶Ö§ 80 «Á. ÊíÒËÃѺ GP2D12 áÅÐ 4 ¶Ö§ 30 «Á.ÊíÒËÃѺ GP2D120 l ä¿àÅÕÂ é § 4.5 ¶Ö§ 5V ¡ÃÐáÊä¿¿ Ò 33mA l ãË àÍÒµ ¾µ Ø à» ¹áç´Ñ¹ã¹Â Ò¹ 0.4 ¶Ö§ 2.4V ·Õäè ¿àÅÕÂé § +5V GP2D12/GP2D120 à» ¹âÁ´ÙŵÃǨ¨ÑºÃÐÂзҧẺÍÔ¹¿ÃÒàôÁÕ¢Òµ Í㪠§Ò¹ 3 ¢Ò¤×Í ¢Òµ Í ä¿àÅÕÂé § (Vcc), ¢Ò¡ÃÒÇ´ (GND) áÅТÒáç´Ñ¹àÍÒµ ¾µØ (Vout) ¡ÒÃÍ Ò¹¤ Òáç´Ñ¹¨Ò¡ GP2D12 ¨Ðµ ͧ ÃÍãË ¾¹ ª ǧàµÃÕÂÁ¤ÇÒÁ¾Ã ÍÁ«Ö§è 㪠àÇÅÒ»ÃÐÁÒ³ 32. ¶Ö§ 52.9 ÁÔÅÅÔÇ¹Ô Ò·Õ ´Ñ§¹Ñ¹é ¡ÒÃÍ Ò¹¤ Ò¨Ö§¤Çà ÃÍãË ¾ ¹ª ǧàÇÅҴѧ¡Å ÒÇ仡 ͹ âÁ´ÙÅ GP2D12 áÅÐ GP2D120 à» ¹ÍØ»¡Ã³ àÊÃÔÁ äÁ ÃÇÁÍÂÙã ¹ÍØ»¡Ã³ Áҵðҹ¢Í§ªØ´Ëع ¹µ Robo-PICA


96

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

LED ÍÔ¹¿ÃÒàôµÑÇÊ §

ä¿àÅÕé§

µÑÇÃѺáʧÍÔ¹¿ÃÒàô

38.3±9.6

/2 , /2 , Vout

GND

Vcc

ÁÔÅÅÔÇ¹Ô Ò·Õ

¡ÒÃÇÑ´ÃÐÂÐË Ò§

ÇÑ´¤ÃÑ§é ·Õè 1

áç´Ñ¹àÍÒµ ¾Øµ

äÁ á¹ ¹Í¹

ÇÑ´¤ÃÑ§é ·Õè 2

ÇÑ´¤ÃÑ§é ·Õè n

àÍÒµ ¾µØ ¤ÃÑ§é ·Õè 1 àÍÒµ ¾µØ ¤ÃÑ§é ·Õè 2

àÍÒµ ¾µØ ¤ÃÑ§é ·Õè n

5 ÁÔÅÅÔÇ¹Ô Ò·Õ

¡ÃÒ¿áÊ´§¡Ò÷íÒ§Ò¹¢Í§ GP2D120 ¡ÃÒ¿áÊ´§¡Ò÷íÒ§Ò¹¢Í§ GP2D12 áç´Ñ¹àÍÒµ ¾µØ (V)

áç´Ñ¹àÍÒµ ¾µØ (V)

2.8

2.8

2.4

2.4

2.0

2.0

1.6

1.6

1.2

1.2

0.8

0.8

0.4

0.4

0

0

4

8

12

16

20

24

28

ÃÐÂÐË Ò§¨Ò¡Çѵ¶Ø·µèÕ ÃǨ¨Ñº (cm)

32

0

0

10

20

30

40

50

60

70

ÃÐÂÐË Ò§¨Ò¡Çѵ¶Ø·µèÕ ÃǨ¨Ñº (cm)

80

* 㪠¡ ÃдÒÉà·Ò ¢ÒÇÃØ ¹ R-27 ¢Í§ Kodak «Ö§è ´ Ò¹¢ÒÇ ÁÕÍѵÃÒ¡ÒÃÊз ͹ áʧ 90% à» ¹Çѵ¶Ø ÊíÒËÃѺÊз ͹áʧ à¾×èÍÇÑ´ÃÐÂзҧ

ÃÙ»·Õè 8-1 áÊ´§Ãٻà ҧ ¡ÒèѴ¢Ò ä´ÍÐá¡ÃÁàÇÅҨѧËÇСÒ÷íÒ§Ò¹ áÅСÃÒ¿áÊ´§¡Ò÷íÒ§Ò¹¢Í§ GP2D12/GP2D120 ¤ Òáç´Ñ¹àÍÒµ ¾µØ ¢Í§ GP2D120 ·ÕÃè ÐÂзҧ 30 ૹµÔàÁµÃ·Õäè ¿àÅÕÂé § +5V ÍÂÙã ¹ª ǧ 0.25 ¶Ö§ 0.55V â´Â¤ Ò¡ÅÒ§¤×Í 0.4V ª ǧ¢Í§¡ÒÃà»ÅÕÂè ¹á»Å§áç´Ñ¹àÍÒµ ¾µØ ·ÕÃè ÐÂзҧ 4 ૹµÔàÁµÃ¤×Í 2.25V ±0.3V ¤ Òáç´Ñ¹àÍÒµ ¾µØ ¢Í§ÃÐÂзҧ 80 ૹµÔàÁµÃ·Õäè ¿àÅÕÂé § +5V ÍÂÙã ¹ª ǧ 0.25-0.55V â´Â¤ Ò ¡ÅÒ§¤×Í 0.4V ª ǧ¢Í§¡ÒÃà»ÅÕÂè ¹á»Å§áç´Ñ¹àÍÒµ ¾µØ ·ÕÃè ÐÂзҧ 10 ૹµÔàÁµÃ¤×Í 2V ±0.25V

8.2 ËÅÑ¡¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙŵÃǨÇÑ´ÃÐÂзҧ´ ÇÂáʧÍÔ¹¿ÃÒàô

¡ÒÃÇÑ´ÃÐÂзҧÊÒÁÒö·íÒä´ ËÅÒÂÃٻẺ ÃٻẺ·ÕÁè ·Õ Òí ¤ÇÒÁࢠÒã¨ä´ §Ò ·ÕÊè ´Ø ¤×Í ÍÑÅµÃ Ò â«¹Ô¡·Õàè » ¹¡ÒùíÒàÍÒÊÑ­­Ò³àÊÕÂ§Ê §ä»¡ÃзºÇѵ¶ØáŠǹѺàÇÅÒ·Õàè ÊÕ§¹Ñ¹é Êз ͹µÍº¡ÅѺÁÒ à¹×Íè § ¨Ò¡¤ÇÒÁàÃçǢͧàÊÕ§¹Ñé¹ÁÕ¤ÇÒÁàÃçÇäÁ ÁÒ¡¹Ñ¡ ¾Í·Õè¨Ð㪠à¤Ã×èͧÁ×͵ÃǨÇÑ´ä´ áµ ÊíÒËÃѺâÁ´ÙÅÇÑ´ ÃÐÂзҧ´ ÇÂáʧÍÔ¹¿ÃÒàô ¡ÒÃÊ §áʧÍÔ¹¿ÃÒàô仡ÃзºÇѵ¶ØáÅ ÇÇÑ´¤ ÒÃÐÂÐàÇÅÒ¡ÒÃÊз ͹¹Ñ¹é ·íÒäÁ ä´ à¹×Íè §¨Ò¡¤ÇÒÁàÃçÇáʧ¹Ñ¹é ÁÕ¤ÇÒÁàÃçÇÁÒ¡à¡Ô¹ä» à¡Ô¹¡Ç Òà¤Ã×Íè §Á×Í»¡µÔ¨Ð·íÒ¡ÒõÃǨ¨Ñºä´ ¨Ö§µ ͧ㪠ËÅÑ¡¡Ò÷íÒ§Ò¹´Ñ§¹Õé


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

97

ÃÙ»·Õè 8-2 áÊ´§¡Ãкǹ¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙÅ GP2D12/GP2D120 áʧÍÔ¹¿ÃÒàô¨Ò¡µÑÇÊ §¨Ð¶Ù¡Ê §ä»¡ÃзºÇѵ¶Ø ¼ Ò¹àÅ¹Ê ¹Ù¹à¾×èÍâ¿¡ÑÊáʧãË ÁÕ¤ÇÒÁࢠÁ áʧä»Âѧ¨Ø´ã´¨Ø´Ë¹Ö§è àÁ×Íè áʧ仡ÃзºÇѵ¶Ø¨Ðà¡Ô´¡ÒáÃÐà¨Ô§¢Í§áʧä»ã¹·ÔÈ·Ò§µ Ò§æ áÊ§Ê Ç¹ Ë¹Ö§è ¨Ð¡ÃÐà¨Ô§ä»ÂѧÀÒ¤ÃѺ â´ÂÁÕàÅ¹Ê ÀÒ¤ÃѺ·íÒ˹ Ò·ÕÃè ÇÁáʧáÅСíÒ˹´¨Ø´µ¡¡Ãзº áʧ¨Ð¶Ù¡ Ê §¼ Ò¹ä»Âѧâ¿âµ ·ÃÒ¹«ÔÊàµÍà ¨íҹǹÁÒ¡·Õèµ ÍàÃÕ§µÑǡѹ໠¹ÍÐààµíÒá˹ §·Õèáʧµ¡¡Ãзº¹Õé ÊÒÁÒö¹íÒÁÒ¤íҹdzËÒÃÐÂзҧ (L) ¨Ò¡ÀÒ¤Ê §ä»ÂѧÇѵ¶Øä´ â´Â㪠ʵ٠ÃËÒÊÒÁàËÅÕÂè Á¤Å Ò´ѧ¹Õé L F = A X

´Ñ§¹Ñ¹é ¤ Ò L ¨ÐÁÕ¤Ò à· Ò¡Ñº L=

F×A X

â´Â¤ Ò·ÕÇè ´Ñ ÃÐÂÐä´ ¨Ò¡â¿âµ ·ÃÒ¹«ÔÊàµÍà ¨Ð¶Ù¡Ê §ä»Âѧǧ¨Ã»ÃÐÁÇżÅÊÑ­­Ò³¡ ͹¨Ðà»ÅÕÂè ¹¤ Ò à» ¹ÃдѺáç´Ñ¹ «Ö§è ãË ¼Å¡ÒÃà»ÅÕÂè ¹á»Å§áç´Ñ¹µÒÁÃÐÂзҧ·Õµè ÃǨÇÑ´ä´


98

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

8.3 ¡ÒùíÒâÁ´ÙÅ GP2D120 ÁÒ㪠¡ºÑ Ëع ¹µ

¼ÅÅѾ¸ ·äÕè ´ ¨Ò¡ GP2D12 ËÃ×Í GP2D120 à» ¹áç´Ñ¹ ¨Ðµ ͧ¹íÒ¤ Ò·Õäè ´ ÁÒáÊ´§¼Åã¹ÃÙ»¢Í§ ÃÐÂзҧ â´Âá»Å§¤ Òáç´Ñ¹¨Ò¡¡ÃÒ¿à»ÃÕºà·Õº¤ Òáç´Ñ¹¡Ñº¤ ÒÃÐÂзҧ à¾×Íè ¤ÇÒÁÊдǡ¨Ö§ÁÕ ¼ÙÊ Ã Ò§ÊÁ¡ÒÃàªÔ§àÊ ¹ÍÍ¡ÁÒãË ãª §Ò¹ä´ §Ò  ´Ñ§¹Õé

â´Â

4=

' " − 8 +#

ÊíÒËÃѺ GP2D120

4=

$%&% −" 8−!

ÊíÒËÃѺ GP2D12

R ËÁÒ¶֧ÃÐÂзҧ˹ ÇÂà» ¹à«¹µÔàÁµÃ V ËÁÒ¶֧¢ ÍÁÙŨҡǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ

¡Ô¨¡ÃÃÁ·Õè 15

µÔ´µÑ§é âÁ´ÙÅ GP2D120 á¡ Robo-PICA A15.1 㪠ª¹Ôé µ ÍÁØÁ©Ò¡Âִࢠҷպè ÃÔàdz´ ҹ˹ ҢͧºÍà ´ RBX-877 â´Â㪠ʡÃÙ 3x10 ÁÁ. ¢Ñ¹ÂÖ´àÍÒäÇ A15.2 ·Õµè Òí á˹ §µÃ§¡Ñ¹´ ҹŠҧ ºÃÔàdzἠ¹°Ò¹ãË ¹äªÔ¹é µ ÍÁØÁ©Ò¡ÍÕ¡Íѹ ÂִࢠÒä»´ Ç ¢Ñ¹ãË á¹ ¹´ ÇÂÊ¡ÃÙ 3x10 ÁÁ.

A15.3 ¹íÒâÁ´ÙÅ GP2D120 ÁÒà Í´ ÇÂÊ¡ÃÙ 3x10 ÁÁ. áÅТѹ´ ǹ͵ 3 ÁÁ. â´Â¢Ñ¹é ¹ÕÂé §Ñ äÁ µÍ §¢ÑÂãË á¹ ¹ ¹íÒâÁ´ÙÅ GP2D120 ÂÖ´à¢ Ò¡ÑºÊ Ç¹¢Í§ªÔ¹é µ ÍÁØÁ©Ò¡·Õµè ´Ô µÑ§é äÇ ã¹¢Ñ¹é µÍ¹·Õè A15.1 áÅÐ A15.2 A15.4 µ ÍÊÒÂÊÑ­­Ò³¨Ò¡âÁ´ÙÅ GP2D120 à¢ Ò·Õ¨è ´Ø µ Í RE2 «Ö§è ¨Ðä´ ÃºÑ ¡ÒáíÒ˹´ãË à» ¹ÍÔ¹¾ØµÊÑ­­Ò³ÍйÒÅÍ¡ª ͧ 7(AN7) ¢Í§ PIC16F877 ´Ñ§¹Ñ¹é 㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ö§µ Í§Í Ò¹¤ ÒÊÑ­­Ò³¨Ò¡¾Íà µ¹Õé


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

99

¤íÒàµ×͹à¡ÕÂè ǡѺÊÒÂÊÑ­­Ò³¢Í§ GP2D12 áÅÐ GP2D120 à¹×Íè §¨Ò¡âÁ´ÙÅ GP2D12 áÅÐ GPD120 ÁÕ¡ÒèѴ¢ÒÊÑ­­Ò³·Õáè µ¡µ Ò§¨Ò¡¨Ø´µ ͺ¹ºÍà ´ StampBOX áÁ ÇÒ ¨ÐÁÕû٠à ҧàËÁ×͹¡Ñ¹¡çµÒÁ ´Ñ§¹Ñ¹é ¨Ö§ÁÕ¡Òõ ÍÊÒÂÊÑ­­Ò³áºº¾ÔàÈÉãË á¡ âÁ´ÙÅ GP2D12 áÅÐ GP2D120 â´Â¨Ðµ ÍࢠҡѺâÁ´ÙÅäÇ áÅ Ç ¼Ùã ª §Ò¹à¾Õ§¹íÒ»ÅÒ¢ͧÊÒÂÊÑ­­Ò³ÍÕ¡´ Ò¹Ë¹Ö§è µ Í à¢ Ò¡Ñº¨Ø´µ ÍÊÑ­­Ò³º¹ºÍà ´ Stamp-BOX ä´ àÅ â´Âµ ͧäÁ ¶Í´ÊÒÂÊÑ­­Ò³ã¹´ Ò ¹·Õµè ´Ô ¡ÑºµÑÇ âÁ´ÙÅÍ ҧà´ç´¢Ò´ áÅÐË ÒÁà»ÅÕÂè ¹ÊÒÂÊÑ­­Ò³¢Í§âÁ´ÙÅ GP2D120 ÊÅѺ¡ÑºÊÒÂÊÑ­­Ò³¢Í§µÑÇ µÃǨ¨ÑºáººÍÔ¹×è æ à´ç´¢Ò´

¡Ô¨¡ÃÃÁ·Õè 16

¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×èÍÍ Ò¹¤ Ò¨Ò¡ GP2D120 áÊ´§¼Å·Õâè Á´ÙÅ LCD A16.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P16-1 A16.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ¹Õäé »ÂѧËع ¹µ Robo-PICA ¨Ò¡¹Ñ¹é ¡´ÊÇÔµª MODE à¾×Íè ãË ÍÂÙã ¹âËÁ´Ãѹ '**************************************************************** '* Name : P1601.BAS * '* Notes : Read data from GP2D120 module * '**************************************************************** @ DEVICE PIC16F877a , HS_OSC ' Use PIC16F877 and HS Oscilator DAT VAR Word ' Save Raw Data SENSOR7 VAR WORD ' Save Data I var byte ' Counter R var word ' Save Converted Data DEFINE OSC 20 ' Use Oscillator 20 MHz DEFINE ADC_BITS 10 ' Set number of bits in result DEFINE ADC_CLOCK 3 ' Set clock source (Internal RC = 3) DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE

LCD_DREG PORTD LCD_DBIT 4 LCD_RSREG PORTC LCD_RSBIT 0 LCD_EREG PORTC LCD_EBIT 5 LCD_BITS 4 LCD_LINES 2

' ' ' ' ' ' ' '

Set Set Set Set Set Set Set Set

LCD Data port starting Data bit (0 or 4) if 4-bit bus LCD Register Select port LCD Register Select bit LCD Enable port LCD Enable bit LCD bus size (4 or 8 bits) number of lines on LCD

â»Ãá¡ÃÁ·Õè P16-1 â»Ãá¡ÃÁÍ Ò¹¤ ÒâÁ´ÙÅ GP2D120 ÁÒáÊ´§¼Å·Õâè Á´ÙÅ LCD ¢Í§ Robo-PICA (ÁÕµÍ )


100

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

DEFINE DEFINE

LCD_COMMANDUS 2000 LCD_DATAUS 50

' Set command delay time in us ' Set data delay time in us

ADCON1 = %10000000

' All PORTA & PORTE is Analog

Dat = 0 For i = 1 to 5 ADCIN 7,SENSOR7 dat = (Sensor7 + next DAT = DAT/5 LCDOUT $FE,$01,"Raw R = (2914 / (DAT+5)) LCDOUT $FE,$C0,"Far pause 200 goto Main

' ' ' '

Main:

DAT)

Clear data for Averate Loop 5 time for averate data Read channel 7 sum data

' averate = ",DEC3 Dat ' -1 ' = ",DEC2 R," CM"'

data show RAW data on LCD Convert data ==> centimeter Show On LCD

' Again

â»Ãá¡ÃÁ·Õè P16-1 â»Ãá¡ÃÁÍ Ò¹¤ ÒâÁ´ÙÅ GP2D120 ÁÒáÊ´§¼Å·Õâè Á´ÙÅ LCD ¢Í§ Robo-PICA (¨º) ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·Õè P16-1 ¨Ð¡íÒ˹´ãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ Í Ò¹¤ ÒÊÑ­­Ò³ÍйÒÅÍ¡¨Ò¡ ª ͧÊÑ­­Ò³ Analog 7 (AN7) «Ö觵ç¡Ñº¢Ò RE2 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà â´Â¡ÒÃÍ Ò¹¤ Ò¹Ñ¹é ¨ÐÍ Ò¹«éÒí 5 ¤ÃÑé§ áŠǹíÒÁÒËÒ¤ Òà©ÅÕè à¾×èÍãË ä´ ¼Å¡ÒÃÇÑ´·ÕèÁÕ ¤ÇÒÁáÁ ¹ÂíÒÁÒ¡ÂÔ§è ¢Ö¹é ¡ ͹¹íÒä»áÊ´§¼Å·Õâè Á´ÙÅ LCD ¨Ò¡¹Ñé¹¹íÒ¤ Ò·ÕèÍ Ò¹ä´ ÁÒá»Å§ãË ÍÂÙ ã¹Ë¹ Ç ¢Í§à«¹µÔàÁµÃ áŠǹíÒ¤ Ò˹ ÇÂૹµÔàÁµÃ¹Õäé »áÊ´§·Õè âÁ´ÙÅ LCD 㹺Ã÷Ѵ·Õè 2 ¨Ò¡¹Ñ¹é Ç¹Í Ò¹¤ Òµ Íà¹×Íè §

¡Ô¨¡ÃÃÁ·Õè 17

ËźËÅÕ¡ÊÔ觡մ¢ÇÒ§´ Ç¡ÒÃÇÑ´ÃÐÂзҧ 㹡Ԩ¡ÃÃÁ¹Õàé » ¹¡ÒùíÒ¤ÇÒÁÃÙá ÅмšÒ÷íÒ§Ò¹¨Ò¡¡Ô¨¡ÃÃÁ·Õè 16 ÁҾѲ¹Òà» ¹â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁ ãË Ë¹Ø Â¹µ Robo-PICA ÊÒÁÒöµÃǨÊͺÇѵ¶Ø·¡Õè ´Õ ¢ÇÒ§ÍÂÙ´ Ò ¹Ë¹ Òã¹ÃÐÂзաè Òí ˹´ä´ ã¹¢³Ð·Õ¡è Òí Åѧà¤Å×͹·Õè áÅÐàÁ×Íè µÃǨ¾ºãË ·Òí ¡ÒÃËźËÅÕ¡ ËÅÑ¡¡Òä×Í Í Ò¹¤ Ò¨Ò¡âÁ´ÙÅ GP2D120 áŠǹíÒÁÒà»ÃÕºà·Õº¡Ñº¤ Ò·Õµè §Ñé äÇ ¶ ÒÁÕ¤Ò ÁÒ¡¡Ç Ò¤ Ò·Õµè §Ñé äÇ áÊ´§Ç ÒÁÕÇµÑ ¶ØÍÂÙ´ Ò ¹Ë¹ Ò ÂÔ§è ¤ Ò·Õµè §Ñé äÇ Á¤Õ Ò ÁÒ¡Çѵ¶Ø§Ôè ÍÂÙã ¡Å ÁÒ¡ ¨ÐÊѧè ãË Ë¹Ø Â¹µ à¤Å×Íè ¹·Õ¶è ÍÂËÅѧ 0.5 ÇÔ¹Ò·Õ áÅ ÇËÁعµÑÇ·Ò§« ÒÂÍÕ¡ 1 ÇÔ¹Ò·Õ áµ ¶ ÒµÃǨÊͺäÁ ¾ºÇѵ¶ØÍÂÙ ´ ҹ˹ Ò ¡çãË ËØ ¹Â¹µ à¤Å×è͹·ÕèµÃ§ä»´ ҹ˹ Ò ¾Ã ÍÁ·Ñ§é áÊ´§¤ Ò·ÕÍè Ò ¹ä´ ·¨Õè ÍáÊ´§¼Å¢Í§âÁ´ÙÅ LCD ´ ÇÂ


àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC

l

101

'**************************************************************** '* Name : P1701.BAS * '* Notes : Robo-PICA in Object detection mission * '**************************************************************** @ DEVICE PIC16F877a , HS_OSC ' Use PIC16F877 and HS Oscilator SENSOR7 VAR WORD ' Save Data DEFINE OSC 20 ' Use Oscillator 20 MHz DEFINE ADC_BITS 10 ' Set number of bits in result DEFINE ADC_CLOCK 3 ' Set clock source (Internal RC = 3) DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds DEFINE LCD_DREG PORTD ' Set LCD Data port DEFINE LCD_DBIT 4 ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_RSREG PORTC ' Set LCD Register Select port DEFINE LCD_RSBIT 0 ' Set LCD Register Select bit DEFINE LCD_EREG PORTC ' Set LCD Enable port DEFINE LCD_EBIT 5 ' Set LCD Enable bit DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_LINES 2 ' Set number of lines on LCD DEFINE LCD_COMMANDUS 2000 ' Set command delay time in us DEFINE LCD_DATAUS 50 ' Set data delay time in us HIGH PORTC.2 HIGH PORTC.1 TRISD = %11110000 ADCON1 = %10000000

' ' ' '

Enable Motor A Enable Motor B RD0-RD3 = OUTPUT All PORTA & PORTE is Analog

Main: ADCIN 7,SENSOR7 ' Read channel 7 LCDOUT $FE,$80,"Raw = ",DEC3 Sensor7 ' show RAW data on LCD IF (sensor7 > 350) then PORTD = %00001001 ' Robot Backward Pause 500 PORTD = %00000101 ' Robot Spin Left pause 1000 endif PORTD = %00000110 ' Robot Forward goto Main

â»Ãá¡ÃÁ·Õè P17-1 â»Ãá¡ÃÁÍ Ò¹¤ ÒâÁ´ÙÅ GP2D120 à¾×Íè ¤Çº¤ØÁ¡ÒÃà¤Å×Íè ¹·Õ¢è ͧËع ¹µ Robo-PICA àÁ×Íè µÃǨ¾ºÇѵ¶Ø¢ÇÒ§·Ò§´ ҹ˹ Ò A17.1 à» ´â»Ãá¡ÃÁ Microcode Studio à¢Õ¹â»Ãá¡ÃÁ·Õè P17-1 A17.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ¹Õäé »ÂѧËع ¹µ Robo-PICA »Å´ÊÒ´Òǹ âËÅ´ÍÍ¡ A17.3 ¹íÒËع ¹µ Robo-PICA ä»ÇÒ§º¹¾×¹é ·Õ·è ´Êͺ·ÕÁè ¡Õ ÒèѴÇÒ§ÊÔ§è ¡Õ´¢ÇÒ§ ¨Ò¡¹Ñ¹é ¡´ÊÇÔµª MODE à¾×Íè ãË ÍÂÙã ¹âËÁ´Ãѹ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§Ëع ¹µ


102

l

àÃÕ¹ÃÙá ÅÐÊà ҧËع ¹µ 굄 â¹Áѵ¡Ô ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà PIC


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.