SlideShare une entreprise Scribd logo
1  sur  238
Télécharger pour lire hors ligne
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 1
                                                                            é



           à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C
ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
       ´ŒÇ mikroC ¤ÍÁä¾àÅÍÏ
          áÅСÒ÷´Åͧàº×éͧµŒ¹
  Getting started C programming for PIC
   microcontroller with mikro C compiler




                    ¡ÄÉ´Ò ã¨àÂç¹
               ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ
                          é
      (C) Innovative Experiment Co.,Ltd.




                          INNOVATIVE EXPERIMENT
2 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ    C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


Getting started C programming for PIC microcontroller with mikro C compiler

à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                          é

ISBN 978-974-05-3099-2

¡ÄÉ´Ò ã¨àÂç¹
ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ
           é

ʧǹÅÔ¢ÊÔ·¸ÔµÒÁ ¾.Ã.º. ÅÔ¢ÊÔ·¸Ôì ¾.È. 2537
            ì
ËŒÒÁ¡ÒÃÅÍ¡àÅÕ¹äÁ‹ÇÒʋǹ˹֧ʋǹ㴢ͧ˹ѧÊ×ÍàÅ‹Á¹Õé ¹Í¡¨Ò¡¨Ð䴌ú͹حҵ
                   ‹       è                                    Ñ

ã¤Ã¤ÇÃ㪌˹ѧÊ×ÍàÅ‹Á¹Õé
1. ¹Ñ¡àÃÕ¹ ¹Ôʵ ¹Ñ¡ÈÖ¡ÉÒ áÅкؤ¤Å·ÑÇä»·ÕÁ¤ÇÒÁʹã¨ã¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
               Ô                    è è Õ
´ŒÇÂÀÒÉÒ C
2. ʶҺѹ¡ÒÃÈÖ¡ÉÒ âçàÃÕ¹ ÇÔ·ÂÒÅÑ ÁËÒÇÔ·ÂÒÅÑ ·ÕÁ¡ÒÃແ´¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒÍÔàÅç¡·Ã͹ԡʏËÃ×ÍÀÒ¤ÇÔªÒ
                                                  è Õ
ÇÔÈÇ¡ÃÃÁÍÔàÅç¡·Ã͹ԡʏáÅФÍÁ¾ÔÇàµÍÏ
3. ¤³Ò¨ÒÏ·Á¤ÇÒÁµŒÍ§¡ÒÃÈÖ¡ÉÒ áÅÐàµÃÕÂÁ¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ ã¹ÃдѺÍÒªÕÇÈÖ¡ÉÒáÅÐ
            Õè Õ
»ÃÔ­­ÒµÃÕ



´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾áÅШíÒ˹‹ÒÂâ´Â
ºÃÔÉ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´
     Ñ
3133/53 «.ÊØ¢ÁÇÔ· 101/2 ¶.ÊØ¢ÁÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260
             Ø               Ø
â·ÃÈѾ· 0-2747-7001-4
â·ÃÊÒÃ 0-2747-7005

ÃÒÂÅÐàÍÕ´·Õ»ÃÒ¡¯ã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õä´Œ¼Ò¹¡ÒõÃǨ·Ò¹Í‹ҧÅÐàÍÕ´áÅжŒÇ¹¶Õè à¾×ÍãËŒÁ¤ÇÒÁÊÁºÙóáÅж١
             è                   é ‹                                        è Õ
µŒÍ§ÁÒ¡·ÕÊ´ÀÒÂ㵌à§×͹ä¢áÅÐàÇÅÒ·Õ¾§Áա͹¡ÒèѴ¾ÔÁ¾à¼Âá¾Ã‹ ¤ÇÒÁàÊÕÂËÒÂÍѹÍÒ¨à¡Ô´¨Ò¡ ¡ÒùíÒ¢ŒÍÁÙÅ
         èØ          è            è Ö ‹
ã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õä»ãªŒ ·Ò§ºÃÔÉ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÁÔä´ŒÁÀÒÃÐ㹡ÒÃÃѺ¼Ô´ªÍºáµ‹»ÃСÒÃã´
               é             Ñ                                       Õ
¤ÇÒÁ¼Ô´¾ÅÒ´¤ÅÒ´à¤Å×͹·ÕÍÒ¨ÁÕáÅÐ䴌ú¡ÒèѴ¾ÔÁ¾à¼Âá¾Ã‹Í͡仹ѹ ·Ò§ºÃÔÉ·Ï ¨Ð¾ÂÒÂÒÁªÕᨧáÅÐ
                         è è           Ñ                               é      Ñ             é
á¡Œä¢ã¹¡ÒèѴ¾ÔÁ¾¤Ãѧµ‹Íä»
                       é
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 3
                                                                                                            é




                                                                                                                                         ¤íÒ¹íÒ
                   ¡ÒþѲ¹Òâ»Ãá¡ÃÁà¾×ͤǤºØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ´ÇÂÀÒÉÒÃдѺÊÙ§ ઋ¹ ÀÒÉÒàºÊÔ¡ ËÃ×Í C Êԧ˹֧
                                                     è                                             Œ                                                            è è
·ÕÁ¤ÇÒÁÊíҤѭÍ‹ҧÂÔ§¤×Í «Í¿µáÇÏ·àÕè ÃÕÂ¡Ç‹Ò ¤ÍÁä¾àÅÍÏ (compiler) ËÃ×͵ÑÇá»Åâ»Ãá¡ÃÁ Áѹ¨Ð·íÒ˹ŒÒ·Õã¹
      è Õ                                è                                                                                                                         è
¡ÒÃá»ÅÀÒÉÒÊÙ§¹Ñé¹ÁÒ໚¹ÀÒÉÒáÍÊà«ÁºÅÕ áŌǨҡ¹Ñ鹨ÐÁÕ«Í¿µáÇÏÍÕ¡µÑÇ˹Ö觷ÕàÃÕÂ¡Ç‹Ò áÍÊà«ÁàºÅÍÏ
(assembler) ·íÒ˹ŒÒ·Õ㹡ÒÃá»ÅÀÒÉÒáÍÊà«ÁºÅÕ໚¹ÀÒÉÒà¤Ã×ͧËÃ×ÍáÁªÕ¹â¤Œ´ÍÕ¡µ‹Í˹֧ â´Â·ÑÇä»áÅŒÇ㹪ش
                                       è                                                                 è                                    è       è
¢Í§¤ÍÁä¾àÅÍÏÁ¡¨Ð¼¹Ç¡àÍÒáÍÊà«ÁàºÅÍÏࢌÒäÇŒ´Ç¡ѹ à¾×ÍãËŒ¡ÒþѲ¹Òâ»Ãá¡ÃÁ໚¹ä»Í‹ҧÊдǡ áÅÐÅ´
                              Ñ                                               Œ                  è
¢Ñ¹µÍ¹ã¹¡Ò÷íҧҹŧ
  é
                   mikroC ¤ÍÁä¾àÅÍÏ໚¹Ë¹Ö§ã¹¤ÍÁä¾àÅÍϷ䴌ú¤ÇÒÁʹã¨ã¹áǴǧ¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C
                                                               è                  Õè Ñ
ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¡ÒÃ㪌§Ò¹·Õ§Ò áÅÐÁÕà¤Ã×ͧÁ×ÍʹѺʹع㹡Ò÷íÒ§Ò¹ÁÒ¡ÁÒ ÃÇÁ价ѧ
                                                                           è‹                          è                                                               é
µÑǪ‹ÇÂÍ‹ҧä¿ÅäźÃÒÃÕ (library) ·ÕÁÍÂÙà‹ »š¹¨íҹǹÁÒ¡ ÃͧÃѺ¡ÑºÍØ»¡Ã³µÍ¾‹Ç§ËÅÒ¡ËÅÒ áÅдŒÇÂʋǹ¢Í§
                                                           è Õ                                                          ‹
«Í¿µáÇϷ㪌㹡ÒþѲ¹Òâ»Ãá¡ÃÁ·Õàè ÃÕÂ¡Ç‹Ò mikro IDE ¹Ñ¹ÁÕ¤ÇÒÁÊÁºÙóáÅкÃèØà¤Ã×ͧÁ×Í·ÕªÇÂ㹡ÒÃà¢Õ¹
                      Õè                                                                   é                                         è            è‹
â»Ãá¡ÃÁäÇŒ¾ÃŒÍÁ ¨Ñ´ä´ŒÇÒ໚¹à¤Ã×ͧÁ×;Ѳ¹Òâ»Ãá¡ÃÁ·ÕÊÒÁÒöàÃÔÁµŒ¹ä´Œ§ÒÂÁÒ¡µÑÇ˹֧
                                             ‹           è                            è                       è       ‹                è
                   ÊíÒËÃѺã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õ¨Ð¹íÒàʹͶ֧ ¡ÒÃ㪌§Ò¹áÅÐÇÔ¸¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ´ŒÇ mikroC ¤ÍÁ
                                                       é                                             Õ
ä¾àÅÍÏÊÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC â´Â์¹ä»·Õàè ºÍÏ PIC16F877 áÅÐ PIC16F887 ÁÕ¤Ò͸ԺÒ¡ÒÃ㪌§Ò¹
                   í                                                                                                                            í
¿˜§¡ª¹áÅÐäźÃÒÃÕ·ÊҤѭ ÃÇÁ¶Ö§¡Ò÷´Åͧ·Ò§ÎÒÏ´áÇÏ·ÊÒÁÒöáÊ´§ãËŒàË繶֧¼Å¡Ò÷íҧҹ䴌Í‹ҧªÑ´à¨¹
            Ñè                    Õè í                                                       Õè
áÅШѺµŒÍ§ä´Œ â´Âã¹áµ‹ÅСÒ÷´Åͧ¨ÐÁÕ¤Ò͸ԺÒ·ÄÉ®Õ Ç§¨Ã µÑÇÍ‹ҧâ»Ãá¡ÃÁ ¢Ñ¹µÍ¹¡Ò÷´Åͧ áÅмÅ
                                                                       í                                                          é
·Õàè ¡Ô´¢Ö¹ à¾×ÍãËŒ¼àÙŒ ÃÕ¹ÊÒÁÒö·íÒ¤ÇÒÁࢌÒ㨠áÅеÃǨÊͺ¼Å¡Ò÷íÒ§Ò¹à»ÃÕºà·Õº䴌
                é è
                     mikroC ໚¹«Í¿µáÇÏ·Ò§¾Ò³ÔªÂ ¨ÐµŒÍ§ÁÕ¡ÒèѴ«×éÍÁÒÍ‹ҧ¶Ù¡µŒÍ§¨Ò¡à¨ŒÒ¢Í§ÅÔ¢ÊÔ·¸Ôì¹Ñ蹤×Í
Mikroelektronika ÊÒÁÒöÊѧ«×Íä´Œ·èÕ www.mikroe.com Í‹ҧäáçµÒÁ·Ò§ Mikroelektronika ¡ç䴌ແ´âÍ¡ÒÊãËŒ
                                               è é
¼Ùʹã¨ÊÒÁÒö´ÒǹâËÅ´ mikroC Ãع 2K ä»·´Åͧ㪌§Ò¹ä´Œ¿ÃÕ â´ÂäÁ‹¨Ò¡Ñ´àÇÅÒ ÊÒÁÒö㪌§Ò¹à¤Ã×ͧÁ×;׹
    Œ                                                        ‹                                                      í                                         è      é
°Ò¹ä´Œ¤Ãº 㪌¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ä´Œ·¡àºÍÏ·§ 12Fxxx, 16Fxxx áÅÐ 18Fxxxx Ëҡᵋ¨Ò¡Ñ´¢¹Ò´
                          Ñ                                              Ø              Ñé                                                                  í
¢Í§ä¿ÅäÇŒ·Õè 2 ¡ÔâÅàÇÔô áÅÐàÁ×ÍÁÕ¡ÒèѴ«×ÍÃعÊÁºÙ󏡨ÐÊÒÁÒö㪌§Ò¹ä´ŒÍ‹ҧäÁ‹Á¢Í¨íÒ¡Ñ´
                                                  è               é ‹              ç                                             ÕŒ
                   µÑÇÍ‹ҧ¡Ò÷´Åͧ·Õ¹ÒàʹÍã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õ·§ËÁ´ ÊÒÁÒö·íÒ§Ò¹ÀÒÂ㵌 mikroC Ãع 2K 䴌͋ҧ
                                                  è í                           é Ñé                                                               ‹
ÊÁºÙó
                   ¢Í¢Íº¤Ø³ Mikroelektronika ÊíÒËÃѺ¡ÒÃà¼Âá¾Ã‹ mikroC Ãع 2K à¾×ÍãËŒ¹¡·´Åͧ䴌ÁâÍ¡ÒÊàÃÔÁµŒ¹       ‹           è Ñ                       Õ        è
¡ÒþѲ¹Òâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇÂÀÒÉÒ C ÊíÒËÃѺ¼Ù㪌§Ò¹·ÕµÍ§¡ÒÃ㪌ùÊÁºÙóÊÒÁÒöʹѺ                   Œ         è Œ            ‹Ø
ʹع¼Ù¾²¹Òä´Œ´Ç¡ÒèѴ«×ͨҡ Mikroelektronika ·Õè www.mikroe.com
               Œ Ñ          Œ                   é
                   ¡ÒÃàÃÕ¹ÃÙäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏǹ¹Õé ÀÒÉÒ C ໚¹»˜¨¨ÑÂ˹֧·Õ¹¡¾Ñ²¹Òâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏÊÁÑÂ
                                Œ                                Ñ                                         è è Ñ
ãËÁ‹µÍ§ãËŒ¤ÇÒÁʹ㨠à¾ÃÒй͡¨Ò¡¨Ðª‹ÇÂÅ´¤ÇÒÁ«Ñº«ŒÍ¹áÅÐÂاÂҡ㹡ÒþѲ¹Òâ»Ãá¡ÃÁáÅŒÇ Âѧª‹ÇÂãËŒ¡ÒÃ
          Œ                                                                                                 ‹
µ‹ÍÂÍ´áÅСÒûÃѺà»ÅÕ¹â»Ãá¡ÃÁã¹Í¹Ò¤µÊÒÁÒö·íÒä´Œ§Ò¢ֹ
                                           è                                                    ‹ é
                                                                                                                                                     ¡ÄÉ´Ò ã¨àÂç¹
                                                                                                                                            ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ
                                                                                                                                                          é
4 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ        C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                      é



ÊÒúѭ
º··Õè 1 á¹Ð¹íÒ mikroC..............................................................................................................7
º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C àº×ͧµŒ¹ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ.....................35
                                 é
º··Õè 3 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×è͵Դµ‹Í¾Íϵ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
        ´ŒÇ mikroC...................................................................................................................55
                    »¯Ôºµ¡Ò÷Õè 1 ¢Ñº LED ·Õ¾Íϵ C....................................................................61
                        Ñ Ô                 è
                    »¯Ôºµ¡Ò÷Õè 2 ¡ÒÃ㪌§Ò¹¾Íϵ A áÅÐ E ໚¹àÍÒµ¾µ........................................65
                        Ñ Ô                                        Ø
                    »¯Ôºµ¡Ò÷Õè 3 ¡ÒÃ㪌§Ò¹¾Íϵ A áÅÐ B ໚¹àÍÒµ¾µ........................................67
                        Ñ Ô                                        Ø
                    »¯Ôºµ¡Ò÷Õè 4 ·´Êͺ͋ҹ¤‹Ò¨Ò¡ÊÇÔµª............................................................69
                        Ñ Ô

º··Õè 4 ¡íÒà¹Ô´àÊÕ§´ŒÇ¿˜§¡ª¹ Sound.................................................................................73
                              Ñè
                    »¯Ôºµ¡Ò÷Õè 5 ¢ÑºàÊÕ§´ŒÇ¿˜§¡ª¹ Sound.........................................................75
                        Ñ Ô                         Ñè

º··Õè 5 ÍÔ¹àµÍÏûµã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¡Ñº mikroC ¤ÍÁä¾àÅÍÏ................77
                 Ñ
                    »¯Ôºµ¡Ò÷Õè 6 ÍÔ¹àµÍÏûµ·¢Ò RB0/INT...........................................................85
                        Ñ Ô                Ñ Õè

º··Õè 6 ¡ÒõԴµ‹Í¡ÑºâÁ´ÙÅ LCD ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ...........................87
                                        Ñè
                    »¯Ôºµ¡Ò÷Õè 7 Ê‹§¢ŒÍÁÙÅáÊ´§¼Å·ÕâÁ´ÙÅ LCD â´Â㪌¿§¡ª¹ Lcd.........................95
                        Ñ Ô                        è                ˜ Ñè
                    »¯Ôºµ¡Ò÷Õè 8 Ê‹§¢ŒÍÁÙÅáÊ´§¼Å·ÕâÁ´ÙÅ LCD â´Â㪌¿§¡ª¹ Lcd8.....................104
                        Ñ Ô                        è                ˜ Ñè
                    »¯Ôºµ¡Ò÷Õè 9 Ê‹§¢ŒÍÁÙÅáÊ´§¼Å·ÕâÁ´ÙÅ LCD â´Â㪌¿§¡ª¹ Lcd_Custom.........112
                        Ñ Ô                        è                ˜ Ñè

º··Õè 7 ¿˜§¡ª¹µÔ´µ‹Í¡ÑºË¹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕ;ÃÍÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC.....115
              Ñè                             Õ
                    »¯Ôºµ¡Ò÷Õè 10 ·´Êͺ¡ÒÃà¢Õ¹áÅÐ͋ҹ˹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕ;ÃÍÁ................117
                        Ñ Ô                                                 Õ

º··Õè 8 ¿˜§¡ª¹Í‹Ò¹¤‹Ò¨Ò¡âÁ´ÙÅá»Å§ÊÑ­­Ò³ÍйÒÅ͡໚¹´Ô¨ÔµÍÅ
              Ñè
        ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC...................................................................................119
        -
                    »¯Ôºµ¡Ò÷Õè 11 ¡ÒÃ㪌§Ò¹¿˜§¡ª¹ Adc_Read ¡Ñº PIC16F877..........................125
                        Ñ Ô                       Ñè
                    »¯Ôºµ¡Ò÷Õè 12 Í‹Ò¹¤‹Ò¨Ò¡âÁ´ÙÅ ADC ẺµÔ´µ‹Íâ´ÂµÃ§.................................131
                        Ñ Ô
                    »¯Ôºµ¡Ò÷Õè 13 Í‹Ò¹¤‹Ò¨Ò¡âÁ´ÙÅ ADC áÊ´§¼Å·ÕâÁ´ÙÅ LCD............................133
                        Ñ Ô                                    è
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 5
                                                                                                 é




º··Õè 9 㪌§Ò¹¿˜§¡ª¹ PWM ¢Í§ mikroC............................................................................137
                    Ñè
                 »¯Ôºµ¡Ò÷Õè 9 ¤Çº¤ØÁ¤ÇÒÁàÃçǢͧÁÍàµÍÏ´Ç¿˜§¡ª¹ PWM.............................140
                     Ñ Ô                                Œ       èÑ

º··Õè 10 ¡ÒõԴµ‹Í USART âÁ´ÙÅÊ×ÍÊÒâŒÍÁÙžÍϵ͹ءÃÁ¢Í§
                                è
         äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ....................143
                                         Ñè
                 »¯Ôºµ¡Ò÷Õè 15 ¡ÒÃÃѺʋ§¢ŒÍÁÙÅÃÐËÇ‹Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФÍÁ¾ÔÇàµÍÏ.......146
                     Ñ Ô
                 »¯Ôºµ¡Ò÷Õè 16 Ê×ÍÊÒâŒÍÁÙÅ͹ءÃÁâ´Â㪌¡Ãкǹ¡Ò÷ҧ«Í¿µáÇÏ..................152
                     Ñ Ô          è
                 »¯Ôºµ¡Ò÷Õè 17 ¡ÒÃÊ‹§¢ŒÍÁÙÅÍЫԧâ¤Ã¹ÑÊ´ŒÇ¡ÒáíÒ˹´¤‹ÒÃÕ¨ÊàµÍÏâ´ÂµÃ§........164
                     Ñ Ô                                                  Ô
                 »¯Ôºµ¡Ò÷Õè 18 ¡ÒÃÃѺ¢ŒÍÁÙÅÍЫԧâ¤Ã¹ÑÊ´ŒÇ¡ÒáíÒ˹´¤‹ÒÃÕ¨ÊàµÍÏâ´ÂµÃ§........166
                     Ñ Ô                                                  Ô
                 »¯Ôºµ¡Ò÷Õè 19 ¡ÒÃÃѺ¢ŒÍÁÙÅÍЫԧâ¤Ã¹ÑÊâ´Â㪌͹àµÍÏûµ................................168
                     Ñ Ô                                      Ô      Ñ

º··Õè 11 ¡ÒõԴµ‹ÍÍØ»¡Ã³ÃкººÑÊ I2C ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ..............171
                                               Ñè
                 »¯Ôºµ¡Ò÷Õè 20 µÔ´µ‹ÍºÍÏ´¢ÑºÃÕàŏ 16 ª‹Í§ ZX-RELAY16 ´ŒÇ¿˜§¡ª¹ I2C........177
                     Ñ Ô                                                          Ñè
                 »¯Ôºµ¡Ò÷Õè 21 µÔ´µ‹Í¡ÑºâÁ´ÙÅà¢çÁ·ÔÈ´Ô¨µÍÅ CMPS03 ´ŒÇ¿˜§¡ª¹ I2C............183
                     Ñ Ô                                Ô                    Ñè
                 »¯Ôºµ¡Ò÷Õè 22 µÔ´µ‹ÍºÍÏ´¢ÑºÃÕàŏ 16 ª‹Í§ ZX-RELAY16
                     Ñ Ô
                         ´ŒÇ¿˜§¡ªÑè¹ Soft_I2C........................................................................192

º··Õè 12 ¡ÒõԴµ‹ÍÍØ»¡Ã³áºº SPI ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
         ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ.....................................................................197
                   èÑ
                 »¯Ôºµ¡Ò÷Õè 23 µÔ´µ‹Í¡Ñº MCP4922 äÍ«Õá»Å§ÊÑ­­Ò³´Ô¨µÍÅ໚¹ÍйÒÅÍ¡....204
                     Ñ Ô                                           Ô

º··Õè 13 ¡ÒõԴµ‹ÍÍØ»¡Ã³ÃкººÑÊ˹֧ÊÒ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ......209
                                   è             Ñè
                 »¯Ôºµ¡Ò÷Õè 24 Í‹Ò¹¤‹ÒÍسËÀÙÁ¨Ò¡äÍ«Õ DS18B20 ´ŒÇ¿˜§¡ª¹ onewire............217
                     Ñ Ô                      Ô                         Ñè

ÀÒ¤¼¹Ç¡ : á¹Ð¹íÒà¤Ã×ͧÁ×Í㹡Ò÷´Åͧ·Ò§ÎÒÏ´áÇÏ.....................................................223
                    è
6 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                 é
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                             é       l 7




                                                                       º··Õè 1
                                                 á¹Ð¹íÒ mikroC
       mikroC ໚¹ªØ´«Í¿µáÇϾѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
¼Ù¾²¹Ò¤×Í mikroElektronika (mikroE : www.mikroe.com) mikroC ä´ŒºÃèØà¤Ã×ͧÁ×Íà¾×ÍÍíÒ¹ÇÂ
  Œ Ñ                                                                     è     è
¤ÇÒÁÊдǡ㹡ÒþѲ¹Òâ»Ãá¡ÃÁäÇŒÁÒ¡ÁÒ µÑÇá»Åâ»Ãá¡ÃÁÀÒÉÒ C ËÃ×Í C compiler ÁÕûẺ   Ù
¡Ò÷íÒ§Ò¹·Õàè ¢ŒÒ¡Ñ¹ä´Œ¡º ANSI C Áҵðҹ ÁÕäźÃÒÃÕÃͧÃѺ¡ÒõԴµ‹Í¡ÑºÍØ»¡Ã³ÀÒ¹͡¨íҹǹ
                        Ñ
ÁÒ¡ ¾ÃŒÍÁ·Ñ§µÑÇÍ‹ҧâ»Ãá¡ÃÁ·ÕªÇÂÅ´àÇÅÒ㹡ÒþѲ¹Òâ»Ãá¡ÃÁ
              é                 è ‹
       ¼Ù¾²¹Òâ»Ãá¡ÃÁÊÒÁÒöµÃǨÊͺ·ÃѾÂҡâͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ䴌µÅÍ´àÇÅÒ «Ö§à»š¹
         Œ Ñ                                                                            è
»ÃÐ⪹Áҡ㹡óշÕè㪌ÃØ‹¹ÊÒ¸Ôµ ·Ñ駹Õéà¾×èͪ‹Ç»‡Í§¡Ñ¹äÁ‹ãËŒà¢Õ¹â»Ãá¡ÃÁÂÒÇà¡Ô¹¡Ç‹Ò¢ŒÍ¨íÒ¡Ñ´
mikroC ÊÒÁÒöãËŒä¿Å¼ÅÅѾ¸ .hex ´ŒÇ¡ÒäÅÔ¡à¾Õ§»ØÁà´ÕÂÇ ·íÒãˌŴ¢Ñ¹µÍ¹ã¹¡Ò÷íҧҹŧ䴌Í‹ҧ
                                                    †               é
ÁÒ¡ áÅÐä¿Å .hex ÊÒÁÒö¹íÒä»ãªŒ¡ºà¤Ã×ͧâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC Áҵðҹ䴌·¡Ãع
                                   Ñ è                                                    Ø ‹
        ÊíÒËÃѺ㹡ÒÃ͸ԺÒ¶֧¡ÒÃ㪌§Ò¹áÅÐÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ¨Ð͌ҧ¶Ö§ mikroC
ã¹Ãع 2K ÍѹÁբͨíÒ¡Ñ´´ŒÒ¹¢¹Ò´¢Í§ä¿ÅËÅѧ¨Ò¡¤ÍÁä¾ÅËÃ×Íá»Å§à»š¹ÃËÑÊà¤Ã×ͧ (ä¿Å¹ÒÁÊ¡ØÅ
    ‹            Œ                                                       è
.hex) µŒÍ§äÁ‹à¡Ô¹ 2 ¡ÔâÅàÇÔô ᵋ¡ÁÒ¡à¾Õ§¾ÍÊíÒËÃѺ¡ÒþѲ¹Òâ»Ãá¡ÃÁÊíÒËÃѺ¡Ò÷´Åͧ㪌§Ò¹
                                 ç
äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC àº×ͧµŒ¹ ÃÇÁ·Ñ§â»Ãá¡ÃÁÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ëع¹µÍµâ¹ÁѵÔ
                              é          é                                 ‹    Ñ
¢¹Ò´àÅç¡ä´Œà»š¹Í‹ҧ´Õ
        ÊíÒËÃѺ¼ÙŒãªŒ§Ò¹·Õè·´Åͧ㪌 mikroC áÅŒÇÁÕ¤ÇÒÁʹ㨵ŒÍ§¡ÒÃÃØ‹¹ÊÁºÙóÊÒÁÒöµÔ´µ‹ÍÊÑè§
«×éÍä´Œ·ÕèàǺ䫵¢Í§¼ÙŒ¼ÅÔµ http://www.mikroe.com
1.1 ¡ÒõԴµÑ§ mikroC ¤ÍÁä¾àÅÍÏ Ãع 2K
            é                     ‹
      ¡ÒÃä´ŒÁÒ«Ö§ä¿Åµ´µÑ§¢Í§ mikroC ã¹ÃعÊÒ¸Ôµ¹Õé ÁÕ 2 ·Ò§¤×Í
                è      Ô é               ‹
             1. ¨Ò¡á¼‹¹«Õ´ÃÍÁ·Õ¨´ÁÒ㹪ش·´ÅͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ËÃ×ͪش»ÃСͺ
                            Õ    èÑ
Ëع¹µ Robo-PICA ¢Í§ inex
  ‹
             2. ´ÒǹâËÅ´àÇÍϪ¹ãËÁ‹ÅÒÊØ´·ÕÍÒ¨ÁÕ·Õè www.mikroe.com
                                 Ñè    ‹   è
      ¨Ò¡¹Ñé¹·íÒ¡ÒõԴµÑé§àËÁ×͹¡Ñºâ»Ãá¡ÃÁ»ÃÐÂØ¡µ¢Í§ÇÔ¹â´Çʏ
8 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                 é


1.2 mikroC IDE à¤Ã×ͧÁ×ÍÊíÒËÃѺ¾Ñ²¹Òâ»Ãá¡ÃÁ
                   è
       IDE ÁÒ¨Ò¡ Integrated Development Environment ËÁÒ¶֧ «Í¿µáÇÏ·ÃǺÃÇÁà¤Ã×ͧÁ×Í
                                                                      Õè        è
