Thai Mikro C Book

3,219 views

Published on

Thai version
How to use PIC16F887 with Micro C Compiler

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,219
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
139
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Thai Mikro C Book

  1. 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. 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. 3. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 3 é ¤íÒ¹íÒ ¡ÒþѲ¹Òâ»Ãá¡ÃÁà¾×ͤǤºØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ´ÇÂÀÒÉÒÃдѺÊÙ§ ઋ¹ ÀÒÉÒàºÊÔ¡ ËÃ×Í C Êԧ˹֧ è Œ è è ·ÕÁ¤ÇÒÁÊíҤѭÍ‹ҧÂÔ§¤×Í «Í¿µáÇÏ·àÕè ÃÕÂ¡Ç‹Ò ¤ÍÁä¾àÅÍÏ (compiler) ËÃ×͵ÑÇá»Åâ»Ãá¡ÃÁ Áѹ¨Ð·íÒ˹ŒÒ·Õã¹ è Õ è è ¡ÒÃá»ÅÀÒÉÒÊÙ§¹Ñé¹ÁÒ໚¹ÀÒÉÒáÍÊà«ÁºÅÕ áŌǨҡ¹Ñ鹨ÐÁÕ«Í¿µáÇÏÍÕ¡µÑÇ˹Ö觷ÕàÃÕÂ¡Ç‹Ò áÍÊà«ÁàºÅÍÏ (assembler) ·íÒ˹ŒÒ·Õ㹡ÒÃá»ÅÀÒÉÒáÍÊà«ÁºÅÕ໚¹ÀÒÉÒà¤Ã×ͧËÃ×ÍáÁªÕ¹â¤Œ´ÍÕ¡µ‹Í˹֧ â´Â·ÑÇä»áŌÇ㹪ش è è è è ¢Í§¤ÍÁä¾àÅÍÏÁ¡¨Ð¼¹Ç¡àÍÒáÍÊà«ÁàºÅÍÏࢌÒänj´Ç¡ѹ à¾×Íãˌ¡ÒþѲ¹Òâ»Ãá¡ÃÁ໚¹ä»Í‹ҧÊдǡ áÅÐÅ´ Ñ Œ è ¢Ñ¹µÍ¹ã¹¡Ò÷íҧҹŧ é mikroC ¤ÍÁä¾àÅÍÏ໚¹Ë¹Ö§ã¹¤ÍÁä¾àÅÍϷ䴌ú¤ÇÒÁʹã¨ã¹áǴǧ¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C è Õè Ñ ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¡ÒÃ㪌§Ò¹·Õ§Ò áÅÐÁÕà¤Ã×ͧÁ×ÍʹѺʹع㹡Ò÷íÒ§Ò¹ÁÒ¡ÁÒ ÃÇÁ价ѧ è‹ è é µÑǪ‹ÇÂÍ‹ҧä¿ÅäźÃÒÃÕ (library) ·ÕÁÍÂÙà‹ »š¹¨íҹǹÁÒ¡ ÃͧÃѺ¡ÑºÍØ»¡Ã³µÍ¾‹Ç§ËÅÒ¡ËÅÒ áÅдŒÇÂʋǹ¢Í§ è Õ ‹ «Í¿µáÇϷ㪌㹡ÒþѲ¹Òâ»Ãá¡ÃÁ·Õàè ÃÕÂ¡Ç‹Ò mikro IDE ¹Ñ¹ÁÕ¤ÇÒÁÊÁºÙóáÅкÃèØà¤Ã×ͧÁ×Í·ÕªÇÂ㹡ÒÃà¢Õ¹ Õè é è è‹ â»Ãá¡ÃÁänj¾ÃŒÍÁ ¨Ñ´ä´ŒÇÒ໚¹à¤Ã×ͧÁ×;Ѳ¹Òâ»Ãá¡ÃÁ·ÕÊÒÁÒöàÃÔÁµŒ¹ä´Œ§ÒÂÁÒ¡µÑÇ˹֧ ‹ è è è ‹ è ÊíÒËÃѺã¹Ë¹Ñ§Ê×ÍàŋÁ¹Õ¨Ð¹íÒàʹͶ֧ ¡ÒÃ㪌§Ò¹áÅÐÇÔ¸¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ´ŒÇ mikroC ¤ÍÁ é Õ ä¾àÅÍÏÊÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC â´Â์¹ä»·Õàè ºÍÏ PIC16F877 áÅÐ PIC16F887 ÁÕ¤Ò͸ԺÒ¡ÒÃ㪌§Ò¹ í í ¿˜§¡ª¹áÅÐäźÃÒÃÕ·ÊҤѭ ÃÇÁ¶Ö§¡Ò÷´Åͧ·Ò§ÎÒÏ´áÇÏ·ÊÒÁÒöáÊ´§ãˌàË繶֧¼Å¡Ò÷íҧҹ䴌Í‹ҧªÑ´à¨¹ Ñè Õè í Õè áÅШѺµŒÍ§ä´Œ â´Âã¹áµ‹ÅСÒ÷´Åͧ¨ÐÁÕ¤Ò͸ԺÒ·ÄÉ®Õ Ç§¨Ã µÑÇÍ‹ҧâ»Ãá¡ÃÁ ¢Ñ¹µÍ¹¡Ò÷´Åͧ áÅмŠí é ·Õàè ¡Ô´¢Ö¹ à¾×Íãˌ¼àٌ ÃÕ¹ÊÒÁÒö·íÒ¤ÇÒÁࢌÒ㨠áÅеÃǨÊͺ¼Å¡Ò÷íÒ§Ò¹à»ÃÕºà·Õº䴌 é è mikroC ໚¹«Í¿µáÇÏ·Ò§¾Ò³ÔªÂ ¨ÐµŒÍ§ÁÕ¡ÒèѴ«×éÍÁÒÍ‹ҧ¶Ù¡µŒÍ§¨Ò¡à¨ŒÒ¢Í§ÅÔ¢ÊÔ·¸Ôì¹Ñ蹤×Í Mikroelektronika ÊÒÁÒöÊѧ«×Í䴌·èÕ www.mikroe.com Í‹ҧäáçµÒÁ·Ò§ Mikroelektronika ¡ç䴌ແ´âÍ¡ÒÊãˌ è é ¼Ùʹã¨ÊÒÁÒö´ÒǹâËÅ´ mikroC Ãع 2K ä»·´Åͧ㪌§Ò¹ä´Œ¿ÃÕ â´ÂäÁ‹¨Ò¡Ñ´àÇÅÒ ÊÒÁÒö㪌§Ò¹à¤Ã×ͧÁ×;׹ Œ ‹ í è é °Ò¹ä´Œ¤Ãº 㪌¡ºäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC 䴌·¡àºÍÏ·§ 12Fxxx, 16Fxxx áÅÐ 18Fxxxx Ëҡᵋ¨Ò¡Ñ´¢¹Ò´ Ñ Ø Ñé í ¢Í§ä¿Åänj·Õè 2 ¡ÔâÅàÇÔô áÅÐàÁ×ÍÁÕ¡ÒèѴ«×ÍÃعÊÁºÙ󏡨ÐÊÒÁÒö㪌§Ò¹ä´ŒÍ‹ҧäÁ‹Á¢Í¨íÒ¡Ñ´  è é ‹ ç Ռ µÑÇÍ‹ҧ¡Ò÷´Åͧ·Õ¹ÒàʹÍã¹Ë¹Ñ§Ê×ÍàŋÁ¹Õ·§ËÁ´ ÊÒÁÒö·íÒ§Ò¹ÀÒÂ㵌 mikroC Ãع 2K 䴌Í‹ҧ è í é Ñé ‹ ÊÁºÙó ¢Í¢Íº¤Ø³ Mikroelektronika ÊíÒËÃѺ¡ÒÃà¼Âá¾Ã‹ mikroC Ãع 2K à¾×Íãˌ¹¡·´Åͧ䴌ÁâÍ¡ÒÊàÃÔÁµŒ¹ ‹ è Ñ Õ è ¡ÒþѲ¹Òâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇÂÀÒÉÒ C ÊíÒËÃѺ¼Ù㪌§Ò¹·ÕµÍ§¡ÒÃ㪌ùÊÁºÙóÊÒÁÒöʹѺ Œ è Œ ‹Ø ʹع¼Ù¾²¹Ò䴌´Ç¡ÒèѴ«×ͨҡ Mikroelektronika ·Õè www.mikroe.com Œ Ñ Œ é ¡ÒÃàÃÕ¹ÃÙäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏǹ¹Õé ÀÒÉÒ C ໚¹»˜¨¨ÑÂ˹֧·Õ¹¡¾Ñ²¹Òâ»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏÊÁÑ Œ Ñ è è Ñ ãËÁ‹µÍ§ãˌ¤ÇÒÁʹ㨠à¾ÃÒй͡¨Ò¡¨Ðª‹ÇÂÅ´¤ÇÒÁ«Ñº«ŒÍ¹áÅÐÂاÂҡ㹡ÒþѲ¹Òâ»Ãá¡ÃÁáÅŒÇ Âѧª‹ÇÂãˌ¡Òà Œ ‹ µ‹ÍÂÍ´áÅСÒûÃѺà»ÅÕ¹â»Ãá¡ÃÁã¹Í¹Ò¤µÊÒÁÒö·íÒ䴌§Ò¢ֹ è ‹ é ¡ÄÉ´Ò ã¨àÂç¹ ªÑÂÇѲ¹ ÅÔÁ¾Ã¨ÔµÃÇÔäÅ é
  4. 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. 5. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ l 5 é º··Õè 9 㪌§Ò¹¿˜§¡ª¹ PWM ¢Í§ mikroC............................................................................137 Ñè »¯Ôºµ¡Ò÷Õè 9 ¤Çº¤ØÁ¤ÇÒÁàÃçǢͧÁÍàµÍÏ´Ç¿˜§¡ª¹ PWM.............................140 Ñ Ô Œ èÑ º··Õè 10 ¡ÒõԴµ‹Í USART âÁ´ÙÅÊ×ÍÊÒâŒÍÁÙžÍϵ͹ءÃÁ¢Í§ è äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ¿˜§¡ª¹¢Í§ mikroC ¤ÍÁä¾àÅÍÏ....................143 Ñè »¯Ôºµ¡Ò÷Õè 15 ¡ÒÃÃѺʋ§¢ŒÍÁÙÅÃÐËNjҧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФÍÁ¾ÔÇàµÍÏ.......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. 6 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é
  7. 7. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 7 º··Õè 1 á¹Ð¹íÒ mikroC mikroC ໚¹ªØ´«Í¿µáÇϾѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ¼Ù¾²¹Ò¤×Í mikroElektronika (mikroE : www.mikroe.com) mikroC 䴌ºÃèØà¤Ã×ͧÁ×Íà¾×ÍÍíҹǠŒ Ñ è è ¤ÇÒÁÊдǡ㹡ÒþѲ¹Òâ»Ãá¡ÃÁänjÁÒ¡ÁÒ µÑÇá»Åâ»Ãá¡ÃÁÀÒÉÒ 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. 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. 9. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 9 2. äźÃÒÃÕÊÒàÃç¨ÃÙ» ã¹ mikroC 䴌àµÃÕÂÁäźÃÒÃբͧâ»Ãá¡ÃÁÀÒÉÒ C änj¨Ò¹Ç¹ í í ÁÒ¡ à¾×èͪ‹ÇÂãˌ¡ÒþѲ¹Òâ»Ãá¡ÃÁÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ 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. 10 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ¡ÒÃáÊ´§ªØ´¤íÒÊѧ : Code Assistant [CTRL+SPACE] è à¾×ÍÊдǡ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁËÃ×Í㹺ҧ¤Ãѧ¨íҪش¤íÒÊѧäÁ‹ä´Œ ãˌ¡´¤ÕÂËÅÑ¡¢Í§ª×ͤíÒÊѧ è é è  è è áŌǡ´»ØÁ CTRL+ SPACE (ËÁÒ¶֧¡´»ØÁ Ctrl ¤ŒÒ§änjáŌǵÒÁ´ŒÇ¡Òá´»ØÁ Space bar) ¤íÒÊѧ·ÕÁÕ † † † è è ¤ÕµÇÍÑ¡É÷Õàè Å×Í¡änjÍÂٴҹ˹ŒÒ¨Ð»ÃÒ¡¯ÍÍ¡ÁҷѧËÁ´ à¾Õ§àÅ×͹à¤ÍÏà«ÍÏä»Âѧ¤íÒÊѧ·ÕµÍ§¡Òà Ñ ‹Œ é è è èŒ áŌǡ´ 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. 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. 12 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ¡ÒáÃÐâ´´ä»ÂѧµíÒá˹‹§ºÃ÷Ѵ·ÕµÍ§¡Òà : GotoLine è Œ ¹Í¡¨Ò¡¡ÒÃ㪌 bookmark áÅŒÇ ¼Ù㪌§Ò¹ÂѧÊÒÁÒö¡ÃÐâ´´ä»ÂѧºÃ÷Ѵµ‹Ò§æ ¢Í§â»Ãá¡ÃÁ Œ 䴌â´ÂµÃ§ ¼‹Ò¹¡ÒᴤՏ CTRL+G ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§ GotoLine ¢Ö¹ÁÒãˌ»Í¹àÅ¢ºÃ÷Ѵ·ÕµÍ§¡ÒÃ é ‡ èŒ ¡ÃÐâ´´ áŌǤÅÔ¡»ØÁ OK † Code Explorer ¤×Íʋǹ¢Í§Ë¹ŒÒµ‹Ò§·ÕèÇÒ§ÍÂً·Ò§´ŒÒ¹«ŒÒÂÁ×ͧ͢â»Ãá¡ÃÁ㪌áÊ´§¿˜§¡ªÑè¹áÅеÑÇá»Ã·Õè㪌 §Ò¹ÍÂًã¹â»Ãá¡ÃÁ¢³Ð¹Ñé¹
  13. 13. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 13 ˹ŒÒµ‹Ò§¢Í§¢ŒÍÁÙŪ‹ÇÂàËÅ×Íà˧´‹Ç¹ : Quick Help (QHelp) ã¹á·ç»µ‹Í¨Ò¡ Code Explorer ໚¹Ë¹ŒÒµ‹Ò§¢ŒÍÁÙŪ‹ÇÂàËÅ×Í à¾×Íãˌ·ÃÒº¶Ö§¡ÒÃ㪌§Ò¹¿˜§¡ª¹ è Ñè ·ÕºÃèØÍÂÙã¹â»Ãá¡ÃÁ ઋ¹ ¡ÒÃàÃÕ¡㪌§Ò¹¿˜§¡ª¹µÔ´µ‹Í˹‹Ç¤ÇÒÁ¨íÒ Compact Flash ໚¹µŒ¹ è ‹ Ñè ÃÒ¡ÒäÕÂÅ´ : Keyboard Shotcut Ñ ÍÂÙã¹µíÒá˹‹§á·ç»¢ÇÒÊØ´¢Í§Ë¹ŒÒµ‹Ò§ Code Explorer àÁ×ÍàÅ×͡ࢌÒÁÒ ¨ÐÁÕÃÒ¡Òâͧ¤ÕÂÅ´ ‹ è Ñ µ‹Ò§ æ ·Õ㪌ã¹â»Ãá¡ÃÁ ª‹ÇÂãˌÊÒÁÒö㪌§Ò¹¤íÒÊѧµ‹Ò§æ 䴌Í‹ҧÃÇ´àÃçÇÂÔ§¢Ö¹ è è è é
  14. 14. 14 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ˹ŒÒµ‹Ò§á¨Œ§¼ÅÅѾ¸ : Message Window ໚¹Ë¹ŒÒµ‹Ò§ÊíÒËÃѺáÊ´§¼ÅÅѾ¸¨Ò¡¡ÒäÍÁä¾Å ¶ŒÒ¡ÒäÍÁä¾ÅÁ¢Í¼Ô´¾ÅÒ´ ˹ŒÒµ‹Ò§¹Õé Ռ ¨ÐáÊ´§¢ŒÍ¼Ô´¾ÅÒ´´ŒÇÂÍÑ¡ÉÃÊÕá´§ 㹡óÕäÁ‹¼´¾ÅÒ´ ˹ŒÒµ‹Ò§¹Õ¨ÐáÊ´§¢ŒÍ¤ÇÒÁÊÕÁǧ ¾ÃŒÍÁ·Ñ§ Ô é ‹ é ᨌ§¢¹Ò´Ë¹‹Ç¤ÇÒÁ¨íÒ·ÕãªŒä» ¡Ã³ÕÁ¢Í¼Ô´¾ÅÒ´â»Ãá¡ÃÁ¨ÐäÁ‹ÊÌҧä¿Å hex ¼Ù㪌§Ò¹ÊÒÁÒÃ¶à¢ŒÒ è Ռ Œ ¶Ö§ºÃ÷Ѵ·Õèà¡Ô´¤ÇÒÁ¼Ô´¾ÅҴ䴌â´Â¡ÒôѺàºÔŤÅÔ¡·ÕèºÃ÷Ѵ·ÕèáÊ´§¢ŒÍ¼Ô´¾ÅÒ´ â»Ãá¡ÃÁ¨Ð ¡ÃÐâ´´ä»ÂѧµíÒá˹‹§·Õèà¡Ô´¢ŒÍ¼Ô´¾ÅÒ´·Ñ¹·Õ 1.2.2 à¤Ã×ͧÁ×;ÔàÈɪ‹ÇÂ㹡ÒþѲ¹Òâ»Ãá¡ÃÁ è 1.2.2.1 µÒÃÒ§ÃËÑÊáÍÊ¡Õé (ASCII Chart) ໚¹à¤Ã×èͧÁ×Í·Õ誋ÇÂ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ·Õèà¡ÕèÂÇ¢ŒÍ§¡ÑºµÑÇÍÑ¡Éà ËÃ×Í¡ÒèѴ¡ÒâŒÍÁÙÅẺ String â´ÂµÒÃÒ§áÍÊ¡Õ¹ªÇÂãËé¼àéÙ ¢Õ¹â»Ãá¡ÃÁ·ÃÒº¶Ö§ ¤èÒ¢éÍÁÙÅÃËÑÊáÍʡբͧµÑÇÍÑ¡ÉÃËÃ×͵ÑÇ- é éÕ è é àÅ¢ ·Õ¹ÂÁ㪌ÁÒ¡ ¤×Í ¡ÒÃà¢Õ¹¢ŒÍÁÙÅä»áÊ´§¼Å·ÕâÁ´ÙÅ LCD ໚¹µŒ¹ ¡ÒÃàÃÕ¡㪌§Ò¹µÒÃÒ§áÍÊ¡Õé è Ô è ¨ÐàÃÕ¡¨Ò¡àÁ¹Ù Tools à Ascii Chart
  15. 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 è à¤Ã×èͧÁ×Íà¾×èͪ‹ÇÂÃѺáÅÐʋ§¢ŒÍÁÙÅ͹ءÃÁÃÐËNjҧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏáÅФÍÁ¾ÔÇàµÍÏ ¡ÒÃàÃÕ¡㪌§Ò¹·íÒ䴌â´Âä»·Õàè Á¹Ù Tools à USART Terminal ËÃ×Í¡´»ØÁ Ctrl+T ¡ç䴌 †
  16. 16. 16 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.2.2.4 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹¾Íϵ USB ã¹âËÁ´ HID : HID Terminal è ໚¹à¤Ã×ͧÁ×Íà¾×ͪ‹ÇÂ㹡ÒõԴµ‹ÍÃÐËNjҧäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ¡º¤ÍÁ¾ÔÇàµÍÏ ¼‹Ò¹¾Íϵ è è Ñ USB «Ö§ã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ºÒ§àºÍϨÐÁÕâÁ´ÙÅ USB µÔ´µÑ§ÍÂً ઋ¹ PIC18F4550 ໚¹µŒ¹ è é ¡ÒÃàÃÕ¡㪌§Ò¹¨ÐµŒÍ§ä»·Õàè Á¹Ù Tools à HID Teminal 1.2.2.5 ˹ŒÒµ‹Ò§Ê×ÍÊÒâŒÍÁÙż‹Ò¹Ãкºà¹çµàÇÔá : UDP Terminal è  ໚¹à¤Ã×ͧÁ×ÍÃѺʋ§á¾ç¡à¡çµ¢ŒÍÁÙÅã¹Ãкºà¹çµàÇÔá â´Âä»·Õàè Á¹Ù Tools à UDP Terminal è 
  17. 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. 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. 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. 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. 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. 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. 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. 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. 25. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 25 1.4 ˹ŒÒµ‹Ò§áÊ´§Ê¶Ôµ¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒ Ô ËÅѧ¨Ò¡¤ÍÁä¾Åâ»Ãá¡ÃÁáÅŒÇ ¼Ù㪌§Ò¹ÊÒÁÒöàÃÕ¡´ÙʶԵµÒ§æ Íѹ»ÃСͺ仴ŒÇ Œ ԋ 1. Memory usage áÊ´§¡ÒÃ㪌§Ò¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁáÅÐ˹‹Ç¤ÇÒÁ¨íÒ RAM «Ö觨ÐáÊ´§·Ñ駻ÃÔÁҳ˹‹Ç¤ÇÒÁ¨íÒ·ÕèNjҧÍÂًáÅÐ˹‹Ç¤ÇÒÁ¨íÒ·ÕèãªŒä» 2.Procedures (sizes) áÊ´§»ÃÔÁÒ³¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒẋ§µÒÁ¿˜§¡ª¹·Õàè ÃÕ¡㪌 Ñè
  26. 26. 26 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 3.Procedures (locations) áÊ´§µíÒá˹‹§¡ÒÃ㪌§Ò¹Ë¹‹Ç¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§ ¿˜§¡ª¹µ‹Ò§ æ ÀÒÂã¹â»Ãá¡ÃÁ ÃÇÁ¶Ö§»ÃÔÁÒ³¡ÒÃ㪌˹‹Ç¤ÇÒÁ¨íÒã¹áµ‹Å¡ª¹´ŒÇ Ñè Ñè 4.Procedures (details) áÊ´§ÃÒÂÅÐàÍÕ´¢Í§¿˜§¡ªÑè¹µ‹Ò§æ â´ÂÁÕ¡ÒÃÃкصíÒá˹‹§ áÍ´à´ÃÊàÃÔèÁµŒ¹áÅÐÊÔé¹ÊØ´¢Í§¿˜§¡ªÑè¹
  27. 27. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 27 5.RAM ໚¹¡ÒÃáÊ´§ÃÒÂÅÐàÍÕ´¢Í§Ë¹‹Ç¤ÇÒÁ¨íÒ RAM áÅÐÃÕ¨ÊàµÍϵҧæ â´Â Ô ‹ áÊ´§ª×èÍáÅеíÒá˹‹§áÍ´à´ÃʢͧÃÕ¨ÔÊàµÍÏáÅÐ˹‹Ç¤ÇÒÁ¨íÒàËŋҹÑé¹ 6.ROM ໚¹Ë¹ŒÒµ‹Ò§áÊ´§ÃÒÂÅÐàÍÕ´â»Ãá¡ÃÁÀÒÉÒáÍÊá«ÁºÅÕ·àèÕ ¡çºÍÂÙã¹Ë¹‹Ç ‹ ¤ÇÒÁ¨íÒâ»Ãá¡ÃÁ
  28. 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 änj ᵋÊÒÁÒöà»ÅÕ¹໚¹àºÍÏ 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. 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 (µÑÇàÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§µÒÁÃع·ÕÁ¡ÒûÃѺ»ÃاŋÒÊØ´) áÅŒÇ Ñ è ‹ è Õ ·íÒ¡ÒâÂÒÂä¿Å·Õè´ÒǹâËÅ´ÁÒ à¡çºänjã¹â¿Åà´ÍÏ 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 (µÑÇàÅ¢àÇÍϪ¹ÍÒ¨à»ÅÕ¹á»Å§µÒÁÃع·ÕÁ¡ÒûÃѺ»ÃاŋÒÊØ´) áŌǷíÒ¡ÒâÂÒÂä¿Å·´ÒǹâËÅ´ÁÒ à¡çº Ñ è ‹ è Õ Õè änjã¹â¿Åà´ÍÏ PICkit 2 Setup v2.01 ¨Ò¡¹Ñ¹à¢ŒÒä»ã¹â¿Åà´ÍÏ àÅ×Í¡´ÑºàºÔŤÅÔ¡·Õä¿Å PICkit2Setup.msi é è à¾×ÍàÃÔÁµŒ¹µÔ´µÑ§â»Ãá¡ÃÁ è è é
  30. 30. 30 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.5.1.3 ¢Ñ¹µÍ¹¡ÒõԴµÑ§â»Ãá¡ÃÁ é é (1) ´ÑºàºÔŤÅÔ¡ä¿Åµ´µÑ§ PICkit2Setup.msi ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§àÃÔÁ¡ÒõԴµÑ§ ¤ÅÔ¡»ØÁ Next Ô é è é † (2) ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§á¨Œ§µíÒá˹‹§â¿Åà´ÍÏ·¨Ð·íÒ¡ÒõԴµÑ§ ËÒ¡äÁ‹µÍ§¡ÒÃà»ÅÕ¹á»Å§µíÒ Õè é Œ è á˹‹§â¿Åà´ÍÏãˌ¤ÅÔ¡»ØÁ Next à¾×ͼ‹Ò¹¢Ñ¹µÍ¹¹Õä» † è é é (3) ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§á¨Œ§Â×¹Âѹ¡ÒõԴµÑ§â»Ãá¡ÃÁ ¤ÅÔ¡»ØÁ Next à¾×͵ͺµ¡Å§ é † è
  31. 31. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 31 (4) ˹ŒÒµ‹Ò§á¨Œ§ÅÔ¢ÊÔ·¸«Í¿µáÇÏ»ÃÒ¡¯¢Ö¹ ¤ÅÔ¡ I agree à¾×͵ͺÃѺ ¨Ò¡¹Ñ¹¤ÅÔ¡»ØÁ Next é è é † (5) ˹ŒÒµ‹Ò§á¨Œ§Ê¶Ò¹Ð¡ÒõԴµÑ§â»Ãá¡ÃÁ»ÃÒ¡¯¢Ö¹ Ãͨ¹¡Ãзѧ¡ÒõԴµÑ§àÊÃç¨ÊÁºÙó é é è é ¨Ò¡¹Ñ¹Ë¹ŒÒµ‹Ò§á¨Œ§¡ÒõԴµÑ§â»Ãá¡ÃÁàÊÃç¨ÊÁºÙó ¨Ð»ÃÒ¡¯¢Ö¹ ãˌ¤ÅÔ¡»ØÁ Close à¾×Í»´ é é é † è ˹ŒÒµ‹Ò§¹Õé ໚¹ÍѹàĘ̂ÊÔ¹¢Ñ¹µÍ¹¡ÒõԴµÑ§â»Ãá¡ÃÁ PICkit2TM Programming Software é é é
  32. 32. 32 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é 1.5.2 ¡ÒÃàª×ÍÁµ‹Íà¾×Í·´Åͧ·Ò§ÎÒÏ´áÇÏ è è (1) àÃÔÁµŒ¹´ŒÇ¡Òõ‹ÍÊÒ USB ÃÐËNjҧ 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. 33. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 33 (2) µ‹ÍÊÒ ICD ÃÐËNjҧºÍÏ´â»Ãá¡ÃÁ PX-200 ¡ÑººÍϴ໇ÒËÁÒÂËÃ×ͺÍÏ´·´Åͧ (2.1) ¡Ã³Õ㪌¡ººÍÏ´·´Åͧ NX-877 plusII Ñ µ‹Í¾Íϵ USB àª×ÍÁµ‹Í¡Ñ¹´ŒÇÂÊÒ ICD2 è ¨‹ÒÂä¿àÅÕ§ é ¡´ÊÇÔµªàÅ×Í¡âËÁ´ â»Ãá¡ÃÁ (ä¿ÊÕá´§µÔ´ÊNjҧ) ¾×¹·ÕÊÒËÃѺµ‹Íǧ¨Ã·´Åͧ é è í (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. 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. 35. à¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é l 35 º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C àº×ͧµŒ¹ é ÊíÒËÃѺ mikroC ¤ÍÁä¾àÅÍÏ ¡ÒþѲ¹Òâ»Ãá¡ÃÁÀÒÉÒ C ´ŒÇ mikroC ¨ÐµŒÍ§ÊÌҧä¿Åã¹Åѡɳмѧ§Ò¹ËÃ×Íä¿Åâ»Ãà¨ç¡µ (project) «Ö§ÁÕ¢¹µÍ¹·ÕäÁ‹Â§ÂÒ¡ à¹×ͧ¨Ò¡ mikroC ÁÕà¤Ã×ͧÁ×Í·ÕªÇÂʹѺʹع¡ÒÃÊÌҧä¿Å áÅÐÅ´ÀÒÃÐ è Ñé è ؋ è è è‹ ã¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁáÅСÒÃàª×ÍÁâ§ä¿Å è 2.1 ¡ÒÃÊÌҧä¿Åâ»Ãà¨ç¡µ ÁÕ¢Ñ鹵͹â´ÂÊÃØ»´Ñ§¹Õé (1) ແ´â»Ãá¡ÃÁ mikroC ä»·Õàè Á¹Ù Project àÅ×Í¡¤íÒÊѧ New Project ¨Ð»ÃÒ¡¯Ë¹ŒÒµ‹Ò§ è ¡ÒÃÊÌҧ Project ¢Ö¹ÁҴѧÃÙ» é ¡íÒ˹´ª×Íâ»Ãà¨ç¡µ è ¡íÒ˹´µíÒá˹‹§â¿Åà´ÍÏ ÃÒÂÅÐàÍÕ´â»Ãà¨ç¡µ äÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ·àÅ×͡㪌 Õè ¤ÇÒÁ¶ÕÊ­­Ò³¹Ò́¡Ò è Ñ ª‹Í§¡íÒ˹´¤‹Ò¤Ø³Åѡɳзҧ ÎÒÏ´áÇÏËÃ×ͤ͹¿¡àêѹ Ù è
  36. 36. 36 là¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍÏ PIC ´ŒÇ mikroC áÅСÒ÷´Åͧàº×ͧµŒ¹ é ¡ÒáíÒ˹´¤‹Òµ‹Ò§æ ã¹Ë¹ŒÒµ‹Ò§ New Project ÁÕ´§¹Õé Ñ (1.1) Project Name ໚¹¡ÒáíÒ˹´ª×Íä¿Åâ»Ãà¨ç¡µáÅЪ×Í«ÍÏÊâ»Ãá¡ÃÁ è è ÀÒÉÒ C ´ŒÇ â´Âä¿Åâ»Ãà¨ç¡µÁ¹ÒÁÊ¡ÅØ໚¹ .ppc ʋǹä¿Å«ÍÏÊâ»Ãá¡ÃÁÁÕ¹ÒÁÊ¡ØÅ໚¹ .c ã¹·Õè Õ ¹Õ¡Ò˹´ª×ÍÇ‹Ò Project01 éí è (1.2) Project Path ໚¹¡ÒáíÒ˹´µíÒá˹‹§â¿Åà´ÍϷ㪌à¡çºä¿Åâ»Ãà¨ç¡µ èÕ áÅЫÍÏÊâ»Ãá¡ÃÁ ã¹·Õ¹¡Ò˹´µíÒá˹‹§änj·Õè 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. 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. 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 è Ñ

×