áÅÐÊÀÒÇÐáÇ´ÅŒÍÁ㹡ÒþѲ¹Òâ»Ãá¡ÃÁàÍÒänj㹷Õàè ´ÕÂǡѹ â´ÂÀÒÂã¹ MikroC IDE »ÃСͺä»
´ŒÇ à¤Ã×ͧÁ×Íà¤Ã×ͧ㪌·ÍҹǤÇÒÁÊдǡ´Ñ§¹Õé
         è        è     èÕ í
              1. ⤌´àÍ´ÔàµÍÏ (Code editor) ໚¹â»Ãá¡ÃÁàÍ´ÔàµÍÏÊÒËÃѺà¢Õ¹áÅÐᡌ䢫ÍÏÊ
                                                                  í
â»Ãá¡ÃÁÀÒÉÒ C â´Â⤌´àÍ´ÔàµÍϨзíÒ¡ÒÃá¡áÂЪش¤íÒÊѧ, µÑÇá»Ã, ¢ŒÍÁÙŵÑÇàÅ¢, ÍÑ¡¢ÃÐ áÅÐ
                                                         è
¤íÒ͸ԺÒ ´ŒÇÂÊÕ (color syntax) ÃÇÁ·Ñ§ÃٻẺµÑÇÍÑ¡Éà ¼Ù㪌§Ò¹ÊÒÁÒöàÅ×Í¡»ÃѺà»ÅÕ¹ÃٻẺ
                                     é                 Œ                        è
áÅÐÊÕÊѹ¢Í§¢ŒÍÁÙÅᵋÅЪ¹Ô´ä´Œàͧ


                                           »ØÁ¤ÍÁä¾Åâ»Ãá¡ÃÁ
                                             †                            ˹Œ Ò µ‹ Ò §´Ù ¤‹ Ò ÃÕ ¨Ô Ê àµÍÏ
                                                                          (Watch window)




                                                      ⤌´àÍ´ÔàµÍÏ
  äÁâ¤Ã¤Í¹â·ÃÅàÅÍϷ㪌
                    Õè




  ª‹Í§¡íÒ˹´¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò
                  è Ñ
  ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ                             ˹ŒÒµ‹Ò§¼ÅÅѾ¸




ÃÙ»·Õè 1-1 áÊ´§Ë¹ŒÒµ‹Ò§ËÅÑ¡¢Í§ mikroC IDE áÅÐʋǹ»ÃСͺ·ÕÊҤѭ
                                                         èí
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                             é       l 9



                2. äźÃÒÃÕÊÒàÃç¨ÃÙ» ã¹ mikroC ä´ŒàµÃÕÂÁäźÃÒÃբͧâ»Ãá¡ÃÁÀÒÉÒ C äÇŒ¨Ò¹Ç¹
                            í                                                       í
ÁÒ¡ à¾×èͪ‹ÇÂãËŒ¡ÒþѲ¹Òâ»Ãá¡ÃÁÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ÊÒÁÒö·íÒ䴌͋ҧÃÇ´àÃçÇ
äÁ‹Ç‹Ò¨Ð໚¹äźÃÒÃÕà¡ÕèÂǡѺ¡ÒõԴµ‹Í˹‹Ç¤ÇÒÁ¨íÒ ¡ÒÃáÊ´§¼Å¢ŒÍÁÙÅ ¡ÒÃÊ×èÍÊÒâŒÍÁÙÅ ¡ÒáÒÃ
¨Ñ´à¡çº¢ŒÍÁÙŵ‹Ò§æ áÅÐäºÃÒÃÕÊíÒËÃѺ¡ÒõԴµ‹ÍÍØ»¡Ã³ÀÒ¹͡
              3. à¤Ã×ͧÁ×ͪ‹ÇÂà¢Õ¹â»Ãá¡ÃÁ ·ÕªÇÂáÊ´§¼Åâ¤Ã§ÊÌҧ¢Í§â»Ãá¡ÃÁ µÑÇá»Ã áÅÐ
                     è                       è‹
¿˜§¡ª¹µ‹Ò§ æ ÀÒÂã¹â»Ãá¡ÃÁ
      Ñè
            4. C ¤ÍÁä¾àÅÍÏ 㪌㹡ÒÃá»Åâ»Ãá¡ÃÁÀÒÉÒ C ໚¹ÀÒÉÒáÍÊà«ÁºÅÕ áÅм¹Ç¡
¡Ñºâ»Ãá¡ÃÁáÍÊà«ÁàºÅÍÏà¾×Íá»Åâ»Ãá¡ÃÁ໚¹áÁªÕ¹â¤Œ´¨Ñ´à¡çºã¹ÃٻẺä¿Å Hex Áҵðҹ
                         è
ÊÒÁÒö㪌¡ºà¤Ã×ͧâ»Ãá¡ÃÁ PIC Áҵðҹ䴌·§ËÁ´
          Ñ è                            Ñé
            5. «ÔÁàÙ ÅàµÍÏ ໚¹à¤Ã×ͧÁ×ÍʹѺʹع¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ 㪌´¼Å¡ÒÃ
                                    è                                             Ù
·íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·ÕÅÐÊàµç» áÅÐÂѧ㪌ªÇ¨ѺàÇÅÒ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·ÕÅЪ‹Ç§ ÃÇÁ¶Ö§´Ù¡ÒÃ
                                         ‹
à»ÅÕ¹á»Å§¢Í§ÃÕ¨ÊàµÍϵҧ æ 䴌͋ҧ§‹Ò´ÒÂ
    è           Ô        ‹
                  6. àÍ¡ÊÒáÒÃ㪌§Ò¹¤Ø³ÀÒ¾ÊÙ§ ¹Í¡¨Ò¡¡ÒÃ㪌§Ò¹â»Ãá¡ÃÁ·Õ觋ÒÂáÅŒÇ mikroC Âѧ
ʹѺʹع¢ŒÍÁÙÅàÍ¡ÊÒáÒÃ㪌§Ò¹â»Ãá¡ÃÁ äźÃÒÃÕµ‹Ò§æ áÅеÑÇÍ‹ҧâ»Ãá¡ÃÁänj͋ҧÁÒ¡ÁÒÂ
ª‹ÇÂãËŒ¼àÙŒ ÃÔÁµŒ¹ÊÒÁÒöàÃÕ¹ÃÙ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ¨Ò¡µÑÇÍ‹ҧ䴌§Ò¢ֹ
              è                Œ                                    ‹ é
1.2.1 ÃÒÂÅÐàÍÕ´¢Í§â¤Œ´àÍ´ÔàµÍÏ (Code Editor)
       ⤌´àÍ´ÔàµÍϢͧ mikroC ໚¹àÍ´ÔàµÍÏ·ÁҾÌÍÁà¤Ã×ͧÁ×ͪ‹ÇÂ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ ·íÒãËŒ
                                             Õè         è
¡ÒÃà¢Õ¹·íÒä´Œ§Ò¢ֹ´ŒÇ¤سÊÁºÑµµÒ§ æ ´Ñ§¹Õé
               ‹ é              Ô‹
             l   »ÃѺᵋ§ÃٻẺÊբͧµÑÇÍÑ¡Éõ‹Ò§ æ ä´Œ
             l àÅ×Í¡áÊ´§ªØ´¤íÒÊѧÍÍ¡ÁÒ â´Â¡´»ØÁ CTRL + Space bar
                                è             †
             l   ´ÙÃÒÂÅÐàÍÕ´¤‹Ò¾ÒÃÒÁÔàµÍϢͧªØ´¤íÒÊѧµ‹Ò§æ ä´Œ
                                                      è
             l   ÃͧÃѺ¡ÒÃ㪌§Ò¹à·Áà¾Åµ (template) ËÃ×Í¡ÒÃÊÌҧÃٻẺ⤌´Íѵâ¹Áѵ䴌
                                                                                 Ô
             l   µÃǨÊͺáÅÐá¡Œä¢â¤Œ´·Õàè ¢Õ¹¼Ô´ä´Œâ´ÂÍѵâ¹ÁѵÔ
             l   ¡íÒ˹´µíÒá˹‹§·ÕµÍ§¡ÒáÃÐâ´´ä»ÂѧºÃ÷Ѵ·ÕµÍ§¡ÒÃä´Œ
                                 èŒ                       èŒ
             l   ÊÒÁÒö»ÃѺᵋ§¡ÒÃ㪌§Ò¹ä´Œ´Ç¡ÒÃàÅ×Í¡·Õàè Á¹Ù Tools à Option ËÃ×ͤÅÔ¡»ØÁ
                                            Œ                                           †
·Õè˹ŒÒµ‹Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ¡çä´Œ
10 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


       ¡ÒÃáÊ´§ªØ´¤íÒÊѧ : Code Assistant [CTRL+SPACE]
                      è
       à¾×ÍÊдǡ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁËÃ×Í㹺ҧ¤Ãѧ¨íҪش¤íÒÊѧäÁ‹ä´Œ ãËŒ¡´¤ÕÂËÅÑ¡¢Í§ª×ͤíÒÊѧ
          è                                     é            è                      è è
áŌǡ´»ØÁ CTRL+ SPACE (ËÁÒ¶֧¡´»ØÁ Ctrl ¤ŒÒ§äÇŒáŌǵÒÁ´ŒÇ¡Òá´»ØÁ Space bar) ¤íÒÊѧ·ÕÁÕ
        †                               †                            †                è è
¤ÕµÇÍÑ¡É÷Õàè Å×Í¡äÇŒÍÂٴҹ˹ŒÒ¨Ð»ÃÒ¡¯ÍÍ¡ÁҷѧËÁ´ à¾Õ§àÅ×͹à¤ÍÏà«ÍÏä»Âѧ¤íÒÊѧ·ÕµÍ§¡ÒÃ
   Ñ                    ‹Œ                   é            è                     è èŒ
áŌǡ´ Enter ¤íÒÊѧ¹Ñ¹¨Ð¶Ù¡àÃÕ¡¢Ö¹ÁÒ㪌§Ò¹
                   è é            é




       ¨Ò¡µÑÇÍ‹ҧ໚¹¡ÒÃàÅ×Í¡¾ÔÁ¾¤ÒÊѧ Lcd áŌǡ´¤Õ CTRL áÅÐ SPACE ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§
                                    í è
¢Í§¤íÒÊѧ·Õ¢¹µŒ¹´ŒÇ¤íÒÇ‹Ò Lcd ¢Ö¹ÁÒãËŒàÅ×Í¡
        è è éÖ                   é
       ¡Òê‹ÇÂáÊ´§¾ÒÃÒÁÔàµÍÏ : Parameter Assistant [CTRL+SHIFT+SPACE]
        ÊíÒËÃѺ¤íÒÊÑè§ËÃ×Í¿˜§¡ªÑè¹ã¹ä¿ÅäźÃÒÃÕÁҵðҹ¢Í§ mikroC àÁ×èÍ¡íÒ˹´ª×èÍ¿˜§¡ªÑè¹ËÃ×Í
¤íÒÊѧáŌǵÒÁ´ŒÇÂà¤Ã×ͧËÁÒÂǧàÅçºà»´ ( ËÃ×Í¡´¤Õ CTRL+SHIFT+SPACE (¡´¤Õ Ctrl µÒÁ´ŒÇÂ
     è                è
Shift áÅÐ Space bar) ¤‹Ò¾ÒÃÒÁÔàµÍϢͧªØ´¤íÒÊѧ¹Ñ¹æ ¨Ð¶Ù¡áÊ´§¢Ö¹ÁÒâ´ÂÍѵâ¹Áѵãˌ㪌§Ò¹ä´Œ
                                                è é            é                 Ô
·Ñ¹·Õ




      ¨Ò¡µÑÇÍ‹ҧ໚¹¡ÒÃàÅ×Í¡¾ÔÁ¾¤íÒÊÑè§ Lcd_Out_CP( áŌǡ´¤Õ CTRL+SHIFT+SPACE
¨Ð»ÃÒ¡¯¾ÒÃÒÁÔàµÍÏ unsigned char * text ¢Ö¹Áҷѹ·Õ à¾×ͪ‹ÇÂãËŒ¼àÙŒ ¢Õ¹â»Ãá¡ÃÁ·ÃÒºÃÙ»
                                                 é     è
Ẻ¡ÒáíÒ˹´¤‹Ò¾ÒÃÒÁÔàµÍϢͧ¤íÒÊÑ觹ÕéÍ‹ҧ¶Ù¡µŒÍ§
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                            é       l 11



       µÃǨÊͺáÅÐᡌ䢤íÒ¼Ô´Íѵâ¹ÁÑµÔ : Auto Correct
        ໚¹¤Ø³ÊÁºÑµ¡ÒõÃǨÊͺ¤íÒ¼Ô´â´ÂÍѵâ¹ÁÑµÔ ÁÕ¡Ò÷íÒ§Ò¹¤ÅŒÒ¡Ѻ Microsoft Word áÅÐ
                     Ô
Âѧª‹ÇÂᡌ䢡ÒþÔÁ¾¤ÒÊѧ·ÕäÁ‹¶¡µŒÍ§¢Í§¼Ù㪌§Ò¹ â´Â¤íÒÊѧ·ÕÁ¡¾ÔÁ¾¼´º‹ÍÂæ ¹Ñ¹ ¼Ù㪌ÊÒÁÒöà¾ÔÁ
                       í è è Ù           Œ              è è Ñ      Ô        é Œ             è
àµÔÁ¤íÒÊѧ䴌 â´Â¡ÒÃàÅ×Í¡àÁ¹Ù Tools à Options ¨Ò¡¹Ñ¹àÅ×Í¡ä»·ÕËÇ¢ŒÍ Auto Correct
         è                                         é           è Ñ




       ¡ÒáíÒ˹´µíÒá˹‹§ Bookmark
        㹡óշÕèâ»Ãá¡ÃÁÁÕ¤ÇÒÁÂÒÇÁÒ¡æ à¾×èÍãËŒ¡ÒáÃÐâ´´ä»ÂѧµíÒá˹‹§µ‹Ò§æ ¢Í§â»Ãá¡ÃÁ
䴌͋ҧÃÇ´àÃçÇ ¼ÙŒãªŒ§Ò¹ÊÒÁÒö¡íÒ˹´µíÒá˹‹§ºÃ÷Ѵ·Õ赌ͧ¡ÒÃänj㹠Bookmark «Öè§ÊÒÁÒö
¡ÃÐâ´´ä»ÂѧµíÒá˹‹§¹Ñ¹æ 䴌͋ҧÃÇ´àÃçÇ
                        é
     ¡íÒ˹´µíÒá˹‹§ Bookmark ·íÒä´Œâ´Â ¡´»ØÁ CTRL µÒÁ´ŒÇ SHIFT áÅФÕµÇàÅ¢ ¨Ò¡¹Ñ¹
                                           †                          Ñ         é
â»Ãá¡ÃÁ¨ÐáÊ´§µíÒá˹‹§ bookmark ·ÕµÍ§¡ÒÃ
                                  èŒ


               ¡´ Ctrl+Shift+1

               ¡´ Ctrl+Shift+2

               ¡´ Ctrl+Shift+3


       ¡ÒÃࢌҶ֧µíÒá˹‹§ Bookmark ·íÒä´Œâ´Â¡Òá´»ØÁ CTRL+µÑÇàÅ¢áÊ´§µíÒá˹‹§ Bookmark
                                                   †
12 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


       ¡ÒáÃÐâ´´ä»ÂѧµíÒá˹‹§ºÃ÷Ѵ·ÕµÍ§¡Òà : GotoLine
                                     è Œ
       ¹Í¡¨Ò¡¡ÒÃ㪌 bookmark áÅŒÇ ¼Ù㪌§Ò¹ÂѧÊÒÁÒö¡ÃÐâ´´ä»ÂѧºÃ÷Ѵµ‹Ò§æ ¢Í§â»Ãá¡ÃÁ
                                    Œ
ä´Œâ´ÂµÃ§ ¼‹Ò¹¡ÒᴤՏ CTRL+G ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§ GotoLine ¢Ö¹ÁÒãËŒ»Í¹àÅ¢ºÃ÷Ѵ·ÕµÍ§¡ÒÃ
                                                          é      ‡            èŒ
¡ÃÐâ´´ áŌǤÅÔ¡»ØÁ OK
                 †




       Code Explorer
        ¤×Íʋǹ¢Í§Ë¹ŒÒµ‹Ò§·ÕèÇÒ§ÍÂÙ‹·Ò§´ŒÒ¹«ŒÒÂÁ×ͧ͢â»Ãá¡ÃÁ㪌áÊ´§¿˜§¡ªÑè¹áÅеÑÇá»Ã·Õè㪌
§Ò¹ÍÂÙ‹ã¹â»Ãá¡ÃÁ¢³Ð¹Ñé¹
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                            é       l 13



       ˹ŒÒµ‹Ò§¢Í§¢ŒÍÁÙŪ‹ÇÂàËÅ×Íà˧´‹Ç¹ : Quick Help (QHelp)
       ã¹á·ç»µ‹Í¨Ò¡ Code Explorer ໚¹Ë¹ŒÒµ‹Ò§¢ŒÍÁÙŪ‹ÇÂàËÅ×Í à¾×ÍãËŒ·ÃÒº¶Ö§¡ÒÃ㪌§Ò¹¿˜§¡ª¹
                                                                 è                         Ñè
·ÕºÃèØÍÂÙã¹â»Ãá¡ÃÁ ઋ¹ ¡ÒÃàÃÕ¡㪌§Ò¹¿˜§¡ª¹µÔ´µ‹Í˹‹Ç¤ÇÒÁ¨íÒ Compact Flash ໚¹µŒ¹
  è       ‹                                  Ñè




       ÃÒ¡ÒäÕÂÅ´ : Keyboard Shotcut
                Ñ
       ÍÂÙã¹µíÒá˹‹§á·ç»¢ÇÒÊØ´¢Í§Ë¹ŒÒµ‹Ò§ Code Explorer àÁ×ÍàÅ×͡ࢌÒÁÒ ¨ÐÁÕÃÒ¡Òâͧ¤ÕÂÅ´
           ‹                                               è                            Ñ
µ‹Ò§ æ ·Õ㪌ã¹â»Ãá¡ÃÁ ª‹ÇÂãËŒÊÒÁÒö㪌§Ò¹¤íÒÊѧµ‹Ò§æ 䴌͋ҧÃÇ´àÃçÇÂÔ§¢Ö¹
         è                                    è                       è é
14 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


       ˹ŒÒµ‹Ò§á¨Œ§¼ÅÅѾ¸ : Message Window
      ໚¹Ë¹ŒÒµ‹Ò§ÊíÒËÃѺáÊ´§¼ÅÅѾ¸¨Ò¡¡ÒäÍÁä¾Å ¶ŒÒ¡ÒäÍÁä¾ÅÁ¢Í¼Ô´¾ÅÒ´ ˹ŒÒµ‹Ò§¹Õé
                                                                  Ռ
¨ÐáÊ´§¢ŒÍ¼Ô´¾ÅÒ´´ŒÇÂÍÑ¡ÉÃÊÕá´§ 㹡óÕäÁ‹¼´¾ÅÒ´ ˹ŒÒµ‹Ò§¹Õ¨ÐáÊ´§¢ŒÍ¤ÇÒÁÊÕÁǧ ¾ÃŒÍÁ·Ñ§
                                          Ô                é                ‹       é
ᨌ§¢¹Ò´Ë¹‹Ç¤ÇÒÁ¨íÒ·ÕãªŒä» ¡Ã³ÕÁ¢Í¼Ô´¾ÅÒ´â»Ãá¡ÃÁ¨ÐäÁ‹ÊÌҧä¿Å hex ¼Ù㪌§Ò¹ÊÒÁÒöࢌÒ
                       è          ÕŒ                                  Œ
¶Ö§ºÃ÷Ѵ·Õèà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´ä´Œâ´Â¡ÒôѺàºÔŤÅÔ¡·ÕèºÃ÷Ѵ·ÕèáÊ´§¢ŒÍ¼Ô´¾ÅÒ´ â»Ãá¡ÃÁ¨Ð
¡ÃÐâ´´ä»ÂѧµíÒá˹‹§·Õèà¡Ô´¢ŒÍ¼Ô´¾ÅÒ´·Ñ¹·Õ




1.2.2 à¤Ã×ͧÁ×;ÔàÈɪ‹ÇÂ㹡ÒþѲ¹Òâ»Ãá¡ÃÁ
          è
1.2.2.1 µÒÃÒ§ÃËÑÊáÍÊ¡Õé (ASCII Chart)
        ໚¹à¤Ã×èͧÁ×Í·Õ誋ÇÂ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ·Õèà¡ÕèÂÇ¢ŒÍ§¡ÑºµÑÇÍÑ¡Éà ËÃ×Í¡ÒèѴ¡ÒâŒÍÁÙÅẺ
String â´ÂµÒÃÒ§áÍÊ¡Õ¹ªÇÂãËé¼àéÙ ¢Õ¹â»Ãá¡ÃÁ·ÃÒº¶Ö§ ¤èÒ¢éÍÁÙÅÃËÑÊáÍʡբͧµÑÇÍÑ¡ÉÃËÃ×͵ÑÇ-
                         é éÕ è                                            é
àÅ¢ ·Õ¹ÂÁ㪌ÁÒ¡ ¤×Í ¡ÒÃà¢Õ¹¢ŒÍÁÙÅä»áÊ´§¼Å·ÕâÁ´ÙÅ LCD ໚¹µŒ¹ ¡ÒÃàÃÕ¡㪌§Ò¹µÒÃÒ§áÍÊ¡Õé
      è Ô                                        è
¨ÐàÃÕ¡¨Ò¡àÁ¹Ù Tools à Ascii Chart
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                            é       l 15



1.2.2.2 á»Å⤌´â»Ãá¡ÃÁ໚¹ HTML (Export Code to HTML)
      ËÒ¡ÁÕ¤ÇÒÁµŒÍ§¡ÒáÒùíÒàʹͫÍÏÊâ»Ãáá¡ÃÁº¹ Blog ËÃ×ͺ¹àǻ䫵¹¹ ¶ŒÒ·íÒ¡ÒäѴ
                                                                              Ñé
Å͡੾ÒÐ⤌´·Õè໚¹¢ŒÍ¤ÇÒÁä»Í‹ҧà´ÕÂǹÑé¹ ÍÒ¨ãËŒ¤ÇÒÁÊÁºÙóä´ŒäÁ‹à·‹Ò¡Ñº·ÕèáÊ´§ã¹Ë¹ŒÒµ‹Ò§
Code Editor ´Ñ§¹Ñ¹¶ŒÒµŒÍ§¡ÒÃãËŒàǻ䫵áÊ´§«ÍÏÊâ»Ãá¡ÃÁ·ÕÁûẺàËÁ×͹¡Ñºã¹â¤Œ´àÍ´ÔàµÍÏ
                 é                                         è ÕÙ
ÊÒÁÒöàÃÕ¡㪌§Ò¹à¤Ã×ͧÁ×͵ÑǹÕä´Œâ´Âä»·Õàè Á¹Ù Tools à Export Code to HTML
                       è        é




1.2.2.3 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹¾Íϵ͹ءÃÁ : USART Terminal
                  è
       à¤Ã×èͧÁ×Íà¾×èͪ‹ÇÂÃѺáÅÐÊ‹§¢ŒÍÁÙÅ͹ءÃÁÃÐËÇ‹Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФÍÁ¾ÔÇàµÍÏ
¡ÒÃàÃÕ¡㪌§Ò¹·íÒä´Œâ´Âä»·Õàè Á¹Ù Tools à USART Terminal ËÃ×Í¡´»ØÁ Ctrl+T ¡çä´Œ
                                                                 †
16 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


1.2.2.4 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹¾Íϵ USB ã¹âËÁ´ HID : HID Terminal
                  è
       ໚¹à¤Ã×ͧÁ×Íà¾×ͪ‹ÇÂ㹡ÒõԴµ‹ÍÃÐËÇ‹Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ¡º¤ÍÁ¾ÔÇàµÍÏ ¼‹Ò¹¾Íϵ
               è       è                                        Ñ
USB «Ö§ã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ºÒ§àºÍϨÐÁÕâÁ´ÙÅ USB µÔ´µÑ§ÍÂÙ‹ ઋ¹ PIC18F4550 ໚¹µŒ¹
        è                                                   é
¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§ä»·Õàè Á¹Ù Tools à HID Teminal




1.2.2.5 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹Ãкºà¹çµàÇÔá : UDP Terminal
                  è                         
       ໚¹à¤Ã×ͧÁ×ÍÃѺʋ§á¾ç¡à¡çµ¢ŒÍÁÙÅã¹Ãкºà¹çµàÇÔá â´Âä»·Õàè Á¹Ù Tools à UDP Terminal
               è                                      
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                           é       l 17



1.2.2.6 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙšѺ¡Òϴ˹‹Ç¤ÇÒÁ¨íÒ : MMC Card Terminal
                  è
       ໚¹à¤Ã×ͧÁ×ÍÊíÒËÃѺ¡ÒÃÍ‹Ò¹áÅÐà¢Õ¹¡Òϴ˹‹Ç¤ÇÒÁ¨íÒª¹Ô´ MMC ¼‹Ò¹¡ÒÃÊ×ÍÊÒÃ͹ءÃÁ
               è                                                             è
¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§ä»·Õàè Á¹Ù Tools à MMC Card Terminal
1.2.2.7 â»Ãá¡ÃÁ¡íÒ˹´¨Ø´ÀÒ¾ÊíÒËÃѺâÁ´ÙÅ¡ÃÒ¿¡ LCD : GLCD Bitmap Editor
       ໚¹à¤Ã×ͧÁ×ͪ‹Ç¡íÒ˹´¢ŒÍÁÙÅ¡ÒÃÊÌҧÀÒ¾ãËŒ¡º¡ÃÒ¿¡ LCD ä»à»š¹â¤Œ´ÀÒÉÒ C ÊÒÁÒö
               è                                   Ñ
㪌§Ò¹¡Ñº¡ÃÒ¿¡ LCD ËÅÒÂàºÍÏ ÍÒ·Ô KS0108, T6963 ËÃ×Í¡ÃÒ¿¡ LCD ¢Í§â·ÃÈѾ· Nokia3110
¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§à¢ŒÒä»·Õàè Á¹Ù Tools à GLCD Bitmap Editor




1.2.2.8 â»Ãá¡ÃÁ¡íÒ˹´¢ŒÍÁÙÅÊíÒËÃѺ LED µÑÇàÅ¢ 7 ʋǹ : Seven Segment Decoder
       ໚¹à¤Ã×ͧÁ×ͪ‹Ç¡íÒ˹´¢ŒÍÁÙÅ 1 亵ÊÒËÃѺ¡ÒÃáÊ´§¼Å¢Í§ LED µÑÇàÅ¢ 7 ʋǹ ¡ÒÃàÃÕ¡
               è                            í
㪌§Ò¹¨ÐµŒÍ§à¢ŒÒ·Õàè Á¹Ù Tools à Seven Segment Decoder
18 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


1.2.2.9 â»Ãá¡ÃÁÊÌҧµÑÇÍÑ¡ÉÃ੾ÒÐÊíÒËÃѺâÁ´ÙÅ LCD : LCD Custom Charactor
          ໚¹à¤Ã×ͧÁ×ͪ‹ÇÂÊÌҧµÑÇÍÑ¡ÉþÔàÈÉãËŒ¡ºâÁ´ÙÅ LCD ẺµÑÇÍÑ¡Éà â´ÂàÁ×ÍÊÌҧµÑÇÍÑ¡ÉÃ
                  è                              Ñ                            è
àÊÃç¨àÃÕºÌÍÂáŌǡ´»ØÁ Generate â»Ãá¡ÃÁ¨ÐÊÌҧ⤌´ãËŒâ´ÂÍѵâ¹ÁÑµÔ ¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§à¢ŒÒ
                         †
·Õàè Á¹Ù Tools à LCD Custom Charactor




1.2.2.10 ˹ŒÒµ‹Ò§Ë¹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕ;ÃÍÁ : EEPROM Editor
                                      Õ
       㪌áÊ´§¤‹ÒáÅÐᡌ䢢ŒÍÁÙÅã¹Ë¹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕÍÕ¾ÃÍÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                           é       l 19




1.3 àÃÔÁµŒ¹ãªŒ§Ò¹ mikroC
       è
1.3.1 㪌§Ò¹¨Ò¡µÑÇÍ‹ҧ
       mikroC àµÃÕÂÁµÑÇÍ‹ҧ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¾×¹°Ò¹ÁÒãËŒ¼ãªŒ§Ò¹·´ÅͧËÅÒÂâ»Ãá¡ÃÁ â´Â
                                             é         ÙŒ
ËÅѧ¨Ò¡µÔ´µÑé§â»Ãá¡ÃÁ mikroC áÅŒÇ µÑÇÍ‹ҧâ»Ãá¡ÃÁµ‹Ò§æ ¨Ðà¡çºÍÂÙ‹ã¹â¿Åà´ÍÏ C:Program
FilesMikroelektronikamikroCExamplesEasyPic4
       ÊíÒËÃѺä¿Åâ»Ãà¨ç¡µáá·Õè¨Ðແ´¢Öé¹à»š¹µÑÇÍ‹ҧ¹Õé㪌äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC16F877A
«Ö§¡ç¤Í ä¿Å¢Í§â»Ãá¡ÃÁ信оÃÔº (LED Blinking)
  è ×
      ¢Ñ鹵͹¡ÒÃແ´µÑÇÍ‹ҧâ»Ãà¨ç¡µ¢Öé¹ÁÒ㪌§Ò¹ ÁÕ¢Ñ鹵͹´Ñ§¹Õé
             (1) ແ´â»Ãá¡ÃÁ mikroC áÅŒÇä»·Õàè Á¹Ù Project à Open Project




             (2) ·Õè˹ŒÒµ‹Ò§ Open àÅ×Í¡â¿Åà´ÍÃì C:Program FilesMikroelektronikamikroC
ExamplesEasyPic4P16F877ALED_Blinking àÃÕ¡ແ´ä¿Å LED_Blinking.ppc
20 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


              (3) ·Õ˹ŒÒµ‹Ò§ Project Setup (ºÃÔàdz´ŒÒ¹«ŒÒ¢ͧ¨ÍÀÒ¾) ¨ÐáÊ´§àºÍϢͧäÁâ¤Ã
                    è
¤Í¹â·ÃÅàÅÍÏ PIC ·Õàè Å×͡㪌 ¾ÃŒÍÁ·Ñ§¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò ÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ͹·ÕµÍ§¡ÒÃä´Œ
                                     é      è Ñ                   è           ×è è Œ
¨Ò¡Ãٻ໚¹¡ÒÃàÅ×Í¡à»ÅÕ¹໚¹àºÍÏ PIC16F887 áÅФÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò (Clock) ෋ҡѺ 20MHz
                       è                               è Ñ




              (4) ·Õ˹ŒÒµ‹Ò§á¡Œä¢â»Ãá¡ÃÁËÃ×Í Code Editor ¨ÐáÊ´§ÃÒÂÅÐàÍÕ´¢Í§«ÍÏÊâ»Ãá¡ÃÁ
                    è
LED_Blinking.c ´Ñ§áÊ´§ã¹â»Ãá¡ÃÁ·Õè 1-1
 /*
   * Project name:
        LED_Blinking (Simple 'Hello World' project)
   * Copyright:
        (c) Mikroelektronika, 2005.
   * Description:
        This is a simple project. It turns on/off diodes connected to
        PORTC. It uses bitwise negation to toggle PORTB pins.
   * Test configuration:
        MCU:              PIC16F877A
        Dev.Board:        EasyPIC4
        Oscillator:       HS, 08.0000 MHz
       Ext. Modules:    -
       SW:                mikroC v7.0
   * NOTES:
        None.
 */
 void main() {
     PORTC = 0;
     TRISC = 0;
     while(1) {
       PORTC = ~PORTC;
       Delay_ms(1000);
     }
 }
 ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ
       àÃÔÁµŒ¹´ŒÇ¡ÒáíÒ˹´ãËŒ¾Íϵ C ໚¹àÍÒµ¾µ áÅŒÇ˹‹Ç§àÇÅÒ 500 äÁâ¤ÃÇÔ¹Ò·Õ ¨Ò¡¹Ñ¹ÊѧãËŒâ»Ãá¡ÃÁ
          è                                     Ø                                    é è
 ·íÒ§Ò¹ã¹ÅÙ» While(1) à¾×Í¡ÅѺʶҹÐÅͨԡ·Õàè ÍÒµ¾µ¢Í§¾Íϵ C áÅŒÇ˹‹Ç§àÇÅÒ 100 ä«à¡ÔÅ
                         è                        Ø
â»Ãá¡ÃÁ·Õè 1-1 µÑÇÍ‹ҧâ»Ãá¡ÃÁÀÒÉÒ C ¢Í§ä¿Å LED_Blinking.c ·Õ·Ò§Ò¹º¹ mikroC ¤ÍÁä¾àÅÍÏ
                                                              è í
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                            é       l 21



              (5) ·íÒ¡ÒäÍÁä¾Å«ÍÏÊ⤌´ÀÒÉÒ C ãˌ໚¹ÀÒÉÒà¤Ã×ͧ (.hex) â´Â¡´¤Õ CTRL+F9
                                                              è
ËÃ×ͤÅÔ¡·Õäͤ͹
            è            ·ÕºÃÔàdzᶺ´ŒÒ¹º¹¢Í§â»Ãá¡ÃÁ ËÃ×Íä»·Õàè Á¹Ù Project áÅŒÇàÅ×Í¡¤íÒÊѧ
                           è                                                              è
Build ¡çä´Œ
                 (6) ËÅѧ¨Ò¡¤ÍÁä¾Å ¼ÅÅѾ¸·ä´Œ¨ÐáÊ´§·Õ˹ŒÒµ‹Ò§ Messages ´ŒÒ¹Å‹Ò§¢Í§â»Ãá¡ÃÁ
                                            Õè         è
«Ö觶ŒÒäÁ‹ÁÕ¢ŒÍ¼Ô´¾ÅÒ´ã´æ ˹ŒÒµ‹Ò§ Messages ¨ÐáÊ´§¢ŒÍ¤ÇÒÁ Success ÊÕà¢ÕÂÇ áÅÐáÊ´§¨íҹǹ
˹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁáÅÐ˹‹Ç¤ÇÒÁ¨íÒ RAM ·Õ¶¡ãªŒ§Ò¹ èÙ




1.3.2 µÃǨÊͺ¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¼‹Ò¹ Debugger
      â»Ãá¡ÃÁ Debugger ¢Í§ mikroC ·íÒ§Ò¹àËÁ×͹¡Ñº¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ËÃ×Í«ÔÁàÙ ÅàµÍÏ à¾×Í
                                                                                       è
´Ù¼Å¡ÒÃà»ÅÕ¹á¼Å§·ÕèÊàµÍϵҧ æ ÀÒÂã¹µÑÇäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ â´ÂäÁ‹¨Ò໚¹µŒÍ§´ÒǹâËÅ´
           è       èÕÔ      ‹                                     í
â»Ãá¡ÃÁä»ÃѹãËŒ·Ò§Ò¹¨ÃÔ§ ÁÕ¢¹µÍ¹¡ÒÃ㪌§Ò¹´Ñ§¹Õé
                 í            Ñé
            (1) ä»·Õè àÁ¹Ù RUN àÅ×Í¡¤íÒÊѧ Start Debugger ËÃ×ͤÅÔ¡»ØÁ
                                         è                          †            ºÃÔàdzᶺà¤Ã×ͧÁ×Í
                                                                                              è
´ŒÒ¹º¹¢Í§â»Ãá¡ÃÁ ËÃ×Í¡´¤Õ F9 à¾×ÍàÃÔÁµŒ¹à»´Ë¹ŒÒµ‹Ò§ Debugger
                                    è è




ËÁÒÂà赯 ¡‹Í¹¡ÒÃ㪌 Debugger ËÃ×ͨíÒÅͧ¡Ò÷íÒ§Ò¹ µŒÍ§·íÒ¡ÒäÍÁä¾Åâ»Ãá¡ÃÁ¡‹Í¹àÊÁÍ
22 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


              (2) â»Ãá¡ÃÁ¨Ðແ´Ë¹ŒÒµ‹Ò§ Watch ¢Ö¹ÁÒ à¾×Í´Ù¤ÒµÑÇá»Ãµ‹Ò§æ ¼‹Ò¹Ë¹ŒÒµ‹Ò§ Watch
                                                é      è ‹
Window â´Â¨ÐµŒÍ§àÅ×Í¡ÃÕ¨ÊàµÍÏ·µÍ§¡ÒõÃǨÊͺ¤‹ÒàÊÕ¡‹Í¹ ÊíÒËÃѺâ»Ãá¡ÃÁ LED_Blinking
                          Ô     Õè Œ
ÃÕ¨ÊàµÍϷ㪌§Ò¹¤×Í PORTC áÅÐ TRISC ºÃÔàdzᶺáÊ´§Ê¶Ò¹Ð¨Í§Ë¹ŒÒµ‹Ò§ Watch ¨ÐáÊ´§
   Ô      Õè
µíÒá˹‹§¢Í§â»Ãá¡ÃÁà¤Ò¹àµÍÏ (¢³Ð«ÔÁàÙ ÅàµÍÏâ»Ãá¡ÃÁ) áÊ´§àÇÅÒ·Õ㪌àÁ×Í·íÒ¤íÒÊѧ (Stop watch)
                                                                 è è           è
áÅÐá¿Å¡áÊ´§Ê¶Ò¹Ð (ÃÕ¨ÊàµÍÏ Stutus)
                        Ô


          à¾ÔÁµÑÇá»Ã
             è
       àÅ×Í¡µÑÇá»Ã




                µíÒá˹‹§â»Ãá¡ÃÁà¤Ò¹àµÍÏ                             á¿Å¡ã¹ÃÕ¨ÊàµÍÏ STATUS
                                                                               Ô
                                            áÊ´§àÇÅÒàÁ×Í·íÒ¤íÒÊѧ
                                                       è        è
            (3) 㹡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ÊÒÁÒö㪌»Ø†Áµ‹Ò§æ ·ÕèÍÂÙ‹ºÃÔàdz´ŒÒ¹º¹¢Í§Ë¹ŒÒµ‹Ò§
Watch 㹡ÒôټšÒ÷íҧҹ䴌 ËÃ×Í¡´»ØÁ¤ÕÂÅ´´Ñ§¹Õé
                                    † Ñ
                  F4 ËÃ×Í              Ãѹâ»Ãá¡ÃÁ·ÕèµíÒá˹‹§à¤ÍÏà«ÍÏ»ÃÒ¡¯ÍÂÙ‹
                  F5 ËÃ×Í              ¡íÒ˹´/¡àÅÔ¡¨Ø´àºÃ¡
                  F6 ËÃ×Í              Ãѹ/ËÂØ´ªÑèǤÃÒÇ¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹
                  F7 ËÃ×Í              Ãѹ໚¹Êàµç»â´ÂࢌÒä»ã¹â»Ãá¡ÃÁ‹ÍÂ
                  F8 ËÃ×Í              Ãѹ໚¹Êàµç» â´ÂäÁ‹à¢ŒÒä»ã¹â»Ãá¡ÃÁ‹ÍÂ
                  Ctrl+F8 ËÃ×Í         Ãѹ໚¹Êàµç»¨¹ÍÍ¡¨Ò¡â»Ãá¡ÃÁ‹ÍÂ
                  F9 ËÃ×Í              ແ´¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ËÃ×Í«ÔÁÙàÅàµÍÏ
                  Ctrl+F2 ËÃ×Í         »´¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ËÃ×Í«ÔÁÙàÅàµÍÏ
                  Alt+D                áÊ´§Ë¹ŒÒµ‹Ò§´ÔÊáÍÊà«ÁàºÅÍÏ
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                              é       l 23



              (4) ¤ÅÔ¡·Õ»Á
                        è ؆   ËÃ×Í¡´»ØÁ F8 à¾×ÍÃѹâ»Ãá¡ÃÁãËŒ·Ò§Ò¹áººÊàµç» ᵋäÁ‹à¢ŒÒä»
                                       †       è               í
´Ù¡Ò÷íÒ§Ò¹ã¹â»Ãá¡ÃÁ‹Í ¡´»ØÁ F8 ä»àÃ×ÍÂæ ¨¹¶Ö§¤íÒÊѧ PORTC = ~PORTC; Êѧࡵ¤‹Ò¢Í§
                             †           è           è
PORTC Ç‹Ò ÁÕ¡ÒÃà»ÅÕ¹á»Å§ â´Â¶ŒÒ¤‹Òà´ÔÁ໚¹ 0x00 ¨Ðà»ÅÕ¹໚¹ 0xFF áÅжŒÒ¤‹Òà´ÔÁ໚¹ 0xFF
                    è                                  è
¨Ðà»ÅÕ¹໚¹ 0x00
      è
1.3.3 ¡ÒõÃǨÇÑ´¤‹Òä«à¡ÔÅ¡Ò÷íÒ§Ò¹´ŒÇ Stopwatch
       àÅ×Í¡·Õàè Á¹Ù View à Debug WindowsView à Clock ¨Ð໚¹¡ÒÃແ´Ë¹ŒÒµ‹Ò§ Stopwatch à¾×Í
                                                                                         è
㪌´¤ÒàÇÅÒ·Õ㪌㹡Ò÷íÒ¤íÒÊѧËÃ×Í¿˜§¡ª¹¨Ò¡¡ÒÃÃѹẺ·ÕÅÐÊàµç» ËÃ×ͨҡÃѹä»ËÂØ´·ÕµÒá˹‹§
    Ù‹      è                è         Ñè                                         èí
Breakpoint (¡íÒ˹´µíÒá˹‹§ËÂØ´¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ ã¹âËÁ´«ÔÁÅàÅàµÍÏ)
                                                               Ù




       â´Âã¹Ë¹ŒÒµ‹Ò§ Stopwatch áÊ´§¢ŒÍÁÙŴѧ¹Õé




                1. Current Count áÊ´§¨íҹǹä«à¡ÔÅ¡Ò÷íÒ§Ò¹áÅÐàÇÅÒ·Õ㪌µ§áµ‹à»´Ë¹ŒÒµ‹Ò§ Debug
                                                                   è Ñé
                2. Delta ໚¹¡ÒÃáÊ´§¨íҹǹä«à¡ÔŢͧ¤íÒÊѧËÃ×Í¿˜§¡ª¹·Õàè ¾Ô§ÃѹãËŒ·Ò§Ò¹ä»Å‹ÒÊØ´
                                                        è          Ñè      è       í
                3. Stopwatch ໚¹¡ÒÃáÊ´§¨íҹǹä«à¡ÔÅ¡Ò÷íÒ§Ò¹áÅÐàÇÅÒ·Õè㪌 ËÅѧ¨Ò¡¡´»Ø†Á
Reset to Zero
24 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


                4. Clock ໚¹Ë¹ŒÒµ‹Ò§ÊíÒËÃѺ¡íÒ˹´¤‹Ò¤ÇÒÁ·ÕÍÍÊ«ÔÅàÅàµÍϷ㪌 «Ö§äÁ‹¨Ò໚¹µŒÍ§à»š¹
                                                           è             Õè è í
¤‹Òà´ÕÂǡѺ¤‹Ò·Õ¡Ò˹´ã¹ä¿Åâ»Ãà¨ç¡µ¡ä´Œ â´Â¡ÒÃà»ÅÕ¹á»Å§¤‹Ò¤ÇÒÁ¶ÕÍÍÊ«ÔÅàÅàµÍÏã¹Ë¹ŒÒµ‹Ò§
                èí                       ç            è               è
Stopwatch ¨ÐäÁ‹Á¼Å¡Ñº¡ÒÃà»ÅÕ¹á»Å§¤‹Ò¤ÇÒÁ¶ÕÍÍÊ«ÔÅàÅàµÍÏã¹ä¿Åâ»Ãà¨ç¡µ
                   Õ           è                 è
              5. »ØÁ
                   †                  㪌à¾×ÍÃÕ૵¹Ò́¡Ò¨ÑºàÇÅÒãËŒ¡ÅѺä»àÃÔÁ¹Ñº·Õè 0 (ᵋ¨ÐäÁ‹
                                            è                              è
ÁռšѺ¤‹Ò Current Count ) 㪌ÊÒËÃѺ¡ÒèѺàÇÅÒ੾Òп˜§¡ª¹·ÕµÍ§¡ÒÃ
                               í                          Ñè è Œ
      ¤‹Ò·ÕèáÊ´§¨ÐáÊ´§·Ñé§ã¹ÃٻẺ¢Í§ä«à¡ÔÅ¡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФҺ
ÃÐÂÐàÇÅÒ·Õè㪌㹡Ò÷íÒ¤íÒÊÑè§ËÃ×Í¿˜§¡ªÑè¹
      ËÅѧ¨Ò¡ÃÙ¨¡¡ÑºÊ‹Ç¹»ÃСͺ¢Í§Ë¹ŒÒµ‹Ò§ Stopwatch áŌǵ‹Íä»à»š¹¡Ò÷´ÅͧÃѹâ»Ãá¡ÃÁ
               ΄
Ẻ«Ô§à¡ÔÅÊàµç» à¾×ʹ٨ҹǹä«à¡ÔÅáÅФҺàÇÅÒ·Õâ»Ãá¡ÃÁ㪌 â´Â·íÒµÒÁ¢Ñ¹µÍ¹´Ñ§¹Õé
                   è í                       è                      é
               (1) ¡íÒ˹´ÊÑ­­Ò³¹Ò́¡Ò (Clock) ෋ҡѺ 20 MHz
               (2) à¤ÅÕÂϤÒä«à¡ÔÅáÅФҺàÇÅÒ â´Â¤ÅÔ¡·Õ»Á
                           ‹                          è ؆
               (3) ¤ÅÔ¡·Õ»Á Step Over
                         è ؆                    ËÃ×Í¡´»ØÁ F8 ˹֧¤Ãѧ ໚¹¡Ò÷íÒ¤íÒÊѧ PORTC
                                                         †       è é                  è         = 0
«Ö§àÇÅÒ·Õè Stopwatch 㪌෋ҡѺ 3 ä«à¡ÔÅ
  è
               (4) ¤ÅÔ¡·Õ»Á Step Over ÍÕ¡¤Ãѧ ໚¹¡Ò÷íÒ¤íÒÊѧ TRISC = 0 Êѧࡵ·ÕËÇ¢ŒÍ
                         è ؆                     é               è                   è Ñ
Delta ¤‹Ò¨ÐÁÕ¤‹Òà·‹Ò 2 ä«à¡ÔÅ áÊ´§Ç‹Ò¤íÒÊÑè§ TRISC = 0 㪌¤ÒºàÇÅÒ 2 ä«à¡ÔÅᵋ¤‹ÒÃÐÂÐàÇÅҢͧ
Stopwatch ¨ÐÁÕ¤Ò෋ҡѺ 5 à¹×ͧ¨Ò¡à»š¹¡ÒÃÃÇÁ¤íÒÊѧ¡‹Í¹Ë¹ŒÒ¹Õàé ¢ŒÒä»´ŒÇÂ
                 ‹            è                     è
               (5) ¤ÅÔ¡·Õ»Á Step Over
                         è ؆              ÍÕ¡¤Ãѧ ¨Ð໚¹¡Ò÷íÒ¿˜§¡ª¹Ë¹‹Ç§àÇÅÒ 1 ÇÔ¹Ò·Õ ã¹
                                                 é                   Ñè
¡Ã³Õ·ãªŒ Step Over â»Ãá¡ÃÁ¨ÐäÁ‹à¢ŒÒä»áÊ´§¡Ò÷íҧҹ㹿˜§¡ª¹¹Ñ¹ ᵋ¨ÐáÊ´§¤‹Ò¨íҹǹä«à¡ÔÅ
      Õè                                                     Ñè é
¢Í§¿˜§¡ª¹ Delay_ms(1000) ÍÍ¡ÁÒ (ÍÒ¨µŒÍ§ãªŒàÇÅÒÃÍÊÑ¡¤ÃÙ‹ ) ¼ÅÅѾ¸·ä´Œ¤Í 5,018,507 ä«à¡ÔÅ
         Ñè                                                             Õè ×
ËÃ×Í໚¹ÃÐÂÐàÇÅÒ 1003.70 ÁÔÅÅÔÇ¹Ò·Õ ËÃ×Í 1 ÇԹҷվʹÕ
                                Ô
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                          é       l 25




1.4 ˹ŒÒµ‹Ò§áÊ´§Ê¶Ôµ¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒ
                    Ô
      ËÅѧ¨Ò¡¤ÍÁä¾Åâ»Ãá¡ÃÁáÅŒÇ ¼Ù㪌§Ò¹ÊÒÁÒöàÃÕ¡´ÙʶԵµÒ§æ Íѹ»ÃСͺ仴ŒÇÂ
                                  Œ                      Ô‹
               1. Memory usage áÊ´§¡ÒÃ㪌§Ò¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁáÅÐ˹‹Ç¤ÇÒÁ¨íÒ RAM
«Ö觨ÐáÊ´§·Ñ駻ÃÔÁҳ˹‹Ç¤ÇÒÁ¨íÒ·ÕèÇ‹Ò§ÍÂÙ‹áÅÐ˹‹Ç¤ÇÒÁ¨íÒ·Õè㪌ä»




            2.Procedures (sizes) áÊ´§»ÃÔÁÒ³¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒẋ§µÒÁ¿˜§¡ª¹·Õàè ÃÕ¡㪌
                                                                          Ñè
26 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


              3.Procedures (locations) áÊ´§µíÒá˹‹§¡ÒÃ㪌§Ò¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§
¿˜§¡ª¹µ‹Ò§ æ ÀÒÂã¹â»Ãá¡ÃÁ ÃÇÁ¶Ö§»ÃÔÁÒ³¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒã¹áµ‹Åп˜§¡ª¹´ŒÇÂ
      Ñè                                                              Ñè




              4.Procedures (details) áÊ´§ÃÒÂÅÐàÍÕ´¢Í§¿˜§¡ªÑè¹µ‹Ò§æ â´ÂÁÕ¡ÒÃÃкصíÒá˹‹§
áÍ´à´ÃÊàÃÔèÁµŒ¹áÅÐÊÔé¹ÊØ´¢Í§¿˜§¡ªÑè¹
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                          é       l 27



             5.RAM ໚¹¡ÒÃáÊ´§ÃÒÂÅÐàÍÕ´¢Í§Ë¹‹Ç¤ÇÒÁ¨íÒ RAM áÅÐÃÕ¨ÊàµÍϵҧæ â´Â
                                                                  Ô      ‹
áÊ´§ª×èÍáÅеíÒá˹‹§áÍ´à´ÃʢͧÃÕ¨ÔÊàµÍÏáÅÐ˹‹Ç¤ÇÒÁ¨íÒàËÅ‹Ò¹Ñé¹




            6.ROM ໚¹Ë¹ŒÒµ‹Ò§áÊ´§ÃÒÂÅÐàÍÕ´â»Ãá¡ÃÁÀÒÉÒáÍÊá«ÁºÅÕ·àèÕ ¡çºÍÂÙã¹Ë¹‹ÇÂ
                                                                           ‹
¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ
28 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


1.5 ·´Êͺ¡Ò÷íÒ§Ò¹·Ò§ÎÒÏ´áÇÏ
         㹡Ò÷´Êͺ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁÀÒÉÒ C ·Õèà¢Õ¹¢Öé¹à¾×èÍãËŒàË繼šÒ÷íÒ§Ò¹¨ÃÔ§æ
·Ò§ÎÒÏ´áÇÏ ¨ÐµŒÍ§ÁÕ¡ÒôÒǹâËÅ´ä¿Å .hex «Ö§à»š¹ä¿Å¼ÅÅѾ¸¢Í§ mirkoC ¤ÍÁä¾àÅÍÏä»Âѧ
                                                  è
˹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´Ñ§¹Ñ¹ã¹¡Ò÷´Êͺ¹Õ¨ÐÁÕà¤Ã×ͧÁ×Í 2 µÑÇ·Õè
                                                         é               é   è
à¡ÕèÂÇ¢ŒÍ§¤×Í ÎÒÏ´áÇÏÊíÒËÃѺâ»Ãá¡ÃÁáÅз´ÅͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC áÅЫͿµáÇÏ
ÊíÒËÃѺ¡ÒôÒǹâËÅ´â»Ãá¡ÃÁ
         ÎÒÏ´áÇÏ·Õèá¹Ð¹íÒã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õé»ÃСͺ´ŒÇÂ
                1. ºÍÏ´ÊíÒËÃѺâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC/dsPIC ¼‹Ò¹¾Íϵ USB ª×ÍÃØ¹è ‹
PX-200 ¢Í§ºÃÔÉ·ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ (www.inex.co.th)
                  Ñ
                2. ºÍÏ´·´ÅͧÃع NX-877 plusII ÊíÒËÃѺ¡Ã³ÕµÍ§¡Ò÷´Åͧ·ÑÇä» »¡µÔµ´µÑ§äÁâ¤Ã
                                ‹                          Œ           è         Ô é
¤Í¹â·ÃÅàÅÍÏ PIC18F877A äÇŒ ᵋÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ PIC16F887 ËÃ×Í 18F4xxx ã¹Ãع 40 ¢Òä´Œ
                                              è                                   ‹
                3. RBX-877 V2.0 ºÍÏ´¤Çº¤ØÁËع¹µ Robo-PICA ·Õµ´µÑ§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ
                                                ‹                 èÔ é
PIC16F887 ᵋÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ PIC16F877A ËÃ×Í 18F4xxx ã¹Ãع 40 ¢Ò ä´Œ
                            è                                       ‹
         ʋǹ«Í¿µáÇÏ·Õè㪌¤×Í PICkit2TM Programming Software ¢Í§ Microchip ¼ÙŒ¼ÅÔµäÁâ¤Ã
¤Í¹â·ÃÅàÅÍÏ PIC ÒÁÒö´ÒǹâËÅ´ä´Œ¿ÃÕ·Õè www.microchip.com
1.5.1 ¡ÒõԴµÑ§«Í¿µáÇÏ PICkit2TM Programming software
              é
       PICkit2TM Programming Software ໚¹«Í¿µáÇÏÊÒËÃѺâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
                                                          í
áÅÐ dsPIC Ẻá¿Åª·ÕµÍ§·íҧҹËÇÁ¡Ñºà¤Ã×ͧâ»Ãá¡ÃÁ PICkit2TM ¢Í§ Microchip ËÃ×Íà¤Ã×ͧ
                       èŒ                        è                                       è
â»Ãá¡ÃÁÍ×¹·ÕÁ¡Ò÷íÒ§Ò¹µÃ§¡Ñ¹ ã¹·Õ¹àÕé Å×͡㪌ºÍÏ´â»Ãá¡ÃÁÃع PX-200 «Ö§¾Ñ²¹Ò¢Ö¹â´ÂºÃÔÉ·
          è è Õ                        è                       ‹          è      é         Ñ
ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ¨Ò¡¢ŒÍÁÙÅ·Õàè ¼Âá¾Ã‹ÊÊÒ¸ÒóТͧà¤Ã×ͧâ»Ãá¡ÃÁ PICkit2TM â´Â
                                                      Ù‹            è
Microchip ÊíÒËÃѺ¡ÒÃâ»Ãá¡ÃÁ¢ŒÍÁÙÅŧã¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
¢Í§ºÍÏ´ PX-200 ¨Ð໚¹áººâ»Ãá¡ÃÁã¹Ç§¨Ã¼‹Ò¹·Ò§á¨¡ ICD2
1.5.1.1 µÔ´µÑ§¨Ò¡á¼‹¹«Õ´ÃÍÁ·ÕÁҡѺªØ´ PX-200
             é          Õ    è
      «Í¿µáÇϷ㪌¡º PX-200 ¤×Í PICkit2TM Programming Software â´Âã¹àÇÍÃ쪹ãËÁèæ ¹Ñ¹
                Õè Ñ                                                           Ñ          é
¾Ñ²¹ÒÁÒ¨Ò¡ Microsoft .NET ´Ñ§¹Ñ¹¡ÒõԴµÑ§â»Ãá¡ÃÁà¾×Í㪌§Ò¹ ¼Ù㪌§Ò¹µŒÍ§ÁÕ¡ÒõԴµÑ§ Microsoft
                               é        é          è         Œ                   é
.NET Framework àÊÕ¡‹Í¹
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                             é       l 29



       (¡) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏäÁ‹Á¡ÒõԴµÑ§ Microsoft .NET Framework ÁÒ¡‹Í¹
                Õè             Õ       é
                µÔ´µÑ§ Microsoft .NET Framework â´ÂàÅ×Í¡µÔ´µÑ§¨Ò¡â¿Åà´ÍÏ PICkit 2 Setup v2.01
                     é                                       é
dotNET à dotnetfx ã¹á¼‹¹«Õ´ÃÍÁ ´ÑºàºÔŤÅÔ¡·Õä¿Å dotnetfx.exe ¨Ð㪌àÇÅÒ㹡ÒõԴµÑ§¤ÃÙ˹֧
                                  Õ              è                                    é ‹ è
¨Ò¡¹Ñ¹¨Ö§µÔ´µÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software â´ÂàÅ×Í¡ä¿Å PICkit2Setup.msi
     é        é
       (¢) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏÁ¡ÒõԴµÑ§ Microsoft .NET Framework áÅŒÇ
                Õè          Õ       é
              µÔ´µÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software â´ÂࢌÒä»·Õâ¿Åà´ÍÏ PICkit 2
                   é                                                  è
Setup v2.01 ã¹á¼‹¹«Õ´ÃÍÁ ´ÑºàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi
                      Õ               è
1.5.1.2 µÔ´µÑ§¨Ò¡ä¿Å·´ÒǹâËÅ´¨Ò¡àǺ䫵¢Í§ Microchip
             é        Õè
        ࢌÒä»ÂѧàǺ䫵¢Í§ Microchip ·Õè www.microchip.com àÅ×Í¡ËÑÇ¢ŒÍ Development tools à
Pickit 2 Programmer/Debugger
       (¡) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏäÁ‹Á¡ÒõԴµÑ§ Microsoft .NET Framework ÁÒ¡‹Í¹
                Õè             Õ       é
               ãËŒ´ÒǹâËÅ´ä¿Å¨Ò¡ËÑÇ¢ŒÍ PICkit2V2.01 Install with .NET Framework ¨Ðä´Œä¿Å
PICkit 2 Setup v2.01 dotNET.zip (µÑÇàÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§µÒÁÃع·ÕÁ¡ÒûÃѺ»ÃاŋÒÊØ´) áÅŒÇ
                                             Ñ       è            ‹ è Õ
·íÒ¡ÒâÂÒÂä¿Å·Õè´ÒǹâËÅ´ÁÒ à¡çºäÇŒã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 dotNET ¨Ò¡¹Ñé¹à¢ŒÒä»
ã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 dotNET à dotnetfx àÅ×Í¡´ÑºàºÔŤÅÔ¡·Õä¿Å dotnetfx.exe ¨Ð㪌
                                                                        è
àÇÅÒ㹡ÒõԴµÑ§¤ÃÙ˹֧ ¨Ò¡¹Ñ¹¨Ö§·íÒ¡ÒõԴµÑ§â»Ãá¡ÃÁ Pickiit2TM Programming Software â´Â
                é ‹ è         é                é
ࢌÒä»áŌǴѺàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi
                        è
       (¢) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏÁ¡ÒõԴµÑ§ Microsoft .NET Framework áÅŒÇ
                Õè          Õ       é
                  ãËŒ´ÒǹâËÅ´ä¿Å¨Ò¡ËÑÇ¢ŒÍ PICkit2V2.01 Install ¨Ðä´Œä¿Å PICkit 2 Setup v2.01.zip
(µÑÇàÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§µÒÁÃع·ÕÁ¡ÒûÃѺ»ÃاŋÒÊØ´) áŌǷíÒ¡ÒâÂÒÂä¿Å·´ÒǹâËÅ´ÁÒ à¡çº
              Ñ         è           ‹ è Õ                                       Õè
äÇŒã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 ¨Ò¡¹Ñ¹à¢ŒÒä»ã¹â¿Åà´ÍÏ àÅ×Í¡´ÑºàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi
                                        é                                    è
à¾×ÍàÃÔÁµŒ¹µÔ´µÑ§â»Ãá¡ÃÁ
   è è          é
30 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


1.5.1.3 ¢Ñ¹µÍ¹¡ÒõԴµÑ§â»Ãá¡ÃÁ
          é           é
       (1) ´ÑºàºÔŤÅÔ¡ä¿Åµ´µÑ§ PICkit2Setup.msi ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§àÃÔÁ¡ÒõԴµÑ§ ¤ÅÔ¡»ØÁ Next
                           Ô é                                     è        é       †




      (2) ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§á¨Œ§µíÒá˹‹§â¿Åà´ÍÏ·¨Ð·íÒ¡ÒõԴµÑ§ ËÒ¡äÁ‹µÍ§¡ÒÃà»ÅÕ¹á»Å§µíÒ
                                               Õè          é        Œ        è
á˹‹§â¿Åà´ÍÏãËŒ¤ÅÔ¡»ØÁ Next à¾×ͼ‹Ò¹¢Ñ¹µÍ¹¹Õä»
                      †         è      é     é




       (3) ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§á¨Œ§Â×¹Âѹ¡ÒõԴµÑ§â»Ãá¡ÃÁ ¤ÅÔ¡»ØÁ Next à¾×͵ͺµ¡Å§
                                            é              †         è
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                           é       l 31



      (4) ˹ŒÒµ‹Ò§á¨Œ§ÅÔ¢ÊÔ·¸«Í¿µáÇÏ»ÃÒ¡¯¢Ö¹ ¤ÅÔ¡ I agree à¾×͵ͺÃѺ ¨Ò¡¹Ñ¹¤ÅÔ¡»ØÁ Next
                                              é                 è            é      †




      (5) ˹ŒÒµ‹Ò§á¨Œ§Ê¶Ò¹Ð¡ÒõԴµÑ§â»Ãá¡ÃÁ»ÃÒ¡¯¢Ö¹ Ãͨ¹¡Ãзѧ¡ÒõԴµÑ§àÊÃç¨ÊÁºÙó
                                   é              é          è        é




       ¨Ò¡¹Ñ¹Ë¹ŒÒµ‹Ò§á¨Œ§¡ÒõԴµÑ§â»Ãá¡ÃÁàÊÃç¨ÊÁºÙó ¨Ð»ÃÒ¡¯¢Ö¹ ãËŒ¤ÅÔ¡»ØÁ Close à¾×Í»´
              é                   é                              é        †          è
˹ŒÒµ‹Ò§¹Õé ໚¹ÍѹàÊÃŒ¨ÊÔ¹¢Ñ¹µÍ¹¡ÒõԴµÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software
                          é é            é
32 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


1.5.2 ¡ÒÃàª×ÍÁµ‹Íà¾×Í·´Åͧ·Ò§ÎÒÏ´áÇÏ
            è       è
       (1) àÃÔÁµŒ¹´ŒÇ¡Òõ‹ÍÊÒ USB ÃÐËÇ‹Ò§ PX-200 ¡Ñº¾Íϵ USB ¢Í§¤ÍÁ¾ÔÇàµÍÏ ¨Ò¡¹Ñ¹
              è                                                                         é
ແ´â»Ãá¡ÃÁ Pickit2TM Programming Software â´ÂàÅ×Í¡·Õè Start à All programs à Microchip
à Pickit 2 V201 (àÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§ä´ŒµÒÁ¡ÒûÃѺ»ÃاŋÒÊØ´) ã¹ÃÙ»·Õè 1-2 áÊ´§Ë¹ŒÒµ‹Ò§
                          Ñ       è
ËÅÑ¡¢Í§â»Ãá¡ÃÁ Pickit2TM Programming Software


                         àÁ¹Ù¤ÒÊѧ
                              í è                           ¡Ãͺ Configuration
ᶺáÊ´§¡Ò÷íÒ§Ò¹                           ª‹Í§áÊ´§Ê¶Ò¹Ð




  »ØÁª‹ÇÂ㹡ÒÃ
    †                                                                                     ᨌ § ·Õè Á Ңͧ
      ·íÒ§Ò¹                                                                              ä¿Å .hex ·ÕúèÑ
                                     ˹ŒÒµ‹Ò§ºÑ¿à¿ÍÏ¢ÍÁÙŢͧ˹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ
                                                      Œ                                   ࢌÒÁÒà¡çºäÇŒã¹
                                                                                          ºÑ¿à¿ÍÏ


                                                                                          »ØÁª‹ÇÂ㹡ÒÃ
                                                                                            †
                                                                                          ·íÒ§Ò¹
                                 ˹ŒÒµ‹Ò§ºÑ¿à¿ÍÏ¢ÍÁÙŢͧ˹‹Ç¤ÇÒÁ¨íÒÍÕ;ÃÍÁ
                                                  Œ                     Õ


ÃÙ»·Õè 1-2 ˹ŒÒµ‹Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ Pickiit2TM Programming Software
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                           é                                                                       l 33



      (2) µ‹ÍÊÒ ICD ÃÐËÇ‹Ò§ºÍÏ´â»Ãá¡ÃÁ PX-200 ¡ÑººÍϴ໇ÒËÁÒÂËÃ×ͺÍÏ´·´Åͧ
             (2.1) ¡Ã³Õ㪌¡ººÍÏ´·´Åͧ NX-877 plusII
                           Ñ


        µ‹Í¾Íϵ USB
                                                           àª×ÍÁµ‹Í¡Ñ¹´ŒÇÂÊÒ ICD2
                                                              è
                      ¨‹ÒÂä¿àÅÕ§
                               é
           ¡´ÊÇÔµªàÅ×Í¡âËÁ´
               â»Ãá¡ÃÁ
            (ä¿ÊÕá´§µÔ´ÊÇ‹Ò§)
                                                                              ¾×¹·ÕÊÒËÃѺµ‹Íǧ¨Ã·´Åͧ
                                                                                é è í




             (2.1) ¡Ã³Õ㪌¡ººÍÏ´¤Çº¤ØÁËع¹µ RBX-877 Rev.2007)
                           Ñ             ‹

                                    ºÍÏ´â»Ãá¡ÃÁ PIC           ÊÒ ICD2



                                                                                                                                                         Sound
                                                           4.8-6V




                                                                                                                     LCD
                                                                                                                                                          RC0

                                                                     BATT                                                  RC7   RC6   RC4   RC3
                                                                                                                           RxD   TxD   SDA   SCL
                                                                                                     DOWNLOAD                                              LCD
                                                                                                                                                           back
                                                                                   ICD2                                                                    light
                                                   POWER




                                                           ON

                                                                         ON
                                                                                                          Robo - PICARRobotR
                                                                                                          PICRMicroRobotic
                                                                                             RESET

                        µ‹Í¡Ñº¾Íϵ USB
                                                                                   M-1 M-2




                        ¢Í§¤ÍÁ¾ÔÇàµÍÏ                                                                                                                     RB3
                                                                    #3
                                                                         #2
                                                                         #1




                                                                                    RA4       RB0
                                                                           SERVO




                                                                                                     RB0/INT   RA0   RA1   RA2   RA3   RA5   RE0   RE1   RE2
                                                           S+




               ÊíÒËÃѺâ»Ãá¡ÃÁµÑÇÍ‹ҧ LED_Blinking ·ÕÁÒ¨Ò¡µÑÇÍ‹ҧã¹â¿Åà´ÍÏ C:Program
                                                     è
FilesMikroelektronikamikroCExamplesEasyPic4P16F877ALED_Blinking ÁÕ¡ÒáíÒ˹´¡Òõ‹Í
ǧ¨ÃäÁ‹µÃ§¡ÑººÍÏ´ RBX-877 Rev.2007 ´Ñ§¹Ñ¹ã¹¡Ò÷´Êͺ¹Õ¨Ð͌ҧ¶Ö§ºÍÏ´·´Åͧ NX-877 plus
                                          é              é
II ໚¹ËÅÑ¡ ÊíÒËÃѺµÑÇÍ‹ҧ¡Ò÷´Êͺ¡ÑººÍÏ´ RBX-877 Rev.200 ´ÙÃÒÂÅÐàÍÕ´à¾ÔÁàµÔÁã¹Ë¹Ñ§Ê×Í
                                                                           è
àÃÕ¹ÃÙáÅÐÊÌҧËع¹µÍµâ¹Áѵ¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC «Ö§¨Ñ´ÁÒã¹Ø´Ëع¹µ Robo-PICA
       Œ         ‹      Ñ      ÔÑ                          è          ‹
34 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


         (3) ¨Ò¡¹Ñ鹫ͿµáÇϨеÃǨÊͺ¡ÒÃàª×èÍÁµ‹ÍáÅÐàºÍϢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
·Õèàª×èÍÁµ‹Í´ŒÇÂÍ‹ҧÍѵâ¹ÁÑµÔ áŌǨÐᨌ§àºÍÏ·èÕ¾ºº¹Ë¹ŒÒµ‹Ò§¢Í§â»Ãá¡ÃÁ
         (4) àÅ×Í¡ä¿Å .hex ·Õ赌ͧ¡ÒÃâ»Ãá¡ÃÁ â´Âä»·ÕèàÁ¹Ù File àÅ×Í¡ Import Hex ¨ÐÁÕ˹ŒÒµ‹Ò§
ÊíÒËÃѺແ´ä¿Å *.hex ·Õ赌ͧ¡ÒÃâ»Ãá¡ÃÁŧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ ã¹·Õè¹ÕéàÅ×Í¡ä»·Õè C:Program
FilesMikroelektronikamikroCExamplesEasyPic4P16F877ALED_Blinking àÅ× Í ¡ä¿Å ª×è Í
 LED_Blinking.hex
         (5) ¤ÅÔ¡»ØÁ Write à¾×Í´ÒǹâËÅ´â»Ãá¡ÃÁä»ÂѧºÍÏ´äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
                    †          è




       (6) µ‹Íǧ¨Ãâ´Âµ‹Í¢Ò¾Íϵ C ã´æ ࢌҡѺ LED
                                                       +5V


                                                 11        32                         C6
                                  +5V                                               0.1 F
                                                                                     50V
                                                     1+!
                                                  21+$.%%
                            R5
                            4k7
                                             1
                                                 MCLR                         LED
                          SW2           R6
                                        1k                     RCx
                         4-5-6
                                                                        12              R1
                                                                                        390
                                                                        31

                                             13       XTAL1        14
                                                      20MHz
                                          C2                          C3
                                         22pF                        22pF




      (7) ¡Ã³Õ㪌ºÍÏ´ NX-877 plus II ËÅѧ¨Ò¡â»Ãá¡ÃÁáÅŒÇ ãËŒ¡´ÊÇÔµª MODE ÁÒã¹âËÁ´ Run
áŌǡ´ÊÇÔµª RESET äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¨ÐàÃÔÁ·íÒ§Ò¹ LED ·ÕµÍÍÂ٨еԴ¡Ð¾ÃԺ͋ҧµ‹Íà¹×ͧ
                                                è             è‹ ‹                     è


                                                      INNOVATIVE EXPERIMENT
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                             é       l 35




                                                                      º··Õè 2
   ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C àº×ͧµŒ¹
                             é
          ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ
        ¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ´ŒÇ mikroC ¨ÐµŒÍ§ÊÌҧä¿Åã¹Åѡɳмѧ§Ò¹ËÃ×Íä¿Åâ»Ãà¨ç¡µ
(project) «Ö§ÁÕ¢¹µÍ¹·ÕäÁ‹Â§ÂÒ¡ à¹×ͧ¨Ò¡ mikroC ÁÕà¤Ã×ͧÁ×Í·ÕªÇÂʹѺʹع¡ÒÃÊÌҧä¿Å áÅÐÅ´ÀÒÃÐ
            è Ñé      è Ø‹        è                  è      è‹
㹡ÒÃà¢Õ¹â»Ãá¡ÃÁáÅСÒÃàª×ÍÁâ§ä¿Å
                                è
2.1 ¡ÒÃÊÌҧä¿Åâ»Ãà¨ç¡µ
       ÁÕ¢Ñ鹵͹â´ÂÊÃØ»´Ñ§¹Õé
              (1) ແ´â»Ãá¡ÃÁ mikroC ä»·Õàè Á¹Ù Project àÅ×Í¡¤íÒÊѧ New Project ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§
                                                                  è
¡ÒÃÊÌҧ Project ¢Ö¹ÁҴѧÃÙ»
                   é
                  ¡íÒ˹´ª×Íâ»Ãà¨ç¡µ
                          è
    ¡íÒ˹´µíÒá˹‹§â¿Åà´ÍÏ

          ÃÒÂÅÐàÍÕ´â»Ãà¨ç¡µ
     äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ·àÅ×͡㪌
                        Õè
              ¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò
                    è Ñ
      ª‹Í§¡íÒ˹´¤‹Ò¤Ø³Åѡɳзҧ
         ÎÒÏ´áÇÏËÃ×ͤ͹¿¡àêѹ
                            Ù è
36 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


               ¡ÒáíÒ˹´¤‹Òµ‹Ò§æ ã¹Ë¹ŒÒµ‹Ò§ New Project ÁÕ´§¹Õé
                                                           Ñ
                     (1.1) Project Name ໚¹¡ÒáíÒ˹´ª×Íä¿Åâ»Ãà¨ç¡µáÅЪ×Í«ÍÏÊâ»Ãá¡ÃÁ
                                                       è                  è
ÀÒÉÒ C ´ŒÇ â´Âä¿Åâ»Ãà¨ç¡µÁ¹ÒÁÊ¡ÅØ໚¹ .ppc ʋǹä¿Å«ÍÏÊâ»Ãá¡ÃÁÁÕ¹ÒÁÊ¡ØÅ໚¹ .c ã¹·Õè
                               Õ
¹Õ¡Ò˹´ª×ÍÇ‹Ò Project01
  éí      è
                      (1.2) Project Path ໚¹¡ÒáíÒ˹´µíÒá˹‹§â¿Åà´ÍϷ㪌à¡çºä¿Åâ»Ãà¨ç¡µ
                                                                       èÕ
áÅЫÍÏÊâ»Ãá¡ÃÁ ã¹·Õ¹¡Ò˹´µíÒá˹‹§äÇŒ·Õè C:MikroC_Code ¼Ù㪌§Ò¹ÊÒÁÒö¡´¤Õ
                         è Õé í                               Œ
à¾×èÍàÅ×Í¡µíÒá˹‹§â¿Åà´ÍÏ´ŒÇµ¹àͧ䴌
                         (1.3) Description ໚¹¾×¹·ÕÊÒËÃѺÃкØÃÒÂÅÐàÍÕ´à¡ÕÂǡѺâ»Ãà¨ç¡µ·ÊÌҧ¢Ö¹
                                                 é è í                     è              èÕ     é
¨ÐÃкØËÃ×ÍäÁ‹¡ä´Œ
              ç
                  (1.4) Device ໚¹ª‹Í§ÊíÒËÃѺ¡íÒ˹´àºÍÏäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ·àÕè Å×͡㪌§Ò¹
à¹×ͧ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ᵋÅÐàºÍÏÁ¤³ÊÁºÑµäÁ‹àËÁ×͹¡Ñ¹ ¨Ö§µŒÍ§àÅ×Í¡àºÍϢͧäÁâ¤Ã
   è                                         ÕØ      Ô
¤Í¹â·ÃÅàÅÍÏ PIC ãËŒ¶¡µŒÍ§ ã¹·Õ¹àÕé Å×͡໚¹àºÍÏ PIC16F887
                     Ù          è
                   (1.5) Clock 㪌¡Ò˹´¤‹Ò¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò·Õ㪌¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ
                                    í            è Ñ         è Ñ
PIC ˹‹ÇÂ໚¹ MHz 㹷չ㪌¤ÇÒÁ¶Õàè ·‹Ò¡Ñº 20 MHz
                       è Õé
           (2) ¡íÒ˹´¤‹Ò¤Ø³ÊÁºÑµÔ·Ò§ÎÒÏ´áÇÏËÃ×ͤ͹¿¡ÙàêÑè¹ (configuration) ¢Í§äÁâ¤Ã
¤Í¹â·ÃÅàÅÍÏ PIC àºÍÏ·àÕè Å×͡㪌§Ò¹·ÕªÍ§ Device Flags ÁÕµÇàÅ×Í¡ãˌ㪌§Ò¹ËÅÒÂÃٻẺઋ¹
                                       è ‹                 Ñ
                         _XT_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ¤ÃÔʵÍÅ ¤ÇÒÁ¶ÕäÁ‹à¡Ô¹ 4MHz
                                                                           è
                         _HS_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ¤ÃÔʵÍŤÇÒÁ¶Õʧ (4MHz ¢Ö¹ä»)
                                                                          è Ù        é
                         _LP_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ¤ÃÔʵÍžÅѧ§Ò¹µèÒ
                                                                             í
                         _RC_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ㪌µÇµŒÒ¹·Ò¹áÅеÑÇà¡çº»ÃШØ
                                                                 Ñ
                         _LVP_ON,_LVP_OFF : àÍç¹àÍàºÔÅáÅдÔÊàÍàºÔÅ¡ÒÃâ»Ãá¡ÃÁ´ŒÇÂáç´Ñ¹µèÒ
                                                                                        í
                         _WDT_ON ,_WDT_OFF : àÍç¹àÍàºÔÅáÅдÔÊàÍàºÔÅÇ͵ª´Í¡ä·àÁÍÏ
                                                                         ç
                         _CP_OFF,_CP_ALL : àÅ×Í¡ËÃ×ÍäÁ‹àÅ×Í¡»‡Í§¡Ñ¹¡ÒÃÍ‹Ò¹¢ŒÍÁÙÅ (Code Protect)
                    ¡ÒáíÒ˹´¤‹ÒàËÅ‹Ò¹Õ¢¹ÍÂÙ¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏᵋÅеÑÇ ÃÒÂÅÐàÍÕ´à¾ÔÁ
                                       é Öé ‹ Ñ                                      è
àµÔÁÊÒÁÒöÈÖ¡ÉÒä´Œ¨Ò¡´ÒµŒÒªÕµ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏàºÍϹ¹ æ
                                                       Ñé
à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                            é       l 37



                     ÊíÒËÃѺ¡ÒÃÊÌҧâ»Ãà¨ç¡µ¤ÃÑ駹ÕéãËŒ¡íÒ˹´¤‹Ò໚¹¤‹ÒµÑ駵Œ¹ â´Â¤ÅÔ¡·Õè»Ø†Á
          ÊíÒËÃѺ PIC16F887 ¤‹ÒµÑ§µŒ¹ ¤×Í
                                 é
                             l   ǧ¨ÃÊÑ­­Ò³¹Ò́¡Ò໚¹áºº HS_OSC
                             l   ´ÔÊàÍàºÔÅÇ͵ª´Í¡ä·àÁÍÏ (WDT_OFF)
                                                ç
                             l   ´ÔÊàÍàºÔÅ¡ÒÃâ»Ãá¡ÃÁẺ㪌áç´Ñ¹µèÒ (LVP_OFF)
                                                                  í
                     ÊíÒËÃѺ»ØÁ
                              †             ໚¹¡ÒáàÅÔ¡à¤Ã×ͧËÁÒ¶١˹ŒÒËÑÇ¢ŒÍ Config ·Ñ§ËÁ´
                                                             è                            é
                   àÁ×Í¡íÒ˹´¤‹ÒàÃÕºÌÍÂãËŒ¡´»ØÁ OK ໚¹ÍѹàÊÃç¨ÊÔ¹¡ÒÃÊÌҧä¿Åâ»Ãà¨ç¡µãËÁ‹
                      è                         †                  é
â»Ãá¡ÃÁ¨ÐÊÌҧä¿Å Project01.c ¢Ö¹ÁÒãËŒâ´ÂÍѵâ¹ÁѵÔ
                                 é
              (3) ËÅѧ¨Ò¡ÊÌҧä¿Åâ»Ãà¨ç¡µàÃÕºÌÍÂáÅŒÇ ¼ÙŒãªŒ§Ò¹ÂѧÊÒÁÒöᡌ䢢ŒÍÁÙÅ㹡ÒÃ
¡íÒ˹´¤‹Òµ‹Ò§æ ¢Í§ä¿Åâ»Ãà¨ç¡µä´Œ â´Âä»·Õàè Á¹Ù Project à Edit Project ËÃ×ͤÅÔ¡äͤ͹
·Õᶺà¤Ã×ͧÁ×ͧ͢â»Ãá¡ÃÁ mikroC
  è      è
                  ᵋ¶ŒÒµŒÍ§¡ÒÃà»ÅÕè¹àºÍϢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏËÃ×ͤÇÒÁ¶ÕèÊÑ­­Ò³
¹Ò́¡Ò ¼Ù¾²¹Òâ»Ãá¡ÃÁÊÒÁÒö¡íÒ˹´¤‹Òä´Œ¨Ò¡á·ç» Project Setup ·ÕÁÁÅ‹Ò§´ŒÒ¹«ŒÒ¢ͧ˹ŒÒµ‹Ò§
         Œ Ñ                                                  è Ø
ËÅÑ¡ä´Œ·Ñ¹·Õ




                 (4) ËÅѧ¨Ò¡á¡Œä¢à»ÅÕè¹á»Å§¢ŒÍÁÙÅã¹ä¿Åâ»Ãà¨ç¡µáÅŒÇ ¨ÐµŒÍ§ºÑ¹·Ö¡¡ÒÃá¡Œä¢
â´ÂàÅ×Í¡·Õàè Á¹Ù Project à Save Project ËÃ×ͤÅÔ¡·Õäͤ͹
                                                  è         ¡çä´Œ
38 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ   C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹
                                                                                  é


2.2 â¤Ã§ÊÌҧâ»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ
        ÃٻẺÀÒÉÒ C ¢Í§ mikroC ÁÕ¤ÇÒÁ¤ÅŒÒ¤ÅÖ§¡Ñºâ»Ãá¡ÃÁÀÒÉÒ C Áҵðҹ ´Ñ§¹Ñ¹¼Ù·Á¾¹
                                                                              é Œ Õè Õ ×é
°Ò¹ÀÒÉÒ C ÁÒºŒÒ§áÅŒÇ ÊÒÁÒö·íÒ¤ÇÒÁࢌÒã¨áÅÐà¢Õ¹â»Ãá¡ÃÁ¡Ñº mikroC ä´Œ·¹·Õ ʋǹ·ÕµÍ§à¾ÔÁ
                                                                      Ñ         èŒ è
àµÔÁ¤×Í ¡Ò÷íÒ¤ÇÒÁࢌÒ㨡Ѻ¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙÅ·Ò§ÎÒÏ´áÇÏÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
          ã¹ÃÙ»·Õè 2-1 ໚¹¡ÒÃáÊ´§Ê‹Ç¹»ÃСͺ¢Í§â»Ãá¡ÃÁÀÒÉÒ C ·Õ¾²¹Òº¹ mikroC »ÃСͺ
                                                               è Ñ
´ŒÇ µÑÇá»ÃáÅСÒûÃСÒȵÑÇá»Ã, ¿˜§¡ª¹â»Ãá¡ÃÁËÅÑ¡ (main program), ¿˜§¡ª¹â»Ãá¡ÃÁ,
                                           Ñè                             Ñè
ªØ´¤íÒÊѧ, ä¿Åàδà´ÍÏ (Header) áÅФíÒ͸ԺÒÂâ»Ãá¡ÃÁ (comment)
        è
       ᵋÍ‹ҧ¹ŒÍ·ÕèÊش㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨ÐµŒÍ§ÁÕâ»Ãá¡ÃÁËÅÑ¡ «Öè§ÁÕÅѡɳдѧ¹Õé
               void main ()
               {
                         ªØ´¤íÒÊѧ ;
                                 è
               }




                                                    ä¿Å Header
                                            ¤íÒ͸ԺÒÂâ»Ãá¡ÃÁ


                                 µÑÇá»Ã
                             â»Ãá¡ÃÁËÅÑ¡


                                                             ¤íÒ͸ԺÒÂâ»Ãá¡ÃÁ
                                                    ¤íÒÊѧ
                                                         è




ÃÙ»·Õè 2-1 áÊ´§Ê‹Ç¹»ÃСͺ¢Í§â»Ãá¡ÃÁÀÒÉÒ C ·Õ¾²¹Òº¹ mikroC
                                            è Ñ
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book
Thai Mikro C Book

Contenu connexe

Tendances

Hr 017 社會新鮮人生涯規劃
Hr 017 社會新鮮人生涯規劃Hr 017 社會新鮮人生涯規劃
Hr 017 社會新鮮人生涯規劃handbook
 
Adobe photoshop-in-tamil
Adobe photoshop-in-tamilAdobe photoshop-in-tamil
Adobe photoshop-in-tamilpriyamuruganvel
 
เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12
เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12
เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12ninewnilubon
 
โลกสาม หลวงปู่เทสก์ 2514
โลกสาม หลวงปู่เทสก์ 2514โลกสาม หลวงปู่เทสก์ 2514
โลกสาม หลวงปู่เทสก์ 2514duangdee tung
 
Learn tamil astrology
 Learn tamil astrology Learn tamil astrology
Learn tamil astrologyRaja Sekar
 
岑文初:淘宝开放平台架构设计与实践
岑文初:淘宝开放平台架构设计与实践岑文初:淘宝开放平台架构设计与实践
岑文初:淘宝开放平台架构设计与实践XMourinho
 
อริยวินัย พิมพ์ครั้งที่ ๑๐
อริยวินัย พิมพ์ครั้งที่ ๑๐อริยวินัย พิมพ์ครั้งที่ ๑๐
อริยวินัย พิมพ์ครั้งที่ ๑๐dhammer
 
Ponniyan selvan part01
Ponniyan selvan part01Ponniyan selvan part01
Ponniyan selvan part01pathina
 
Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)
Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)
Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)Jaesung Lee
 
ใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวัน
ใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวันใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวัน
ใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวันเจ้าหญิง เจ้าหญิง
 

Tendances (16)

Hr 017 社會新鮮人生涯規劃
Hr 017 社會新鮮人生涯規劃Hr 017 社會新鮮人生涯規劃
Hr 017 社會新鮮人生涯規劃
 
Ice creamppt
Ice creampptIce creamppt
Ice creamppt
 
Adobe photoshop-in-tamil
Adobe photoshop-in-tamilAdobe photoshop-in-tamil
Adobe photoshop-in-tamil
 
เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12
เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12
เด็กที่มีความบกพร่องทางพฤติกรรมและอารมณ์.Doc12
 
풀싸,내용
풀싸,내용풀싸,내용
풀싸,내용
 
โลกสาม หลวงปู่เทสก์ 2514
โลกสาม หลวงปู่เทสก์ 2514โลกสาม หลวงปู่เทสก์ 2514
โลกสาม หลวงปู่เทสก์ 2514
 
Parthiban kanavu 3
Parthiban kanavu 3Parthiban kanavu 3
Parthiban kanavu 3
 
Learn tamil astrology
 Learn tamil astrology Learn tamil astrology
Learn tamil astrology
 
岑文初:淘宝开放平台架构设计与实践
岑文初:淘宝开放平台架构设计与实践岑文初:淘宝开放平台架构设计与实践
岑文初:淘宝开放平台架构设计与实践
 
อริยวินัย พิมพ์ครั้งที่ ๑๐
อริยวินัย พิมพ์ครั้งที่ ๑๐อริยวินัย พิมพ์ครั้งที่ ๑๐
อริยวินัย พิมพ์ครั้งที่ ๑๐
 
Ponniyan selvan part01
Ponniyan selvan part01Ponniyan selvan part01
Ponniyan selvan part01
 
Prariwat feb23
Prariwat feb23Prariwat feb23
Prariwat feb23
 
Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)
Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)
Strategy analysis of logmein and teamviewer strategy(로그미인, 팀뷰어 분석)
 
ใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวัน
ใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวันใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวัน
ใบความรู้ เรื่องการประมวลผลข้อมูลในชีวิตประจำวัน
 
Kaddurai
KadduraiKaddurai
Kaddurai
 
XS Japan 2008 App Data Japanese
XS Japan 2008 App Data JapaneseXS Japan 2008 App Data Japanese
XS Japan 2008 App Data Japanese
 

En vedette

M.tech(power electroics)(2016 17)
M.tech(power electroics)(2016 17) M.tech(power electroics)(2016 17)
M.tech(power electroics)(2016 17) MSR PROJECTS
 
L6561 Power Factor Corrector
L6561 Power Factor CorrectorL6561 Power Factor Corrector
L6561 Power Factor CorrectorPremier Farnell
 
Thesis defense presentation
Thesis defense presentationThesis defense presentation
Thesis defense presentationPico De Lucchi
 
Reactive power compensation
Reactive power compensationReactive power compensation
Reactive power compensationcijogeorgep
 
Automatic Power Factor Correction using Microcontroller 8051
Automatic Power Factor Correction using Microcontroller 8051Automatic Power Factor Correction using Microcontroller 8051
Automatic Power Factor Correction using Microcontroller 8051Neehar NLN
 
Automatic power factor controller by microcontroller
Automatic power factor controller by microcontrollerAutomatic power factor controller by microcontroller
Automatic power factor controller by microcontrollerSanket Shitole
 
automatic power factor controller
automatic power factor controllerautomatic power factor controller
automatic power factor controllersingh1515
 
Automatic power factor correction unit
Automatic power factor correction unitAutomatic power factor correction unit
Automatic power factor correction unitBiswajit Pratihari
 
Micro-controller based Automatic Power Factor Correction System Report
Micro-controller based Automatic Power Factor Correction System ReportMicro-controller based Automatic Power Factor Correction System Report
Micro-controller based Automatic Power Factor Correction System ReportTheory to Practical
 

En vedette (11)

M.tech(power electroics)(2016 17)
M.tech(power electroics)(2016 17) M.tech(power electroics)(2016 17)
M.tech(power electroics)(2016 17)
 
L6561 Power Factor Corrector
L6561 Power Factor CorrectorL6561 Power Factor Corrector
L6561 Power Factor Corrector
 
Thesis defense presentation
Thesis defense presentationThesis defense presentation
Thesis defense presentation
 
Reactive power compensation
Reactive power compensationReactive power compensation
Reactive power compensation
 
Automatic Power Factor Correction using Microcontroller 8051
Automatic Power Factor Correction using Microcontroller 8051Automatic Power Factor Correction using Microcontroller 8051
Automatic Power Factor Correction using Microcontroller 8051
 
Automatic power factor controller by microcontroller
Automatic power factor controller by microcontrollerAutomatic power factor controller by microcontroller
Automatic power factor controller by microcontroller
 
automatic power factor controller
automatic power factor controllerautomatic power factor controller
automatic power factor controller
 
Automatic power factor correction unit
Automatic power factor correction unitAutomatic power factor correction unit
Automatic power factor correction unit
 
Micro-controller based Automatic Power Factor Correction System Report
Micro-controller based Automatic Power Factor Correction System ReportMicro-controller based Automatic Power Factor Correction System Report
Micro-controller based Automatic Power Factor Correction System Report
 
Power factor correction
Power factor correctionPower factor correction
Power factor correction
 
Power factor improvement
Power factor improvementPower factor improvement
Power factor improvement
 

Plus de Innovative Experiment Co.,Ltd.

Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmRobot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmInnovative Experiment Co.,Ltd.
 
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMRobot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMInnovative Experiment Co.,Ltd.
 

Plus de Innovative Experiment Co.,Ltd. (20)

Beginning with IROVER Robot (IPST WiFi + IKB+1)
Beginning with IROVER Robot (IPST WiFi + IKB+1)Beginning with IROVER Robot (IPST WiFi + IKB+1)
Beginning with IROVER Robot (IPST WiFi + IKB+1)
 
Robot Arena Maze Runner Senior @ TMC 2019
Robot Arena Maze Runner Senior @ TMC 2019 Robot Arena Maze Runner Senior @ TMC 2019
Robot Arena Maze Runner Senior @ TMC 2019
 
Robot Arena TMC 2019 Line Tracing Junior and Mentor
Robot Arena TMC 2019 Line Tracing Junior and MentorRobot Arena TMC 2019 Line Tracing Junior and Mentor
Robot Arena TMC 2019 Line Tracing Junior and Mentor
 
Robot Arena TPA Junior Competition 2019 Bit Racer
Robot Arena TPA Junior Competition 2019 Bit Racer Robot Arena TPA Junior Competition 2019 Bit Racer
Robot Arena TPA Junior Competition 2019 Bit Racer
 
Robot Arena Programable Line Master 2019 300x240cm
Robot Arena Programable Line Master 2019 300x240cmRobot Arena Programable Line Master 2019 300x240cm
Robot Arena Programable Line Master 2019 300x240cm
 
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmRobot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
 
Robot Arena-Beam Senior WRG Thailand2019 480x240cm
Robot Arena-Beam Senior WRG Thailand2019 480x240cmRobot Arena-Beam Senior WRG Thailand2019 480x240cm
Robot Arena-Beam Senior WRG Thailand2019 480x240cm
 
Robot Arena-Beam Master WRG Thailand 2019 360x240cm
Robot Arena-Beam Master WRG Thailand 2019 360x240cmRobot Arena-Beam Master WRG Thailand 2019 360x240cm
Robot Arena-Beam Master WRG Thailand 2019 360x240cm
 
Robot Arena - Beam Junior WRG Thailand 2019 360x240cm
Robot Arena - Beam Junior WRG Thailand 2019 360x240cmRobot Arena - Beam Junior WRG Thailand 2019 360x240cm
Robot Arena - Beam Junior WRG Thailand 2019 360x240cm
 
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMRobot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
 
Programmable Line Tracing Senior Arena
 Programmable Line Tracing Senior Arena Programmable Line Tracing Senior Arena
Programmable Line Tracing Senior Arena
 
Programmable Line Tracing Junior Arena
Programmable Line Tracing Junior ArenaProgrammable Line Tracing Junior Arena
Programmable Line Tracing Junior Arena
 
Battle Ball Z Robot with Robo Creator XT
Battle Ball Z Robot with Robo Creator XTBattle Ball Z Robot with Robo Creator XT
Battle Ball Z Robot with Robo Creator XT
 
POP-7 Robot with RQ-7 Platform (PDF)
POP-7 Robot with RQ-7 Platform  (PDF)POP-7 Robot with RQ-7 Platform  (PDF)
POP-7 Robot with RQ-7 Platform (PDF)
 
Pop x2 FireBOT present
Pop x2 FireBOT presentPop x2 FireBOT present
Pop x2 FireBOT present
 
POP-X2 Education Kit Presentation
POP-X2 Education Kit PresentationPOP-X2 Education Kit Presentation
POP-X2 Education Kit Presentation
 
I-Beam Robot From inex.co.th
I-Beam Robot From inex.co.thI-Beam Robot From inex.co.th
I-Beam Robot From inex.co.th
 
Wireless x channel programming
Wireless x channel programmingWireless x channel programming
Wireless x channel programming
 
How To Use Robo-Circle
How To Use Robo-Circle How To Use Robo-Circle
How To Use Robo-Circle
 
Interactive C Robot with AX-11 Board
Interactive C Robot with AX-11 BoardInteractive C Robot with AX-11 Board
Interactive C Robot with AX-11 Board
 

Thai Mikro C Book

  • 1. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 1 é à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC ¤ÍÁä¾àÅÍÏ áÅСÒ÷´Åͧàº×éͧµŒ¹ Getting started C programming for PIC microcontroller with mikro C compiler ¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ é (C) Innovative Experiment Co.,Ltd. INNOVATIVE EXPERIMENT
  • 2. 2 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é Getting started C programming for PIC microcontroller with mikro C compiler à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ISBN 978-974-05-3099-2 ¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ é ʧǹÅÔ¢ÊÔ·¸ÔµÒÁ ¾.Ã.º. ÅÔ¢ÊÔ·¸Ôì ¾.È. 2537 ì ËŒÒÁ¡ÒÃÅÍ¡àÅÕ¹äÁ‹ÇÒʋǹ˹֧ʋǹ㴢ͧ˹ѧÊ×ÍàÅ‹Á¹Õé ¹Í¡¨Ò¡¨Ð䴌ú͹حҵ ‹ è Ñ ã¤Ã¤ÇÃ㪌˹ѧÊ×ÍàÅ‹Á¹Õé 1. ¹Ñ¡àÃÕ¹ ¹Ôʵ ¹Ñ¡ÈÖ¡ÉÒ áÅкؤ¤Å·ÑÇä»·ÕÁ¤ÇÒÁʹã¨ã¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC Ô è è Õ ´ŒÇÂÀÒÉÒ C 2. ʶҺѹ¡ÒÃÈÖ¡ÉÒ âçàÃÕ¹ ÇÔ·ÂÒÅÑ ÁËÒÇÔ·ÂÒÅÑ ·ÕÁ¡ÒÃແ´¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒÍÔàÅç¡·Ã͹ԡʏËÃ×ÍÀÒ¤ÇÔªÒ è Õ ÇÔÈÇ¡ÃÃÁÍÔàÅç¡·Ã͹ԡʏáÅФÍÁ¾ÔÇàµÍÏ 3. ¤³Ò¨ÒÏ·Á¤ÇÒÁµŒÍ§¡ÒÃÈÖ¡ÉÒ áÅÐàµÃÕÂÁ¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ ã¹ÃдѺÍÒªÕÇÈÖ¡ÉÒáÅÐ Õè Õ »ÃÔ­­ÒµÃÕ ´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾áÅШíÒ˹‹ÒÂâ´Â ºÃÔÉ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ Ñ 3133/53 «.ÊØ¢ÁÇÔ· 101/2 ¶.ÊØ¢ÁÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 Ø Ø â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005 ÃÒÂÅÐàÍÕ´·Õ»ÃÒ¡¯ã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õä´Œ¼Ò¹¡ÒõÃǨ·Ò¹Í‹ҧÅÐàÍÕ´áÅжŒÇ¹¶Õè à¾×ÍãËŒÁ¤ÇÒÁÊÁºÙóáÅж١ è é ‹ è Õ µŒÍ§ÁÒ¡·ÕÊ´ÀÒÂ㵌à§×͹ä¢áÅÐàÇÅÒ·Õ¾§Áա͹¡ÒèѴ¾ÔÁ¾à¼Âá¾Ã‹ ¤ÇÒÁàÊÕÂËÒÂÍѹÍÒ¨à¡Ô´¨Ò¡ ¡ÒùíÒ¢ŒÍÁÙÅ èØ è è Ö ‹ ã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õä»ãªŒ ·Ò§ºÃÔÉ· ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÁÔä´ŒÁÀÒÃÐ㹡ÒÃÃѺ¼Ô´ªÍºáµ‹»ÃСÒÃã´ é Ñ Õ ¤ÇÒÁ¼Ô´¾ÅÒ´¤ÅÒ´à¤Å×͹·ÕÍÒ¨ÁÕáÅÐ䴌ú¡ÒèѴ¾ÔÁ¾à¼Âá¾Ã‹Í͡仹ѹ ·Ò§ºÃÔÉ·Ï ¨Ð¾ÂÒÂÒÁªÕᨧáÅÐ è è Ñ é Ñ é á¡Œä¢ã¹¡ÒèѴ¾ÔÁ¾¤Ãѧµ‹Íä» é
  • 3. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 3 é ¤íÒ¹íÒ ¡ÒþѲ¹Òâ»Ãá¡ÃÁà¾×ͤǤºØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ´ÇÂÀÒÉÒÃдѺÊÙ§ ઋ¹ ÀÒÉÒàºÊÔ¡ ËÃ×Í C Êԧ˹֧ è Œ è è ·ÕÁ¤ÇÒÁÊíҤѭÍ‹ҧÂÔ§¤×Í «Í¿µáÇÏ·àÕè ÃÕÂ¡Ç‹Ò ¤ÍÁä¾àÅÍÏ (compiler) ËÃ×͵ÑÇá»Åâ»Ãá¡ÃÁ Áѹ¨Ð·íÒ˹ŒÒ·Õã¹ è Õ è è ¡ÒÃá»ÅÀÒÉÒÊÙ§¹Ñé¹ÁÒ໚¹ÀÒÉÒáÍÊà«ÁºÅÕ áŌǨҡ¹Ñ鹨ÐÁÕ«Í¿µáÇÏÍÕ¡µÑÇ˹Ö觷ÕàÃÕÂ¡Ç‹Ò áÍÊà«ÁàºÅÍÏ (assembler) ·íÒ˹ŒÒ·Õ㹡ÒÃá»ÅÀÒÉÒáÍÊà«ÁºÅÕ໚¹ÀÒÉÒà¤Ã×ͧËÃ×ÍáÁªÕ¹â¤Œ´ÍÕ¡µ‹Í˹֧ â´Â·ÑÇä»áÅŒÇ㹪ش è è è è ¢Í§¤ÍÁä¾àÅÍÏÁ¡¨Ð¼¹Ç¡àÍÒáÍÊà«ÁàºÅÍÏࢌÒäÇŒ´Ç¡ѹ à¾×ÍãËŒ¡ÒþѲ¹Òâ»Ãá¡ÃÁ໚¹ä»Í‹ҧÊдǡ áÅÐÅ´ Ñ Œ è ¢Ñ¹µÍ¹ã¹¡Ò÷íҧҹŧ é mikroC ¤ÍÁä¾àÅÍÏ໚¹Ë¹Ö§ã¹¤ÍÁä¾àÅÍϷ䴌ú¤ÇÒÁʹã¨ã¹áǴǧ¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C è Õè Ñ ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¡ÒÃ㪌§Ò¹·Õ§Ò áÅÐÁÕà¤Ã×ͧÁ×ÍʹѺʹع㹡Ò÷íÒ§Ò¹ÁÒ¡ÁÒ ÃÇÁ价ѧ è‹ è é µÑǪ‹ÇÂÍ‹ҧä¿ÅäźÃÒÃÕ (library) ·ÕÁÍÂÙà‹ »š¹¨íҹǹÁÒ¡ ÃͧÃѺ¡ÑºÍØ»¡Ã³µÍ¾‹Ç§ËÅÒ¡ËÅÒ áÅдŒÇÂʋǹ¢Í§ è Õ ‹ «Í¿µáÇϷ㪌㹡ÒþѲ¹Òâ»Ãá¡ÃÁ·Õàè ÃÕÂ¡Ç‹Ò mikro IDE ¹Ñ¹ÁÕ¤ÇÒÁÊÁºÙóáÅкÃèØà¤Ã×ͧÁ×Í·ÕªÇÂ㹡ÒÃà¢Õ¹ Õè é è è‹ â»Ãá¡ÃÁäÇŒ¾ÃŒÍÁ ¨Ñ´ä´ŒÇÒ໚¹à¤Ã×ͧÁ×;Ѳ¹Òâ»Ãá¡ÃÁ·ÕÊÒÁÒöàÃÔÁµŒ¹ä´Œ§ÒÂÁÒ¡µÑÇ˹֧ ‹ è è è ‹ è ÊíÒËÃѺã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õ¨Ð¹íÒàʹͶ֧ ¡ÒÃ㪌§Ò¹áÅÐÇÔ¸¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ´ŒÇ mikroC ¤ÍÁ é Õ ä¾àÅÍÏÊÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC â´Â์¹ä»·Õàè ºÍÏ PIC16F877 áÅÐ PIC16F887 ÁÕ¤Ò͸ԺÒ¡ÒÃ㪌§Ò¹ í í ¿˜§¡ª¹áÅÐäźÃÒÃÕ·ÊҤѭ ÃÇÁ¶Ö§¡Ò÷´Åͧ·Ò§ÎÒÏ´áÇÏ·ÊÒÁÒöáÊ´§ãËŒàË繶֧¼Å¡Ò÷íҧҹ䴌Í‹ҧªÑ´à¨¹ Ñè Õè í Õè áÅШѺµŒÍ§ä´Œ â´Âã¹áµ‹ÅСÒ÷´Åͧ¨ÐÁÕ¤Ò͸ԺÒ·ÄÉ®Õ Ç§¨Ã µÑÇÍ‹ҧâ»Ãá¡ÃÁ ¢Ñ¹µÍ¹¡Ò÷´Åͧ áÅмŠí é ·Õàè ¡Ô´¢Ö¹ à¾×ÍãËŒ¼àÙŒ ÃÕ¹ÊÒÁÒö·íÒ¤ÇÒÁࢌÒ㨠áÅеÃǨÊͺ¼Å¡Ò÷íÒ§Ò¹à»ÃÕºà·Õº䴌 é è mikroC ໚¹«Í¿µáÇÏ·Ò§¾Ò³ÔªÂ ¨ÐµŒÍ§ÁÕ¡ÒèѴ«×éÍÁÒÍ‹ҧ¶Ù¡µŒÍ§¨Ò¡à¨ŒÒ¢Í§ÅÔ¢ÊÔ·¸Ôì¹Ñ蹤×Í Mikroelektronika ÊÒÁÒöÊѧ«×Íä´Œ·èÕ www.mikroe.com Í‹ҧäáçµÒÁ·Ò§ Mikroelektronika ¡ç䴌ແ´âÍ¡ÒÊãËŒ è é ¼Ùʹã¨ÊÒÁÒö´ÒǹâËÅ´ mikroC Ãع 2K ä»·´Åͧ㪌§Ò¹ä´Œ¿ÃÕ â´ÂäÁ‹¨Ò¡Ñ´àÇÅÒ ÊÒÁÒö㪌§Ò¹à¤Ã×ͧÁ×;׹ Œ ‹ í è é °Ò¹ä´Œ¤Ãº 㪌¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ä´Œ·¡àºÍÏ·§ 12Fxxx, 16Fxxx áÅÐ 18Fxxxx Ëҡᵋ¨Ò¡Ñ´¢¹Ò´ Ñ Ø Ñé í ¢Í§ä¿ÅäÇŒ·Õè 2 ¡ÔâÅàÇÔô áÅÐàÁ×ÍÁÕ¡ÒèѴ«×ÍÃعÊÁºÙ󏡨ÐÊÒÁÒö㪌§Ò¹ä´ŒÍ‹ҧäÁ‹Á¢Í¨íÒ¡Ñ´  è é ‹ ç ÕŒ µÑÇÍ‹ҧ¡Ò÷´Åͧ·Õ¹ÒàʹÍã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õ·§ËÁ´ ÊÒÁÒö·íÒ§Ò¹ÀÒÂ㵌 mikroC Ãع 2K 䴌͋ҧ è í é Ñé ‹ ÊÁºÙó ¢Í¢Íº¤Ø³ Mikroelektronika ÊíÒËÃѺ¡ÒÃà¼Âá¾Ã‹ mikroC Ãع 2K à¾×ÍãËŒ¹¡·´Åͧ䴌ÁâÍ¡ÒÊàÃÔÁµŒ¹ ‹ è Ñ Õ è ¡ÒþѲ¹Òâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇÂÀÒÉÒ C ÊíÒËÃѺ¼Ù㪌§Ò¹·ÕµÍ§¡ÒÃ㪌ùÊÁºÙóÊÒÁÒöʹѺ Œ è Œ ‹Ø ʹع¼Ù¾²¹Òä´Œ´Ç¡ÒèѴ«×ͨҡ Mikroelektronika ·Õè www.mikroe.com Œ Ñ Œ é ¡ÒÃàÃÕ¹ÃÙäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏǹ¹Õé ÀÒÉÒ C ໚¹»˜¨¨ÑÂ˹֧·Õ¹¡¾Ñ²¹Òâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏÊÁÑ Œ Ñ è è Ñ ãËÁ‹µÍ§ãËŒ¤ÇÒÁʹ㨠à¾ÃÒй͡¨Ò¡¨Ðª‹ÇÂÅ´¤ÇÒÁ«Ñº«ŒÍ¹áÅÐÂاÂҡ㹡ÒþѲ¹Òâ»Ãá¡ÃÁáÅŒÇ Âѧª‹ÇÂãËŒ¡Òà Œ ‹ µ‹ÍÂÍ´áÅСÒûÃѺà»ÅÕ¹â»Ãá¡ÃÁã¹Í¹Ò¤µÊÒÁÒö·íÒä´Œ§Ò¢ֹ è ‹ é ¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ é
  • 4. 4 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ÊÒúѭ º··Õè 1 á¹Ð¹íÒ mikroC..............................................................................................................7 º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C àº×ͧµŒ¹ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ.....................35 é º··Õè 3 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×è͵Դµ‹Í¾Íϵ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC...................................................................................................................55 »¯Ôºµ¡Ò÷Õè 1 ¢Ñº LED ·Õ¾Íϵ C....................................................................61 Ñ Ô è »¯Ôºµ¡Ò÷Õè 2 ¡ÒÃ㪌§Ò¹¾Íϵ A áÅÐ E ໚¹àÍÒµ¾µ........................................65 Ñ Ô Ø »¯Ôºµ¡Ò÷Õè 3 ¡ÒÃ㪌§Ò¹¾Íϵ A áÅÐ B ໚¹àÍÒµ¾µ........................................67 Ñ Ô Ø »¯Ôºµ¡Ò÷Õè 4 ·´Êͺ͋ҹ¤‹Ò¨Ò¡ÊÇÔµª............................................................69 Ñ Ô º··Õè 4 ¡íÒà¹Ô´àÊÕ§´ŒÇ¿˜§¡ª¹ Sound.................................................................................73 Ñè »¯Ôºµ¡Ò÷Õè 5 ¢ÑºàÊÕ§´ŒÇ¿˜§¡ª¹ Sound.........................................................75 Ñ Ô Ñè º··Õè 5 ÍÔ¹àµÍÏûµã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¡Ñº mikroC ¤ÍÁä¾àÅÍÏ................77 Ñ »¯Ôºµ¡Ò÷Õè 6 ÍÔ¹àµÍÏûµ·¢Ò RB0/INT...........................................................85 Ñ Ô Ñ Õè º··Õè 6 ¡ÒõԴµ‹Í¡ÑºâÁ´ÙÅ LCD ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ...........................87 Ñè »¯Ôºµ¡Ò÷Õè 7 Ê‹§¢ŒÍÁÙÅáÊ´§¼Å·ÕâÁ´ÙÅ LCD â´Â㪌¿§¡ª¹ Lcd.........................95 Ñ Ô è ˜ Ñè »¯Ôºµ¡Ò÷Õè 8 Ê‹§¢ŒÍÁÙÅáÊ´§¼Å·ÕâÁ´ÙÅ LCD â´Â㪌¿§¡ª¹ Lcd8.....................104 Ñ Ô è ˜ Ñè »¯Ôºµ¡Ò÷Õè 9 Ê‹§¢ŒÍÁÙÅáÊ´§¼Å·ÕâÁ´ÙÅ LCD â´Â㪌¿§¡ª¹ Lcd_Custom.........112 Ñ Ô è ˜ Ñè º··Õè 7 ¿˜§¡ª¹µÔ´µ‹Í¡ÑºË¹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕ;ÃÍÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC.....115 Ñè Õ »¯Ôºµ¡Ò÷Õè 10 ·´Êͺ¡ÒÃà¢Õ¹áÅÐ͋ҹ˹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕ;ÃÍÁ................117 Ñ Ô Õ º··Õè 8 ¿˜§¡ª¹Í‹Ò¹¤‹Ò¨Ò¡âÁ´ÙÅá»Å§ÊÑ­­Ò³ÍйÒÅ͡໚¹´Ô¨ÔµÍÅ Ñè ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC...................................................................................119 - »¯Ôºµ¡Ò÷Õè 11 ¡ÒÃ㪌§Ò¹¿˜§¡ª¹ Adc_Read ¡Ñº PIC16F877..........................125 Ñ Ô Ñè »¯Ôºµ¡Ò÷Õè 12 Í‹Ò¹¤‹Ò¨Ò¡âÁ´ÙÅ ADC ẺµÔ´µ‹Íâ´ÂµÃ§.................................131 Ñ Ô »¯Ôºµ¡Ò÷Õè 13 Í‹Ò¹¤‹Ò¨Ò¡âÁ´ÙÅ ADC áÊ´§¼Å·ÕâÁ´ÙÅ LCD............................133 Ñ Ô è
  • 5. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 5 é º··Õè 9 㪌§Ò¹¿˜§¡ª¹ PWM ¢Í§ mikroC............................................................................137 Ñè »¯Ôºµ¡Ò÷Õè 9 ¤Çº¤ØÁ¤ÇÒÁàÃçǢͧÁÍàµÍÏ´Ç¿˜§¡ª¹ PWM.............................140 Ñ Ô Œ èÑ º··Õè 10 ¡ÒõԴµ‹Í USART âÁ´ÙÅÊ×ÍÊÒâŒÍÁÙžÍϵ͹ءÃÁ¢Í§ è äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ....................143 Ñè »¯Ôºµ¡Ò÷Õè 15 ¡ÒÃÃѺʋ§¢ŒÍÁÙÅÃÐËÇ‹Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФÍÁ¾ÔÇàµÍÏ.......146 Ñ Ô »¯Ôºµ¡Ò÷Õè 16 Ê×ÍÊÒâŒÍÁÙÅ͹ءÃÁâ´Â㪌¡Ãкǹ¡Ò÷ҧ«Í¿µáÇÏ..................152 Ñ Ô è »¯Ôºµ¡Ò÷Õè 17 ¡ÒÃÊ‹§¢ŒÍÁÙÅÍЫԧâ¤Ã¹ÑÊ´ŒÇ¡ÒáíÒ˹´¤‹ÒÃÕ¨ÊàµÍÏâ´ÂµÃ§........164 Ñ Ô Ô »¯Ôºµ¡Ò÷Õè 18 ¡ÒÃÃѺ¢ŒÍÁÙÅÍЫԧâ¤Ã¹ÑÊ´ŒÇ¡ÒáíÒ˹´¤‹ÒÃÕ¨ÊàµÍÏâ´ÂµÃ§........166 Ñ Ô Ô »¯Ôºµ¡Ò÷Õè 19 ¡ÒÃÃѺ¢ŒÍÁÙÅÍЫԧâ¤Ã¹ÑÊâ´Â㪌͹àµÍÏûµ................................168 Ñ Ô Ô Ñ º··Õè 11 ¡ÒõԴµ‹ÍÍØ»¡Ã³ÃкººÑÊ I2C ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ..............171 Ñè »¯Ôºµ¡Ò÷Õè 20 µÔ´µ‹ÍºÍÏ´¢ÑºÃÕàŏ 16 ª‹Í§ ZX-RELAY16 ´ŒÇ¿˜§¡ª¹ I2C........177 Ñ Ô Ñè »¯Ôºµ¡Ò÷Õè 21 µÔ´µ‹Í¡ÑºâÁ´ÙÅà¢çÁ·ÔÈ´Ô¨µÍÅ CMPS03 ´ŒÇ¿˜§¡ª¹ I2C............183 Ñ Ô Ô Ñè »¯Ôºµ¡Ò÷Õè 22 µÔ´µ‹ÍºÍÏ´¢ÑºÃÕàŏ 16 ª‹Í§ ZX-RELAY16 Ñ Ô ´ŒÇ¿˜§¡ªÑè¹ Soft_I2C........................................................................192 º··Õè 12 ¡ÒõԴµ‹ÍÍØ»¡Ã³áºº SPI ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ.....................................................................197 èÑ »¯Ôºµ¡Ò÷Õè 23 µÔ´µ‹Í¡Ñº MCP4922 äÍ«Õá»Å§ÊÑ­­Ò³´Ô¨µÍÅ໚¹ÍйÒÅÍ¡....204 Ñ Ô Ô º··Õè 13 ¡ÒõԴµ‹ÍÍØ»¡Ã³ÃкººÑÊ˹֧ÊÒ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ......209 è Ñè »¯Ôºµ¡Ò÷Õè 24 Í‹Ò¹¤‹ÒÍسËÀÙÁ¨Ò¡äÍ«Õ DS18B20 ´ŒÇ¿˜§¡ª¹ onewire............217 Ñ Ô Ô Ñè ÀÒ¤¼¹Ç¡ : á¹Ð¹íÒà¤Ã×ͧÁ×Í㹡Ò÷´Åͧ·Ò§ÎÒÏ´áÇÏ.....................................................223 è
  • 6. 6 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é
  • 7. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 7 º··Õè 1 á¹Ð¹íÒ mikroC mikroC ໚¹ªØ´«Í¿µáÇϾѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¼Ù¾²¹Ò¤×Í mikroElektronika (mikroE : www.mikroe.com) mikroC ä´ŒºÃèØà¤Ã×ͧÁ×Íà¾×ÍÍíҹǠŒ Ñ è è ¤ÇÒÁÊдǡ㹡ÒþѲ¹Òâ»Ãá¡ÃÁäÇŒÁÒ¡ÁÒ µÑÇá»Åâ»Ãá¡ÃÁÀÒÉÒ C ËÃ×Í C compiler ÁÕûẺ Ù ¡Ò÷íÒ§Ò¹·Õàè ¢ŒÒ¡Ñ¹ä´Œ¡º ANSI C Áҵðҹ ÁÕäźÃÒÃÕÃͧÃѺ¡ÒõԴµ‹Í¡ÑºÍØ»¡Ã³ÀÒ¹͡¨íҹǹ Ñ ÁÒ¡ ¾ÃŒÍÁ·Ñ§µÑÇÍ‹ҧâ»Ãá¡ÃÁ·ÕªÇÂÅ´àÇÅÒ㹡ÒþѲ¹Òâ»Ãá¡ÃÁ é è ‹ ¼Ù¾²¹Òâ»Ãá¡ÃÁÊÒÁÒöµÃǨÊͺ·ÃѾÂҡâͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ䴌µÅÍ´àÇÅÒ «Ö§à»š¹ Œ Ñ è »ÃÐ⪹Áҡ㹡óշÕè㪌ÃØ‹¹ÊÒ¸Ôµ ·Ñ駹Õéà¾×èͪ‹Ç»‡Í§¡Ñ¹äÁ‹ãËŒà¢Õ¹â»Ãá¡ÃÁÂÒÇà¡Ô¹¡Ç‹Ò¢ŒÍ¨íÒ¡Ñ´ mikroC ÊÒÁÒöãËŒä¿Å¼ÅÅѾ¸ .hex ´ŒÇ¡ÒäÅÔ¡à¾Õ§»ØÁà´ÕÂÇ ·íÒãˌŴ¢Ñ¹µÍ¹ã¹¡Ò÷íҧҹŧ䴌Í‹ҧ † é ÁÒ¡ áÅÐä¿Å .hex ÊÒÁÒö¹íÒä»ãªŒ¡ºà¤Ã×ͧâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC Áҵðҹ䴌·¡Ãع Ñ è Ø ‹ ÊíÒËÃѺ㹡ÒÃ͸ԺÒ¶֧¡ÒÃ㪌§Ò¹áÅÐÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ¨Ð͌ҧ¶Ö§ mikroC ã¹Ãع 2K ÍѹÁբͨíÒ¡Ñ´´ŒÒ¹¢¹Ò´¢Í§ä¿ÅËÅѧ¨Ò¡¤ÍÁä¾ÅËÃ×Íá»Å§à»š¹ÃËÑÊà¤Ã×ͧ (ä¿Å¹ÒÁÊ¡ØÅ ‹ Œ è .hex) µŒÍ§äÁ‹à¡Ô¹ 2 ¡ÔâÅàÇÔô ᵋ¡ÁÒ¡à¾Õ§¾ÍÊíÒËÃѺ¡ÒþѲ¹Òâ»Ãá¡ÃÁÊíÒËÃѺ¡Ò÷´Åͧ㪌§Ò¹  ç äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC àº×ͧµŒ¹ ÃÇÁ·Ñ§â»Ãá¡ÃÁÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ëع¹µÍµâ¹ÁÑµÔ é é ‹ Ñ ¢¹Ò´àÅç¡ä´Œà»š¹Í‹ҧ´Õ ÊíÒËÃѺ¼ÙŒãªŒ§Ò¹·Õè·´Åͧ㪌 mikroC áÅŒÇÁÕ¤ÇÒÁʹ㨵ŒÍ§¡ÒÃÃØ‹¹ÊÁºÙóÊÒÁÒöµÔ´µ‹ÍÊÑè§ «×éÍä´Œ·ÕèàǺ䫵¢Í§¼ÙŒ¼ÅÔµ http://www.mikroe.com 1.1 ¡ÒõԴµÑ§ mikroC ¤ÍÁä¾àÅÍÏ Ãع 2K é ‹ ¡ÒÃä´ŒÁÒ«Ö§ä¿Åµ´µÑ§¢Í§ mikroC ã¹ÃعÊÒ¸Ôµ¹Õé ÁÕ 2 ·Ò§¤×Í è Ô é ‹ 1. ¨Ò¡á¼‹¹«Õ´ÃÍÁ·Õ¨´ÁÒ㹪ش·´ÅͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ËÃ×ͪش»ÃСͺ Õ èÑ Ëع¹µ Robo-PICA ¢Í§ inex ‹ 2. ´ÒǹâËÅ´àÇÍϪ¹ãËÁ‹ÅÒÊØ´·ÕÍÒ¨ÁÕ·Õè www.mikroe.com Ñè ‹ è ¨Ò¡¹Ñé¹·íÒ¡ÒõԴµÑé§àËÁ×͹¡Ñºâ»Ãá¡ÃÁ»ÃÐÂØ¡µ¢Í§ÇÔ¹â´Çʏ
  • 8. 8 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.2 mikroC IDE à¤Ã×ͧÁ×ÍÊíÒËÃѺ¾Ñ²¹Òâ»Ãá¡ÃÁ è IDE ÁÒ¨Ò¡ Integrated Development Environment ËÁÒ¶֧ «Í¿µáÇÏ·ÃǺÃÇÁà¤Ã×ͧÁ×Í Õè è áÅÐÊÀÒÇÐáÇ´ÅŒÍÁ㹡ÒþѲ¹Òâ»Ãá¡ÃÁàÍÒänj㹷Õàè ´ÕÂǡѹ â´ÂÀÒÂã¹ MikroC IDE »ÃÐ¡Íºä» ´ŒÇ à¤Ã×ͧÁ×Íà¤Ã×ͧ㪌·ÍҹǤÇÒÁÊдǡ´Ñ§¹Õé è è èÕ í 1. ⤌´àÍ´ÔàµÍÏ (Code editor) ໚¹â»Ãá¡ÃÁàÍ´ÔàµÍÏÊÒËÃѺà¢Õ¹áÅÐᡌ䢫ÍÃÊ í â»Ãá¡ÃÁÀÒÉÒ C â´Â⤌´àÍ´ÔàµÍϨзíÒ¡ÒÃá¡áÂЪش¤íÒÊѧ, µÑÇá»Ã, ¢ŒÍÁÙŵÑÇàÅ¢, ÍÑ¡¢ÃÐ áÅÐ è ¤íÒ͸ԺÒ ´ŒÇÂÊÕ (color syntax) ÃÇÁ·Ñ§ÃٻẺµÑÇÍÑ¡Éà ¼Ù㪌§Ò¹ÊÒÁÒöàÅ×Í¡»ÃѺà»ÅÕ¹ÃٻẺ é Œ è áÅÐÊÕÊѹ¢Í§¢ŒÍÁÙÅᵋÅЪ¹Ô´ä´Œàͧ »ØÁ¤ÍÁä¾Åâ»Ãá¡ÃÁ † ˹Œ Ò µ‹ Ò §´Ù ¤‹ Ò ÃÕ ¨Ô Ê àµÍÏ (Watch window) ⤌´àÍ´ÔàµÍÏ äÁâ¤Ã¤Í¹â·ÃÅàÅÍϷ㪌 Õè ª‹Í§¡íÒ˹´¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò è Ñ ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ ˹ŒÒµ‹Ò§¼ÅÅѾ¸ ÃÙ»·Õè 1-1 áÊ´§Ë¹ŒÒµ‹Ò§ËÅÑ¡¢Í§ mikroC IDE áÅÐʋǹ»ÃСͺ·ÕÊҤѭ èí
  • 9. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 9 2. äźÃÒÃÕÊÒàÃç¨ÃÙ» ã¹ mikroC ä´ŒàµÃÕÂÁäźÃÒÃբͧâ»Ãá¡ÃÁÀÒÉÒ C äÇŒ¨Ò¹Ç¹ í í ÁÒ¡ à¾×èͪ‹ÇÂãËŒ¡ÒþѲ¹Òâ»Ãá¡ÃÁÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ÊÒÁÒö·íÒ䴌͋ҧÃÇ´àÃçÇ äÁ‹Ç‹Ò¨Ð໚¹äźÃÒÃÕà¡ÕèÂǡѺ¡ÒõԴµ‹Í˹‹Ç¤ÇÒÁ¨íÒ ¡ÒÃáÊ´§¼Å¢ŒÍÁÙÅ ¡ÒÃÊ×èÍÊÒâŒÍÁÙÅ ¡ÒáÒà ¨Ñ´à¡çº¢ŒÍÁÙŵ‹Ò§æ áÅÐäºÃÒÃÕÊíÒËÃѺ¡ÒõԴµ‹ÍÍØ»¡Ã³ÀÒ¹͡ 3. à¤Ã×ͧÁ×ͪ‹ÇÂà¢Õ¹â»Ãá¡ÃÁ ·ÕªÇÂáÊ´§¼Åâ¤Ã§ÊÌҧ¢Í§â»Ãá¡ÃÁ µÑÇá»Ã áÅÐ è è‹ ¿˜§¡ª¹µ‹Ò§ æ ÀÒÂã¹â»Ãá¡ÃÁ Ñè 4. C ¤ÍÁä¾àÅÍÏ 㪌㹡ÒÃá»Åâ»Ãá¡ÃÁÀÒÉÒ C ໚¹ÀÒÉÒáÍÊà«ÁºÅÕ áÅм¹Ç¡ ¡Ñºâ»Ãá¡ÃÁáÍÊà«ÁàºÅÍÏà¾×Íá»Åâ»Ãá¡ÃÁ໚¹áÁªÕ¹â¤Œ´¨Ñ´à¡çºã¹ÃٻẺä¿Å Hex Áҵðҹ è ÊÒÁÒö㪌¡ºà¤Ã×ͧâ»Ãá¡ÃÁ PIC Áҵðҹ䴌·§ËÁ´ Ñ è Ñé 5. «ÔÁàÙ ÅàµÍÏ ໚¹à¤Ã×ͧÁ×ÍʹѺʹع¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ 㪌´¼Å¡Òà è Ù ·íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·ÕÅÐÊàµç» áÅÐÂѧ㪌ªÇ¨ѺàÇÅÒ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·ÕÅЪ‹Ç§ ÃÇÁ¶Ö§´Ù¡Òà ‹ à»ÅÕ¹á»Å§¢Í§ÃÕ¨ÊàµÍϵҧ æ 䴌͋ҧ§‹Ò´Ò è Ô ‹ 6. àÍ¡ÊÒáÒÃ㪌§Ò¹¤Ø³ÀÒ¾ÊÙ§ ¹Í¡¨Ò¡¡ÒÃ㪌§Ò¹â»Ãá¡ÃÁ·Õ觋ÒÂáÅŒÇ mikroC Âѧ ʹѺʹع¢ŒÍÁÙÅàÍ¡ÊÒáÒÃ㪌§Ò¹â»Ãá¡ÃÁ äźÃÒÃÕµ‹Ò§æ áÅеÑÇÍ‹ҧâ»Ãá¡ÃÁänj͋ҧÁÒ¡ÁÒ ª‹ÇÂãËŒ¼àÙŒ ÃÔÁµŒ¹ÊÒÁÒöàÃÕ¹ÃÙ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ¨Ò¡µÑÇÍ‹ҧ䴌§Ò¢ֹ è Œ ‹ é 1.2.1 ÃÒÂÅÐàÍÕ´¢Í§â¤Œ´àÍ´ÔàµÍÏ (Code Editor) ⤌´àÍ´ÔàµÍϢͧ mikroC ໚¹àÍ´ÔàµÍÏ·ÁҾÌÍÁà¤Ã×ͧÁ×ͪ‹ÇÂ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ ·íÒãËŒ Õè è ¡ÒÃà¢Õ¹·íÒä´Œ§Ò¢ֹ´ŒÇ¤سÊÁºÑµµÒ§ æ ´Ñ§¹Õé ‹ é Ô‹ l »ÃѺᵋ§ÃٻẺÊբͧµÑÇÍÑ¡Éõ‹Ò§ æ ä´Œ l àÅ×Í¡áÊ´§ªØ´¤íÒÊѧÍÍ¡ÁÒ â´Â¡´»ØÁ CTRL + Space bar è † l ´ÙÃÒÂÅÐàÍÕ´¤‹Ò¾ÒÃÒÁÔàµÍϢͧªØ´¤íÒÊѧµ‹Ò§æ ä´Œ è l ÃͧÃѺ¡ÒÃ㪌§Ò¹à·Áà¾Åµ (template) ËÃ×Í¡ÒÃÊÌҧÃٻẺ⤌´Íѵâ¹Áѵ䴌 Ô l µÃǨÊͺáÅÐá¡Œä¢â¤Œ´·Õàè ¢Õ¹¼Ô´ä´Œâ´ÂÍѵâ¹ÁÑµÔ l ¡íÒ˹´µíÒá˹‹§·ÕµÍ§¡ÒáÃÐâ´´ä»ÂѧºÃ÷Ѵ·ÕµÍ§¡ÒÃä´Œ èŒ èŒ l ÊÒÁÒö»ÃѺᵋ§¡ÒÃ㪌§Ò¹ä´Œ´Ç¡ÒÃàÅ×Í¡·Õàè Á¹Ù Tools à Option ËÃ×ͤÅÔ¡»ØÁ Œ † ·Õè˹ŒÒµ‹Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ¡çä´Œ
  • 10. 10 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ¡ÒÃáÊ´§ªØ´¤íÒÊѧ : Code Assistant [CTRL+SPACE] è à¾×ÍÊдǡ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁËÃ×Í㹺ҧ¤Ãѧ¨íҪش¤íÒÊѧäÁ‹ä´Œ ãËŒ¡´¤ÕÂËÅÑ¡¢Í§ª×ͤíÒÊѧ è é è  è è áŌǡ´»ØÁ CTRL+ SPACE (ËÁÒ¶֧¡´»ØÁ Ctrl ¤ŒÒ§äÇŒáŌǵÒÁ´ŒÇ¡Òá´»ØÁ Space bar) ¤íÒÊѧ·ÕÁÕ † † † è è ¤ÕµÇÍÑ¡É÷Õàè Å×Í¡äÇŒÍÂٴҹ˹ŒÒ¨Ð»ÃÒ¡¯ÍÍ¡ÁҷѧËÁ´ à¾Õ§àÅ×͹à¤ÍÏà«ÍÏä»Âѧ¤íÒÊѧ·ÕµÍ§¡Òà Ñ ‹Œ é è è èŒ áŌǡ´ Enter ¤íÒÊѧ¹Ñ¹¨Ð¶Ù¡àÃÕ¡¢Ö¹ÁÒ㪌§Ò¹ è é é ¨Ò¡µÑÇÍ‹ҧ໚¹¡ÒÃàÅ×Í¡¾ÔÁ¾¤ÒÊѧ Lcd áŌǡ´¤Õ CTRL áÅÐ SPACE ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§ í è ¢Í§¤íÒÊѧ·Õ¢¹µŒ¹´ŒÇ¤íÒÇ‹Ò Lcd ¢Ö¹ÁÒãËŒàÅ×Í¡ è è éÖ é ¡Òê‹ÇÂáÊ´§¾ÒÃÒÁÔàµÍÏ : Parameter Assistant [CTRL+SHIFT+SPACE] ÊíÒËÃѺ¤íÒÊÑè§ËÃ×Í¿˜§¡ªÑè¹ã¹ä¿ÅäźÃÒÃÕÁҵðҹ¢Í§ mikroC àÁ×èÍ¡íÒ˹´ª×èÍ¿˜§¡ªÑè¹ËÃ×Í ¤íÒÊѧáŌǵÒÁ´ŒÇÂà¤Ã×ͧËÁÒÂǧàÅçºà»´ ( ËÃ×Í¡´¤Õ CTRL+SHIFT+SPACE (¡´¤Õ Ctrl µÒÁ´ŒÇ è è Shift áÅÐ Space bar) ¤‹Ò¾ÒÃÒÁÔàµÍϢͧªØ´¤íÒÊѧ¹Ñ¹æ ¨Ð¶Ù¡áÊ´§¢Ö¹ÁÒâ´ÂÍѵâ¹Áѵãˌ㪌§Ò¹ä´Œ è é é Ô ·Ñ¹·Õ ¨Ò¡µÑÇÍ‹ҧ໚¹¡ÒÃàÅ×Í¡¾ÔÁ¾¤íÒÊÑè§ Lcd_Out_CP( áŌǡ´¤Õ CTRL+SHIFT+SPACE ¨Ð»ÃÒ¡¯¾ÒÃÒÁÔàµÍÏ unsigned char * text ¢Ö¹Áҷѹ·Õ à¾×ͪ‹ÇÂãËŒ¼àÙŒ ¢Õ¹â»Ãá¡ÃÁ·ÃÒºÃÙ» é è Ẻ¡ÒáíÒ˹´¤‹Ò¾ÒÃÒÁÔàµÍϢͧ¤íÒÊÑ觹ÕéÍ‹ҧ¶Ù¡µŒÍ§
  • 11. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 11 µÃǨÊͺáÅÐᡌ䢤íÒ¼Ô´Íѵâ¹ÁÑµÔ : Auto Correct ໚¹¤Ø³ÊÁºÑµ¡ÒõÃǨÊͺ¤íÒ¼Ô´â´ÂÍѵâ¹ÁÑµÔ ÁÕ¡Ò÷íÒ§Ò¹¤ÅŒÒ¡Ѻ Microsoft Word áÅÐ Ô Âѧª‹ÇÂᡌ䢡ÒþÔÁ¾¤ÒÊѧ·ÕäÁ‹¶¡µŒÍ§¢Í§¼Ù㪌§Ò¹ â´Â¤íÒÊѧ·ÕÁ¡¾ÔÁ¾¼´º‹ÍÂæ ¹Ñ¹ ¼Ù㪌ÊÒÁÒöà¾ÔÁ í è è Ù Œ è è Ñ Ô é Œ è àµÔÁ¤íÒÊѧ䴌 â´Â¡ÒÃàÅ×Í¡àÁ¹Ù Tools à Options ¨Ò¡¹Ñ¹àÅ×Í¡ä»·ÕËÇ¢ŒÍ Auto Correct è é è Ñ ¡ÒáíÒ˹´µíÒá˹‹§ Bookmark 㹡óշÕèâ»Ãá¡ÃÁÁÕ¤ÇÒÁÂÒÇÁÒ¡æ à¾×èÍãËŒ¡ÒáÃÐâ´´ä»ÂѧµíÒá˹‹§µ‹Ò§æ ¢Í§â»Ãá¡ÃÁ 䴌͋ҧÃÇ´àÃçÇ ¼ÙŒãªŒ§Ò¹ÊÒÁÒö¡íÒ˹´µíÒá˹‹§ºÃ÷Ѵ·Õ赌ͧ¡ÒÃänj㹠Bookmark «Öè§ÊÒÁÒö ¡ÃÐâ´´ä»ÂѧµíÒá˹‹§¹Ñ¹æ 䴌͋ҧÃÇ´àÃçÇ é ¡íÒ˹´µíÒá˹‹§ Bookmark ·íÒä´Œâ´Â ¡´»ØÁ CTRL µÒÁ´ŒÇ SHIFT áÅФÕµÇàÅ¢ ¨Ò¡¹Ñ¹ † Ñ é â»Ãá¡ÃÁ¨ÐáÊ´§µíÒá˹‹§ bookmark ·ÕµÍ§¡ÒÃ èŒ ¡´ Ctrl+Shift+1 ¡´ Ctrl+Shift+2 ¡´ Ctrl+Shift+3 ¡ÒÃࢌҶ֧µíÒá˹‹§ Bookmark ·íÒä´Œâ´Â¡Òá´»ØÁ CTRL+µÑÇàÅ¢áÊ´§µíÒá˹‹§ Bookmark †
  • 12. 12 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ¡ÒáÃÐâ´´ä»ÂѧµíÒá˹‹§ºÃ÷Ѵ·ÕµÍ§¡Òà : GotoLine è Œ ¹Í¡¨Ò¡¡ÒÃ㪌 bookmark áÅŒÇ ¼Ù㪌§Ò¹ÂѧÊÒÁÒö¡ÃÐâ´´ä»ÂѧºÃ÷Ѵµ‹Ò§æ ¢Í§â»Ãá¡ÃÁ Œ ä´Œâ´ÂµÃ§ ¼‹Ò¹¡ÒᴤՏ CTRL+G ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§ GotoLine ¢Ö¹ÁÒãËŒ»Í¹àÅ¢ºÃ÷Ѵ·ÕµÍ§¡ÒÃ é ‡ èŒ ¡ÃÐâ´´ áŌǤÅÔ¡»ØÁ OK † Code Explorer ¤×Íʋǹ¢Í§Ë¹ŒÒµ‹Ò§·ÕèÇÒ§ÍÂÙ‹·Ò§´ŒÒ¹«ŒÒÂÁ×ͧ͢â»Ãá¡ÃÁ㪌áÊ´§¿˜§¡ªÑè¹áÅеÑÇá»Ã·Õè㪌 §Ò¹ÍÂÙ‹ã¹â»Ãá¡ÃÁ¢³Ð¹Ñé¹
  • 13. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 13 ˹ŒÒµ‹Ò§¢Í§¢ŒÍÁÙŪ‹ÇÂàËÅ×Íà˧´‹Ç¹ : Quick Help (QHelp) ã¹á·ç»µ‹Í¨Ò¡ Code Explorer ໚¹Ë¹ŒÒµ‹Ò§¢ŒÍÁÙŪ‹ÇÂàËÅ×Í à¾×ÍãËŒ·ÃÒº¶Ö§¡ÒÃ㪌§Ò¹¿˜§¡ª¹ è Ñè ·ÕºÃèØÍÂÙã¹â»Ãá¡ÃÁ ઋ¹ ¡ÒÃàÃÕ¡㪌§Ò¹¿˜§¡ª¹µÔ´µ‹Í˹‹Ç¤ÇÒÁ¨íÒ Compact Flash ໚¹µŒ¹ è ‹ Ñè ÃÒ¡ÒäÕÂÅ´ : Keyboard Shotcut Ñ ÍÂÙã¹µíÒá˹‹§á·ç»¢ÇÒÊØ´¢Í§Ë¹ŒÒµ‹Ò§ Code Explorer àÁ×ÍàÅ×͡ࢌÒÁÒ ¨ÐÁÕÃÒ¡Òâͧ¤ÕÂÅ´ ‹ è Ñ µ‹Ò§ æ ·Õ㪌ã¹â»Ãá¡ÃÁ ª‹ÇÂãËŒÊÒÁÒö㪌§Ò¹¤íÒÊѧµ‹Ò§æ 䴌͋ҧÃÇ´àÃçÇÂÔ§¢Ö¹ è è è é
  • 14. 14 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ˹ŒÒµ‹Ò§á¨Œ§¼ÅÅѾ¸ : Message Window ໚¹Ë¹ŒÒµ‹Ò§ÊíÒËÃѺáÊ´§¼ÅÅѾ¸¨Ò¡¡ÒäÍÁä¾Å ¶ŒÒ¡ÒäÍÁä¾ÅÁ¢Í¼Ô´¾ÅÒ´ ˹ŒÒµ‹Ò§¹Õé ÕŒ ¨ÐáÊ´§¢ŒÍ¼Ô´¾ÅÒ´´ŒÇÂÍÑ¡ÉÃÊÕá´§ 㹡óÕäÁ‹¼´¾ÅÒ´ ˹ŒÒµ‹Ò§¹Õ¨ÐáÊ´§¢ŒÍ¤ÇÒÁÊÕÁǧ ¾ÃŒÍÁ·Ñ§ Ô é ‹ é ᨌ§¢¹Ò´Ë¹‹Ç¤ÇÒÁ¨íÒ·ÕãªŒä» ¡Ã³ÕÁ¢Í¼Ô´¾ÅÒ´â»Ãá¡ÃÁ¨ÐäÁ‹ÊÌҧä¿Å hex ¼Ù㪌§Ò¹ÊÒÁÒÃ¶à¢ŒÒ è ÕŒ Œ ¶Ö§ºÃ÷Ѵ·Õèà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´ä´Œâ´Â¡ÒôѺàºÔŤÅÔ¡·ÕèºÃ÷Ѵ·ÕèáÊ´§¢ŒÍ¼Ô´¾ÅÒ´ â»Ãá¡ÃÁ¨Ð ¡ÃÐâ´´ä»ÂѧµíÒá˹‹§·Õèà¡Ô´¢ŒÍ¼Ô´¾ÅÒ´·Ñ¹·Õ 1.2.2 à¤Ã×ͧÁ×;ÔàÈɪ‹ÇÂ㹡ÒþѲ¹Òâ»Ãá¡ÃÁ è 1.2.2.1 µÒÃÒ§ÃËÑÊáÍÊ¡Õé (ASCII Chart) ໚¹à¤Ã×èͧÁ×Í·Õ誋ÇÂ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ·Õèà¡ÕèÂÇ¢ŒÍ§¡ÑºµÑÇÍÑ¡Éà ËÃ×Í¡ÒèѴ¡ÒâŒÍÁÙÅẺ String â´ÂµÒÃÒ§áÍÊ¡Õ¹ªÇÂãËé¼àéÙ ¢Õ¹â»Ãá¡ÃÁ·ÃÒº¶Ö§ ¤èÒ¢éÍÁÙÅÃËÑÊáÍʡբͧµÑÇÍÑ¡ÉÃËÃ×͵ÑÇ- é éÕ è é àÅ¢ ·Õ¹ÂÁ㪌ÁÒ¡ ¤×Í ¡ÒÃà¢Õ¹¢ŒÍÁÙÅä»áÊ´§¼Å·ÕâÁ´ÙÅ LCD ໚¹µŒ¹ ¡ÒÃàÃÕ¡㪌§Ò¹µÒÃÒ§áÍÊ¡Õé è Ô è ¨ÐàÃÕ¡¨Ò¡àÁ¹Ù Tools à Ascii Chart
  • 15. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 15 1.2.2.2 á»Å⤌´â»Ãá¡ÃÁ໚¹ HTML (Export Code to HTML) ËÒ¡ÁÕ¤ÇÒÁµŒÍ§¡ÒáÒùíÒàʹͫÍÏÊâ»Ãáá¡ÃÁº¹ Blog ËÃ×ͺ¹àǻ䫵¹¹ ¶ŒÒ·íÒ¡ÒäѴ Ñé Å͡੾ÒÐ⤌´·Õè໚¹¢ŒÍ¤ÇÒÁä»Í‹ҧà´ÕÂǹÑé¹ ÍÒ¨ãËŒ¤ÇÒÁÊÁºÙóä´ŒäÁ‹à·‹Ò¡Ñº·ÕèáÊ´§ã¹Ë¹ŒÒµ‹Ò§ Code Editor ´Ñ§¹Ñ¹¶ŒÒµŒÍ§¡ÒÃãËŒàǻ䫵áÊ´§«ÍÏÊâ»Ãá¡ÃÁ·ÕÁûẺàËÁ×͹¡Ñºã¹â¤Œ´àÍ´ÔàµÍÏ é è ÕÙ ÊÒÁÒöàÃÕ¡㪌§Ò¹à¤Ã×ͧÁ×͵ÑǹÕä´Œâ´Âä»·Õàè Á¹Ù Tools à Export Code to HTML è é 1.2.2.3 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹¾Íϵ͹ءÃÁ : USART Terminal è à¤Ã×èͧÁ×Íà¾×èͪ‹ÇÂÃѺáÅÐÊ‹§¢ŒÍÁÙÅ͹ءÃÁÃÐËÇ‹Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФÍÁ¾ÔÇàµÍÏ ¡ÒÃàÃÕ¡㪌§Ò¹·íÒä´Œâ´Âä»·Õàè Á¹Ù Tools à USART Terminal ËÃ×Í¡´»ØÁ Ctrl+T ¡çä´Œ †
  • 16. 16 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.2.2.4 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹¾Íϵ USB ã¹âËÁ´ HID : HID Terminal è ໚¹à¤Ã×ͧÁ×Íà¾×ͪ‹ÇÂ㹡ÒõԴµ‹ÍÃÐËÇ‹Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ¡º¤ÍÁ¾ÔÇàµÍÏ ¼‹Ò¹¾Íϵ è è Ñ USB «Ö§ã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ºÒ§àºÍϨÐÁÕâÁ´ÙÅ USB µÔ´µÑ§ÍÂÙ‹ ઋ¹ PIC18F4550 ໚¹µŒ¹ è é ¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§ä»·Õàè Á¹Ù Tools à HID Teminal 1.2.2.5 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹Ãкºà¹çµàÇÔá : UDP Terminal è  ໚¹à¤Ã×ͧÁ×ÍÃѺʋ§á¾ç¡à¡çµ¢ŒÍÁÙÅã¹Ãкºà¹çµàÇÔá â´Âä»·Õàè Á¹Ù Tools à UDP Terminal è 
  • 17. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 17 1.2.2.6 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙšѺ¡Òϴ˹‹Ç¤ÇÒÁ¨íÒ : MMC Card Terminal è ໚¹à¤Ã×ͧÁ×ÍÊíÒËÃѺ¡ÒÃÍ‹Ò¹áÅÐà¢Õ¹¡Òϴ˹‹Ç¤ÇÒÁ¨íÒª¹Ô´ MMC ¼‹Ò¹¡ÒÃÊ×ÍÊÒÃ͹ءÃÁ è è ¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§ä»·Õàè Á¹Ù Tools à MMC Card Terminal 1.2.2.7 â»Ãá¡ÃÁ¡íÒ˹´¨Ø´ÀÒ¾ÊíÒËÃѺâÁ´ÙÅ¡ÃÒ¿¡ LCD : GLCD Bitmap Editor ໚¹à¤Ã×ͧÁ×ͪ‹Ç¡íÒ˹´¢ŒÍÁÙÅ¡ÒÃÊÌҧÀÒ¾ãËŒ¡º¡ÃÒ¿¡ LCD ä»à»š¹â¤Œ´ÀÒÉÒ C ÊÒÁÒö è Ñ ãªŒ§Ò¹¡Ñº¡ÃÒ¿¡ LCD ËÅÒÂàºÍÏ ÍÒ·Ô KS0108, T6963 ËÃ×Í¡ÃÒ¿¡ LCD ¢Í§â·ÃÈѾ· Nokia3110 ¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§à¢ŒÒä»·Õàè Á¹Ù Tools à GLCD Bitmap Editor 1.2.2.8 â»Ãá¡ÃÁ¡íÒ˹´¢ŒÍÁÙÅÊíÒËÃѺ LED µÑÇàÅ¢ 7 ʋǹ : Seven Segment Decoder ໚¹à¤Ã×ͧÁ×ͪ‹Ç¡íÒ˹´¢ŒÍÁÙÅ 1 亵ÊÒËÃѺ¡ÒÃáÊ´§¼Å¢Í§ LED µÑÇàÅ¢ 7 ʋǹ ¡ÒÃàÃÕ¡ è í 㪌§Ò¹¨ÐµŒÍ§à¢ŒÒ·Õàè Á¹Ù Tools à Seven Segment Decoder
  • 18. 18 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.2.2.9 â»Ãá¡ÃÁÊÌҧµÑÇÍÑ¡ÉÃ੾ÒÐÊíÒËÃѺâÁ´ÙÅ LCD : LCD Custom Charactor ໚¹à¤Ã×ͧÁ×ͪ‹ÇÂÊÌҧµÑÇÍÑ¡ÉþÔàÈÉãËŒ¡ºâÁ´ÙÅ LCD ẺµÑÇÍÑ¡Éà â´ÂàÁ×ÍÊÌҧµÑÇÍÑ¡Éà è Ñ è àÊÃç¨àÃÕºÌÍÂáŌǡ´»ØÁ Generate â»Ãá¡ÃÁ¨ÐÊÌҧ⤌´ãËŒâ´ÂÍѵâ¹ÁÑµÔ ¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§à¢ŒÒ † ·Õàè Á¹Ù Tools à LCD Custom Charactor 1.2.2.10 ˹ŒÒµ‹Ò§Ë¹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕ;ÃÍÁ : EEPROM Editor Õ ãªŒáÊ´§¤‹ÒáÅÐᡌ䢢ŒÍÁÙÅã¹Ë¹‹Ç¤ÇÒÁ¨íÒ¢ŒÍÁÙÅÍÕÍÕ¾ÃÍÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC
  • 19. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 19 1.3 àÃÔÁµŒ¹ãªŒ§Ò¹ mikroC è 1.3.1 㪌§Ò¹¨Ò¡µÑÇÍ‹ҧ mikroC àµÃÕÂÁµÑÇÍ‹ҧ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¾×¹°Ò¹ÁÒãËŒ¼ãªŒ§Ò¹·´ÅͧËÅÒÂâ»Ãá¡ÃÁ â´Â é ÙŒ ËÅѧ¨Ò¡µÔ´µÑé§â»Ãá¡ÃÁ mikroC áÅŒÇ µÑÇÍ‹ҧâ»Ãá¡ÃÁµ‹Ò§æ ¨Ðà¡çºÍÂÙ‹ã¹â¿Åà´ÍÏ C:Program FilesMikroelektronikamikroCExamplesEasyPic4 ÊíÒËÃѺä¿Åâ»Ãà¨ç¡µáá·Õè¨Ðແ´¢Öé¹à»š¹µÑÇÍ‹ҧ¹Õé㪌äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC16F877A «Ö§¡ç¤Í ä¿Å¢Í§â»Ãá¡ÃÁ信оÃÔº (LED Blinking) è × ¢Ñ鹵͹¡ÒÃແ´µÑÇÍ‹ҧâ»Ãà¨ç¡µ¢Öé¹ÁÒ㪌§Ò¹ ÁÕ¢Ñ鹵͹´Ñ§¹Õé (1) ແ´â»Ãá¡ÃÁ mikroC áÅŒÇä»·Õàè Á¹Ù Project à Open Project (2) ·Õè˹ŒÒµ‹Ò§ Open àÅ×Í¡â¿Åà´ÍÃì C:Program FilesMikroelektronikamikroC ExamplesEasyPic4P16F877ALED_Blinking àÃÕ¡ແ´ä¿Å LED_Blinking.ppc
  • 20. 20 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é (3) ·Õ˹ŒÒµ‹Ò§ Project Setup (ºÃÔàdz´ŒÒ¹«ŒÒ¢ͧ¨ÍÀÒ¾) ¨ÐáÊ´§àºÍϢͧäÁâ¤Ã è ¤Í¹â·ÃÅàÅÍÏ PIC ·Õàè Å×͡㪌 ¾ÃŒÍÁ·Ñ§¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò ÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ͹·ÕµÍ§¡ÒÃä´Œ é è Ñ è ×è è Œ ¨Ò¡Ãٻ໚¹¡ÒÃàÅ×Í¡à»ÅÕ¹໚¹àºÍÏ PIC16F887 áÅФÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò (Clock) ෋ҡѺ 20MHz è è Ñ (4) ·Õ˹ŒÒµ‹Ò§á¡Œä¢â»Ãá¡ÃÁËÃ×Í Code Editor ¨ÐáÊ´§ÃÒÂÅÐàÍÕ´¢Í§«ÍÏÊâ»Ãá¡ÃÁ è LED_Blinking.c ´Ñ§áÊ´§ã¹â»Ãá¡ÃÁ·Õè 1-1 /* * Project name: LED_Blinking (Simple 'Hello World' project) * Copyright: (c) Mikroelektronika, 2005. * Description: This is a simple project. It turns on/off diodes connected to PORTC. It uses bitwise negation to toggle PORTB pins. * Test configuration: MCU: PIC16F877A Dev.Board: EasyPIC4 Oscillator: HS, 08.0000 MHz Ext. Modules: - SW: mikroC v7.0 * NOTES: None. */ void main() { PORTC = 0; TRISC = 0; while(1) { PORTC = ~PORTC; Delay_ms(1000); } } ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ àÃÔÁµŒ¹´ŒÇ¡ÒáíÒ˹´ãËŒ¾Íϵ C ໚¹àÍÒµ¾µ áÅŒÇ˹‹Ç§àÇÅÒ 500 äÁâ¤ÃÇÔ¹Ò·Õ ¨Ò¡¹Ñ¹ÊѧãËŒâ»Ãá¡ÃÁ è Ø é è ·íÒ§Ò¹ã¹ÅÙ» While(1) à¾×Í¡ÅѺʶҹÐÅͨԡ·Õàè ÍÒµ¾µ¢Í§¾Íϵ C áÅŒÇ˹‹Ç§àÇÅÒ 100 ä«à¡ÔÅ è Ø â»Ãá¡ÃÁ·Õè 1-1 µÑÇÍ‹ҧâ»Ãá¡ÃÁÀÒÉÒ C ¢Í§ä¿Å LED_Blinking.c ·Õ·Ò§Ò¹º¹ mikroC ¤ÍÁä¾àÅÍÏ è í
  • 21. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 21 (5) ·íÒ¡ÒäÍÁä¾Å«ÍÏÊ⤌´ÀÒÉÒ C ãˌ໚¹ÀÒÉÒà¤Ã×ͧ (.hex) â´Â¡´¤Õ CTRL+F9 è ËÃ×ͤÅÔ¡·Õäͤ͹ è ·ÕºÃÔàdzᶺ´ŒÒ¹º¹¢Í§â»Ãá¡ÃÁ ËÃ×Íä»·Õàè Á¹Ù Project áÅŒÇàÅ×Í¡¤íÒÊѧ è è Build ¡çä´Œ (6) ËÅѧ¨Ò¡¤ÍÁä¾Å ¼ÅÅѾ¸·ä´Œ¨ÐáÊ´§·Õ˹ŒÒµ‹Ò§ Messages ´ŒÒ¹Å‹Ò§¢Í§â»Ãá¡ÃÁ Õè è «Ö觶ŒÒäÁ‹ÁÕ¢ŒÍ¼Ô´¾ÅÒ´ã´æ ˹ŒÒµ‹Ò§ Messages ¨ÐáÊ´§¢ŒÍ¤ÇÒÁ Success ÊÕà¢ÕÂÇ áÅÐáÊ´§¨íҹǹ ˹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁáÅÐ˹‹Ç¤ÇÒÁ¨íÒ RAM ·Õ¶¡ãªŒ§Ò¹ èÙ 1.3.2 µÃǨÊͺ¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¼‹Ò¹ Debugger â»Ãá¡ÃÁ Debugger ¢Í§ mikroC ·íÒ§Ò¹àËÁ×͹¡Ñº¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ËÃ×Í«ÔÁàÙ ÅàµÍÏ à¾×Í è ´Ù¼Å¡ÒÃà»ÅÕ¹á¼Å§·ÕèÊàµÍϵҧ æ ÀÒÂã¹µÑÇäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ â´ÂäÁ‹¨Ò໚¹µŒÍ§´ÒǹâËÅ´ è èÕÔ ‹ í â»Ãá¡ÃÁä»ÃѹãËŒ·Ò§Ò¹¨ÃÔ§ ÁÕ¢¹µÍ¹¡ÒÃ㪌§Ò¹´Ñ§¹Õé í Ñé (1) ä»·Õè àÁ¹Ù RUN àÅ×Í¡¤íÒÊѧ Start Debugger ËÃ×ͤÅÔ¡»ØÁ è † ºÃÔàdzᶺà¤Ã×ͧÁ×Í è ´ŒÒ¹º¹¢Í§â»Ãá¡ÃÁ ËÃ×Í¡´¤Õ F9 à¾×ÍàÃÔÁµŒ¹à»´Ë¹ŒÒµ‹Ò§ Debugger è è ËÁÒÂà赯 ¡‹Í¹¡ÒÃ㪌 Debugger ËÃ×ͨíÒÅͧ¡Ò÷íÒ§Ò¹ µŒÍ§·íÒ¡ÒäÍÁä¾Åâ»Ãá¡ÃÁ¡‹Í¹àÊÁÍ
  • 22. 22 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é (2) â»Ãá¡ÃÁ¨Ðແ´Ë¹ŒÒµ‹Ò§ Watch ¢Ö¹ÁÒ à¾×Í´Ù¤ÒµÑÇá»Ãµ‹Ò§æ ¼‹Ò¹Ë¹ŒÒµ‹Ò§ Watch é è ‹ Window â´Â¨ÐµŒÍ§àÅ×Í¡ÃÕ¨ÊàµÍÏ·µÍ§¡ÒõÃǨÊͺ¤‹ÒàÊÕ¡‹Í¹ ÊíÒËÃѺâ»Ãá¡ÃÁ LED_Blinking Ô Õè Œ ÃÕ¨ÊàµÍϷ㪌§Ò¹¤×Í PORTC áÅÐ TRISC ºÃÔàdzᶺáÊ´§Ê¶Ò¹Ð¨Í§Ë¹ŒÒµ‹Ò§ Watch ¨ÐáÊ´§ Ô Õè µíÒá˹‹§¢Í§â»Ãá¡ÃÁà¤Ò¹àµÍÏ (¢³Ð«ÔÁàÙ ÅàµÍÏâ»Ãá¡ÃÁ) áÊ´§àÇÅÒ·Õ㪌àÁ×Í·íÒ¤íÒÊѧ (Stop watch) è è è áÅÐá¿Å¡áÊ´§Ê¶Ò¹Ð (ÃÕ¨ÊàµÍÏ Stutus) Ô à¾ÔÁµÑÇá»Ã è àÅ×Í¡µÑÇá»Ã µíÒá˹‹§â»Ãá¡ÃÁà¤Ò¹àµÍÏ á¿Å¡ã¹ÃÕ¨ÊàµÍÏ STATUS Ô áÊ´§àÇÅÒàÁ×Í·íÒ¤íÒÊѧ è è (3) 㹡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ÊÒÁÒö㪌»Ø†Áµ‹Ò§æ ·ÕèÍÂÙ‹ºÃÔàdz´ŒÒ¹º¹¢Í§Ë¹ŒÒµ‹Ò§ Watch 㹡ÒôټšÒ÷íҧҹ䴌 ËÃ×Í¡´»ØÁ¤ÕÂÅ´´Ñ§¹Õé † Ñ F4 ËÃ×Í Ãѹâ»Ãá¡ÃÁ·ÕèµíÒá˹‹§à¤ÍÏà«ÍÏ»ÃÒ¡¯ÍÂÙ‹ F5 ËÃ×Í ¡íÒ˹´/¡àÅÔ¡¨Ø´àºÃ¡ F6 ËÃ×Í Ãѹ/ËÂØ´ªÑèǤÃÒÇ¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ F7 ËÃ×Í Ãѹ໚¹Êàµç»â´ÂࢌÒä»ã¹â»Ãá¡ÃÁ‹Í F8 ËÃ×Í Ãѹ໚¹Êàµç» â´ÂäÁ‹à¢ŒÒä»ã¹â»Ãá¡ÃÁ‹Í Ctrl+F8 ËÃ×Í Ãѹ໚¹Êàµç»¨¹ÍÍ¡¨Ò¡â»Ãá¡ÃÁ‹Í F9 ËÃ×Í à»´¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ËÃ×Í«ÔÁÙàÅàµÍÏ Ctrl+F2 ËÃ×Í »´¡ÒèíÒÅͧ¡Ò÷íÒ§Ò¹ËÃ×Í«ÔÁÙàÅàµÍÏ Alt+D áÊ´§Ë¹ŒÒµ‹Ò§´ÔÊáÍÊà«ÁàºÅÍÏ
  • 23. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 23 (4) ¤ÅÔ¡·Õ»Á è ؆ ËÃ×Í¡´»ØÁ F8 à¾×ÍÃѹâ»Ãá¡ÃÁãËŒ·Ò§Ò¹áººÊàµç» ᵋäÁ‹à¢ŒÒä» † è í ´Ù¡Ò÷íÒ§Ò¹ã¹â»Ãá¡ÃÁ‹Í ¡´»ØÁ F8 ä»àÃ×ÍÂæ ¨¹¶Ö§¤íÒÊѧ PORTC = ~PORTC; Êѧࡵ¤‹Ò¢Í§ † è è PORTC Ç‹Ò ÁÕ¡ÒÃà»ÅÕ¹á»Å§ â´Â¶ŒÒ¤‹Òà´ÔÁ໚¹ 0x00 ¨Ðà»ÅÕ¹໚¹ 0xFF áÅжŒÒ¤‹Òà´ÔÁ໚¹ 0xFF è è ¨Ðà»ÅÕ¹໚¹ 0x00 è 1.3.3 ¡ÒõÃǨÇÑ´¤‹Òä«à¡ÔÅ¡Ò÷íÒ§Ò¹´ŒÇ Stopwatch àÅ×Í¡·Õàè Á¹Ù View à Debug WindowsView à Clock ¨Ð໚¹¡ÒÃແ´Ë¹ŒÒµ‹Ò§ Stopwatch à¾×Í è 㪌´¤ÒàÇÅÒ·Õ㪌㹡Ò÷íÒ¤íÒÊѧËÃ×Í¿˜§¡ª¹¨Ò¡¡ÒÃÃѹẺ·ÕÅÐÊàµç» ËÃ×ͨҡÃѹä»ËÂØ´·ÕµÒá˹‹§ Ù‹ è è Ñè èí Breakpoint (¡íÒ˹´µíÒá˹‹§ËÂØ´¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ ã¹âËÁ´«ÔÁÅàÅàµÍÏ) Ù â´Âã¹Ë¹ŒÒµ‹Ò§ Stopwatch áÊ´§¢ŒÍÁÙŴѧ¹Õé 1. Current Count áÊ´§¨íҹǹä«à¡ÔÅ¡Ò÷íÒ§Ò¹áÅÐàÇÅÒ·Õ㪌µ§áµ‹à»´Ë¹ŒÒµ‹Ò§ Debug è Ñé 2. Delta ໚¹¡ÒÃáÊ´§¨íҹǹä«à¡ÔŢͧ¤íÒÊѧËÃ×Í¿˜§¡ª¹·Õàè ¾Ô§ÃѹãËŒ·Ò§Ò¹ä»Å‹ÒÊØ´ è Ñè è í 3. Stopwatch ໚¹¡ÒÃáÊ´§¨íҹǹä«à¡ÔÅ¡Ò÷íÒ§Ò¹áÅÐàÇÅÒ·Õè㪌 ËÅѧ¨Ò¡¡´»Ø†Á Reset to Zero
  • 24. 24 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 4. Clock ໚¹Ë¹ŒÒµ‹Ò§ÊíÒËÃѺ¡íÒ˹´¤‹Ò¤ÇÒÁ·ÕÍÍÊ«ÔÅàÅàµÍϷ㪌 «Ö§äÁ‹¨Ò໚¹µŒÍ§à»š¹ è Õè è í ¤‹Òà´ÕÂǡѺ¤‹Ò·Õ¡Ò˹´ã¹ä¿Åâ»Ãà¨ç¡µ¡ä´Œ â´Â¡ÒÃà»ÅÕ¹á»Å§¤‹Ò¤ÇÒÁ¶ÕÍÍÊ«ÔÅàÅàµÍÏã¹Ë¹ŒÒµ‹Ò§ èí ç è è Stopwatch ¨ÐäÁ‹Á¼Å¡Ñº¡ÒÃà»ÅÕ¹á»Å§¤‹Ò¤ÇÒÁ¶ÕÍÍÊ«ÔÅàÅàµÍÏã¹ä¿Åâ»Ãà¨ç¡µ Õ è è 5. »ØÁ † 㪌à¾×ÍÃÕ૵¹Ò́¡Ò¨ÑºàÇÅÒãËŒ¡ÅѺä»àÃÔÁ¹Ñº·Õè 0 (ᵋ¨ÐäÁ‹ è è ÁռšѺ¤‹Ò Current Count ) 㪌ÊÒËÃѺ¡ÒèѺàÇÅÒ੾Òп˜§¡ª¹·ÕµÍ§¡Òà í Ñè è Œ ¤‹Ò·ÕèáÊ´§¨ÐáÊ´§·Ñé§ã¹ÃٻẺ¢Í§ä«à¡ÔÅ¡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФҺ ÃÐÂÐàÇÅÒ·Õè㪌㹡Ò÷íÒ¤íÒÊÑè§ËÃ×Í¿˜§¡ªÑè¹ ËÅѧ¨Ò¡ÃÙ¨¡¡ÑºÊ‹Ç¹»ÃСͺ¢Í§Ë¹ŒÒµ‹Ò§ Stopwatch áŌǵ‹Íä»à»š¹¡Ò÷´ÅͧÃѹâ»Ãá¡ÃÁ ŒÑ Ẻ«Ô§à¡ÔÅÊàµç» à¾×ʹ٨ҹǹä«à¡ÔÅáÅФҺàÇÅÒ·Õâ»Ãá¡ÃÁ㪌 â´Â·íÒµÒÁ¢Ñ¹µÍ¹´Ñ§¹Õé è í è é (1) ¡íÒ˹´ÊÑ­­Ò³¹Ò́¡Ò (Clock) ෋ҡѺ 20 MHz (2) à¤ÅÕÂϤÒä«à¡ÔÅáÅФҺàÇÅÒ â´Â¤ÅÔ¡·Õ»Á ‹ è ؆ (3) ¤ÅÔ¡·Õ»Á Step Over è ؆ ËÃ×Í¡´»ØÁ F8 ˹֧¤Ãѧ ໚¹¡Ò÷íÒ¤íÒÊѧ PORTC † è é è = 0 «Ö§àÇÅÒ·Õè Stopwatch 㪌෋ҡѺ 3 ä«à¡ÔÅ è (4) ¤ÅÔ¡·Õ»Á Step Over ÍÕ¡¤Ãѧ ໚¹¡Ò÷íÒ¤íÒÊѧ TRISC = 0 Êѧࡵ·ÕËÇ¢ŒÍ è ؆ é è è Ñ Delta ¤‹Ò¨ÐÁÕ¤‹Òà·‹Ò 2 ä«à¡ÔÅ áÊ´§Ç‹Ò¤íÒÊÑè§ TRISC = 0 㪌¤ÒºàÇÅÒ 2 ä«à¡ÔÅᵋ¤‹ÒÃÐÂÐàÇÅҢͧ Stopwatch ¨ÐÁÕ¤Ò෋ҡѺ 5 à¹×ͧ¨Ò¡à»š¹¡ÒÃÃÇÁ¤íÒÊѧ¡‹Í¹Ë¹ŒÒ¹Õàé ¢ŒÒä»´ŒÇ ‹ è è (5) ¤ÅÔ¡·Õ»Á Step Over è ؆ ÍÕ¡¤Ãѧ ¨Ð໚¹¡Ò÷íÒ¿˜§¡ª¹Ë¹‹Ç§àÇÅÒ 1 ÇÔ¹Ò·Õ ã¹ é Ñè ¡Ã³Õ·ãªŒ Step Over â»Ãá¡ÃÁ¨ÐäÁ‹à¢ŒÒä»áÊ´§¡Ò÷íҧҹ㹿˜§¡ª¹¹Ñ¹ ᵋ¨ÐáÊ´§¤‹Ò¨íҹǹä«à¡ÔÅ Õè Ñè é ¢Í§¿˜§¡ª¹ Delay_ms(1000) ÍÍ¡ÁÒ (ÍÒ¨µŒÍ§ãªŒàÇÅÒÃÍÊÑ¡¤ÃÙ‹ ) ¼ÅÅѾ¸·ä´Œ¤Í 5,018,507 ä«à¡ÔÅ Ñè Õè × ËÃ×Í໚¹ÃÐÂÐàÇÅÒ 1003.70 ÁÔÅÅÔÇ¹Ò·Õ ËÃ×Í 1 ÇÔ¹Ò·Õ¾Í´Õ Ô
  • 25. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 25 1.4 ˹ŒÒµ‹Ò§áÊ´§Ê¶Ôµ¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒ Ô ËÅѧ¨Ò¡¤ÍÁä¾Åâ»Ãá¡ÃÁáÅŒÇ ¼Ù㪌§Ò¹ÊÒÁÒöàÃÕ¡´ÙʶԵµÒ§æ Íѹ»ÃСͺ仴ŒÇ Œ Ô‹ 1. Memory usage áÊ´§¡ÒÃ㪌§Ò¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁáÅÐ˹‹Ç¤ÇÒÁ¨íÒ RAM «Ö觨ÐáÊ´§·Ñ駻ÃÔÁҳ˹‹Ç¤ÇÒÁ¨íÒ·ÕèÇ‹Ò§ÍÂÙ‹áÅÐ˹‹Ç¤ÇÒÁ¨íÒ·ÕèãªŒä» 2.Procedures (sizes) áÊ´§»ÃÔÁÒ³¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒẋ§µÒÁ¿˜§¡ª¹·Õàè ÃÕ¡㪌 Ñè
  • 26. 26 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 3.Procedures (locations) áÊ´§µíÒá˹‹§¡ÒÃ㪌§Ò¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§ ¿˜§¡ª¹µ‹Ò§ æ ÀÒÂã¹â»Ãá¡ÃÁ ÃÇÁ¶Ö§»ÃÔÁÒ³¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒã¹áµ‹Åп˜§¡ª¹´ŒÇ Ñè Ñè 4.Procedures (details) áÊ´§ÃÒÂÅÐàÍÕ´¢Í§¿˜§¡ªÑè¹µ‹Ò§æ â´ÂÁÕ¡ÒÃÃкصíÒá˹‹§ áÍ´à´ÃÊàÃÔèÁµŒ¹áÅÐÊÔé¹ÊØ´¢Í§¿˜§¡ªÑè¹
  • 27. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 27 5.RAM ໚¹¡ÒÃáÊ´§ÃÒÂÅÐàÍÕ´¢Í§Ë¹‹Ç¤ÇÒÁ¨íÒ RAM áÅÐÃÕ¨ÊàµÍϵҧæ â´Â Ô ‹ áÊ´§ª×èÍáÅеíÒá˹‹§áÍ´à´ÃʢͧÃÕ¨ÔÊàµÍÏáÅÐ˹‹Ç¤ÇÒÁ¨íÒàËÅ‹Ò¹Ñé¹ 6.ROM ໚¹Ë¹ŒÒµ‹Ò§áÊ´§ÃÒÂÅÐàÍÕ´â»Ãá¡ÃÁÀÒÉÒáÍÊá«ÁºÅÕ·àèÕ ¡çºÍÂÙã¹Ë¹‹Ç ‹ ¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ
  • 28. 28 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.5 ·´Êͺ¡Ò÷íÒ§Ò¹·Ò§ÎÒÏ´áÇÏ 㹡Ò÷´Êͺ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁÀÒÉÒ C ·Õèà¢Õ¹¢Öé¹à¾×èÍãËŒàË繼šÒ÷íÒ§Ò¹¨ÃÔ§æ ·Ò§ÎÒÏ´áÇÏ ¨ÐµŒÍ§ÁÕ¡ÒôÒǹâËÅ´ä¿Å .hex «Ö§à»š¹ä¿Å¼ÅÅѾ¸¢Í§ mirkoC ¤ÍÁä¾àÅÍÏä»Âѧ è ˹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´Ñ§¹Ñ¹ã¹¡Ò÷´Êͺ¹Õ¨ÐÁÕà¤Ã×ͧÁ×Í 2 µÑÇ·Õè é é è à¡ÕèÂÇ¢ŒÍ§¤×Í ÎÒÏ´áÇÏÊíÒËÃѺâ»Ãá¡ÃÁáÅз´ÅͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC áÅЫͿµáÇÏ ÊíÒËÃѺ¡ÒôÒǹâËÅ´â»Ãá¡ÃÁ ÎÒÏ´áÇÏ·Õèá¹Ð¹íÒã¹Ë¹Ñ§Ê×ÍàÅ‹Á¹Õé»ÃСͺ´ŒÇ 1. ºÍÏ´ÊíÒËÃѺâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC/dsPIC ¼‹Ò¹¾Íϵ USB ª×ÍÃØ¹è ‹ PX-200 ¢Í§ºÃÔÉ·ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ (www.inex.co.th) Ñ 2. ºÍÏ´·´ÅͧÃع NX-877 plusII ÊíÒËÃѺ¡Ã³ÕµÍ§¡Ò÷´Åͧ·ÑÇä» »¡µÔµ´µÑ§äÁâ¤Ã ‹ Œ è Ô é ¤Í¹â·ÃÅàÅÍÏ PIC18F877A äÇŒ ᵋÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ PIC16F887 ËÃ×Í 18F4xxx ã¹Ãع 40 ¢Òä´Œ è ‹ 3. RBX-877 V2.0 ºÍÏ´¤Çº¤ØÁËع¹µ Robo-PICA ·Õµ´µÑ§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ ‹ èÔ é PIC16F887 ᵋÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ PIC16F877A ËÃ×Í 18F4xxx ã¹Ãع 40 ¢Ò ä´Œ è ‹ ʋǹ«Í¿µáÇÏ·Õè㪌¤×Í PICkit2TM Programming Software ¢Í§ Microchip ¼ÙŒ¼ÅÔµäÁâ¤Ã ¤Í¹â·ÃÅàÅÍÏ PIC ÒÁÒö´ÒǹâËÅ´ä´Œ¿ÃÕ·Õè www.microchip.com 1.5.1 ¡ÒõԴµÑ§«Í¿µáÇÏ PICkit2TM Programming software é PICkit2TM Programming Software ໚¹«Í¿µáÇÏÊÒËÃѺâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC í áÅÐ dsPIC Ẻá¿Åª·ÕµÍ§·íҧҹËÇÁ¡Ñºà¤Ã×ͧâ»Ãá¡ÃÁ PICkit2TM ¢Í§ Microchip ËÃ×Íà¤Ã×ͧ èŒ è è â»Ãá¡ÃÁÍ×¹·ÕÁ¡Ò÷íÒ§Ò¹µÃ§¡Ñ¹ ã¹·Õ¹àÕé Å×͡㪌ºÍÏ´â»Ãá¡ÃÁÃع PX-200 «Ö§¾Ñ²¹Ò¢Ö¹â´ÂºÃÔÉ· è è Õ è ‹ è é Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ¨Ò¡¢ŒÍÁÙÅ·Õàè ¼Âá¾Ã‹ÊÊÒ¸ÒóТͧà¤Ã×ͧâ»Ãá¡ÃÁ PICkit2TM â´Â Ù‹ è Microchip ÊíÒËÃѺ¡ÒÃâ»Ãá¡ÃÁ¢ŒÍÁÙÅŧã¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¢Í§ºÍÏ´ PX-200 ¨Ð໚¹áººâ»Ãá¡ÃÁã¹Ç§¨Ã¼‹Ò¹·Ò§á¨¡ ICD2 1.5.1.1 µÔ´µÑ§¨Ò¡á¼‹¹«Õ´ÃÍÁ·ÕÁҡѺªØ´ PX-200 é Õ è «Í¿µáÇϷ㪌¡º PX-200 ¤×Í PICkit2TM Programming Software â´Âã¹àÇÍÃ쪹ãËÁèæ ¹Ñ¹ Õè Ñ Ñ é ¾Ñ²¹ÒÁÒ¨Ò¡ Microsoft .NET ´Ñ§¹Ñ¹¡ÒõԴµÑ§â»Ãá¡ÃÁà¾×Í㪌§Ò¹ ¼Ù㪌§Ò¹µŒÍ§ÁÕ¡ÒõԴµÑ§ Microsoft é é è Œ é .NET Framework àÊÕ¡‹Í¹
  • 29. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 29 (¡) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏäÁ‹Á¡ÒõԴµÑ§ Microsoft .NET Framework ÁÒ¡‹Í¹ Õè Õ é µÔ´µÑ§ Microsoft .NET Framework â´ÂàÅ×Í¡µÔ´µÑ§¨Ò¡â¿Åà´ÍÏ PICkit 2 Setup v2.01 é é dotNET à dotnetfx ã¹á¼‹¹«Õ´ÃÍÁ ´ÑºàºÔŤÅÔ¡·Õä¿Å dotnetfx.exe ¨Ð㪌àÇÅÒ㹡ÒõԴµÑ§¤ÃÙ˹֧ Õ è é ‹ è ¨Ò¡¹Ñ¹¨Ö§µÔ´µÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software â´ÂàÅ×Í¡ä¿Å PICkit2Setup.msi é é (¢) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏÁ¡ÒõԴµÑ§ Microsoft .NET Framework áÅŒÇ Õè Õ é µÔ´µÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software â´ÂࢌÒä»·Õâ¿Åà´ÍÏ PICkit 2 é è Setup v2.01 ã¹á¼‹¹«Õ´ÃÍÁ ´ÑºàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi Õ è 1.5.1.2 µÔ´µÑ§¨Ò¡ä¿Å·´ÒǹâËÅ´¨Ò¡àǺ䫵¢Í§ Microchip é Õè ࢌÒä»ÂѧàǺ䫵¢Í§ Microchip ·Õè www.microchip.com àÅ×Í¡ËÑÇ¢ŒÍ Development tools à Pickit 2 Programmer/Debugger (¡) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏäÁ‹Á¡ÒõԴµÑ§ Microsoft .NET Framework ÁÒ¡‹Í¹ Õè Õ é ãËŒ´ÒǹâËÅ´ä¿Å¨Ò¡ËÑÇ¢ŒÍ PICkit2V2.01 Install with .NET Framework ¨Ðä´Œä¿Å PICkit 2 Setup v2.01 dotNET.zip (µÑÇàÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§µÒÁÃع·ÕÁ¡ÒûÃѺ»ÃاŋÒÊØ´) áÅŒÇ Ñ è ‹ è Õ ·íÒ¡ÒâÂÒÂä¿Å·Õè´ÒǹâËÅ´ÁÒ à¡çºäÇŒã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 dotNET ¨Ò¡¹Ñé¹à¢ŒÒä» ã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 dotNET à dotnetfx àÅ×Í¡´ÑºàºÔŤÅÔ¡·Õä¿Å dotnetfx.exe ¨Ð㪌 è àÇÅÒ㹡ÒõԴµÑ§¤ÃÙ˹֧ ¨Ò¡¹Ñ¹¨Ö§·íÒ¡ÒõԴµÑ§â»Ãá¡ÃÁ Pickiit2TM Programming Software â´Â é ‹ è é é ࢌÒä»áŌǴѺàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi è (¢) ¡Ã³Õ·¤ÍÁ¾ÔÇàµÍÏÁ¡ÒõԴµÑ§ Microsoft .NET Framework áÅŒÇ Õè Õ é ãËŒ´ÒǹâËÅ´ä¿Å¨Ò¡ËÑÇ¢ŒÍ PICkit2V2.01 Install ¨Ðä´Œä¿Å PICkit 2 Setup v2.01.zip (µÑÇàÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§µÒÁÃع·ÕÁ¡ÒûÃѺ»ÃاŋÒÊØ´) áŌǷíÒ¡ÒâÂÒÂä¿Å·´ÒǹâËÅ´ÁÒ à¡çº Ñ è ‹ è Õ Õè äÇŒã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 ¨Ò¡¹Ñ¹à¢ŒÒä»ã¹â¿Åà´ÍÏ àÅ×Í¡´ÑºàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi é è à¾×ÍàÃÔÁµŒ¹µÔ´µÑ§â»Ãá¡ÃÁ è è é
  • 30. 30 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.5.1.3 ¢Ñ¹µÍ¹¡ÒõԴµÑ§â»Ãá¡ÃÁ é é (1) ´ÑºàºÔŤÅÔ¡ä¿Åµ´µÑ§ PICkit2Setup.msi ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§àÃÔÁ¡ÒõԴµÑ§ ¤ÅÔ¡»ØÁ Next Ô é è é † (2) ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§á¨Œ§µíÒá˹‹§â¿Åà´ÍÏ·¨Ð·íÒ¡ÒõԴµÑ§ ËÒ¡äÁ‹µÍ§¡ÒÃà»ÅÕ¹á»Å§µíÒ Õè é Œ è á˹‹§â¿Åà´ÍÏãËŒ¤ÅÔ¡»ØÁ Next à¾×ͼ‹Ò¹¢Ñ¹µÍ¹¹Õä» † è é é (3) ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§á¨Œ§Â×¹Âѹ¡ÒõԴµÑ§â»Ãá¡ÃÁ ¤ÅÔ¡»ØÁ Next à¾×͵ͺµ¡Å§ é † è
  • 31. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 31 (4) ˹ŒÒµ‹Ò§á¨Œ§ÅÔ¢ÊÔ·¸«Í¿µáÇÏ»ÃÒ¡¯¢Ö¹ ¤ÅÔ¡ I agree à¾×͵ͺÃѺ ¨Ò¡¹Ñ¹¤ÅÔ¡»ØÁ Next é è é † (5) ˹ŒÒµ‹Ò§á¨Œ§Ê¶Ò¹Ð¡ÒõԴµÑ§â»Ãá¡ÃÁ»ÃÒ¡¯¢Ö¹ Ãͨ¹¡Ãзѧ¡ÒõԴµÑ§àÊÃç¨ÊÁºÙó é é è é ¨Ò¡¹Ñ¹Ë¹ŒÒµ‹Ò§á¨Œ§¡ÒõԴµÑ§â»Ãá¡ÃÁàÊÃç¨ÊÁºÙó ¨Ð»ÃÒ¡¯¢Ö¹ ãËŒ¤ÅÔ¡»ØÁ Close à¾×Í»´ é é é † è ˹ŒÒµ‹Ò§¹Õé ໚¹ÍѹàÊÃŒ¨ÊÔ¹¢Ñ¹µÍ¹¡ÒõԴµÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software é é é
  • 32. 32 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.5.2 ¡ÒÃàª×ÍÁµ‹Íà¾×Í·´Åͧ·Ò§ÎÒÏ´áÇÏ è è (1) àÃÔÁµŒ¹´ŒÇ¡Òõ‹ÍÊÒ USB ÃÐËÇ‹Ò§ PX-200 ¡Ñº¾Íϵ USB ¢Í§¤ÍÁ¾ÔÇàµÍÏ ¨Ò¡¹Ñ¹ è é ແ´â»Ãá¡ÃÁ Pickit2TM Programming Software â´ÂàÅ×Í¡·Õè Start à All programs à Microchip à Pickit 2 V201 (àÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§ä´ŒµÒÁ¡ÒûÃѺ»ÃاŋÒÊØ´) ã¹ÃÙ»·Õè 1-2 áÊ´§Ë¹ŒÒµ‹Ò§ Ñ è ËÅÑ¡¢Í§â»Ãá¡ÃÁ Pickit2TM Programming Software àÁ¹Ù¤ÒÊѧ í è ¡Ãͺ Configuration ᶺáÊ´§¡Ò÷íÒ§Ò¹ ª‹Í§áÊ´§Ê¶Ò¹Ð »ØÁª‹ÇÂ㹡Òà † ᨌ § ·Õè Á Ңͧ ·íÒ§Ò¹ ä¿Å .hex ·ÕúèÑ Ë¹ŒÒµ‹Ò§ºÑ¿à¿ÍÏ¢ÍÁÙŢͧ˹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ Œ ࢌÒÁÒà¡çºänj㹠ºÑ¿à¿ÍÏ »ØÁª‹ÇÂ㹡Òà † ·íÒ§Ò¹ ˹ŒÒµ‹Ò§ºÑ¿à¿ÍÏ¢ÍÁÙŢͧ˹‹Ç¤ÇÒÁ¨íÒÍÕ;ÃÍÁ Œ Õ ÃÙ»·Õè 1-2 ˹ŒÒµ‹Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ Pickiit2TM Programming Software
  • 33. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 33 (2) µ‹ÍÊÒ ICD ÃÐËÇ‹Ò§ºÍÏ´â»Ãá¡ÃÁ PX-200 ¡ÑººÍϴ໇ÒËÁÒÂËÃ×ͺÍÏ´·´Åͧ (2.1) ¡Ã³Õ㪌¡ººÍÏ´·´Åͧ NX-877 plusII Ñ µ‹Í¾Íϵ USB àª×ÍÁµ‹Í¡Ñ¹´ŒÇÂÊÒ ICD2 è ¨‹ÒÂä¿àÅÕ§ é ¡´ÊÇÔµªàÅ×Í¡âËÁ´ â»Ãá¡ÃÁ (ä¿ÊÕá´§µÔ´ÊÇ‹Ò§) ¾×¹·ÕÊÒËÃѺµ‹Íǧ¨Ã·´Åͧ é è í (2.1) ¡Ã³Õ㪌¡ººÍÏ´¤Çº¤ØÁËع¹µ RBX-877 Rev.2007) Ñ ‹ ºÍÏ´â»Ãá¡ÃÁ PIC ÊÒ ICD2 Sound 4.8-6V LCD RC0 BATT RC7 RC6 RC4 RC3 RxD TxD SDA SCL DOWNLOAD LCD back ICD2 light POWER ON ON Robo - PICARRobotR PICRMicroRobotic RESET µ‹Í¡Ñº¾Íϵ USB M-1 M-2 ¢Í§¤ÍÁ¾ÔÇàµÍÏ RB3 #3 #2 #1 RA4 RB0 SERVO RB0/INT RA0 RA1 RA2 RA3 RA5 RE0 RE1 RE2 S+ ÊíÒËÃѺâ»Ãá¡ÃÁµÑÇÍ‹ҧ LED_Blinking ·ÕÁÒ¨Ò¡µÑÇÍ‹ҧã¹â¿Åà´ÍÏ C:Program è FilesMikroelektronikamikroCExamplesEasyPic4P16F877ALED_Blinking ÁÕ¡ÒáíÒ˹´¡Òõ‹Í ǧ¨ÃäÁ‹µÃ§¡ÑººÍÏ´ RBX-877 Rev.2007 ´Ñ§¹Ñ¹ã¹¡Ò÷´Êͺ¹Õ¨Ð͌ҧ¶Ö§ºÍÏ´·´Åͧ NX-877 plus é é II ໚¹ËÅÑ¡ ÊíÒËÃѺµÑÇÍ‹ҧ¡Ò÷´Êͺ¡ÑººÍÏ´ RBX-877 Rev.200 ´ÙÃÒÂÅÐàÍÕ´à¾ÔÁàµÔÁã¹Ë¹Ñ§Ê×Í è àÃÕ¹ÃÙáÅÐÊÌҧËع¹µÍµâ¹Áѵ¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC «Ö§¨Ñ´ÁÒã¹Ø´Ëع¹µ Robo-PICA Œ ‹ Ñ ÔÑ è ‹
  • 34. 34 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é (3) ¨Ò¡¹Ñ鹫ͿµáÇϨеÃǨÊͺ¡ÒÃàª×èÍÁµ‹ÍáÅÐàºÍϢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ·Õèàª×èÍÁµ‹Í´ŒÇÂÍ‹ҧÍѵâ¹ÁÑµÔ áŌǨÐᨌ§àºÍÏ·èÕ¾ºº¹Ë¹ŒÒµ‹Ò§¢Í§â»Ãá¡ÃÁ (4) àÅ×Í¡ä¿Å .hex ·Õ赌ͧ¡ÒÃâ»Ãá¡ÃÁ â´Âä»·ÕèàÁ¹Ù File àÅ×Í¡ Import Hex ¨ÐÁÕ˹ŒÒµ‹Ò§ ÊíÒËÃѺແ´ä¿Å *.hex ·Õ赌ͧ¡ÒÃâ»Ãá¡ÃÁŧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ ã¹·Õè¹ÕéàÅ×Í¡ä»·Õè C:Program FilesMikroelektronikamikroCExamplesEasyPic4P16F877ALED_Blinking àÅ× Í ¡ä¿Å ª×è Í LED_Blinking.hex (5) ¤ÅÔ¡»ØÁ Write à¾×Í´ÒǹâËÅ´â»Ãá¡ÃÁä»ÂѧºÍÏ´äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC † è (6) µ‹Íǧ¨Ãâ´Âµ‹Í¢Ò¾Íϵ C ã´æ ࢌҡѺ LED +5V 11 32 C6 +5V 0.1 F 50V 1+! 21+$.%% R5 4k7 1 MCLR LED SW2 R6 1k RCx 4-5-6 12 R1 390 31 13 XTAL1 14 20MHz C2 C3 22pF 22pF (7) ¡Ã³Õ㪌ºÍÏ´ NX-877 plus II ËÅѧ¨Ò¡â»Ãá¡ÃÁáÅŒÇ ãËŒ¡´ÊÇÔµª MODE ÁÒã¹âËÁ´ Run áŌǡ´ÊÇÔµª RESET äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¨ÐàÃÔÁ·íÒ§Ò¹ LED ·ÕµÍÍÂ٨еԴ¡Ð¾ÃԺ͋ҧµ‹Íà¹×ͧ è è‹ ‹ è INNOVATIVE EXPERIMENT
  • 35. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 35 º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C àº×ͧµŒ¹ é ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ ¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ´ŒÇ mikroC ¨ÐµŒÍ§ÊÌҧä¿Åã¹Åѡɳмѧ§Ò¹ËÃ×Íä¿Åâ»Ãà¨ç¡µ (project) «Ö§ÁÕ¢¹µÍ¹·ÕäÁ‹Â§ÂÒ¡ à¹×ͧ¨Ò¡ mikroC ÁÕà¤Ã×ͧÁ×Í·ÕªÇÂʹѺʹع¡ÒÃÊÌҧä¿Å áÅÐÅ´ÀÒÃÐ è Ñé è Ø‹ è è è‹ ã¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁáÅСÒÃàª×ÍÁâ§ä¿Å è 2.1 ¡ÒÃÊÌҧä¿Åâ»Ãà¨ç¡µ ÁÕ¢Ñ鹵͹â´ÂÊÃØ»´Ñ§¹Õé (1) ແ´â»Ãá¡ÃÁ mikroC ä»·Õàè Á¹Ù Project àÅ×Í¡¤íÒÊѧ New Project ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§ è ¡ÒÃÊÌҧ Project ¢Ö¹ÁҴѧÃÙ» é ¡íÒ˹´ª×Íâ»Ãà¨ç¡µ è ¡íÒ˹´µíÒá˹‹§â¿Åà´ÍÏ ÃÒÂÅÐàÍÕ´â»Ãà¨ç¡µ äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ·àÅ×͡㪌 Õè ¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò è Ñ ª‹Í§¡íÒ˹´¤‹Ò¤Ø³Åѡɳзҧ ÎÒÏ´áÇÏËÃ×ͤ͹¿¡àêѹ Ù è
  • 36. 36 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ¡ÒáíÒ˹´¤‹Òµ‹Ò§æ ã¹Ë¹ŒÒµ‹Ò§ New Project ÁÕ´§¹Õé Ñ (1.1) Project Name ໚¹¡ÒáíÒ˹´ª×Íä¿Åâ»Ãà¨ç¡µáÅЪ×Í«ÍÏÊâ»Ãá¡ÃÁ è è ÀÒÉÒ C ´ŒÇ â´Âä¿Åâ»Ãà¨ç¡µÁ¹ÒÁÊ¡ÅØ໚¹ .ppc ʋǹä¿Å«ÍÏÊâ»Ãá¡ÃÁÁÕ¹ÒÁÊ¡ØÅ໚¹ .c ã¹·Õè Õ ¹Õ¡Ò˹´ª×ÍÇ‹Ò Project01 éí è (1.2) Project Path ໚¹¡ÒáíÒ˹´µíÒá˹‹§â¿Åà´ÍϷ㪌à¡çºä¿Åâ»Ãà¨ç¡µ èÕ áÅЫÍÏÊâ»Ãá¡ÃÁ ã¹·Õ¹¡Ò˹´µíÒá˹‹§äÇŒ·Õè C:MikroC_Code ¼Ù㪌§Ò¹ÊÒÁÒö¡´¤Õ è Õé í Œ à¾×èÍàÅ×Í¡µíÒá˹‹§â¿Åà´ÍÏ´ŒÇµ¹àͧ䴌 (1.3) Description ໚¹¾×¹·ÕÊÒËÃѺÃкØÃÒÂÅÐàÍÕ´à¡ÕÂǡѺâ»Ãà¨ç¡µ·ÊÌҧ¢Ö¹ é è í è èÕ é ¨ÐÃкØËÃ×ÍäÁ‹¡ä´Œ ç (1.4) Device ໚¹ª‹Í§ÊíÒËÃѺ¡íÒ˹´àºÍÏäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ·àÕè Å×͡㪌§Ò¹ à¹×ͧ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ᵋÅÐàºÍÏÁ¤³ÊÁºÑµäÁ‹àËÁ×͹¡Ñ¹ ¨Ö§µŒÍ§àÅ×Í¡àºÍϢͧäÁâ¤Ã è ÕØ Ô ¤Í¹â·ÃÅàÅÍÏ PIC ãËŒ¶¡µŒÍ§ ã¹·Õ¹àÕé Å×͡໚¹àºÍÏ PIC16F887 Ù è (1.5) Clock 㪌¡Ò˹´¤‹Ò¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò·Õ㪌¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ í è Ñ è Ñ PIC ˹‹ÇÂ໚¹ MHz 㹷չ㪌¤ÇÒÁ¶Õàè ·‹Ò¡Ñº 20 MHz è Õé (2) ¡íÒ˹´¤‹Ò¤Ø³ÊÁºÑµÔ·Ò§ÎÒÏ´áÇÏËÃ×ͤ͹¿¡ÙàêÑè¹ (configuration) ¢Í§äÁâ¤Ã ¤Í¹â·ÃÅàÅÍÏ PIC àºÍÏ·àÕè Å×͡㪌§Ò¹·ÕªÍ§ Device Flags ÁÕµÇàÅ×Í¡ãˌ㪌§Ò¹ËÅÒÂÃٻẺઋ¹ è ‹ Ñ _XT_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ¤ÃÔʵÍÅ ¤ÇÒÁ¶ÕäÁ‹à¡Ô¹ 4MHz è _HS_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ¤ÃÔʵÍŤÇÒÁ¶Õʧ (4MHz ¢Ö¹ä») è Ù é _LP_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ¤ÃÔʵÍžÅѧ§Ò¹µèÒ í _RC_OSC : ǧ¨Ã¡íÒà¹Ô´ÊÑ­­Ò³¹Ò́¡ÒẺ㪌µÇµŒÒ¹·Ò¹áÅеÑÇà¡çº»ÃÐ¨Ø Ñ _LVP_ON,_LVP_OFF : àÍç¹àÍàºÔÅáÅдÔÊàÍàºÔÅ¡ÒÃâ»Ãá¡ÃÁ´ŒÇÂáç´Ñ¹µèÒ í _WDT_ON ,_WDT_OFF : àÍç¹àÍàºÔÅáÅдÔÊàÍàºÔÅÇ͵ª´Í¡ä·àÁÍÏ ç _CP_OFF,_CP_ALL : àÅ×Í¡ËÃ×ÍäÁ‹àÅ×Í¡»‡Í§¡Ñ¹¡ÒÃÍ‹Ò¹¢ŒÍÁÙÅ (Code Protect) ¡ÒáíÒ˹´¤‹ÒàËÅ‹Ò¹Õ¢¹ÍÂÙ¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏᵋÅеÑÇ ÃÒÂÅÐàÍÕ´à¾ÔÁ é Öé ‹ Ñ è àµÔÁÊÒÁÒöÈÖ¡ÉÒä´Œ¨Ò¡´ÒµŒÒªÕµ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏàºÍϹ¹ æ Ñé
  • 37. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 37 ÊíÒËÃѺ¡ÒÃÊÌҧâ»Ãà¨ç¡µ¤ÃÑ駹ÕéãËŒ¡íÒ˹´¤‹Ò໚¹¤‹ÒµÑ駵Œ¹ â´Â¤ÅÔ¡·Õè»Ø†Á ÊíÒËÃѺ PIC16F887 ¤‹ÒµÑ§µŒ¹ ¤×Í é l ǧ¨ÃÊÑ­­Ò³¹Ò́¡Ò໚¹áºº HS_OSC l ´ÔÊàÍàºÔÅÇ͵ª´Í¡ä·àÁÍÏ (WDT_OFF) ç l ´ÔÊàÍàºÔÅ¡ÒÃâ»Ãá¡ÃÁẺ㪌áç´Ñ¹µèÒ (LVP_OFF) í ÊíÒËÃѺ»ØÁ † ໚¹¡ÒáàÅÔ¡à¤Ã×ͧËÁÒ¶١˹ŒÒËÑÇ¢ŒÍ Config ·Ñ§ËÁ´ è é àÁ×Í¡íÒ˹´¤‹ÒàÃÕºÌÍÂãËŒ¡´»ØÁ OK ໚¹ÍѹàÊÃç¨ÊÔ¹¡ÒÃÊÌҧä¿Åâ»Ãà¨ç¡µãËÁ‹ è † é â»Ãá¡ÃÁ¨ÐÊÌҧä¿Å Project01.c ¢Ö¹ÁÒãËŒâ´ÂÍѵâ¹ÁÑµÔ é (3) ËÅѧ¨Ò¡ÊÌҧä¿Åâ»Ãà¨ç¡µàÃÕºÌÍÂáÅŒÇ ¼ÙŒãªŒ§Ò¹ÂѧÊÒÁÒöᡌ䢢ŒÍÁÙÅ㹡Òà ¡íÒ˹´¤‹Òµ‹Ò§æ ¢Í§ä¿Åâ»Ãà¨ç¡µä´Œ â´Âä»·Õàè Á¹Ù Project à Edit Project ËÃ×ͤÅÔ¡äͤ͹ ·Õᶺà¤Ã×ͧÁ×ͧ͢â»Ãá¡ÃÁ mikroC è è ᵋ¶ŒÒµŒÍ§¡ÒÃà»ÅÕè¹àºÍϢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏËÃ×ͤÇÒÁ¶ÕèÊÑ­­Ò³ ¹Ò́¡Ò ¼Ù¾²¹Òâ»Ãá¡ÃÁÊÒÁÒö¡íÒ˹´¤‹Òä´Œ¨Ò¡á·ç» Project Setup ·ÕÁÁÅ‹Ò§´ŒÒ¹«ŒÒ¢ͧ˹ŒÒµ‹Ò§ Œ Ñ è Ø ËÅÑ¡ä´Œ·Ñ¹·Õ (4) ËÅѧ¨Ò¡á¡Œä¢à»ÅÕè¹á»Å§¢ŒÍÁÙÅã¹ä¿Åâ»Ãà¨ç¡µáÅŒÇ ¨ÐµŒÍ§ºÑ¹·Ö¡¡ÒÃá¡Œä¢ â´ÂàÅ×Í¡·Õàè Á¹Ù Project à Save Project ËÃ×ͤÅÔ¡·Õäͤ͹ è ¡çä´Œ
  • 38. 38 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 2.2 â¤Ã§ÊÌҧâ»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ ÃٻẺÀÒÉÒ C ¢Í§ mikroC ÁÕ¤ÇÒÁ¤ÅŒÒ¤ÅÖ§¡Ñºâ»Ãá¡ÃÁÀÒÉÒ C Áҵðҹ ´Ñ§¹Ñ¹¼Ù·Á¾¹ é Œ Õè Õ ×é °Ò¹ÀÒÉÒ C ÁÒºŒÒ§áÅŒÇ ÊÒÁÒö·íÒ¤ÇÒÁࢌÒã¨áÅÐà¢Õ¹â»Ãá¡ÃÁ¡Ñº mikroC ä´Œ·¹·Õ ʋǹ·ÕµÍ§à¾ÔÁ Ñ èŒ è àµÔÁ¤×Í ¡Ò÷íÒ¤ÇÒÁࢌÒ㨡Ѻ¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙÅ·Ò§ÎÒÏ´áÇÏÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ã¹ÃÙ»·Õè 2-1 ໚¹¡ÒÃáÊ´§Ê‹Ç¹»ÃСͺ¢Í§â»Ãá¡ÃÁÀÒÉÒ C ·Õ¾²¹Òº¹ mikroC »ÃСͺ è Ñ ´ŒÇ µÑÇá»ÃáÅСÒûÃСÒȵÑÇá»Ã, ¿˜§¡ª¹â»Ãá¡ÃÁËÅÑ¡ (main program), ¿˜§¡ª¹â»Ãá¡ÃÁ, Ñè Ñè ªØ´¤íÒÊѧ, ä¿Åàδà´ÍÏ (Header) áÅФíÒ͸ԺÒÂâ»Ãá¡ÃÁ (comment) è ᵋÍ‹ҧ¹ŒÍ·ÕèÊش㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨ÐµŒÍ§ÁÕâ»Ãá¡ÃÁËÅÑ¡ «Öè§ÁÕÅѡɳдѧ¹Õé void main () { ªØ´¤íÒÊѧ ; è } ä¿Å Header ¤íÒ͸ԺÒÂâ»Ãá¡ÃÁ µÑÇá»Ã â»Ãá¡ÃÁËÅÑ¡ ¤íÒ͸ԺÒÂâ»Ãá¡ÃÁ ¤íÒÊѧ è ÃÙ»·Õè 2-1 áÊ´§Ê‹Ç¹»ÃСͺ¢Í§â»Ãá¡ÃÁÀÒÉÒ C ·Õ¾²¹Òº¹ mikroC è Ñ