àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ Í ¤ÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹
¾Íà µÍ¹Ø¡ÃÁ
PC-Serial port Interfacing text-lab manual 2nd Edition
â´Â ÍÃö¾Å ºØÂÐâÀ¤Ò Çþ¨¹ ¡Ãá¡ ÇÇѲ¹¡ØÅ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ
(C) Innovative Experiment Co.,Ltd. 1
PC-Serial port Interfacing text-lab manual 2nd Edition
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ ISBN 974 -90348-9-9
â´Â ÍÃö¾Å ºØÂÐâÀ¤Ò Çþ¨¹ ¡Ãá¡ ÇÇѲ¹¡ØÅ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ ã¤Ã¤ÇÃ㪠˹ѧÊ×ÍàÅ Á¹Õé 1. ¹Ñ¡àÃÕ¹ ¹ÔÊµÔ ¹Ñ¡ÈÖ¡ÉÒ áÅкؤ¤Å·ÑÇè ä»·ÕÁè ¤Õ ÇÒÁʹã¨ã¹¡ÒÃàÃÕ¹ÃÙ¡ ÒùíÒ¤ÍÁ¾ÔÇàµÍà ÊÇ ¹ºØ¤¤Åàª×Íè Á µ ͡ѺÍØ»¡Ã³ ÀÒ¹͡à¾×Íè ·íÒ¡ÒÃáÅ¡à»ÅÕÂè ¹¢ ÍÁÙÅËÃ×ͤǺ¤ØÁ¡Ò÷íÒ§Ò¹ 2. ʶҺѹ¡ÒÃÈÖ¡ÉÒ âçàÃÕ¹ ÇÔ·ÂÒÅÑ ÁËÒÇÔ·ÂÒÅÑ ·ÕÁè ¡Õ ÒÃà» ´¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒÍÔàÅç¡·ÃÍ¹Ô¡Ê ËÃ×Í ÀÒ¤ÇÔªÒÇÔÈÇ¡ÃÃÁÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍà 3. ¤³Ò¨Òà·ÁÕè ¤Õ ÇÒÁµ ͧ¡ÒÃÈÖ¡ÉÒ áÅÐàµÃÕÂÁ¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒ¡ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ ¹Í¡ (Computer Interfacing) 4. ˹ ǧҹàÍ¡ª¹·ÕÁè ¡Õ ÒþѲ¹Ò¼ÅÔµÀѳ± ´Ò ¹ÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍÃ
´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾ áÅШíÒ˹ ÒÂâ´Â ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ 3133/53 «.ÊØ¢ÁØ ÇÔ· 101/2 ¶.ÊØ¢ÁØ ÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005
ÃÒÂÅÐàÍÕ´·Õ»è ÃÒ¡¯ã¹Ë¹Ñ§Ê×ÍàÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ (©ºÑº»ÃѺ»Ãا¤ÃÑ§é ·Õè 2) ä´ ¼Ò ¹¡ÒõÃǨ·Ò¹Í ҧÅÐàÍÕ´áÅж ǹ¶Õè à¾×Íè ãË Á¤Õ ÇÒÁÊÁºÙó áÅж١µ ͧÁÒ¡ ·ÕèÊØ´ÀÒÂãµ à§×è͹ä¢áÅÐàÇÅÒ·Õè¾Ö§ÁÕ¡ ͹¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ¤ÇÒÁàÊÕÂËÒÂÍѹÍÒ¨à¡Ô´¨Ò¡¡ÒùíÒ¢ ÍÁÙÅ㹠˹ѧÊ×ÍàÅ Á¹Õäé »ãª ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÁÔä´ ÁÀÕ ÒÃÐ㹡ÒÃÃѺ¼Ô´ªÍºáµ »ÃСÒÃã´ ¤ÇÒÁ ¼Ô´¾ÅÒ´¤ÅÒ´à¤Å×Íè ¹·ÕÍè Ò¨ÁÕáÅÐä´ ÃºÑ ¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ÍÍ¡ä»¹Ñ¹é ·Ò§ºÃÔÉ·Ñ Ï ¨Ð¾ÂÒÂÒÁªÕáé ¨§áÅÐá¡ ä¢ ã¹¡ÒèѴ¾ÔÁ¾ ¤ÃÑ§é µ Íä» àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 2
¤íÒ¹íÒ ¡ÒÃàª×è Í Áµ Í ÍØ » ¡Ã³ À Ò¹͡¢Í§¤ÍÁ¾Ô Ç àµÍà ¼ Ò ¹¾Íà µ Í¹Ø ¡ ÃÁà» ¹ àÃ×è Í §·Õè ¹Ñ ¡ ¾Ñ ² ¹ÒáÅÐ ¹Ñ¡·´ÅÍ§ä´ ¡ÃзíҡѹÁÒÍ ҧµ Íà¹×Íè § áÅÐ㹪 ǧäÁ ¡»Õè · ¼Õè Ò ¹ÁÒ¹Õàé ¹×Íé ËҢͧ෤â¹âÅÂÕᢹ§¹Õäé ´ ÃºÑ ¤ÇÒÁʹ㨠à¾ÔÁè ¢Ö¹é ÍÂ Ò §ÁÒ¡ ÁÕ¹¡Ñ ·´Åͧ·Õ¹è Òí ¢ ÍÁÙÅ ¡ÅàÁç´à¤Åç´ÅѺ à·¤¹Ô¤ÇÔ¸¡Õ Òà µÅÍ´¨¹â»Ãá¡ÃÁµÑÇÍ ҧ ÍÍ¡ÁÒà¼Â á¾Ã Í ҧÁÒ¡ã¹Ç§¡Ç Ò§ ´Ñ§¹Ñé¹ã¹Çѹ¹Õé¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ¨Ö§à» ¹ ÈÒʵà ·àÕè » ´à¼Â äÁ Å¡Ö ÅѺ áÅÐäÁ 㪠àÃ×Íè §à©¾ÒоÔàÈɢͧÇÔÈÇ¡ÃËÃ×ͪ ҧ෤¹Ô¤ÍÕ¡µ Íä» áÁ Ç Ò¡ÒÃàÃÕ¹ÃÙ àÃ×èͧÃÒǢͧ¡ÒÃàª×èÍÁµ ÍÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ¨ÐÁÕ ¤ÇÒÁ«Ñº« ͹ÁÒ¡¡Ç Ò¾Íà µ¢¹Ò¹¾Í¤ÇáçµÒÁ ·Ñ駹Õéà¹×èͧ¨Ò¡¢ ÍÁÙÅ·Õè¶ Ò·ʹº¹ÊÒÂÊÑÒ³¼ Ò¹¾Íà µ¹Ñé¹ ¡ÃзíÒã¹ÅѡɳÐ͹ءÃÁ µ ͧ¶ Ò·ʹ¢ ÍÁÙÅà» ¹ºÔµàÃÕ§µ Í¡Ñ¹ä» àÁ×Íè ¤ÃºáŠǵ ͧÁÕ¡ÒõÃǨÊÍºÇ Ò¢ ÍÁÙÅ·Õ·è Òí ¡Òö Ò·ʹ¹Ñé¹ ¶Ù¡µ ͧÁÒ¡¹ ÍÂà¾Õ§äà ÁÕ¤ÇÒÁÊÁºÙó ¤Ãº¶ ǹËÃ×ÍäÁ àÁ×èÍ·Ø¡Í ҧ¶Ù¡µ ͧÊÁºÙó ¡ç¨Ð »ÃÐÁÇżŢ ÍÁÙÅà¾×Íè µÔ´µ ͡ѺÍØ»¡Ã³ ÀÒ¹͡µ Íä» áµ ¶Ò ÁÕ¡ÒÃàµÃÕÂÁ¢ ÍÁÙÅ à¤Ã×Íè §Á×Í·Ò§ÎÒà ´áÇà µÅÍ´¨¹ µÑÇÍ ҧ¡Ò÷´Åͧ·Õäè Á «ºÑ « ͹¹Ñ¡ ¡ç·Òí ãË àª×Íè ä´ ÇÒ ¡ÒÃàÃÕ¹ÃÙà ¾×Íè àª×Íè Áµ ÍÍØ»¡Ã³ ÀÒ¹͡¢Í§¤ÍÁ¾ÔÇàµÍà ¼Ò ¹ ¾Íà µÍ¹Ø¡ÃÁà» ¹àÃ×Íè §·ÕÊè ÒÁÒö·íÒä´ ¨ÃÔ§ áÅÐäÁ ÂÒ¡à¡Ô¹ä»
˹ѧÊ×ÍàÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ ͹ءÃÁàÅ Á¹Õäé ´ ÃºÑ ¡ÒûÃѺ»Ãاà¹×Íé ËÒ, â»Ãá¡ÃÁµÑÇÍ ҧãË ÊÒÁÒö㪠§Ò¹º¹Ãкº»¯ÔºµÑ Ô ¡ÒÃÇÔ¹â´ÇÊ 98/ME/2000/NT áÅÐ XP, à¾ÔÁè àµÔÁáÅлÃѺ»ÃاÍØ»¡Ã³ ·Ò§ÎÒà ´áÇà ãË ÊÒÁÒö ·´Åͧàª×èÍÁµ ͡ѺÍØ»¡Ã³ ä´ à¾ÔèÁáÅÐÁÕ¤ÇÒÁËÅÒ¡ËÅÒÂÁÒ¡¢Öé¹ ÊíÒËÃѺÎÒà ´áÇà ·ÍÕè Ò §¶Ö§¹ÕÂé §Ñ ¤§ãª ª´Ø ·´ÅͧÃع NX-2000 ¢Í§ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔ àÁ¹µ ¨íÒ¡Ñ´ â´ÂÊÒÁÒö㪠·§Ñé ã¹Ãع ÁҵðҹáÅÐÃع Plus «Ö§è ÁÕ¡ÒÃà¾ÔÁè àµÔÁºÍà ´·´ÅͧÍÕ¡ 2 ºÍà ´¤×Í ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ ¼ Ò¹ÃкºÊ×Íè ÊÒÊÃ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ áÅÐ ºÍà ´ ÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C ·ÕÊè Òí ¤ÑÁÒ¡ÍÕ¡»ÃСÒÃË¹Ö§è ¤×Í ¡ÒûÃѺ»Ãا S-Board «Ö§è à» ¹ ἧǧ¨Ãàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ à» ¹àÇÍà ª¹Ñè 2.0 â´Â·Ò§äÍà¹ç¡« ä´ ¾² Ñ ¹ÒäÍ«Õ UART ¢Ö¹é ÁÒ àͧ ·´á·¹¡ÒÃ㪠CDP6402 «Ö§è » ¨¨Øº¹Ñ ËÒÂÒ¡ÁÒ¡ ¹Í¡¨Ò¡¨Ð㪠§Ò¹ä´ àËÁ×͹¡Ñ¹áÅ Ç Âѧà¾ÔÁè àµÔÁ ¤ÇÒÁÊÒÁÒö㹴 Ò¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊࢠÒä»ÍÕ¡´ Ç ·íÒãË Á¹Ñè ã¨ä´ ÇÒ ¼Ùà ÃÕ¹ ¨ÐÊÒÁÒö·íÒ¤ÇÒÁࢠÒã¨ã¹à·¤â¹âÅÂÕ´Ò ¹¹Õäé ´ Í ҧ¤Ãº¶ ǹÊÁºÙó à¾ÔÁè ÁÒ¡¢Ö¹é ¢ÍãË ¹Ñ¡·´Åͧ·Ø¡· ҹʹء¡Ñº¡ÒÃàÃÕ¹ÃÙ à¾×è͹íÒ¤ÍÁ¾ÔÇàµÍà ä»ãª §Ò¹ã¹ÍÕ¡á¹Ç·Ò§Ë¹Ö觷ÕèÍÒ¨à¤Â Áͧ¢ ÒÁËÃ×Í¤Ô´Ç ÒÁѹÂÒ¡à¡Ô¹ä» ÍÃö¾Å ºØÂÐâÀ¤Ò Çþ¨¹ ¡Ãá¡ ÇÇѲ¹¡ØÅ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 3
ÊÒÃºÑ º··Õè 1 ·íÒ¤ÇÒÁÃÙ¨ ¡Ñ ¡Ñº¾Íà µÍ¹Ø¡ÃÁ ..............................................................................7 º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè 㪠§Ò¹¾Íà µÍ¹Ø¡ÃÁ ...........................................................23 º··Õè 3 ἧǧ¨Ã·´Åͧ¡ÒÃàª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ .................. 41 º··Õè 4 ¡ÒÃÊ §áÅÐÍ Ò¹¢ ÍÁÙż Ò¹¾Íà µÍ¹Ø¡ÃÁ RS-232 .................................................. 47 ¡Ò÷´Åͧ·Õè 1 ¡ÒÃÊ §¢ ÍÁÙż Ò¹¾Íà µÍ¹Ø¡ÃÁàº×Íé §µ ¹ ........... 49 ¡Ò÷´Åͧ·Õè 2 ¡ÒÃÊà ҧà¤Ã×Íè §µÑ§é àÇÅÒ¨Ò¡¤ÍÁ¾ÔÇàµÍà .......... 56 ¡Ò÷´Åͧ·Õè 3 ¡ÒÃÍ Ò¹¤ ÒÅͨԡࢠÒÊÙ¾ Íà µÍ¹Ø¡ÃÁ ................. 61 º··Õè 5 ¡ÒÃ㪠§Ò¹ UART à¾×Íè à»ÅÕÂè ¹¢ ÍÁÙÅ͹ءÃÁà» ¹¢¹Ò¹ áÅÐà»ÅÕÂè ¹¢ ÍÁÙÅ¢¹Ò¹à» ¹Í¹Ø¡ÃÁ ............................................................... 63 ¡Ò÷´Åͧ·Õè 4 ¡ÒÃÃѺ¢ ÍÁÙŢͧäÍ«Õ UART àºÍà UTX8100 à¾×Íè Ê §ÍÍ¡·Ò§ UART OUT ............................... 69 ¡Ò÷´Åͧ·Õè 5 ¡ÒÃÃѺ¢ ÍÁÙŨҡ UART IN ¢Í§ S-Board ............70 º··Õè 6 ¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ¡ÃÐáÊÊÙ§¼ Ò¹¾Íà µÍ¹Ø¡ÃÁâ´Â㪠UART .................. 73 ¡Ò÷´Åͧ·Õè 6 ¤Çº¤ØÁ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà ´ Ç S-Board ....................................................... 78 ¡Ò÷´Åͧ·Õè 7 ¡ÒâѺÃÕàÅ ¼Ò ¹¾Íà µÍ¹Ø¡ÃÁ ...........................82 º··Õè 7 ¡ÒõÃǨÊͺ¤ÇÒÁ¼Ô´¾ÅÒ´¢Í§¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ¼ Ò¹ UART ............ 85 ¡Ò÷´Åͧ·Õè 8 ¡ÒÃÃѺ¢ ÍÁÙÅ͹ءÃÁáÅÐ µÃǨÊͺ¤ÇÒÁ¼Ô´¾ÅÒ´ ................................... 87 º··Õè 8 ¡ÒÃàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ¡ÑºÃкººÑÊ I2C .................................................... 93 º··Õè 9 ¡ÒâÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ãË á¡ ¾Íà µÍ¹Ø¡ÃÁ´ ÇÂÃкººÑÊ I2C ...............105 ¡Ò÷´Åͧ·Õè 9 ¡ÒâÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¢Í§¾Íà µÍ¹Ø¡ÃÁ ¼ Ò¹ÃкººÑÊ I2C ................................................ 112
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 4
ÊÒÃºÑ º··Õè 10 ¡ÒÃàª×Íè Áµ ÍÊÑÒ³ÍйÒÅÍ¡¡Ñº¾Íà µÍ¹Ø¡ÃÁ¼ Ò¹ÃкººÑÊ I2C ...............115 ¡Ò÷´Åͧ·Õè 10 ¡ÒûÃÐÁÇżÅÊÑÒ³ÍйÒÅÍ¡¢Í§ ¾Íà µÍ¹Ø¡ÃÁ¼ Ò¹ÃкººÑÊ I2C ......................... 127 º··Õè 11 ¡ÒâÂÒ¨íҹǹàÍÒµ ¾µØ ¢Í§¾Íà µÍ¹Ø¡ÃÁ â´Â㪠ª¿ Ô µ Ã¨Õ ÊÔ àµÍà ....................................................................................... 135 ¡Ò÷´Åͧ·Õè 11 ¢ÂÒ¾Íà µàÍÒµ ¾ØµãË á¡ ¾Íà µÍ¹Ø¡ÃÁ ¼ Ò¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ......141 ¡Ò÷´Åͧ·Õè 12 ¢ÂÒ¾Íà µàÍÒµ ¾Øµ´ Ç¿ §¡ ªÑè¹¾ÔàÈÉ ¢Í§ S-Board V2.0 ............................................... 144 º··Õè 12 ¾Íà µÍ¹Ø¡ÃÁ¡Ñº¡ÒÃÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C .......................................... 147 ¡Ò÷´Åͧ·Õè 13 ¾Íà µÍ¹Ø¡ÃÁ¡Ñº¡ÒÃÇÑ´ÍسËÀÙÁÔ ¼ Ò¹ÃкºÑÊ I2C â´Â㪠äÍ«Õ DS1621 .................. 141
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 5
..
º··Õè 1
·íÒ¤ÇÒÁÃÙ¨ ¡Ñ ¡Ñº¾Íà µÍ¹Ø¡ÃÁ ¡ÒÃà¤Å×Íè ¹Â Ò¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ä»ÂѧÍØ»¡Ã³ µÍ ¾ ǧÍ×¹è æ ËÃ×ͤÍÁ¾ÔÇàµÍà ´Ç ¡ѹ Ẻ͹ءÃÁ à» ¹¡ÒÃÃÑºÊ §¢ ÍÁÙŤÃѧé ÅÐ 1 ºÔµ áµ ¡Êç ÒÁÒöÃÑºÊ §¢ ÍÁÙÅä´ ¤ÃÒÇÅÐËÅÒÂæ ºÔµä´ ËÒ¡áµ ¨Ðµ ͧÁÕ¡Òõ¡Å§¡Ñ¹ÃÐËÇ Ò§µÑÇÊ §áÅеÑÇÃÑºÇ Ò ¨ÐÃÑºÊ §¢ ÍÁÙŤÃÒÇÅÐ¡Õºè µÔ µÑÇÃѺ¨Ðµ ͧÃÍ ¢ ÍÁÙÅÁÒãË ¤Ãº·Ø¡ºÔµàÊÕ¡ ͹¨Ö§·íÒ¡ÒûÃÐÁÇÅ¼Å Ê §¼ÅãË ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍÒ¨ÁÕ¤ÇÒÁàÃçÇ µèÒí ¡Ç ÒẺ¢¹Ò¹ ã¹´ Ò¹¨íҹǹÊÒÂÊÑÒ³¡ÒÃÃÑºÊ §¢ ÍÁÙÅẺ͹ءÃÁ¨Ð㪠¨Òí ¹Ç¹ÊÒ·չè Í Â¡Ç Ò ÁÒ¡ Í ҧ¹ Í·ÕÊè ´Ø ãª à¾Õ§ 2-3 àÊ ¹à· ҹѹé áµ ÍµÑ ÃÒàÃçÇ㹡ÒÃÃÑºÊ §¢ ÍÁÙÅÍÒ¨µèÒí ¡Ç ÒẺ¢¹Ò¹ Í ҧ äáçµÒÁ¡ÒÃÃÑºÊ §¢ ÍÁÙÅẺ͹ءÃÁÊÒÁÒö㪠ÊÒÂÊÑÒ³·ÕÁè ¤Õ ÇÒÁÂÒÇÁÒ¡¡Ç ÒẺ¢¹Ò¹ ·íÒãË ÃÐÂзҧ㹡ÒÃÊ×èÍÊÒâ ÍÁÙÅẺ͹ءÃÁÊÒÁÒö·íÒä´ ÁÒ¡¡Ç Ò
¡ÒÃÊ×èÍÊÒÃẺ͹ءÃÁ ¡ÒÃÊ×èÍÊÒÃẺ͹ءÃÁ¹Ñ鹨ÐẠ§ÍÍ¡ä´ à» ¹ 2 Ẻ¤×Í¡ÒÃÊ×èÍÊÒÃ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ áÅСÒÃÊ×Íè ÊÒÃ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊ ¡ÒÃÊ×Íè ÊÒÃẺ«Ô§â¤Ã¹ÑʨÐÁÕÊ Ñ Ò³¹ÒÌ ¡Òà ÇÁÍÂÙ¡ ºÑ ¡Òà ÃѺáÅÐÊ §ÊÑÒ³´ Ç µÑÇÍ ҧ¡ÒÃÊ §¢ ÍÁÙÅẺ«Ô§â¤Ã¹ÑÊ¡ç¤Í× ¤Õº Íà ´¢Í§¤ÍÁ¾ÔÇàµÍà «Ö§è ÊÒ àÊ ¹Ë¹Ö§è ¨Ðà» ¹ÊÒ¢ͧÊÑÒ³¹ÒÌ ¡Ò Ê Ç¹ÊÒÂÍÕ¡àÊ ¹¨Ðà» ¹ÊÒ¢ͧ¢ ÍÁÙÅ ´Ñ§¹Ñ¹é ¡ÒõԴµ ͡ѹ Ẻ«Ô§â¤Ã¹ÑʹÕé¨Ðµ ͧ㪠ÊÒÂ㹡ÒÃàª×èÍÁµ ÍÍ ҧ¹ Í·ÕèÊØ´ 3 àÊ ¹¤×Í ÊÑÒ³¹ÒÌ ¡Ò, ¢ ÍÁÙÅ áÅСÃÒÇ´ ÃÙ»·Õè 1-1 áÊ´§ãË àË繶֧ä·ÁÔ§è ä´ÍÐá¡ÃÁ¢Í§¡ÒÃÊ §¢ ÍÁÙÅẺ«Ô§â¤Ã¹ÑÊ
LSB ºÔµ 0
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
MSB ºÔµ 7 ÊÑÒ³¹ÒÌÔ¡Ò
0
1
1
0
1
1
0
0
ÃÙ»·Õè 1-1 ÃٻẺÍ ҧ§ Ò·ÕÊè ´Ø ¢Í§¢ ÍÁÙÅ͹ءÃÁ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ %
¡ÒÃÊ×èÍÊÒâ ÍÁÙÅẺÍЫԧâ¤Ã¹ÑÊ ¡ÒÃÊ×èÍÊÒâ ÍÁÙÅẺÍЫԧâ¤Ã¹Ñʤ×Í¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅä»ã¹ÊÒÂâ´ÂäÁ ¨íÒà» ¹µ ͧÁÕ ÊÑÒ³¹ÒÌ ¡Òà ÇÁ´ ÇÂàËÁ×͹¡Ñº¡ÒÃÃÑºÊ §¢ ÍÁÙÅẺ«Ô§â¤Ã¹ÑÊ áµ ¨Ð㪠¡ÒáíÒ˹´¤ ÒÊÑÒ³ ¹ÒÌ ¡Ò·Ñ§é ÀÒ¤ÃѺáÅÐÀÒ¤Ê §ãË Á¤Õ Ò à· Ò¡Ñ¹ «Ö§è àÃÕ¡ÊÑÒ³¹ÒÌ ¡Ò·Õãè ª 㹡ÒáíÒ˹´¤ ÒãË ÀÒ¤ÃѺ áÅÐÀÒ¤Ê §¹ÕÇé Ò ÍѵÃÒ¡Òö Ò·ʹ¢ ÍÁÙÅ ËÃ×Í ºÍ´àõ (baudrate) ÁÕ˹ ÇÂà» ¹ ºÔµµ ÍÇÔ¹Ò·Õ (bit per secone : bps) ÃٻẺ¢Í§¢ ÍÁÙÅ·Õãè ª 㹡ÒÃÃÑºÊ §áººÍЫԧâ¤Ã¹ÑÊ»ÃСͺ´ Ç 4 Ê Ç¹´ Ç¡ѹ¤×Í 1. ºÔµàÃÔÁè µ ¹ (Start Bit) «Ö§è ¨ÐÁÕ¢¹Ò´ 1 ºÔµ 2. ºÔµ¢ ÍÁÙÅẺ͹ءÃÁ¨ÐÁÕ¢¹Ò´ 5,6,7 ËÃ×Í 8 ºÔµ 3. ºÔµµÃǨÊͺ¾ÒÃÔµÕé (Parity Bit) ¨ÐÁÕ¢¹Ò´ 1 ºÔµËÃ×ÍäÁ ÁÕ 4. ºÔµ» ´· Ò (Stop Bit) ¨ÐÁÕ¢¹Ò´ 1,1.5 ËÃ×Í 2 ºÔµ ÃÙ»·Õè 1-2 áÊ´§ÃٻẺ¢Í§¢ ÍÁÙÅ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊ àÁ×Íè äÁ Á¢Õ Í ÁÙÅ·Õ¨è ÐÊ § ¢Ò DATA ¨ÐÁÕʶҹÐÅͨԡ 1 «Ö§è ¨ÐàÃÕ¡ʶҹйÕÇé Ò Ê¶Ò¹ÐËÂØ´ÃÍ (waiting stage) ¡ÒÃàÃÔÁè µ ¹Ê §¢ ÍÁÙÅ ¨ÐàÃÔÁè ¨Ò¡¡ÒÃãË ¢Ò DATA ÁÕÅͨԡ 0 ´ Ǫ ǧÃÐÂÐàÇÅÒ 1 ºÔµ àÃÕ¡ºÔµ¹ÕÇé Ò ºÔµàÃÔÁè µ ¹ ¨Ò¡¹Ñ¹é ºÔµ¢ ÍÁÙÅ¨Ð¶Ù¡Ê §ÍÍ¡ä» â´ÂàÃÔÁè ¨Ò¡ºÔµ·ÕÁè ¹Õ ÂÑ ÊíҤѵèÒí ÊØ´ (LSB) ¡ ͹ «Ö§è ¢ ÍÁÙÅã¹äºµ ·¨Õè ÐÊ § ÍÒ¨¨ÐÁÕ¨Òí ¹Ç¹ºÔµ 5,6,7 ËÃ×Í 8 ºÔµ¡çä´ ¨Ò¡¹Ñ¹é µÒÁ´ Ç ºÔµ¾ÒÃÔµÕé «Ö§è 㪠à¾×Íè µÃǨÊͺ¤ÇÒÁ¼Ô´ ¾ÅÒ´·Õàè ¡Ô´¢Ö¹é ¨Ò¡¡ÒÃÊ §¢ ÍÁÙÅ ºÔµÊØ´· Ò·ÕÊè § ¤×Í ºÔµ» ´· Ò «Ö§è ¨ÐãË ¢Ò´Òµ ÒÁÕʶҹÐÅͨԡ 1 ÍÕ¡¤ÃÑ§é ´ ÇÂÃÐÂÐàÇÅÒÍ ҧ¹ Í 1 ºÔµ,1.5 ºÔµ ËÃ×Í 2 ºÔµ à¾×Íè à» ¹¡ÒÃáÊ´§Ç ÒÊÔ¹é ÊØ´¢ ÍÁÙÅáÅ Ç ÍØ»¡Ã³ ¾ÔàÈÉ·Õèä´ ÃѺ¡ÒÃÍ͡ẺÁÒÊíÒËÃѺ¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅẺÍЫԧâ¤Ã¹ÑÊàÃÕÂ¡Ç Ò Universal Asynchronous Receiver/Transmitter ËÃ×Í UART ÍѵÃÒ¤ÇÒÁàÃçÇ㹡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅ ¢Í§¡ÒÃÃÑºÊ §¢ ÍÁÙÅẺÍЫԧâ¤Ã¹Ñʤ×Í ¤ Һʹàõ «Ö§è ¡ç¤Í× ¤ Ò¨íҹǹºÔµµ ÍÇÔ¹Ò·Õ·ãÕè ª 㹡ÒÃÃѺáÅÐ Ê §¢ ÍÁÙÅ ºÍ´àõÁҵðҹ·Õãè ª ÊÒí ËÃѺ¾Íà µÍ¹Ø¡ÃÁ RS-232 ä´ á¡ 110, 150, 300, 600, 1200, 2400, 4800, 9600 áÅÐ 19200 ºÔµµ ÍÇÔ¹Ò·Õ áÅÐÁÕ¤Ò à¾ÔÁè ÁÒ¡¢Ö¹é µÒÁà·¤â¹âÅÂբͧ¤ÍÁ¾ÔÇàµÍà «Ö§è ¡ÒÃÃÑºÊ §áººÍ¹Ø¡ÃÁâ´ÂäÁ ¼Ò ¹âÁà´çÁÍÒ¨¨ÐÊÒÁÒö¡íÒ˹´¤ ҺʹàÃµä´ Ê§Ù ¶Ö§ 115200 ºÔµ µ ÍÇÔ¹Ò·Õ à¹×Íè §¨Ò¡ºÍ´àõ¤×ͨíҹǹºÔµ¢Í§¢ ÍÁÙÅ·ÕÊè ÒÁÒö¶ ÒÂ·Í´ä´ ÀÒÂã¹ 1 ÇÔ¹Ò·Õ Â¡µÑÇ Í ҧ ¢ ÍÁÙÅ͹ءÃÁ¶Ù¡Ê §ã¹ÅѡɳР8 ºÔµ äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé ÁÕºµÔ àÃÔÁè µ ¹ 1 ºÔµ áÅкԵ» ´ · Ò 1 ºÔµ ¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅ·ÕÃè ºÑ Ê §¹Õàé · ҡѺ 10 ºÔµ ¶ Ò㪠ºÍ´àõ㹡ÒÃÊ §¢ ÍÁÙÅ෠ҡѺ 9600 ºÔµµ ÍÇÔ¹Ò·Õ ¡ç¨ÐÊÒÁÒöÃÑºÊ §¢ ÍÁÙÅä´ ´Ç ¤ÇÒÁàÃçÇ 960 亵 µÍ ÇÔ¹Ò·Õ áÅж ÒÁÕ¡ÒÃ㪠¾ÒÃÔµ¤Õé ÇÒÁ àÃçÇ㹡ÒÃÃÑºÊ §¢ ÍÁÙŨÐàËÅ×Íà» ¹ 872 亵 µÍ ÇÔ¹Ò·Õ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ &
ʶҹРºÔµàÃÔÁè µ ¹ ËÂØ´ÃÍ
LSB ¢ ÍÁÙÅ ºÔµ 0
¢ ÍÁÙÅ ºÔµ 1
¢ ÍÁÙÅ ºÔµ 2
¢ ÍÁÙÅ ºÔµ 3
¢ ÍÁÙÅ ºÔµ 4
¢ ÍÁÙÅ ºÔµ 5
¢ ÍÁÙÅ ºÔµ 6
MSB ¢ ÍÁÙÅ ºÔµ 7
ºÔµ¾ÒÃÔµéÕ
ºÔµËÂØ´
ʶҹРËÂØ´ÃÍ
ÃÙ»·Õè 1-2 ÃٻẺÍ ҧ§ Ò·ÕÊè ´Ø ¢Í§¢ ÍÁÙÅ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊ ¡ÒõÃǨÊͺ¾ÒÃÔµÊÕé ÒÁÒö¡íÒ˹´ãË à» ¹áºº¤Õè (odd), Ẻ¤Ù (even) ËÃ×ÍäÁ Á¡Õ ÒõÃǨ Êͺ¾ÒÃÔµ¡Õé äç ´ ¡ÒõÃǨÊͺ¾ÒÃÔµàÕé » ¹¡ÒõÃǨÊͺ¨íҹǹÃÇÁ¢Í§ºÔµ·Õàè » ¹Åͨԡ 1 ÀÒ 㹢 ÍÁÙÅ·ÕÊè § ä» 1 亵 ÇÒ ÁÕ¨Òí ¹Ç¹ÃÇÁà» ¹àÅ¢¤ÙË Ã×ÍàÅ¢¤Õâè ´Âµ ͧÃÇÁºÔµ¾ÒÃÔµàÕé ¢ Òä»´ Ç ¡ µÑÇÍ ҧ ¢ ÍÁÙÅ·Õ¨è зíÒ¡ÒÃÊ §ÁÕ¢¹Ò´ 8 ºÔµáÅÐÁÕ¤Ò à· Ò¡Ñº 99 °Ò¹ÊԺˡ ËÃ×Í 10011001 °Ò¹Êͧ ¨ÐàËç¹Ç Ò¢ ÍÁÙÅã¹äºµ ¹ÁÕé ¨Õ Òí ¹Ç¹Åͨԡ 1 ¨íҹǹ 4 µÑÇ«Ö§è à» ¹àÅ¢¤Ù ´Ñ§¹Ñ¹é ¶ Ò¡íÒ˹´¤ Ò¾ÒÃÔµàÕé » ¹¤Ù ¤ Ò㹺Ե¾ÒÃÔµÕé ¨Ðµ ͧÁÕÅͨԡ໠¹ 0 áµ ¶Ò ¾ÒÃÔµàÕé » ¹¤Õè ¤ Ò·Õºè µÔ ¾ÒÃÔµ¨Õé е ͧ໠¹ 1 à¾×Íè ãË ¢ ÍÁÙÅ 1 亵 ÃÇÁ·Ñ§é ºÔµ¾ÒÃÔµÁÕé ¨Õ Òí ¹Ç¹ºÔµ·Õàè » ¹Åͨԡ 1 ÃÇÁ¡Ñ¹à» ¹àÅ¢¤Õè ã¹µÒÃÒ§·Õè 1-1 áÊ´§ µÑÇÍ ҧ¢Í§ºÔµ¾ÒÃÔµãÕé ¹¡ÒÃÃÑºÊ §¢ ÍÁÙÅ͹ءÃÁ ºÔµ¾ÒÃÔµ¶Õé ¡Ù Êà ҧ¢Ö¹é ¨Ò¡ÀÒ¤Ê §¢ ÍÁÙŢͧ UART â´ÂÀÒ¤ÃѺ¨Ðµ ͧ¡íÒ˹´¤Ø³ÊÁºÑµ¡Ô Òà µÃǨÊͺ¾ÒÃÔµãÕé Ë µÃ§¡Ñ¹Ç Ò ¨ÐµÃǨÊͺ¾ÒÃÔµ¤Õé ËÕè Ã×ͤ٠¨Ò¡¹Ñ¹é ÀÒ¤ÃѺ¢Í§ UART ¨ÐµÃǨÊͺ ¤ Ò¾ÒÃÔµÕé·Õèà¡Ô´¢Öé¹Ç Òà» ¹¤Ù ËÃ×Íà» ¹¤Õè â´Â¡ÒùѺ¨íҹǹÅͨԡ 1 ·Ñé§ËÁ´ÃÇÁ·Ñ駺Ե¾ÒÃÔµÕé´ Ç ¶ Ò¡íÒ˹´¾ÒÃÔµäÕé Ç à» ¹¤Ùá µ ÍÒ ¹¤ ÒµÑÇàŢ㹡ÒùѺÍÍ¡ÁÒä´ µÇÑ àŢ໠¹¤Õè ·Ò§ÀÒ¤ÃѺ¨Ðᨠ§¢ ͼԴ ¾ÅÒ´ãË ¼ãÙ ª ·ÃÒº ¹Ñºà» ¹¡ÒõÃǨÊͺ¤ÇÒÁ¼Ô´¾ÅÒ´¢Í§¡Òö Ò·ʹ¢ ÍÁÙÅ·Õ§è Ò Â·ÕÊè ´Ø áµ ¨Ðàª×Íè ¶×Íä´ àÁ×Íè ÁÕºµÔ ¢ ÍÁÙÅ·Õ·è Òí ¡ÒÃÊ §¼Ô´¾ÅÒ´à¾Õ§ºÔµà´ÕÂÇà· Ò¹Ñ¹é ¶ Ò¢ ÍÁÙÅ·ÕÊè § ÁÕºµÔ ·Õ¼è ´Ô ¾ÅÒ´ÁÒ¡¡Ç Ò 1 ºÔµ ¡ÒõÃǨÊͺ´ ÇÂÇÔ¸¹Õ ¨Õé ÐäÁ ä´ ¼Å ÊíÒËÃѺ¡ÒÃµÑ§é ¾ÒÃÔµºÕé µÔ à» ¹ NONE ¹Ñ¹é ·Ñ§é ÀÒ¤ÃѺáÅÐ ÀÒ¤Ê § ¨ÐäÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé ¢ ÍÁÙÅ
ºÔµ¾ÒÃÔµÕé¤Ù
ºÔµ¾ÒÃÔµÕé¤Õè
¤ÍÁ¾ÔÇàµÍà ã¹Ãع AT à¡×ͺ·Ñ§é ËÁ´¨Ð 㪠UART àºÍà 16450 áÅÐ 16550 Ê Ç¹ ¤ÍÁ¾ÔÇàµÍà ã¹Ãع XT 㪠UART àºÍà 8250 UART ªÔ»àËÅ Ò¹ÕÁé ÃÕ Ð´Ñºáç´Ñ¹à» ¹áºº·Õ·áÕ ÍÅ (0 áÅÐ +5V) áµ à¾×èÍãË ÁÕáç´Ñ¹à» ¹ä»µÒÁ Áҵðҹ RS-232 áÅÐà¾×Íè ãË ¡ÒÃÃÑºÊ §¢ ÍÁÙÅ ÊÒÁÒö·íÒä´ ·ÕèÃÐÂзҧä¡ÅÁÒ¡¢Öé¹ ÃдѺáç ´Ñ¹·Õ·ÕáÍŨж١á»Å§à» ¹ÃдѺáç´Ñ¹·ÕèÊÙ§¢Öé¹ â´ÂÅͨԡ 0 ÁÕÃдѺáç´Ñ¹ +3V ¶Ö§ +12V ã¹¢³Ð·ÕÅè ͨԡ 1 ÁÕÃдѺáç´Ñ¹ -3V ¶Ö§ -12V
µÒÃÒ§·Õè 1-1 áÊ´§ºÔµ¾ÒÃÔµ¢Õé ͧ¢ ÍÁÙÅ
àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ '
Áҵðҹ¾Íà µÍ¹Ø¡ÃÁẺ RS-232 Áҵðҹ¡ÒÃàª×èÍÁµ ÍẺ͹ءÃÁ RS-232 à» ¹ÁҵðҹÍصÊÒË¡ÃÃÁ·ÕèÍ͡ẺÁÒ à¾×Íè 㪠㹡ÒÃÊ §¢ ÍÁÙÅ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊ 2 ·ÔÈ·Ò§ â´ÂÁҵðҹ RS-232 ã¹Í´Õµ¹Ñ¹é ¶Ù¡ Í͡ẺÁÒà¾×èÍ¡ÒÃÊ §¼ Ò¹¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ä»ÂѧâÁà´çÁà¾Õ§Í ҧà´ÕÂÇ à¾×èÍ·Õè¨Ð¹íÒ¢ ÍÁÙÅ ¨Ò¡âÁà´çÁ¹ÕÊé Í×è ÊÒü Ò¹ÊÒÂâ·ÃÈѾ· ä»Âѧ¤ÍÁ¾ÔÇàµÍÃ Í¡Õ ªØ´«Ö§è ÍÂÙË Ò §ä¡Å¡Ñ¹ â´Â¤³Ð¡ÃÃÁ¡Òà ·ÕèàÃÕÂ¡Ç Ò ÊÁÒ¤ÁÍصÊÒË¡ÃÃÁÍÔàÅç¡·ÃÍ¹Ô¡Ê (Electronic Industries Association : EIA) ä´ ÇÒ§Áҵðҹ·ÕÁè ªÕ Í×è àÃÕ¡¡Ñ¹Ç Ò EIA RS-232 Áҵðҹ¹Õãé ¹ª ǧáá¨Ð㪠¤Í¹à¹ç¡àµÍà ໠¹áºº DB-25 â´Â¡íÒ˹´¤ÇÒÁÂÒÇÊÙ§ÊØ´¢Í§ÊÒÂÊÑÒ³äÇ ·Õè 50 ¿Øµ ÁÕÃдѺÊÑÒ³µÑ§é áµ -3 ¶Ö§ -12V áÊ´§Ç ÒÁÕ¢Í ÁÙÅ (Mark) áÅÐ +3 ¶Ö§ +12V áÊ´§Ç Òà» ¹ª Í§Ç Ò§ (Space) Áҵðҹ RS-232 ä´ ¡Òí ˹´ÃٻẺ¢Í§ÍØ»¡Ã³ àª×Íè Áµ Í¢ ÍÁÙÅ (Data Terminal Equipment : DTE ) ¡ÑºÇ§¨Ã¢ ÍÁÙÅ»ÅÒ·ҧ (Data Circuit Terminating : DCE ) äÇ ÇÒ ÍØ»¡Ã³ DTE ¨Ðµ ͧ à» ¹ÍØ»¡Ã³ ·ÁÕè ¡Õ ÒûÃÐÁÇżÅã¹µÑÇઠ¹ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ËÃ×ÍäÁâ¤Ã¤ÍÁ¾ÔÇàµÍà «Ö§è ÁÕ¤ÇÒÁ ÊÒÁÒö㹡ÒÃÊà ҧ¢ ÍÁÙÅẺ͹ءÃÁä´ Ê Ç¹ÍØ»¡Ã³ DCE ¨Ð·íÒ˹ Ò·Õàè » ¹à¾Õ§µÑÇÃѺ¢ ÍÁÙÅ·Õè Ê §ÁÒ¨Ò¡ DTE ෠ҹѹé â´Â¡ÒÃÃÑºÊ §¢ ÍÁÙÅÃÐËÇ Ò§ÍØ»¡Ã³ ·§Ñé Êͧ¨Ð¡ÃзíÒ¼ Ò¹Áҵðҹ RS-232 ¢ Íᵡµ Ò§¢Í§ÍØ»¡Ã³ DTE áÅÐÍØ»¡Ã³ DCE ÍÂ Ò§Ë¹Ö§è ·Õàè Ëç¹ä´ ª´Ñ ¤×Í ¤Í¹à¹ç¡àµÍà ¢Í§ DTE ¨Ðà» ¹µÑÇ¼Ù Ê Ç¹¤Í¹à¹ç¡àµÍà ¢Í§ DCE ¨Ðà» ¹µÑÇàÁÕ «Ö§è ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ·Õãè ª ¡¹Ñ ÍÂÙ· ÇÑè 仨Ðà» ¹áºº DTE Ê Ç¹¤Í¹à¹ç¡àµÍà ·ÍÕè ÂÙ· âÕè Áà´çÁ¨Ðà» ¹áºº DCE ÊíÒËÃѺ¡ÒÃ㪠§Ò¹º¹¤ÍÁ¾ÔÇàµÍà ¾Íà µÍ¹Ø¡ÃÁ RS-232 ÁÑ¡¶Ù¡ãª àª×Íè Áµ ͡ѺâÁà´çÁËÃ×Í àÁÒÊ â´ÂÊÒÁÒöÃÑºÊ §¢ ÍÁÙÅä´ ·¤Õè ÇÒÁÂÒǢͧÊÒÂÊÑÒ³ÊÙ§ÊØ´¶Ö§ 20 àÁµÃ
¤Í¹à¹ç¡àµÍà ÊÒí ËÃѺ¾Íà µ RS-232 áÅСÒÃàª×Íè Áµ Í Áҵðҹ¡ÒÃàª×Íè Áµ ÍẺ RS-232 ¨Ð㪠¤Í¹à¹ç¡àµÍà Ẻ DB-25 µÑǼÙË Ã×Í DB-9 µÑǼ٠«Ö§è ¤Í¹à¹ç¡àµÍà Ẻ DB-25 ¨ÐÁÕ¢Òµ Í㪠§Ò¹à¾Õ§ 9 àÊ ¹àª ¹à´ÕÂǡѺ¤Í¹à¹ç¡àµÍà Ẻ DB-9 à¹×Íè §¨Ò¡¢ÒÍ×¹è æ ·Õàè ¤Â㪠§Ò¹ã¹Í´Õµ » ¨¨Øº¹Ñ ÁÕ¡ÒÃ㪠§Ò¹äÁ ÁÒ¡¹Ñ¡ ¨Ö§¶Ù¡Â¡àÅÔ¡ä» â´ÂáÊ´§ÃÙ» à ҧáÅеíÒá˹ §¢Òã¹ÃÙ»·Õè 1-3 ÊíÒËÃѺ¡ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡áÊ´§´Ñ§ã¹ÃÙ»·Õè 1-4 ÅÙ¡ÈÃã¹ÃÙ»áÊ´§ ¶Ö§·ÔÈ·Ò§¢Í§¢ ÍÁÙÅ ã¹ÃÙ»·Õè 1-4 (¡) à» ¹¡ÒÃàª×Íè Áµ ÍẺ Null modem ËÃ×Í¡ÒÃàª×Íè Áµ Íâ´Â µÃ§â´ÂäÁ µÍ §¼ Ò¹âÁà´çÁ â´ÂÁÕ¡ÒõÃǨÊͺËÃ×Íáι´ àªç¡àµçÁÃٻẺ Ê Ç¹ã¹ÃÙ»·Õè 1-4(¢) à» ¹ ¡ÒÃàª×Íè Áµ ÍẺ Null modem ã¹ÅѡɳзÕãè ª ÊÒÂÊÑÒ³à¾Õ§ 3 àÊ ¹ â´ÂàÊ ¹Ë¹Ö§è ÊíÒËÃÑºÊ § ¢ ÍÁÙÅ ÍÕ¡àÊ ¹ÊíÒËÃѺÃѺ¢ ÍÁÙÅ áÅÐàÊ ¹ÊØ´· ÒÂà» ¹¡ÃÒÇ´ ÊíÒËÃѺÃÒÂÅÐàÍÕ´˹ Ò·Õ¡è Ò÷íҧҹ㹠ᵠÅТҢͧ¾Íà µÍ¹Ø¡ÃÁ RS-232 ÁÕ´§Ñ ¹Õé
àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ
Data Carrier Detect : DCD ËÃ×ÍÍÒ¨àÃÕÂ¡Ç Ò Carrier Detect : CD ¢Ò¹Õ¨é ÐáÍ¡µÕ¿àÁ×Íè ÁÕ ¡ÒÃÊ §ÊÑÒ³¾ÒË ¨Ò¡ÍØ»¡Ã³ ÊÍ×è ÊÒâ ÍÁÙÅઠ¹ âÁà´çÁ ÊíÒËÃѺ¡ÒÃ㪠§Ò¹»¡µÔ ¢Ò¹Õ¨é ÐäÁ ä´ ¶¡Ù 㪠§Ò¹ÁÒ¡¹Ñ¡ l Receive Data : RD ËÃ×Í RxD ¢Ò¹Õãé ª à¾×Í è ÃѺÊÑҳ͹ءÃÁࢠÒÁÒÂѧ¤ÍÁ¾ÔÇàµÍà â´Â ¹íÒ¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ à¡çºäÇ ã¹ÃÕ¨ÊÔ àµÍà ºÑ¿à¿Íà l
!
$
"
%
&
#
'
(¡) ¤Í¹à¹ç¡àµÍà ͹ءÃÁ 9 ¢ÒËÃ×ÍẺ DB-9 (Áͧ¨Ò¡´ Ò¹ËÅѧ¤ÍÁ¾ÔÇàµÍà )
!
"
#
$
%
&
" # $ % & '
'
!
"
!
#
(¢) ¤Í¹à¹ç¡àµÍà ͹ءÃÁ 25 ¢ÒËÃ×ÍẺ DB-25 (Áͧ¨Ò¡´ Ò¹ËÅѧ¤ÍÁ¾ÔÇàµÍà ) ¤Í¹à¹ç¡àµÍà DB-9 1 2 3 4 5
¤Í¹à¹ç¡àµÍà DB-25 8 3 2 20 7
ª×èͧ͢ÊÒÂÊÑÒ³ Data Carrier Detect : DCD Received Data : RxD Transmitted Data : TxD Data Terminal Ready : DTR Signal Ground : GND
ª¹Ô´¢Í§ÊÒÂÊÑÒ³ ÍÔ¹¾Øµ ÍÔ¹¾Øµ àÍÒµ ¾µØ àÍÒµ ¾µØ -
6 7 8 9
6 4 5 22
Data Set Ready : DSR Request To Send : RTS Clear To Send : CTS Ring Indicator : RI
ÍÔ¹¾Øµ àÍÒµ ¾µØ ÍÔ¹¾Øµ ÍÔ¹¾Øµ
ÃÙ»·Õè 1-3 ¡ÒèѴ¢Ò¢Í§¤Í¹à¹ç¡àµÍà ¾Íà µÍ¹Ø¡ÃÁµÒÁÁҵðҹ RS-232 ·Ñ§é Ẻ DB-9 áÅÐ DB-25 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ
Transmitted Data : TD ËÃ×Í TxD 㪠ʧ ¢ ÍÁÙÅÍÍ¡¨Ò¡¤ÍÁ¾ÔÇàµÍà â´Â¹íÒ¢ ÍÁÙÅ·Õè à¡çºÍÂ٠㹺ѿà¿Íà ÊíÒËÃÑºÊ §¢ ÍÁÙÅÊ §ÍÍ¡ä» l
TxD RxD RTS CTS DTR DSR GND
¤ÍÁ¾ÔÇàµÍÃ
TxD RxD RTS CTS DTR DSR GND
Data Terminal Ready : DTR à» ¹ ¢ÒÊÑ Ò³·Õè Ê § ÍÍ¡¨Ò¡¤ÍÁ¾Ô Ç àµÍÃ à ¾×è Í ãË ÍØ»¡Ã³ »ÅÒ·ҧÃѺÃÙÇ Ò µ ͧ¡ÒõԴµ Í´ Ç â´Â ¢Ò DTR ¹Õµé Í §àª×Íè Áµ ͡Ѻ¢Ò DSR ¢Í§ÍØ»¡Ã³ »ÅÒ·ҧ áÅÐ¢Ò DTR ¢Í§ÍØ»¡Ã³ »ÅÒ·ҧ µ ͧàª×Íè Áµ ͡Ѻ¢Ò DSR ¢Í§¤ÍÁ¾ÔÇàµÍà ¶ Ò㪠¡ÒÃàª×Íè Áµ Íà» ¹áºº Null Modem «Ö§è 㪠ÊÒÂã¹ ¡ÒÃàª×Íè Áµ Íà¾Õ§ 3 àÊ ¹ ¨Ðµ ͧµ Í¢Ò DTR áÅÐ DSR ¢Í§µÑÇÁѹàͧࢠҴ Ç¡ѹáÅе ͧµ ͡Ѻ¢Ò DCD ´ ÇÂ㹡óշÕèâ»Ãá¡ÃÁÊ×èÍÊÒ÷Õè㪠ÁÕ¡Òà µÃǨ¨ÑºÊÑÒ³¾ÒË l
ÍØ»¡Ã³ ÀÒ¹͡
(¡) ¡Òõ ÍÍØ»¡Ã³ ÀÒ¹͡ࢠҡѺ¤ÍÁ¾ÔÇàµÍà Ẻ Null modem TxD RxD RTS CTS DTR DSR GND
¤ÍÁ¾ÔÇàµÍÃ
TxD RxD RTS CTS DTR DSR GND
ÍØ»¡Ã³ ÀÒ¹͡
l
(¢) ¡Òõ ÍÍØ»¡Ã³ ÀÒ¹͡ࢠҡѺ¤ÍÁ¾ÔÇàµÍà Ẻ RS-232 â´Â㪠ÊÒÂÊÑÒ³à¾Õ§ 3 àÊ ¹
Signal Ground : GND ¡ÃÒÇ´ Ãкº
Data Set Ready : DSR ¢Ò¹Õ¨é Ð㪠¤Ù ¡Ñº¢Ò DTR à¾×è͵ÃǨÊͺ¡ÒÃàª×èÍÁµ ͡ѹ ÃÙ»·Õè 1-4 ¡Òõ ÍÍØ»¡Ã³ ÀÒ¹͡¡Ñº¾Íà µ ÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ »ÅÒ·ҧ «Ö§è ¢Ò ͹ءÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ã¹Åѡɳе Ò§æ DSR ¹Õ¨é Ðà» ¹¢ÒÊíÒËÃѺÃѺ¢ ÍÁÙŨҡÀÒ¹͡«Ö§è ¶Ù¡Ê §ÁÒ¨Ò¡¢Ò DTR l
Request To Send : RTS à» ¹¢ÒÊíÒËÃÑºÊ §ÊÑҳà ͧ¢ÍãË ·Ò§ÍØ»¡Ã³ »ÅÒÂ·Ò§Ê § ¢ ÍÁÙÅ¡ÅѺÁÒÂѧ¤ÍÁ¾ÔÇàµÍà â´Â¢Ò·ÕÃè ºÑ ÊÑÒ³ RTS ¡ç¤Í× ¢Ò CTS 㹡óշãÕè ª ¡ÒÃàª×Íè Áµ ÍẺ Null modem 3 ÊÒ ¨Ðµ ͧàª×Íè Áµ Í¢Ò RTS áÅÐ CTS ¢Í§µÑÇÁѹàͧࢠҴ Ç¡ѹ à¾×Íè ¨ÐãË ¡ÒÃÃѺ áÅÐÊ §¢ ÍÁÙÅÊÒÁÒöà¡Ô´¢Öé¹ä´ µÅÍ´àÇÅÒ l
Clear To Send : CTS ¢Ò¹Õ¨é ФÍÂÃѺÊÑÒ³¨Ò¡¢Ò RTS àÁ×Íè ÃѺÊÑÒ³ä´ ¢ ÍÁÙÅ·Õè ¢Ò TxD ¨Ð¶Ù¡Ê §ÍÍ¡ä» ´Ñ§¹Ñ¹é ¢Ò¹Õ¨é §Ö ¶Ù¡ãª à¾×Íè µÃǨÊͺÍØ»¡Ã³ µÍ ¾ Ç§Ç Ò¾Ã ÍÁ·Õ¨è ÐÃѺ¢ ÍÁÙÅ ËÃ×ÍäÁ l
Ring Indicator : RI 㪠áÊ´§Ê¶Ò¹ÐÊÑÒ³àÃÕ¡¨Ò¡ÊÒÂâ·ÃÈѾ· »¡µÔ㹡ÒÃÊ×Íè ÊÒà â´Â·ÑÇè ä»ÊÒ¹ըé ÐäÁ ¶¡Ù 㪠§Ò¹ ¨Ð㪠§Ò¹¡çµÍ àÁ×Íè ÁÕ¡ÒÃàª×Íè Áµ ͡ѺâÁà´çÁáÅÐâ»Ãá¡ÃÁÁÕ¡ÒõÃǨ ÊͺÊÑÒ³¹Õéà· Ò¹Ñé¹ l
àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ
UART UART ÁÒ¨Ò¡¤íÒÇ Ò Universal Asynchronous Receiver Transmitter «Ö§è ËÁÒ¶֧ÍØ»¡Ã³ ·Õ·è Òí ˹ Ò·ÕÃè ºÑ áÅÐÊ §¢ ÍÁÙÅẺÍЫԧâ¤Ã¹Ñʹѹè àͧ ÊíÒËÃѺ¡ÒÃÊ×Íè ÊÒÃ͹ءÃÁº¹¤ÍÁ¾ÔÇàµÍà áÅ Ç UART ¶×ÍÇ Òà» ¹ËÑÇã¨ÊíҤѢͧ¡ÒÃÊ×Íè ÊÒÃ͹ءÃÁ ˹ Ò·ÕËè ÅÑ¡¢Í§ UART ¤×Í·íÒ˹ Ò·Õáè »Å§¢ ÍÁÙÅ·ÕÍè ÂÙã ¹ÃٻẺ¢¹Ò¹¨Ò¡¤ÍÁ¾ÔÇàµÍà ãË ÍÂÙ ã¹ÃٻẺ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊ áÅ ÇÊ §ÍÍ¡ä» áÅзíÒ˹ Ò·Õèá»Å§ÊÑҳ͹ءÃÁẺ ÍЫԧâ¤Ã¹ÑÊ·Õè» Í¹à¢ ÒÁÒÂѧ UART ãË à» ¹áºº¢¹Ò¹¡ ͹·Õè¨ÐÊ §à¢ ÒÊÙ ¤ÍÁ¾ÔÇàµÍà «Ö觹͡¨Ò¡ UART ¨ÐÊ §¢ ÍÁÙÅä»Âѧ¤ÍÁ¾ÔÇàµÍà áÅ Ç Âѧᨠ§¢ ÍÁÙÅÍ×¹è æ ãË ¤ÍÁ¾ÔÇàµÍÃ ÃºÑ ·ÃÒº´ Ç ઠ¹ ÍѵÃÒàÃçÇ㹡ÒÃÃÑºÊ §¢ ÍÁÙÅ (ºÍ´àõ), ÃٻẺ¡ÒÃÊ §¢ ÍÁÙÅ, ¤ÇÒÁ¼Ô´¾ÅÒ´·Õàè ¡Ô´¢Ö¹é ÃÐËÇ Ò§¡Òà ¶ Ò·ʹ¢ ÍÁÙÅ (¼Ô´¾ÅÒ´¨Ò¡¾ÒÃÔµ,Õé à¿ÃÁ¢ ÍÁÙÅ,âÍàÇÍÃ Ã¹Ñ ) à» ¹µ ¹ ÀÒÂã¹ UART ¨ÐÁÕÊÇ ¹¢Í§Ç§¨ÃÊà ҧºÍ´àõẺâ»Ãá¡ÃÁä´ (programmable buadrate generator) â´Â¡ÒáíÒ˹´¤ ÒµÑÇËÒÃãË ¡ºÑ ÊÑÒ³¹ÒÌ ¡Ò¢Í§ UART â´ÂµÑÇËÒùÕÁé ¢Õ ¹Ò´ 16 ºÔµ ´Ñ§¹Ñ¹é ¨Ö§ÊÒÁÒö¡íÒ˹´µÑÇËÒÃÍÂÙã ¹ª ǧ 1- 65,535 UART ÊÒÁÒöÃÑºÊ §¢ ÍÁÙÅä´ ·§Ñé Ẻ ÎÒÅ ¿´Ùà¾Åç¡« (half duplex) áÅпÙÅ´Ùà¾Åç¡« (full duplex) â´Â¡ÒÃÊ §áººÎÒÅ ¿´Ùà¾Åç¡« à» ¹ ¡ÒÃÊ §áºº·ÔÈ·Ò§à´ÕÂÇ Ê Ç¹¡ÒÃÊ §áºº¿ÙÅ´Ùà¾Åç¡« ¹¹Ñé ÊÒÁÒöÃѺáÅÐÊ §¢ ÍÁÙÅä´ ã¹¤ÃÒÇà´ÕÂǡѹ
ª¹Ô´¢Í§ UART ã¹à¤Ã×èͧ¤ÍÁ¾ÔÇàµÍà ·ÑèÇä»ÁÕ UART ·Õè㪠§Ò¹¡Ñ¹ÍÂÙ 2 àºÍà ¤×Í 8250 «Öè§à» ¹ UART Áҵðҹ·ÕÁè ãÕ ª ¡¹Ñ ÁÒÂÒǹҹ UART àºÍà ¹¨Õé ÐÁÕº¿Ñ à¿Íà ÊÒí ËÃѺÃѺáÅÐÊ §¢ ÍÁÙŵíÒá˹ §à´ÕÂÇ ¡Ñ¹ ·íÒãË ¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙŶ١¨íÒ¡Ñ´¤ÇÒÁàÃçÇÍÂÙ· Õè 57.6 ¡ÔâźԵµ ÍÇÔ¹Ò·Õ෠ҹѹé áµ UART àºÍà ¹¡Õé ¶ç Í× Ç Òà» ¹µ ¹áºº¢Í§ UART ·Õãè ª 㹤ÍÁ¾ÔÇàµÍà â´Â¤ÍÁ¾ÔÇàµÍà ·¡Ø æ Ãع ¨Ðµ ͧʹѺ ʹع¡Ò÷íÒ§Ò¹µÒÁÃٻẺ¢Í§ UART àºÍà ¹Õé UART ÍÕ¡àºÍÃ Ë¹Ö§è ¤×Í 16450 ÁÕ¤ÇÒÁÊÒÁÒöÃÑºÊ §¢ ÍÁÙÅä´ ·¤Õè ÇÒÁàÃçÇ 115,200 ºÔµ µ ÍÇÔ¹Ò·Õ áÅÐà¾ÔèÁÃÕ¨ÔÊàµÍà ÊíÒËÃѺ¾Ñ¡¢ ÍÁÙÅÊíÒËÃѺ UART ¹Í¡¨Ò¡¹Ñé¹Âѧà¾ÔèÁÊ Ç¹¢Í§ªÔ¿µ ÃÕ¨ÊÔ àµÍà Ẻ FIFO (First In First Out ) ¢¹Ò´ 16 亵 ࢠÒä» ·íÒãË ÊÒÁÒöʹѺʹع¤ÇÒÁàÃçÇ ã¹¡ÒÃÃÑºÊ §¢ ÍÁÙÅ·Õè 256 ¡ÔâźԵµ ÍÇÔ¹Ò·Õä´ â´Â¤ÍÁ¾ÔÇàµÍà 㹻 ¨¨Øº¹Ñ 㪠UART àºÍà ¹ËÕé Ã×Í ãËÁ ¡Ç Ò àª ¹ àºÍà TL16C750 «Ö§è ÁÕÃ¨Õ ÊÔ àµÍà Ẻ FIFO ¢¹Ò´ 64 亵 ·íÒ§Ò¹ä´ ·ÃÕè дѺáç´Ñ¹ +5V áÅÐ +3V ÁÕâËÁ´»ÃÐËÂÑ´¾Åѧ§Ò¹ ÊÒÁÒöÃÑºÊ §¢ ÍÁÙÅä´ ·¤Õè ÇÒÁàÃçÇ 1 àÁ¡ÐºÔµµ ÍÇÔ¹Ò·Õ àÁ×Íè ãª Ê Ñ Ò³¹ÒÌ ¡Ò 16 MHz Í ҧäáçµÒÁ ¤ÇÒÁàÃçÇ㹡ÒÃÊ §¢ ÍÁÙÅ·ÕÁè Ò¡ÁÒ¢ͧ UART àºÍà ãËÁ æ ¡çäÁ ä´ ªÇ ÂãË ¡ÒÃÃÑºÊ §¢ ÍÁÙŢͧ¤ÍÁ¾ÔÇàµÍà àÃçÇ¢Ö¹é à¹×Íè §¨Ò¡Ç Ò¤ÍÁ¾ÔÇàµÍÃ Â§Ñ ãª ¤ÇÒÁ¶Õ¢è ͧÊÑÒ³¹ÒÌ ¡Òã¹ ¡ÒÃá»Å§¢ ÍÁÙÅà¾Õ§ 1.8432 MHz ෠ҹѹé àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ !
ǧ¨ÃÀÒÂã¹áÅÐÃÕ¨ÊÔ àµÍà ¢Í§¾Íà µÍ¹Ø¡ÃÁ RS-232
à¤Ã×èͧ¤ÍÁ¾ÔÇàµÍà â´Â·ÑèÇä»ÊÒÁÒöµ ;Íà µÍ¹Ø¡ÃÁÊÙ§ÊØ´ä´ 4 ¾Íà µ ÁÕª×èÍàÃÕ¡໠¹ COM1,COM2,COM3 áÅÐ COM4 «Ö觾Íà µÍ¹Ø¡ÃÁáµ ÅеÑǵ Ò§¡ç㪠§Ò¹ UART ÀÒÂã¹ ¤ÍÁ¾ÔÇàµÍà 㹡ÒõԴµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡ઠ¹à´ÕÂǡѹ ã¹ÃÙ»·Õè 1-5 áÊ´§¼Ñ§¡Ò÷íÒ§Ò¹ÀÒÂã¹ ¢Í§¾Íà µÍ¹Ø¡ÃÁ»ÃСͺ´ ÇÂÃÕ¨ÊÔ àµÍà 8 ºÔµ 8 µÑÇ·Õãè ª §Ò¹Ã ÇÁ¡Ñº UART áÍ´à´ÃʢͧÃÕ¨ÊÔ àµÍà ÀÒÂã¹¾Íà µÍ¹Ø¡ÃÁÊÒÁÒö¤íÒ¹Ç³ä´ ¨Ò¡¤ ÒÃÕ¨ÊÔ àµÍà ¾¹×é °Ò¹¢Í§¾Íà µÍ¹Ø¡ÃÁ ¡µÑÇÍ ҧ ¾Íà µ ͹ءÃÁ COM1 ÁÕáÍ´à´ÃÊÍÂÙ· Õè 3F8H µíÒá˹ §¢Í§ÃÕ¨ÊÔ àµÍà µÒ §æ ¨Ðà» ¹µíÒá˹ §·Õºè ǡࢠÒä» ¡Ñº¤ Ò 3F8H â´ÂÃÕ¨ÊÔ àµÍà ·ãÕè ª §Ò¹¡Ñº¾Íà µÍ¹Ø¡ÃÁÁÕ´§Ñ ¹Õé 00H à» ¹ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃѺà¡çº¢ ÍÁÙÅ·ÕÃè ºÑ à¢ ÒÁÒËÃ×ÍàµÃÕÂÁ¢ ÍÁÙÅ¡ ͹·Õ¨è ÐÊ §ÍÍ¡ä» 01H ÃÕ¨ÊÔ àµÍà àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 㪠૵âËÁ´¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ ¢Í§¾Íà µÍ¹Ø¡ÃÁ 02H ÃÕ¨ÊÔ àµÍà áÊ´§âËÁ´¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 㪠à¾×Íè µÃǨÊͺâËÁ´¢Í§¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 03H ÃÕ¨ÊÔ àµÍà ¡Òí ˹´ÃٻẺ¢Í§¢ ÍÁÙÅ Åͨԡ¤Çº¤ØÁ 8250
ÃÕ¨ÔÊàµÍà ºÑ¿à¿Íà ÊíÒËÃѺÃѺ¢ ÍÁÙÅ Receiver Buffer Register
ªÔ¿µ ÃÕ¨ÔÊàµÍà ÃѺ¢ ÍÁÙÅ Receiver Shift Register
SIN
ÃÕ¨ÔÊàµÍà ¡íÒ˹´ÃٻẺ¢ ÍÁÙÅ Data Format Register
Ê Ç¹¤Çº¤ØÁ¡ÒÃÃѺ¢ ÍÁÙÅ Receive Control
RCLK
ÃÕ¨ÔÊàµÍà ¡íÒ˹´¤ Ò ¡ÒÃËÒÃ亵 ´ Ò¹µíèÒ Divisor latch register (LSB) ÃÕ¨ÔÊàµÍà ¡íÒ˹´¤ Ò ¡ÒÃËÒÃ亵 ´ Ò¹ÊÙ§ Divisor latch register (MSB)
ºÑʵԴµ ÍÀÒÂã¹
ºÑ¿à¿Íà ºÑÊ¢ ÍÁÙÅ
Ê Ç¹µÔ´µ ͡Ѻ¤ÍÁ¾ÔÇàµÍÃ
Åͨԡ¤Çº¤ØÁ¡ÒôÕ⤠´áÍ´à´ÃÊ
ǧ¨ÃÊà ҧ¤ÇÒÁ¶ÕèÊÑÒ³ ¹ÒÌÔ¡ÒÊíÒËÃѺÃÑºÊ §¢ ÍÁÙÅ Baud Generator
ÃÕ¨ÔÊàµÍà ¤Çº¤ØÁâÁà´çÁ Modem Control Register
BAUDOUT
Ê Ç¹Åͨԡ¤Çº¤ØÁâÁà´çÁ Modem Control Logic
ÃÕ¨ÔÊàµÍà áÊ´§Ê¶Ò¹ÐâÁà´çÁ Modem Status Register ÃÕ¨ÔÊàµÍà ÍÕ¹ÒàºÔÅ¡ÒÃÍÔ¹àµÍà ÃÑ»µ Interrupt Enable Register ÃÕ¨ÔÊàµÍà ¡íÒ˹´¹ÑÂÊíÒ¤Ñ ¡ÒÃÍÔ¹àµÍà ÃÑ»µ Interrupt ID Register
Åͨԡ¤Çº¤ØÁÍÔ¹àµÍÃÃÑ»µ IRQ Control logic
RTS CTS DTR DSR DCD RI OUT1 OUT2
INTERRUPT
ÃÕ¨ÔÊàµÍà ¾Ñ¡¢ ÍÁÙŪÑèǤÃÒÇ Scratch Pad Register ÃÕ¨ÔÊàµÍà áÊ´§Ê¶Ò¹Ð¡ÒÃÃÑºÊ § ¢ ÍÁÙÅ͹ءÃÁ Serialization Status Register
Ê Ç¹¤Çº¤ØÁ¡ÒÃÊ §¢ ÍÁÙÅ Transmitter Control
ÃÕ¨ÔÊàµÍà ¾Ñ¡¢ ÍÁÙÅÀÒ¤Ê § Transmitter Hold Register
ªÔ¿µ ÃÕ¨ÔÊàµÍÃ Ê §¢ ÍÁÙÅ Transmitter Shift Register
SOUT
ÃÙ»·Õè 1-5 ä´ÍÐá¡ÃÁ¡Ò÷íÒ§Ò¹ÀÒÂ㹢ͧ¾Íà µÍ¹Ø¡ÃÁ¢Í§à¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ "
04H ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁâÁà´çÁ 㪠µÃǨÊͺºÔµÊíÒËÃѺµÔ´µ ͡ѺâÁà´çÁ ઠ¹ RTS ËÃ×Í DTR 05H ÃÕ¨ÊÔ àµÍà áÊ´§Ê¶Ò¹Ð¡ÒÃÃѺáÅСÒÃÊ §¢ ÍÁÙÅẺ͹ءÃÁ 06H ÃÕ¨ÊÔ àµÍà áÊ´§Ê¶Ò¹Ð¢Í§âÁà´çÁ «Ö§è ¨ÐáÊ´§Ê¶Ò¹Ð¢Í§¢Ò DCD ,RI, DSR áÅÐ CTS 07H ÃÕ¨ÊÔ àµÍà ÊÒí ËÃѺ¡ÒÃà¡çº¢ ÍÁÙŪÑÇè ¤ÃÒÇ
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 00H : ÃÕ¨ÊÔ àµÍà º¿Ñ à¿ÍÃ
à» ¹ÃÕ¨ÊÔ àµÍà à¡çº¢ ÍÁÙÅ·ÕÃè ºÑ à¢ ÒÁÒáÅÐÊ §ÍÍ¡ â´Â¡ÒõԴµ ͡ѺÃÕ¨ÊÔ àµÍà ¹àÕé ¾×Íè à¡çº¢ ÍÁÙŨРµ ͧ¡íÒ˹´ãË ºµÔ DLAB ã¹ÃÕ¨ÊÔ àµÍà ¡Òí ˹´ÃٻẺ¢ ÍÁÙÅ (03H) ÁÕʶҹÐà» ¹ 0 «Ö§è ¡Òà à¢Õ¹¢ ÍÁÙÅÁÒÂѧáÍ´à´ÃʹÕé à» ¹¡ÒÃÊ §¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà ʧ ¢ ÍÁÙÅáÅТ ÍÁÙÅ¨Ð¶Ù¡Ê §ÍÍ¡ä»áºº ͹ءÃÁ ÊíÒËÃѺ¡ÒÃÃѺ¢ ÍÁÙÅ àÁ×Íè ÃѺࢠÒÁÒáÅ Ç ¨ÐÊ §µ Íä»ÂѧÃÕ¨ÊÔ àµÍà à¡çº¢ ÍÁÙÅ ËÅѧ¨Ò¡Í Ò¹¤ Ò ¨Ò¡ÃÕ¨ÊÔ àµÍà ¹ÍÕé Í¡ä» ÃÕ¨ÊÔ àµÍà ¹¨Õé ж١à¤ÅÕÂà áÅÐàµÃÕÂÁ¾Ã ÍÁÊíÒËÃѺÃѺ¢ ÍÁÙÅã¹äºµ µÍ ä»
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 01H : ÃÕ¨ÊÔ àµÍà àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ à» ¹ÃÕ¨ÔÊàµÍà ÊíÒËÃѺ¡ÒÃàÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍà ÃÑ»µ «Öè§à» ¹¡ÒáíÒ˹´ãË UART Êà ҧ ÊÑÒ³ÍÔ¹àµÍÃ Ã»Ñ µ ¢¹Öé ÁÒ ¿ §¡ ª¹Ñ ¡Ò÷íÒ§Ò¹ã¹áµ ÅкԵ¢Í§ÃÕ¨ÊÔ àµÍà ¹ÁÕé ´Õ §Ñ ¹Õé ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
0
0
0
0
SINP
ERBK
TBE
RxRD
ºÔµ 4-7 SINP
ERBK
TBE RxRD
ºÔµàËÅ Ò¹Õäé Á ¶¡Ù 㪠§Ò¹ ¡íÒ˹´ãË à· Ò¡Ñº 0 àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍà ÃÑ»µ à¹×èͧ¨Ò¡à¡Ô´¡ÒÃà»ÅÕè¹ʶҹзÕè¢ÒÍÔ¹¾Øµ CTS, DSR, DCD ËÃ×Í¢Ò RI 1 àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 0 ´ÔÊàÍàºÔÅ àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍà ÃÑ»µ à¹×èͧ¨Ò¡à¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´¢Öé¹´ ÇÂÊÒà˵بҡ ¾ÒÃÔµ,Õé âÍàÇÍÃ Ã¹Ñ , à¿ÃÁ¢ ÍÁÙÅ ËÃ×Í¡ÒÃàºÃ¡¢ ÍÁÙÅ 1 àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 0 ´ÔÊàÍàºÔÅ àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍà ÃÑ»µ àÁ×èÍÃÕ¨ÔÊàµÍà ºÑ¿à¿Íà ÊíÒËÃÑºÊ §¢ ÍÁÙÅÇ Ò§ 1 àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 0 ´ÔÊàÍàºÔÅ àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍà ÃÑ»µ à¹×èͧ¨Ò¡ÃÕ¨ÔÊàµÍà ºÑ¿à¿ÍÃ ä´ ÃѺ¢ ÍÁÙÅáÅ Ç 1 àÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ 0 ´ÔÊàÍàºÔÅ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ #
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 02H : ÃÕ¨ÊÔ àµÍà áÊ´§âËÁ´áÅÐʶҹСÒÃÍÔ¹àµÍÃ Ã»Ñ µ ÁÕÃÒÂÅÐàÍÕ´¢Í§áµ ÅкԵ´Ñ§¹Õé ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
0
0
0
0
0
ID1
ID0
PND
ºÔµ 3-7 ID1,ID0
PND
äÁ ä´ ãª §Ò¹ Í Ò¹¤ Òä´ à· Ò¡Ñº 0 㪠§Ò¹Ã ÇÁ¡Ñ¹à¾×Íè ᨠ§ÊÒà˵آͧ¡ÒÃà¡Ô´ÍÔ¹àµÍÃ Ã»Ñ µ 00 à¡Ô´¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ à¹×Íè §¨Ò¡¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§¢ÒÍÔ¹¾Øµ¢Ö¹é ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ Ẻ¹ÕÁé ¹Õ ÂÑ ÊíÒ¤Ñà» ¹Íѹ´Ñº 4 01 à¡Ô´¡ÒÃÍÔ¹àµÍà ÃÑ»µ à¹×èͧ¨Ò¡ÃÕ¨ÔÊàµÍà ºÑ¿à¿ÍÃ Ê §¢ ÍÁÙÅÇ Ò§¢Öé¹ ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ Ẻ¹ÕÁé ¹Õ ÂÑ ÊíÒ¤Ñà» ¹Íѹ´Ñº 3 10 à¡Ô´¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ à¹×Íè §¨Ò¡¢ ÍÁÙŶ١à¡çºÅ§ã¹ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊíÒËÃѺÃѺ¢ ÍÁÙÅàÃÕºà ÍÂáÅ Ç ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ Ẻ¹ÕÁé ¹Õ ÂÑ ÊíÒ¤Ñà» ¹ Íѹ´Ñº 2 11 à¡Ô´¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ à¹×Íè §¨Ò¡¤ÇÒÁ¼Ô´¾ÅҴ㹡Òö Ò·ʹ¢ ÍÁÙÅ ËÃ×Íà¡Ô´¡ÒÃàºÃ¡ (break : à¡Ô´¡ÒÃËÂØ´¶ Ò·ʹ¢ ÍÁÙÅ¡ÃзѹËѹ) ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ Ẻ¹ÕÁé ¹Õ ÂÑ ÊíÒ¤Ñà» ¹Íѹ´Ñº 1 ËÃ×ÍÁÕ¹ÂÑ ÊíÒ¤ÑÊÙ§ÊØ´ 㪠áÊ´§Ê¶Ò¹Ð¢Í§¡ÒÃà¡Ô´ÍÔ¹àµÍÃ Ã»Ñ µ 1 áÊ´§Ç ÒäÁ ÁÕ¡ÒÃÍÔ¹àµÍà ÃÑ»µ 0 áÊ´§Ç ÒÁÕ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ à¡Ô´¢Ö¹é
àÁ×Íè ÁÕ¡ÒÃÊà ҧÊÑÒ³ÍÔ¹àµÍÃ Ã»Ñ µ ¢¹Öé ¨Ðµ ͧÁÕ¡ÒÃà¤ÅÕÂà ¤Ò ¡ ͹·Õ¨è ÐãË à¡Ô´ÍÔ¹àµÍÃ Ã»Ñ µ ¤ÃÑ§é µ Íä» â´ÂÊÒÁÒö·íÒä´ ´§Ñ ¹Õ¤é Í× l ¶ Òà¡Ô´ÍÔ¹àµÍà ÃÑ»µ à¹×èͧ¨Ò¡¡ÒÃà»ÅÕè¹á»Å§¢Í§¢ÒÍÔ¹¾Øµ¨Ðµ Í§Í Ò¹¤ Ò¨Ò¡ÃÕ¨ÔÊàµÍà áÊ´§Ê¶Ò¹Ð¢Í§âÁà´çÁ (ÃÕ¨ÊÔ àµÍà µÒí á˹ § 06H) à¾×Íè à¤ÅÕÂà ¤Ò ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ l ¶ Òà¡Ô´¡ÒÃÍÔ¹àµÍà û Ñ µ à¹×Íè §¨Ò¡ºÑ¿à¿Íà ʧ ¢ ÍÁÙÅÇ Ò§ ¨Ðµ ͧà¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà ºÑ¿à¿ÍÃ Ê §¢ ÍÁÙÅ (ÃÕ¨ÔÊàµÍà µíÒá˹ § 00H) ËÃ×ÍÍ Ò¹¤ ÒÃÕ¨ÔÊàµÍà áÊ´§Ê¶Ò¹ÐÍÔ¹àµÍà ÃÑ»µ (ÃÕ¨ÊÔ àµÍà µÒí á˹ § 02H) à¾×Íè à¤ÅÕÂà ¤Ò ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ l ¶ Òà¡Ô´ÍÔ¹àµÍà û Ñ µ à¹×Íè §¨Ò¡¡ÒÃà¡çº¢ ÍÁÙÅŧã¹ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃѺÃѺ¢ ÍÁÙÅàÃÕº à Í ¨Ðµ ͧà¤ÅÕÂà ¤Ò ÍÔ¹àµÍÃ Ã»Ñ µ â´Â¡ÒÃÍ Ò¹¢ ÍÁÙŨҡÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà l ¶ Òà¡Ô´ÍÔ¹àµÍà û Ñ µ à¹×Íè §¨Ò¡¤ÇÒÁ¼Ô´¾ÅҴ㹡ÒÃÃÑºÊ §¢ ÍÁÙÅËÃ×Íà¡Ô´¡ÒÃàºÃ¡ ¨Ðµ ͧ à¤ÅÕÂà ¤Ò ÍÔ¹àµÍÃ Ã»Ñ µ â´Â¡ÒÃÍ Ò¹¤ ÒÃÕ¨ÊÔ àµÍà áÊ´§Ê¶Ò¹Ð¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅẺ͹ءÃÁ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ $
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 03H : ÃÕ¨ÊÔ àµÍà ¡Òí ˹´ÃٻẺ¢Í§¢ ÍÁÙÅ ÁÕÃÒÂÅÐàÍÕ´˹ Ò·Õ¢è ͧᵠÅкԵ´Ñ§¹Õé ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
DLAB
BRK
PAR2
PAR1
PAR0
STOP
DAB1
DAB0
DLAB
㪠㹡ÒáíÒ˹´Ë¹ Ò·Õ¡è Ò÷íÒ§Ò¹¢Í§ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà (00H) 1 à» ¹¡ÒÃࢠÒÊÙ âËÁ´¡ÒÃËÒä Һʹàõ 0 à» ¹¡ÒÃࢠҶ֧ÃÕ¨ÔÊàµÍà ºÑ¿à¿Íà (ÃÕ¨ÔÊàµÍà µíÒá˹ § 00H) áÅÐ ÃÕ¨ÊÔ àµÍà ÊÒí ËÃѺàÍç¹àÍàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ (ÃÕ¨ÊÔ àµÍà µÒí á˹ § 01H) àÁ×Íè ºÔµ DLAB à» ¹ 1 ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà (00H) áÅÐÃÕ¨ÊÔ àµÍà àÍç¹àÍàºÔÅ ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ (01H) ¨Ð㪠ÊÒí ËÃѺâËÅ´¤ Ò¡ÒÃËÒäÇÒÁ¶ÕÊè Òí ËÃѺ¡íÒ˹´ ¤ Һʹàõ â´ÂÃÕ¨ÊÔ àµÍà 00H à¡çº¤ ÒµÑÇËÒÃ亵 µÒèí Ê Ç¹ÃÕ¨ÊÔ àµÍà 01H 㪠à¡çº¤ ÒµÑÇËÒÃ亵 ʧ٠¡ÒÃËÒ¤ ҺʹàõÊÒÁÒöà¢Õ¹໠¹ÊÁ¡ÒÃä´ ´§Ñ ¹Õé ºÍ´àõ = 115200/¤ ÒµÑÇËÒà 16 ºÔµ ¤ ÒµÑÇàÅ¢ 115200 ÁÒ¨Ò¡¤ÇÒÁ¶Õ¢è ͧ¤ÃÔʵÍÅã¹Ç§¨Ã UART ÀÒÂã¹à¤Ã×Íè § ¤ÍÁ¾ÔÇàµÍà â´Â¤ÃÔʵÍÅ·Õãè ª Á¤Õ ÇÒÁ¶Õè 1.8432 MHz ǧ¨ÃÀÒÂã¹ UART ¨ÐËÒä Ò¤ÇÒÁ¶Õ¹è ´Õé Ç Â 16 ·íÒãË ä´ ¤Ò ¤ÇÒÁ¶Õè 115200 Hz ÍÍ¡ÁÒ ¤ ÒµÑÇËÒà 16 ºÔµ = ¢ ÍÁÙÅã¹ÃÕ¨ÊÔ àµÍà 00H + (256 X ¢ ÍÁÙÅã¹ÃÕ¨ÊÔ àµÍà 01H) ¶ Òµ ͧ¡Òúʹàõ෠ҡѺ 9600 ¤ ÒµÑÇËÒ÷Õãè ª ¨Ðµ ͧÁÕ¤Ò à· Ò¡Ñº 12 «Ö§è ¤ Ò¹Õ¨é ж١à¢Õ¹ŧã¹ÃÕ¨ÊÔ àµÍà 00H áÅÐà¢Õ¹¤ Ò 0 ŧä»ã¹ÃÕ¨ÊÔ àµÍà 01H ¤ ÒµÑÇËÒ÷շè Òí ãË à¡Ô´¤ ҺʹàõÊÙ§ÊØ´·Õè 115200 ºÔµµ ÍÇÔ¹Ò·Õ¤Í× ¤ Ò 0001 ¹Ñ¹è ¤×ÍÃÕ¨ÊÔ àµÍà 00H ÁÕ¤Ò à· Ò¡Ñº 1 áÅÐÃÕ¨ÊÔ àµÍà 01H ÁÕ¤Ò à· Ò¡Ñº 0 BRK 㪠¤Çº¤ØÁ¡ÒÃËÂØ´¶ Ò·ʹ¢ ÍÁÙÅ 1 ÊÒÁÒöËÂØ´ËÃ×ÍàºÃ¡ä´ 0 äÁ Á¡Õ ÒÃËÂØ´ËÃ×ÍàºÃ¡ä´ PAR2,PAR1,PAR0 㪠à¾×Íè ¡íÒ˹´ºÔµ¾ÒÃÔµÕé 000 äÁ 㪠ºµÔ ¾ÒÃÔµÕé 001 ¡íÒ˹´¾ÒÃÔµ¤Õé Õè 011 ¡íÒ˹´¾ÒÃÔµ¤Õé Ù 101 ÁÒà ¡ (mark) 111 ª Í§Ç Ò§ (space) àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ %
STOP
㪠¡Òí ˹´¨íҹǹºÔµ» ´· Ò 1 ÁÕºµÔ » ´· Ò 2 ºÔµ 0 ÁÕºµÔ » ´· Ò 1 ºÔµ
DAB1,DAB0 㪠ÃÇ Á¡Ñ¹ã¹¡ÒáíÒ˹´¨íҹǹºÔµ¢Í§¢ ÍÁٺŷյè Í §¡Òö Ò·ʹ 00 ¨íҹǹºÔµ¢ ÍÁÙÅ෠ҡѺ 5 ºÔµ 01 ¨íҹǹºÔµ¢ ÍÁÙÅ෠ҡѺ 6 ºÔµ 10 ¨íҹǹºÔµ¢ ÍÁÙÅ෠ҡѺ 7 ºÔµ 11 ¨íҹǹºÔµ¢ ÍÁÙÅ෠ҡѺ 8 ºÔµ
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 04H : ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁâÁà´çÁ ÁÕÃÒÂÅÐàÍÕ´˹ Ò·Õ¢è ͧᵠÅкԵ´Ñ§¹Õé ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
0
0
0
LOOP
OUT2
OUT1
RTS
DTR
ºÔµ 5-7
äÁ Á¡Õ ÒÃ㪠§Ò¹ Í Ò¹¤ Òä´ à· Ò¡Ñº 0
LOOP
1 àÍç¹àÍàºÔÅ¡ÒÃÊ §¤ Ò¡ÅѺ 0 ´ÔÊàÍàºÔÅ
OUT1,OUT2 1 àÍç¹àÍàºÔÅ¡ÒÃ㪠§Ò¹ÀÒÂã¹ 0 ´ÔÊàÍàºÔÅ RTS
㪠¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§¢Ò RTS (Ready To Send) 1 àÍç¹àÍàºÔÅ 0 ´ÔÊàÍàºÔÅ
DTR
㪠¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§¢Ò DTR (Data Terminal Ready) 1 àÍç¹àÍàºÔÅ 0 ´ÔÊàÍàºÔÅ
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 05H : ÃÕ¨ÊÔ àµÍà áÊ´§Ê¶Ò¹Ð¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅ͹ءÃÁ¢Í§ UART 㪠§Ò¹Ã ÇÁ¡ÑºÃÕ¨ÔÊàµÍà áÊ´§âËÁ´áÅÐʶҹТͧ¡ÒÃÍÔ¹àµÍà ÃÑ»µ (ÃÕ¨ÔÊàµÍà µíÒá˹ § 02H) à¾×Íè áÊ´§ÊÒà˵آͧ¡ÒÃà¡Ô´ÍÔ¹àµÍÃ Ã»Ñ µ ÁÕÃÒÂÅÐàÍÕ´˹ Ò·Õ¢è ͧᵠÅкԵ´Ñ§¹Õé
àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ &
ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
0
TXE
TBE
BREK
FRME
PARE
OVFE
RxRD
TXE (Transmitter Empty) 1 áÊ´§Ç ÒÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃÑºÊ §¢ ÍÁÙÅÇ Ò§ 0 áÊ´§Ç ÒÂѧ¤§ÁÕ¢Í ÁÙÅ 1 亵 à¡çºÍÂÙã ¹ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃÑºÊ §¢ ÍÁÙÅ TBE (Transmitter Buffer Empty) 1 ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃÑºÊ §¢ ÍÁÙÅÇ Ò§ 0 Âѧ¤§ÁÕ¢Í ÁÙÅ 1 亵 à¡çºÍÂÙã ¹ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃÑºÊ §¢ ÍÁÙÅ BREK (Break ) 1 UART µÃǨ¾º¡ÒÃàºÃ¡ 0 äÁ Á¡Õ ÒÃàºÃ¡ FRME (Frame Error) 1 UART µÃǨ¾º¤ÇÒÁ¼Ô´¾ÅÒ´´ Ò¹à¿ÃÁ¢ ÍÁÙÅ 0 äÁ ¾º¤ÇÒÁ¼Ô´¾ÅÒ´´ Ò¹à¿ÃÁ¢ ÍÁÙÅ PARE (Parity Error) 1 UART µÃǨ¾º¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§¾ÒÃÔµÕé 0 äÁ ¾º¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§¾ÒÃÔµÕé OVRE (Overrun Error) 1 UART µÃǨ¾º¤ÇÒÁ¼Ô´¾ÅҴẺâÍàÇÍÃ Ã¹Ñ 0 äÁ ¾º¤ÇÒÁ¼Ô´¾ÅҴẺâÍàÇÍÃ Ã¹Ñ RxRD (Received Data Ready ) 1 ÁÕ¡ÒÃÃѺ¢ ÍÁÙÅࢠÒÁÒà¡çºäÇ ã¹ºÑ¿à¿Íà 0 äÁ Á¢Õ Í ÁÙÅ
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 06H : ÃÕ¨ÊÔ àµÍà áÊ´§Ê¶Ò¹Ð¢Í§âÁà´çÁ 㪠à¾×Íè ¡íÒ˹´Ê¶Ò¹ÐÊÑÒ³ÍÔ¹¾Øµ ¢Í§¾Íà µÍ¹Ø¡ÃÁ RS-232 «Ö§è ä´ á¡ ÊÑÒ³ DCD, DSR, CTS áÅÐ RI ÊíÒËÃѺ¡ÒÃàª×Íè Áµ Í㪠§Ò¹áººÍ๡»ÃÐʧ¤ ´Ñ§ÁÕÃÒÂÅÐàÍÕ´˹ Ò·Õ¢è ͧᵠÅкԵµ Í仹Õé
àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ '
ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
,+,
41
,54
+65
,,+,
,41
,,54
,+65
DCD 㪠áÊ´§ÊÀÒÇТͧ¢Ò DCD 1 áÊ´§Ç Ò·Õ¢è Ò DCD à» ¹Åͨԡ 1 0 áÊ´§Ç Ò·Õ¢è Ò DCD à» ¹Åͨԡ 0 RI 㪠áÊ´§ÊÀÒÇТͧ¢Ò RI 1 áÊ´§Ç Ò·Õ¢è Ò RI à» ¹Åͨԡ 1 0 áÊ´§Ç Ò·Õ¢è Ò RI à» ¹Åͨԡ 0 DSR 㪠áÊ´§ÊÀÒÇТͧ¢Ò DSR 1 áÊ´§Ç Ò·Õ¢è Ò DSR à» ¹Åͨԡ 1 0 áÊ´§Ç Ò·Õ¢è Ò DSR à» ¹Åͨԡ 0 DCTS (Delta Clear To Send) 㪠ᨠ§¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ¢Í§ºÔµ CTS 1 áÊ´§Ç ÒºÔµ CTS (Clear To Send) à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§àÁ×Íè à·Õº¨Ò¡¡ÒÃ Í Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç 0 áÊ´§Ç ÒäÁ ÁÕ¡ÒÃà»ÅÕè¹á»Å§àÁ×èÍà·Õº¡Ñº¡ÒÃÍ Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç DDSR (Delta Data Set Ready) 㪠ᨠ§¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ¢Í§ºÔµ DSR 1 áÊ´§Ç ÒºÔµ DSR (Data Set Ready) à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§àÁ×Íè à·Õº¨Ò¡¡ÒÃ Í Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç 0 áÊ´§Ç ÒäÁ ÁÕ¡ÒÃà»ÅÕè¹á»Å§àÁ×èÍà·Õº¡Ñº¡ÒÃÍ Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç DRI (Delta Ring Indicator) 㪠ᨠ§¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ¢Í§ºÔµ RI 1 áÊ´§Ç ÒºÔµ RI (Ringing Indicator) à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§àÁ×Íè à·Õº¨Ò¡¡ÒÃ Í Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç 0 áÊ´§Ç ÒäÁ ÁÕ¡ÒÃà»ÅÕè¹á»Å§àÁ×èÍà·Õº¡Ñº¡ÒÃÍ Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç DDCD (Delta Data Carrier Detect) 㪠ᨠ§¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ¢Í§ºÔµ DDCD 1 áÊ´§Ç ÒºÔµ CTS (Clear To Send) à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§àÁ×Íè à·Õº¨Ò¡¡ÒÃ Í Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç 0 áÊ´§Ç ÒäÁ ÁÕ¡ÒÃà»ÅÕè¹á»Å§àÁ×èÍà·Õº¡Ñº¡ÒÃÍ Ò¹¤ Ò¤ÃÑ駷ÕèáÅ Ç DCTS (Delta Clear To Send) 㪠áÊ´§ÊÀÒÇТͧ¢Ò CTS 1 áÊ´§Ç Ò·Õ¢è Ò CTS à» ¹Åͨԡ 1 0 áÊ´§Ç Ò·Õ¢è Ò CTS à» ¹Åͨԡ 0 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ
ª×èÍÃÕ¨ÔÊàµÍÃ
áÍ´à´ÃÊ
ǧ¨Ã¢Ñº RS-232
µíÒá˹ §ºÔµ
ÃÕ¨ÔÊàµÍà ºÑ¿à¿Íà ÃÕ¨ÔÊàµÍà MCR ÃÕ¨ÔÊàµÍà MCR
base+00H base+04H base+04H
0-7 0 0
ÃÕ¨ÔÊàµÍà ºÑ¿à¿Íà ÃÕ¨ÔÊàµÍà MSR ÃÕ¨ÔÊàµÍà MSR ÃÕ¨ÔÊàµÍà MSR
base+00H base+06H base+06H base+06H
0-7 0 0 0
6N, 465 ,64 4N, +65 ,54 ,+,
8250/16450 UART
ÊÒÂàÍÒµ ¾Øµ
3 7 4
6N,
2 8 6 4 5
4N,
ǧ¨ÃÃѺ RS-232 6N,
465
465
,64
,64
ÊÒÂÍÔ¹¾Øµ 4N,
+65
+65
,54
,54
,+,
,+,
ǧ¨Ã¢Ñº RS-232
ǧ¨ÃÃѺ RS-232 ¾Íà µÍ¹Ø¡ÃÁ DB-9
¤ÍÁ¾ÔÇàµÍÃ
ÍØ»¡Ã³ ÀÒ¹͡
ÃÙ»·Õè 1-6 ä´ÍÐá¡ÃÁáÊ´§â¤Ã§Êà ҧ·Ò§ÎÒà ´áÇà ¢Í§¾Íà µÍ¹Ø¡ÃÁ
ÃÕ¨ÊÔ àµÍà µÒí á˹ § 07H : ÃÕ¨ÊÔ àµÍà ÊÒí ËÃѺà¡çº¢ ÍÁÙŪÑÇè ¤ÃÒÇ ·íÒ˹ Ò·Õàè » ¹Ë¹ ǤÇÒÁ¨íÒáÃÁ¢¹Ò´ 1 亵 ¡ÒÃÍ Ò¹áÅÐà¢Õ¹¢ ÍÁÙÅ·ÕÃè ¨Õ ÊÔ àµÍà µÇÑ ¹Õäé Á Ê §¼Åã´æ µ Í¡ÒÃ㪠§Ò¹ UART
ÅѡɳÐÊÑÒ³ÍÔ¹¾ØµáÅÐàÍÒµ ¾µØ ¢Í§¾Íà µ RS-232 ÊÑ Ò³àÍÒµ ¾Ø µ ·Õè ã ª ¤ Ǻ¤Ø Á (RTS áÅÐ DTR) áÅÐÊÑ Ò³áÊ´§Ê¶Ò¹ÐÍÔ ¹ ¾Ø µ (CTS, DSR áÅÐ DCD) ¢Í§¾Íà µÍ¹Ø¡ÃÁ RS-232 ¨Ð¶Ù¡¡ÅѺʶҹÐÀÒÂã¹µÑÇ UART Ê Ç¹ ÊÑÒ³¢ ÍÁÙŷѧé ÀÒ¤Ê §áÅÐÃѺ¨ÐäÁ ¶¡Ù ¡ÅѺʶҹРUART ¨ÐãË ÃдѺÊÑÒ³àÍÒµ ¾µØ ÍÍ¡ÁÒ à» ¹áºº·Õ·áÕ ÍÅà· Ò¹Ñ¹é ´Ñ§¹Ñ¹é àÁ×Íè ÊÑÒ³¶Ù¡Ê §ÍÍ¡ÁÒ¨Ò¡ UART ¨Ö§µ Í§Ê §à¢ ÒÊÙÇ §¨Ã¢Ñºà¾×Íè »ÃѺÃдѺáç´Ñ¹ãË ä´ ÃдѺÊÑҳ໠¹ä»µÒÁÁҵðҹ RS-232 ¡ Í¹Ê §Í͡仨ҡ¤ÍÁ¾ÔÇàµÍà ÊíÒËÃѺÍØ»¡Ã³ µÍ àª×Íè Á»ÅÒ·ҧ¡ç¨Ðµ ͧÁÕǧ¨Ã¢Ñºã¹ÅѡɳйÕàé ª ¹à´ÕÂǡѹ à¾×Íè ãË ä´ ÃдѺÊÑÒ³ ã¹ÃдѺà´ÕÂǡѹ ᵠǧ¨Ã¢Ñº·Õãè ª ·§Ñé ÀÒÂ㹤ÍÁ¾ÔÇàµÍà áÅÐÍØ»¡Ã³ µÍ àª×Íè Á»ÅÒ·ҧ¹Ñ¹é ¨Ð¶Ù¡¡ÅѺ ʶҹР´Ñ§áÊ´§à» ¹ºÅçÍ¡ä´ÍÐá¡ÃÁã¹ÃÙ»·Õè 1-6
áÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁ áÍ´à´ÃÊ¾×¹é °Ò¹¢Í§¾Íà µÍ¹Ø¡ÃÁÁÕ 4 µíÒá˹ §´Ñ§¹Õ¤é Í× COM1 : 3F8H COM2 : 2F8H COM3 : 3E8H COM4 : 2E8H àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ
ºÔµ 3 ºÔµ 2 ºÔµ 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0
¨íҹǹ¾Íà µ äÁ Á¾Õ Íà µÍ¹Ø¡ÃÁ ÁÕ¾Íà µÍ¹Ø¡ÃÁ 1 ¾Íà µ ÁÕ¾Íà µÍ¹Ø¡ÃÁ 2 ¾Íà µ ÁÕ¾Íà µÍ¹Ø¡ÃÁ 3 ¾Íà µ ÁÕ¾Íà µÍ¹Ø¡ÃÁ 4 ¾Íà µ
µÒÃÒ§·Õè 1-2 áÊ´§¢ ÍÁÙÅã¹áÍ´ à´ÃÊ 0000:0411H ·Õè㪠ᨠ§ ¨íҹǹ¾Íà µÍ¹Ø¡ÃÁ
àÁ×Íè àÃÔÁè à» ´à¤Ã×Íè §à¾×Íè 㪠§Ò¹¤ÍÁ¾ÔÇàµÍà äºÍÍÊÀÒÂ㹤ÍÁ¾ÔÇàµÍà ¨Ð·íÒ¡ÒõÃǨÊͺ áÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁ·Ñ§é ËÁ´ ¶ ÒäºÍÍʵÃǨ¾ºáÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁ äºÍÍʨйíÒáÍ´ à´ÃÊ·Õµè ÃǨ¾ºä»à¡çºäÇ ã¹Ë¹ ǤÇÒÁ¨íÒ¢¹Ò´ 2 亵 ÊíÒËÃѺ¾Íà µÍ¹Ø¡ÃÁ COM1 ¨Ðà¡çºäÇ ·Õè áÍ´à´ÃÊ 0000:0400H áÅÐ 0000:0401H Ê Ç¹µíÒá˹ §Í×¹è æ ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé COM2 = 0000:0402H - 0000:0403H COM3 = 0000:0404H - 0000:0405H COM4 = 0000:0406H - 0000:0407H ¹Í¡¨Ò¡¹Õ·é ËÕè ¹ ǤÇÒÁ¨íÒáÍ´à´Ê 0000:0411H Âѧ㪠ÊÒí ËÃѺáÊ´§¨íҹǹ¢Í§¾Íà µÍ¹Ø ¡ÃÁ·ÕÁè ãÕ ª ÍÂÙã ¹¤ÍÁ¾ÔÇàµÍÃ Í¡Õ ´ Ç â´ÂÁÕÃÒÂÅÐàÍÕ´´Ñ§áÊ´§ã¹µÒÃÒ§·Õè 1-2
àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ
º··Õè 2
¡ÒÃà¢Õ¹â»Ãá¡ÃÁ à¾×Íè 㪠§Ò¹¾Íà µÍ¹Ø¡ÃÁ ¡ÒÃËÒ¤ ÒµíÒá˹ §áÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁ ¡ÒÃËÒ¤ ÒµíÒá˹ §áÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁÊÒÁÒö·íÒä´ ËÅÒÂÇÔ¸Õ ÇÔ¸Õ·Õè1 â´Â¡ÒÃ㪠â»Ãá¡ÃÁ Debug ä»´Ù¤ ÒµíÒá˹ §áÍ´à´ÃÊ·ÕèµíÒá˹ § 0000:0400H â´Â㪠¾ÁÔ ¾ ¤Òí ÊÑ§è ·Õ´è Íʾà ÍÁ¾ ´§Ñ áÊ´§ã¹ÃÙ»·Õè 2-1 ¤ Ò·Õàè Ëç¹ã¹ÃÙ»áÊ´§Ç Ò ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà à¤Ã×Íè §¹ÕÁé ¶Õ §Ö 4 ¾Íà µ ÁÕµÒí á˹ §áÍ´ à´ÃÊäÅ àÃÕ§¡Ñ¹µÑé§áµ ˹ ǤÇÒÁ¨íÒµíÒá˹ §·Õè 0000:0400H - 0000:0407H µÑÇÍ ҧઠ¹ ·Õµè Òí á˹ §Ë¹ ǤÇÒÁ¨íÒ 0000 : 0400H - 0000 : 0401H áÊ´§µÑÇàÅ¢ F8 03 «Ö§è ËÁÒ¤ÇÒÁÇ Ò áÍ´à´Ãʢͧ¾Íà µ COM1 ¤×Í 03F8H ¹Ñ¹è àͧ ÊíÒËÃѺ¨íҹǹ¢Í§¾Íà µÍ¹Ø¡ÃÁ·ÕÃè кØÍÂÙ· ËÕè ¹ Ç ¤ÇÒÁ¨íÒµíÒá˹ § 0000 : 0411H ÁÕ¤ Ò෠ҡѺ D8H «Öè§àÁ×èÍá»Å§à» ¹àÅ¢°Ò¹Êͧ¨Ðä´ ¤ Òà» ¹ 11011000 ºÔµ·Õè 1-3 ÁÕ¤Ò à· Ò¡Ñº 100 ËÁÒ¤ÇÒÁÇ ÒÁÕ¨Òí ¹Ç¹¾Íà µÍ¹Ø¡ÃÁ·Ñ§é ËÁ´ 4 ¾Íà µ´Ñ§·Õè ä´ ¡Å ÒÇä»áŠǵ͹µ ¹ ÇÔ¸·Õ Õè 2 ÊÒÁÒö´Ùä´ ¨Ò¡ÇÔ¹â´ÇÊ 95/98/ME â´Âä»·Õè Control Panel àÃÕ¡ System à Device Manager à Ports (COM& LPT) Ê Ç¹ÇÔ¹â´ÇÊ 2000 ࢠÒä»´Ù·Õè Control Panel àÃÕ¡ System à Hardware à Device Manager à Ports (COM& LPT) ¨Ò¡¹Ñ¹é àÅ×Í¡¾Íà µÍ¹Ø¡ÃÁ·Õè µ ͧ¡ÒÃ´Ù¤Ò ´Ñ§ã¹ÃÙ»·Õè 2-2 áÅ ÇàÅ×Í¡ Properties à Resources ´Ñ§ã¹ÃÙ»·Õè 2-3 «Ö§è ã¹Ë¹ Òµ Ò§¹Õ¨é Ð áÊ´§·Ñ§é µíÒá˹ §áÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁ¹Ñ¹é æ ÃÇÁ¶Ö§µíÒá˹ §¢Í§ÍÔ¹àµÍÃ Ã»Ñ µ ·ãÕè ª ´Ç  ÇÔ¸·Õ Õè 3 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè Í Ò¹¤ Ò â´Â㪠â»Ãá¡ÃÁÀÒÉÒã´ æ ¡çä´ à¾×Íè Í Ò¹¤ Ò áµ ã¹ µÑÇÍ ҧ¹Õ¨é Ð㪠QBASIC 㹡ÒÃáÊ´§¤ ÒáÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁ â´Â¨Ð㪠¤Òí Êѧè PEEK «Ö§è à» ¹ ¤íÒÊÑ觷Õèãª Í Ò¹¤ Ҩҡ˹ ǤÇÒÁ¨íÒ ¹Í¡¨Ò¡¹ÕéÂÑ§Í Ò¹¤ Ò¨íҹǹ¢Í§¾Íà µÍ¹Ø¡ÃÁÍÍ¡ÁÒâ´Â㪠¤íÒÊѧè à´ÕÂǡѹ áµ ¨Ð㪠¤Òí Êѧè AND ࢠҪ ÇÂà¾×Íè àÅ×Í¡àÍÒ੾ÒкԵ·Õµè Í §¡ÒÃÍ Ò¹¤ Òà· Ò¹Ñ¹é ¨Ò¡¹Ñ¹é àÅ×Íè ¹ºÔµä»·Ò§¢ÇÒ 1 ºÔµ â´Âãª Ç¸Ô ¡Õ ÒÃËÒô Ç 2 à¾×Íè ãË ºµÔ ·Õµè Í §¡ÒÃä»ÍÂÙ´ Ò ¹¢ÇÒÁ×ÍÊØ´áÅÐ áÊ´§¤ Ò¨íҹǹ¾Íà µ·Õáè · ¨ÃÔ§ÍÍ¡ÁÒ ¤íÒÊѧè HEX$ ª ÇÂãË ¡ÒÃáÊ´§¼ÅµíÒá˹ §áÍ´à´Ãʢͧ¾Íà µ ͹ءÃÁ·ÕÍè Í¡ÁÒà» ¹¤ ÒàÅ¢°Ò¹ÊԺˡ Ê Ç¹¡Òäٳ¤ Ò´ Ç 100H ¹Ñ¹é ¡çà¾×Íè ·Õ¨è ÐàÅ×Íè ¹ºÔµä»´ ҹ˹ Ò 1 亵 ·Òí ãË àÁ×Íè àÇÅÒ¹íÒÁҺǡáŠǨÐä´ ¤Ò à» ¹ 2 亵 ¾Í´Õ ÁÕâ»Ãá¡ÃÁµÑÇÍ ҧáÊ´§´Ñ§¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 23
ÃÙ»·Õè 2-1 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ DEBUG áÊ´§µíÒá˹ §¢Í§¾Íà µÍ¹Ø¡ÃÁ DEF SEG = 0 CLS PRINT “Address Of COM1 PRINT “Address Of COM2 PRINT “Address Of COM3 PRINT “Address Of COM4 PRINT “Number Of RS-232 END
:”, HEX$((PEEK(&H401) :”, HEX$((PEEK(&H403) :”, HEX$((PEEK(&H405) :”, HEX$((PEEK(&H407) Port in This Computer
* &H100) + PEEK(&H400)) * &H100) + PEEK(&H402)) * &H100) + PEEK(&H404)) * &H100) + PEEK(&H406)) :”, (PEEK(&H411) AND &HE) / 2
¡ÒáíÒ˹´¤ ÒàÃÔèÁµ ¹ãË ¡Ñº¾Íà µÍ¹Ø¡ÃÁ
ÃÙ»·Õè 2-2 áÊ´§µíÒá˹ §¢Í§¾Íà µÍ¹Ø¡ÃÁ ÃÙ»·Õè 2-3 ˹ Òµ Ò§áÊ´§ÃÒÂÅÐàÍÕ´¢Í§ º¹Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98/ME ¾Íà µÍ¹Ø¡ÃÁº¹ÇÔ¹â´ÇÊ 95/98/ME àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 24
¡ ͹¡ÒÃ㪠§Ò¹¾Íà µÍ¹Ø¡ÃÁ¹Ñ¹é ¨Ðµ ͧÁÕ¡ÒáíÒ˹´¤ ÒàÃÔÁè µ ¹ãË ¡ºÑ µÑÇÁѹ¡ ͹ «Ö§è ¡ç¤Í× ¡Òà ¡íÒ˹´¨íҹǹºÔµ¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §,¨íҹǹºÔµ» ´· ÒÂ, ª¹Ô´¢Í§¾ÒÃÔµ·Õé ãÕè ª áÅкʹàõ ¡ÒáíÒ˹´ ÊÒÁÒö·íÒä´ ËÅÒÂÇÔ¸Õ ÇÔ¸áÕ Ã¡à» ¹¡ÒáíÒ˹´¨Ò¡´Íʾà ÍÁ¾ â´Â㪠¤Òí Êѧè MODE «Ö§è ÁÕÇ¸Ô ¡Õ Òà 㪠§Ò¹´Ñ§¹Õé MODE COMm : baud=b, parity=p, data=d, stop=s, retry=r
ËÃ×Í
MODE COMm : b,p,d,s,r
µÑÇÍ ҧ MODE COM1 : 9600,n,8,1 ¨Ðà» ¹¡ÒáíÒ˹´ãË ¾Íà µÍ¹Ø¡ÃÁ COM1 Áպʹàõ෠ҡѺ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé ÃÑºÊ §¢ ÍÁÙÅẺ 8 ºÔµ áÅÐÁÕºµÔ » ´· Ò 1 ºÔµ ÇÔ¸·Õ Õè 2 à» ¹¡ÒáíÒ˹´â´Âãª Í¹Ô àµÍÃ Ã»Ñ µ ¢Í§´ÍÊ µíÒá˹ §·Õè 14H «Ö§è ¡ÒÃ㪠§Ò¹¨Ðµ ͧ ¡íÒ˹´¤ Òµ Ò§ æ ŧã¹ÃÕ¨ÊÔ àµÍà ´Ç  â´Â¨Ðµ ͧ¡íÒ˹´ãË Ã¨Õ ÊÔ àµÍà AH ÁÕ¤Ò à· Ò¡Ñº 0 ÃÕ¨ÊÔ àµÍà DX à¡çº¤ Ңͧ¾Íà µÍ¹Ø¡ÃÁ·Õµè Í §¡ÒáíÒ˹´¤ ÒàÃÔÁè µ ¹ â´Â DX =0 ¨Ð¡íÒ˹´ãË ¡ºÑ ¾Íà µÍ¹Ø¡ÃÁ COM1 DX =1 ¨Ð¡íÒ˹´ãË ¡ºÑ ¾Íà µÍ¹Ø¡ÃÁ COM2 DX =2 ¨Ð¡íÒ˹´ãË ¡ºÑ ¾Íà µÍ¹Ø¡ÃÁ COM3 DX =3 ¨Ð¡íÒ˹´ãË ¡ºÑ ¾Íà µÍ¹Ø¡ÃÁ COM4 ÃÕ¨ÊÔ àµÍà AL «Ö§è ÁÕ¢¹Ò´ 8 ºÔµãª à¡çº¤ ÒàÃÔÁè µ ¹µ Ò§æ ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
BD2
BD1
BD0
PAR1
PAR0
STOP
DA1
DA0
BD2,BD1,BD0 㪠ÊÒí ËÃѺ¡íÒ˹´¤ Һʹàõ 111 ºÍ´àõ෠ҡѺ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ 110 ºÍ´àõ෠ҡѺ 4,800 ºÔµµ ÍÇÔ¹Ò·Õ 101 ºÍ´àõ෠ҡѺ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ 100 ºÍ´àõ෠ҡѺ 1,200 ºÔµµ ÍÇÔ¹Ò·Õ 011 ºÍ´àõ෠ҡѺ 600 ºÔµµ ÍÇÔ¹Ò·Õ 010 ºÍ´àõ෠ҡѺ 300 ºÔµµ ÍÇÔ¹Ò·Õ 001 ºÍ´àõ෠ҡѺ 150 ºÔµµ ÍÇÔ¹Ò·Õ 000 ºÍ´àõ෠ҡѺ 110 ºÔµµ ÍÇÔ¹Ò·Õ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 25
µÑÇÍ ҧâ»Ãá¡ÃÁ ÍÂà·Íà ⺻ÒʤÒÅÊíÒËÃѺ¡ÒáíÒ˹´¤ ÒãË ¡Ñº¾Íà µ ͹ءÃÁ â´Â¡íÒ˹´¤ ÒàÃÔÁè µ ¹ãË ¡ºÑ ¾Íà µÍ¹Ø¡ÃÁ COM1 ÁÕ굄 ÃÒºÍ´à· Ò ¡Ñº 9600 äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé ºÔµ¢ ÍÁÙÅ 8 ºÔµ áÅкԵ» ´· Ò 1 ºÔµ à¢ÕÂ¹ä´ ´§Ñ ¹Õé procedue initial ; var regis : registers ; begin with regis do begin ah := 0 ; al := $0e3 ; dx := 0 ; intr($14, regis) ; end ; end ;
{ 11100011 binary }
PAR1,PAR0 㪠¡Òí ˹´¤ Ò¾ÒÃÔµâÕé ´Â 00 ËÃ×Í 10 äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé 01 ¾ÒÃÔµ¤Õé Õè 11 ¾ÒÃÔµ¤Õé Ù STOP 㪠¡Òí ˹´¨íҹǹ¢Í§ºÔµ» ´· Ò 1 ÁÕºµÔ » ´· ÒÂ෠ҡѺ 2 ºÔµ 0 ÁÕºµÔ » ´· ÒÂ෠ҡѺ 1 ºÔµ DA1,DA0 㪠¡Òí ˹´¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅâ´Â 10 ¤ÇÒÁÂÒÇ¢ ÍÁÙÅ෠ҡѺ 7 ºÔµ 11 ¤ÇÒÁÂÒÇ¢ ÍÁÙÅ෠ҡѺ 8 ºÔµ
¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅẺ͹ءÃÁ ÁÕËÅÒ¡ËÅÒ¡ËÅÒÂÇÔ¸Õ㹡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅẺ͹ءÃÁ¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ RS-232 ઠ¹ 㪠¤Òí ÊÑ§è ¾ÔÁ¾ ÍÍ¡·Ò§à¤Ã×Íè §¾ÔÁ¾ àÃÕ¡ÍÔ¹àµÍÃ Ã»Ñ µ ¢Í§äºÍÍÊËÃ×ͧ͢´ÍÊ ¡ÒÃà¢Õ¹ËÃ×Í Í Ò¹ä»ÂѧáÍ´à´Ãʢͧ¾Íà µâ´ÂµÃ§ ÇÔ¸ÕÊØ´· ÒÂà» ¹ÇÔ¸Õ·ÕèÁÕ¤ÇÒÁÂ×´ËÂØ ¹ã¹¡ÒÃ㪠§Ò¹·ÕèÊØ´ ¡µÑÇ Í ҧ ¶ Òµ ͧ¡ÒÃÊ §¢ ÍÁÙÅä»Âѧ¾Íà µÍ¹Ø¡ÃÁ COM1 ÊÒÁÒöà¢Õ¹¢ ÍÁÙÅâ´ÂµÃ§ä»·ÕèÃÕ¨ÔÊàµÍà ºÑ¿à¿Íà ÊÒí ËÃÑºÊ §¢ ÍÁÙÅ (áÍ´à´ÃÊ 3F8H) â´Â㪠¤Òí Êѧè ÀÒÉÒ QBASIC § ÒÂæ ´Ñ§¹Õé OUT &H3F8,X
¤ Ò X ã¹·Õ¹è ËÕé ÁÒ¶֧¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ § ÁÕ¢¹Ò´ 8 ºÔµ ÊíÒËÃѺ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡ¾Íà µÍ¹Ø¡ÃÁ ¨Ðà» ¹¡ÒÃÍ Ò¹¢ ÍÁÙÅÁÒ¨Ò¡ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃѺ ÃѺ¢ ÍÁÙÅ (áÍ´à´ÃÊ 3F8H ઠ¹à´ÕÂǡѹ) «Ö§è ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ§ Ò æ ä´ ´§Ñ ¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 26
Y = INP(&H3F8)
¤ Ò Y ã¹·Õ¹è ¤Õé Í× ¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ÃÕ¨ÊÔ àµÍà º¿Ñ à¿Íà ÊÒí ËÃѺÃѺ¢ ÍÁÙÅ â´ÂÁÕ¢¹Ò´ 8 ºÔµ ÊíÒËÃѺ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ Ç TURBO PASCAL ¡çÊÒÁÒö㪠¤Òí Êѧè PORT[$3F8] = X
ÊíÒËÃѺ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ¾Íà µÍ¹Ø¡ÃÁáÅÐ Y = PORT[$3F8]
ÊíÒËÃѺ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡ¾Íà µÍ¹Ø¡ÃÁ áµ àÁ×Íè 㪠¤Òí ÊÑ§è ¹Õãé ¹¢³Ð·Õâè »Ãá¡ÃÁ·íÒ§Ò¹¼ Ò¹Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ ¨ÐäÁ ÊÒÁÒö㪠§Ò¹ä´ à¹×Íè §¨Ò¡Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´Ç ä´ à¢ Ò½ §µÑǾÍà µÍ¹Ø¡ÃÁࢠÒà» ¹Ê Ç¹Ë¹Ö§è ¢Í§Ãкº»¯ÔºµÑ Ô ¡ÒÃáÅ Ç ´Ñ§¹Ñ鹡ÒÃàÃÕ¡㪠§Ò¹¨Ö§¨íÒà» ¹µ ͧàÃÕ¡¼ Ò¹à¤Ã×èͧÁ×Í·ÕèµÔ´µ ͼ Ò¹Ãкº»¯ÔºÑµÔ¡Òà ઠ¹ ¡ÒÃ㪠¤Í¹â·ÃÅ MSCOMM32.OCX ¢Í§â»Ãá¡ÃÁ Visual BASIC
¤Í¹â·ÃÅ MSComm ÊíÒËÃѺ¡ÒÃ㪠§Ò¹ Visual BASIC µÑé§áµ àÇÍà ªÑ¹ 2 à» ¹µ ¹ÁÒ ã¹ Visual BASIC ¨ÐÁÕ ¤ÑʵÍÁ¤Í¹â·ÃÅÊíÒËÃѺ¡ÒÃÊ×èÍÊÒÃ͹ءÃÁ¼ Ò¹·Ò§¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ÁÒãË â´Âã¹ Visual BASIC àÇÍà ª¹Ñ 2 áÅÐàÇÍà ª¹Ñ 3 ¨Ð㪠ªÍ×è Ç Ò MSCOMM.VBX Ê Ç¹àÇÍà ª¹Ñ 4 㪠ªÍ×è Ç Ò MSCOMM16.OCX ÊíÒËÃѺ¡Ò÷íÒ§Ò¹¡ÑºÃкº»¯ÔºµÑ ¡Ô Òà 16 ºÔµ áÅÐ MSCOMM32.OCX ÊíÒËÃѺ¡Ò÷íÒ§Ò¹¡ÑºÃкº»¯ÔºÑµÔ¡Òà 32 ºÔµ ÊíÒËÃѺ㹠Visual BASIC àÇÍà ªÑ¹ 5 ¨ÐÁÕà¾Õ§ MSCOMM32.OCX ෠ҹѹé à¾ÃÒж١Í͡ẺÁÒãË ãª §Ò¹¡ÑºÃкº»¯ÔºµÑ ¡Ô Òà 32 ºÔµ MSComm ¨Ñ´àµÃÕÂÁ·Ò§àÅ×Í¡àÍÒäÇ 2 ·Ò§à¾×Íè ¤ÇÒÁÊдǡ㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ ·Ò§áá ¤×Í ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ·Õ¡è Ãеع ´ ÇÂà˵ءÒó (event-driven communications) à» ¹ÃٻẺ¡ÒÃ㪠§Ò¹·ÕÁè »Õ ÃÐÊÔ·¸ÔÀÒ¾ÁÒ¡ÊíÒËÃѺ¡ÒõͺʹͧẺ·Ñ¹·Õ·¹Ñ 㴠ઠ¹ àÁ×Íè µÑÇÍÑ¡ÉÃ¶Ù¡Ê §ÁÒ·Õ¾è Íà µ ͹ءÃÁËÃ×Íà¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§·Õ¢è Ò Data Carrier Detect (DCD) ËÃ×Í¢Ò Request To Send (RTS) à˵ءÒó Oncomm ¢Í§ MSComm ¨ÐÊÒÁÒöµÃǨ¨ÑºÊÑÒ³¹Ñ¹é ä´ ·¹Ñ ·Õ «Ö§è ¨Ð¡Å ÒǶ֧ÃÒ ÅÐàÍÕ´ã¹ËÑÇ¢ ͤسÊÁºÑµÔ CommEvent µ Íä» Ê Ç¹·Ò§àÅ×Í¡·ÕèÊͧ໠¹¡Òä͵ÃǨÊͺ¤ Ò à˵ءÒó áÅФÇÒÁ¼Ô´¾ÅÒ´·Õèà¡Ô´¢Öé¹´ Ç¡Òô٤ Ò·Õèà»ÅÕè¹á»Å§ÀÒÂ㹤سÊÁºÑµÔ CommEvent ËÅѧ¨Ò¡ãË â»Ãá¡ÃÁ·íҧҹ㹿 §¡ ª¹Ñè µ Ò§æ ä»àÃÕºà ÍÂáÅ Ç «Ö§è ÇÔ¸¹Õ ãÕé ª §Ò¹ä´ ´ãÕ ¹¡Ã³Õ·âÕè »Ãá¡ÃÁ ÁÕ¢¹Ò´àÅç¡ ¤Í¹â·ÃÅ MSComm 1 µÑÇÊÒÁÒö¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§¾Íà µÍ¹Ø¡ÃÁä´ 1 ¾Íà µ ¶ Òã¹ â»Ãá¡ÃÁ·Õãè ª §Ò¹µ ͧ¡ÒõԴµ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁÁÒ¡¡Ç Ò 1 ¾Íà µ¨Ðµ ͧ㪠¤Í¹â·ÃÅ MSComm àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 27
ÁÒ¡¡Ç Ò 1 µÑÇà¾×Íè ¤Çº¤ØÁ¾Íà µÍ¹Ø¡ÃÁã¹áµ ÅоÍà µ áÍ´à´Ãʢͧ¾Íà µÍ¹Ø¡ÃÁáÅÐáÍ´à´ÃÊ ¢Í§¡ÒÃà¡Ô´ÍÔ¹àµÍÃ Ã»Ñ µ ÊÒÁÒöà»ÅÕÂè ¹á»Å§ä´ ¨Ò¡¡ÒÃᡠ䢤 Ò·Õè Control Panel ¶Ö§áÁ ÇÒ ¤Í¹â·ÃÅ MSComm ¨ÐÁÕ¤³ Ø ÊÁºÑµÔ (property) ÁÒ¡ÁÒ ᵠÊÒÁÒö·íÒ¤ÇÒÁ ࢠÒã¨ä´ äÁ ÂÒ¡´Ñ§¹Õé
CommPort 㪠㹡ÒáíÒ˹´áÅÐÍ Ò¹¤ Ò¾Íà µÍ¹Ø¡ÃÁ·Õµè ´Ô µ ÍÍÂÙ (COM1,COM2 ,COM3,COM4) ÃٻẺ¡ÒÃ㪠§Ò¹ object.CommPort[ = value ]
â´Â Value à» ¹¤ Ңͧ¾Íà µÍ¹Ø¡ÃÁ ª¹Ô´¢Í§¢ ÍÁÙÅà» ¹ Integer ¤ Ò Value ÊÒÁÒö¡íÒ˹´ ä´ ã¹ª ǧ 1-16 (¤ ÒàÃÔÁè µ ¹¡íÒ˹´äÇ ·Õè 1) àÁ×Íè ÁÕ¡ÒáíÒ˹´¤ ÒáÅ Ç·íÒ¡ÒÃà» ´¾Íà µâ´Â㪠¤³ Ø ÊÁºÑµÔ PortOpen áµ ÇÒ ¾Íà µ¹Ñ¹é äÁ ÁÍÕ ÂÙã ¹Ãкº MSComm ¨ÐÊà ҧÊÑÒ³áÊ´§¢ ͼԴ¾ÅÒ´ error 68 ¢Öé¹ÁÒ «Öè§ËÁÒ¶֧ ÍØ»¡Ã³ µÑǹÕéäÁ ÁÕÍÂÙ ã¹Ãкº ´Ñ§¹Ñ鹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ö§¨íÒà» ¹µ ͧ¡íÒ˹´ µíÒá˹ §¢Í§¾Íà µÍ¹Ø¡ÃÁ¡ ͹·Õãè ª ¤Òí Êѧè OpenPort
Setting 㪠㹡ÒáíÒ˹´áÅÐÍ Ò¹¤ ÒÍѵÃҺʹ, ¾ÒÃÔµ,Õé ¨íҹǹ¢Í§ºÔµ¢ ÍÁÙÅ , ¨íҹǹ¢Í§ºÔµ» ´· Ò ÃٻẺ¡ÒÃ㪠§Ò¹ object.Settings [ = value ]
¤ Ò Value ÁÕª¹Ô´¢ ÍÁÙÅà» ¹áºº String ÁÕû٠Ẻ໠¹ BBBB,P,D,S â´Â BBBB à» ¹¤ Ò ÍѵÃҺʹ, P à» ¹¤ Ò¾ÒÃÔµ,Õé D à» ¹¨íҹǹ¢Í§ºÔµ¢ ÍÁÙÅ áÅÐ S à» ¹¨íҹǹ¢Í§ºÔµ» ´· Ò »¡µÔáÅ Ç ¤ Ò¹Õ¶é ¡Ù ¡íÒ˹´äÇ à» ¹ 9600, N, 8, 1 ¤ ҺʹàõÁҵðҹ·Õãè ª ¡ºÑ MSComm ÁÕ´§Ñ ¹Õé 110 ºÔµµ ÍÇÔ¹Ò·Õ 300 ºÔµµ ÍÇÔ¹Ò·Õ 600 ºÔµµ ÍÇÔ¹Ò·Õ 1,200 ºÔµµ ÍÇÔ¹Ò·Õ 2,400 ºÔµµ ÍÇÔ¹Ò·Õ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ (¤ Ò»¡µÔ) àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 28
14,400 ºÔµµ ÍÇÔ¹Ò·Õ 19,200 ºÔµµ ÍÇÔ¹Ò·Õ 28,800 ºÔµµ ÍÇÔ¹Ò·Õ 38,400 ºÔµµ ÍÇÔ¹Ò·Õ (ʧǹ) 56,000 ºÔµµ ÍÇÔ¹Ò·Õ (ʧǹ) 128,000 ºÔµµ ÍÇÔ¹Ò·Õ (ʧǹ) 256,000 ºÔµµ ÍÇÔ¹Ò·Õ (ʧǹ) ÊíÒËÃѺ¤ ÒÁҵðҹ㹡ÒáíÒ˹´¤ Ò¾ÒÃÔµÕéÁմѧ¹Õé ÊÑÅѡɳ E M N O S
ÃÒÂÅÐàÍÕ´ ¾ÒÃÔµ¤Õé Ù (Even) Åͨԡ 1 ( MARK ) äÁ 㪠(¤ Ò»¡µÔ) ¾ÒÃÔµ¤Õé Õè (Odd) Åͨԡ 0 (Space)
¤ Ò·Õãè ª 㹡ÒáíÒ˹´¨íҹǹºÔµÁÕ 5 ¤ Ò¤×Í 4,5,6,7 áÅÐ 8 (à» ¹¤ Ò»¡µÔ) ¤ Ò·ÕÃè кبÒí ¹Ç¹ºÔµ» ´· ÒÂÁÕ 3 ¤ Ò¤×Í 1 (à» ¹¤ Ò»¡µÔ), 1.5 áÅÐ 2 µÑÇÍ ҧ¡ÒÃ㪠§Ò¹¤íÒÊѧè Settings â´Â¨Ðà» ¹¡ÒáíÒ˹´¤ Һʹàõ෠ҡѺ 9600 äÁ Á¾Õ ÒÃÔ µÕé ¨íҹǹºÔµ¢ ÍÁÙÅ 8 ºÔµ áÅÐ ºÔµ» ´· Ò 1 ºÔµ ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé MSComm1.Settings = “9600,N,8,1”
ËÁÒÂà赯 ÊÒà˵طÕè¤ Ò·Õè¡íÒ˹´¨Ðµ ͧÍÂÙ ÀÒÂã¹à¤Ã×èͧËÁÒ¤íÒ¾Ù´ à¹×èͧ¨Ò¡ ¤ Ò·Õè ¡íÒ˹´¹ÕÍé ÂÙã ¹ÃÙ»µÑÇá»Ã String
PortOpen 㪠㹡ÒáíÒ˹´áÅÐÍ Ò¹¤ ÒʶҹТͧ¾Íà µÍ¹Ø¡ÃÁ à¾×Íè à» ´áÅл ´¾Íà µÍ¹Ø¡ÃÁ ÃٻẺ¡ÒÃ㪠§Ò¹ object.PortOpen [ = value ]
¤ Ò Value ÁÕª¹Ô´¢ ÍÁÙÅà» ¹áºººÙÅ¹Õ ¤×Í True ¡Ñº False â´Â True ËÁÒ¶֧¡ÒÃà» ´¾Íà µÍ ¹Ø¡ÃÁáÅÐ False ËÁÒ¶֧¡Òû ´¾Íà µÍ¹Ø¡ÃÁ ÊíÒËÃѺ¡Òû ´¾Íà µ¹Ñ¹é ¨ÐÁÕ¡ÒÃà¤ÅÕÂà º¿Ñ à¿ÍÃ ÃºÑ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 29
¢ ÍÁÙÅáÅкѿà¿Íà ʧ ¢ ÍÁÙÅ´ Ç ¤Í¹â·ÃÅ MSComm ¨Ð» ´¾Íà µÍ¹Ø¡ÃÁâ´ÂÍѵâ¹ÁѵàÔ Á×Íè ÍÍ¡¨Ò¡ â»Ãá¡ÃÁ ¡ ͹·Õ¨è Ð㪠¤³ Ø ÊÁºÑµÔ PortOpen µ ͧµÃǨÊͺãË á¹ ã¨¡ Í¹Ç Ò¤Ø³ÊÁºÑµÔ CommPort ¹Ñ¹é ä´ ·Òí ¡ÒáíÒ˹´µíÒá˹ §¢Í§¾Íà µÍ¹Ø¡ÃÁäÇ ¶¡Ù µ ͧËÃ×ÍäÁ ÁÔઠ¹¹Ñ¹é MSComm ¨ÐáÊ´§¢ ͼԴ ¾ÅÒ´ Error 68 ᨠ§á¡ ¼ãÙ ª §Ò¹ ËÃ×Ͷ Ò¾Íà µÍ¹Ø¡ÃÁ¹Ñ¹é ¶Ù¡à» ´àÍÒäÇ áÅ Ç â»Ãá¡ÃÁ¡ç¨Ðᨠ§¢ ͼԴ ¾ÅÒ´ÍÍ¡ÁÒઠ¹à´ÕÂǡѹ ¶ ҤسÊÁºÑµÔ DTREnable ËÃ×Í RTSEnable ¶Ù¡¡íÒ˹´ãË à» ¹ True ¡ ͹·Õè¨Ð·íÒ¡ÒÃà» ´ ¾Íà µ ¤ ҤسÊÁºÑµ¢Ô ͧ DTREnable ËÃ×Í RTSEnable ¨Ð¶Ù¡à«µà» ¹ False ËÅѧ¨Ò¡» ´¾Íà µ áµ ¶ Ò૵໠¹ False ËÅѧ¨Ò¡» ´â»Ãá¡ÃÁáÅ Ç ¤ Ò·Õ¡è Òí ˹´äÇ ¨Ðà» ¹¤ Òà´ÔÁ µÑÇÍ ҧ¡ÒÃ㪠¤íÒÊÑè§à» ´¾Íà µ à¾×è͵Դµ ÍÊ×èÍÊÒáѺ¾Íà µÍ¹Ø¡ÃÁ COM1 áÅÐÁպʹàõ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ äÁ Á¾Õ ÒÃÔµÕé ¨íҹǹºÔµ¢ ÍÁÙÅ 8 ºÔµ áÅкԵ» ´· Ò 1 ºÔµ ÁÕ´§Ñ ¹Õé MSComm1.Settings = “9600,n,8,1” MSComm1.CommPort = 1 MSComm1.PortOpen = True
Input Í Ò¹¤ ÒáÅÐź¤ Ò¢ºÇ¹¢ ÍÁÙŨҡºÑ¿à¿Íà ÀÒ¤ÃѺ ÃٻẺ¡ÒÃ㪠§Ò¹ object.Input
¤Ø³ÊÁºÑµÔ InputLen à» ¹µÑÇ¡íÒ˹´¨íҹǹ¢Í§µÑÇÍÑ¡É÷Õè¨ÐÍ Ò¹â´Â¤Ø³ÊÁºÑµÔ Input ¡ÒáíÒ˹´¤ ÒãË InputLen ෠ҡѺ 0 à» ¹¡ÒáíÒ˹´ãË ¤³ Ø ÊÁºÑµÔ Input ·íÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅã¹ ºÑ¿à¿ÍÃ ÃºÑ ¢ ÍÁÙŷѧé ËÁ´ ¤Ø³ÊÁºÑµÔ InputMode à» ¹µÑÇ¡íÒ˹´ª¹Ô´¢Í§¢ ÍÁÙÅ·Õè¤Ø³ÊÁºÑµÔ Input ÃѺࢠÒÁÒ ¶ Ò InputMode ¶Ù¡¡íÒ˹´à» ¹ comInputModeText ¤Ø³ÊÁºÑµÔ Input ¨ÐÊ §¤ Ò¢ ÍÁÙÅ¡ÅѺÁÒã¹ÃٻẺ ¢Í§¢ ͤÇÒÁª¹Ô´¢ ÍÁÙÅà» ¹áºº Variant ¶ Ò InputMode ¡íÒ˹´à» ¹ comInputModeBinary ¤Ø³ÊÁºÑµÔ Input ¨ÐÊ §¢ ÍÁÙÅ¡ÅѺÁÒã¹ÃÙ»¢Í§äº¹ÒÃÕáè ÅЪ¹Ô´¢ ÍÁÙÅà» ¹áºº Variant µÑÇÍ ҧâ»Ãá¡ÃÁáÊ´§ãË àË繶֧ÇÔ¸ãÕ ¹¡ÒÃÃѺ¢ ÍÁÙŨҡºÑ¿à¿ÍÃ ÃºÑ ¢ ÍÁÙŷѧé ËÁ´ Private Sub Command1_Click() Dim InString as String MSComm1.InputLen = 0 If MSComm1.InBufferCount Then InString = MSComm1.Input End If End Sub
‘ Retrieve all available data. ‘ Check for data. ‘ Read data.
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 30
InBufferCount Ê §¤ Ò¨íҹǹ¢Í§µÑÇÍÑ¡É÷ÕèÍÂ٠㹺ѿà¿Íà ÀÒ¤ÃѺ ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.InBufferCount[ = value ]
¤íÒÊѧè InBufferCount ¨ÐáÊ´§¤ Ò¨íҹǹ¢Í§µÑÇÍÑ¡Éà «Ö§è ÃѺÁÒ¨Ò¡ÀÒ¹͡áÅÐÂѧà¡çºÍÂÙ ã¹» ¿à¿Íà ÀÒ¤ÃѺ à¾×èÍãË ¼Ù 㪠§Ò¹Í Ò¹¤ ÒÍÍ¡ä» ÊíÒËÃѺ¡ÒÃà¤ÅÕÂà ¤ Һѿà¿Íà ÀÒ¤ÃѺ·íÒä´ â´Â ¡íÒ˹´ãË InBufferCount ÁÕ¤Ò à» ¹ 0 ËÁÒÂà赯 Í ÒÊѺʹÃÐËÇ Ò§¤íÒÊѧè InBufferSize áÅÐ InBufferCount ¤íÒÊѧè InBufferSize ¹Ñ¹é 㪠à¾×Íè ¡íÒ˹´¢¹Ò´¢Í§ºÑ¿à¿Íà ÀÒ¤ÃѺ
InBufferSize ¡íÒ˹´áÅФ׹¤ Ò¢¹Ò´¢Í§ºÑ¿à¿Íà ÀÒ¤ÃѺã¹Ë¹ ÇÂà» ¹äºµ ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.InBufferSize[ = value ]
¤íÒÊѧè InBufferSize 㪠à¾×Íè ¡íÒ˹´¢¹Ò´¢Í§ºÑ¿à¿Íà ÀÒ¤ÃѺ ¤ ÒàÃÔÁè µ ¹¡íÒ˹´äÇ ·Õè 1,024 亵 ËÁÒÂà赯 ¡ÒáíÒ˹´¤ Һѿà¿Íà ÀÒ¤ÃѺ¢¹Ò´ãË ¨Ð·íÒãË Ë¹ ǤÇÒÁ¨íÒ·Õàè ËÅ×ÍÊíÒËÃѺ ¡ÒÃ㪠§Ò¹Ê ǹÍ×¹è æ ¨ÐàËÅ×͹ Í Í ҧäáçµÒÁ¡ÒáíÒ˹´¤ Ò ºÑ¿à¿Íà ÀÒ¤ÃѺ·Õ¹è Í Âà¡Ô¹ä»¨Ð·íÒ ãË à¡Ô´¡ÒÃâÍàÇÍà â¿ÅÇËÃ×Í¢ ÍÁÙÅÅ ¹ºÑ¿à¿Íà àÇ ¹áµ ¨ÐÁÕ¡ÒÃ㪠áι´ àªç¡ ´Ñ§¹Ñ¹é ¤ Ò»Ò¹¡ÅÒ§·Õàè ËÁÒÐ ÊÁ¡ç¤Í× ¤ Ò 1,024 «Ö§è à» ¹¤ ÒàÃÔÁè µ ¹¹Ñ¹è àͧ áµ ¶Ò â»Ãá¡ÃÁÁÕ¡ÒÃà¡Ô´âÍàÇÍà â¿ÅÇáŠǨ֧¤ Í»ÃѺà¾ÔÁè ¤ Ò¢¹Ò´¢Í§ºÑ¿à¿Íà ãË Á¤Õ Ò ÁÒ¡¢Ö¹é
InputLen ¡íÒ˹´¤ ÒáÅФ׹¤ Ò¨íҹǹ¢Í§µÑÇÍÑ¡É÷ÕÍè Ò ¹¨Ò¡ºÑ¿à¿Íà ÀÒ¤ÃѺ ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.InputLen [ = value ]
¤ ÒàÃÔÁè µ ¹¢Í§¤Ø³ÊÁºÑµÔ InputLen ÁÕ¤Ò à· Ò¡Ñº 0 ¡ÒáíÒ˹´¤ Ò෠ҡѺ 0 ¨Ð·íÒãË ¤íÒÊѧè Inpuut ¢Í§ MSComm Í Ò¹¤ Ò¢ ÍÁÙÅ·ÕÍè ÂÙÀ ÒÂ㹺ѿà¿Íà ÀÒ¤ÃѺ·Ñ§é ËÁ´ ¶ ÒäÁ Á¢Õ Í ÁÙÅÍÂÙã ¹ºÑ¿à¿Íà ÀÒ¤ÃѺÁҡ෠ҡѺ¨íҹǹ InputLen ¤íÒÊѧè Input ¨ÐÊ §¤ ÒÇ Ò§ ( ) ¡ÅÑ º ÍÍ¡ÁÒ ¼Ù ã ª § Ò¹ÊÒÁÒöµÃǨÊͺ¢ Í ÁÙ Å ã¹ºÑ ¿ à¿Íà À Ò¤ÃÑ º ä´ â ´Â㪠¤Ø ³ ÊÁºÑ µÔ InBufferCount â´Â¡íÒ˹´ãË Á¢Õ Í ÁÙÅÍÂÙã ¹ºÑ¿à¿Íà ÀÒ¤ÃѺ¡ ͹áŠǨ֧¤ ÍÂÍ Ò¹¢ ÍÁÙŨҡºÑ¿à¿Íà ÀÒ¤ÃѺ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 31
¤Ø³ÊÁºÑµÔ¹ÕéÁѡ㪠¡Ñº¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡà¤Ã×èͧÁ×ÍËÃ×Íà¤Ã×èͧ¨Ñ¡Ã·ÕèÁÕ¡ÒáíÒ˹´¤ Ò¢¹Ò´ ¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅàÍÒäÇ áÅ Ç µÑÇÍ ҧâ»Ãá¡ÃÁ¡ÒÃÍ Ò¹¤ ÒµÑÇÍÑ¡ÉÃÍÍ¡ÁÒ 10 µÑÇÍÑ¡Éà Private Command1_Click() Dim CommData as String MSComm1.InputLen = 10 CommData = MSComm1.Input
‘ Specify a 10 character block of data. ‘ Read data.
End Sub
InputMode ¡íÒ˹´¤ ÒáÅФ׹¤ Òª¹Ô´¢Í§¢ ÍÁÙÅ·ÕÃè ºÑ â´Â¤íÒÊѧè Input ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.InputMode [ = value ]
¤Ø³ÊÁºÑµÔ InputMode 㪠¡Òí ˹´Ç Ò¢ ÍÁÙŪ¹Ô´ä˹·ÕÃè ºÑ à¢ ÒÁÒ¼ Ò¹¤íÒÊѧè Input â´Â¢ ÍÁÙÅ ¨ÐàÅ×Í¡ä´ 2 »ÃÐàÀ·¤×Í comInputModeText ÊíÒËÃѺ¢ ÍÁÙÅ·ÕÍè ÂÙã ¹ÃÙ»¢ ͤÇÒÁµÑÇÍÑ¡ÉõÒÁÁҵðҹ ANSI â´Â ¨Ðµ ͧ¡íÒ˹´¤ Òà» ¹ 0 áÅФ ÒàÃÔÁè µ ¹¢Í§¡ÒÃÃѺ¤ Ò¢ ÍÁÙÅ¡ç¨Ðà» ¹¤ Ò¹Õé comInputModeBinary ÊíÒËÃѺ¢ ÍÁÙÅÍ×¹è æ «Ö§è ¨Ðà¡çºã¹Ãٻ亹ÒÃÕÃè ÇÁ¡Ñ¹ÍÂÙà » ¹äºµ ¢Í ÁÙÅ µÑÇÍ ҧ¡ÒÃ㪠§Ò¹ InputMode µ Í仹ըé зíÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅ 10 亵 ¨Ò¡¾Íà µÍ¹Ø¡ÃÁ áÅÐà¡çº¢ ÍÁÙÅäÇ ã¹µÑÇá»ÃẺÍÒàહԴ¢ ÍÁÙÅà» ¹áººäºµ Private Sub Command1_Click() Dim Buffer as Variant Dim Arr() as Byte MSComm1.CommPort = 1 ‘ Set and open port MSComm1.PortOpen = True MSComm1.InputMode = comInputModeBinary ‘ Set InputMode to read binary data Do Until MSComm1.InBufferCount < 10 ‘ Wait until 10 bytes are in the input buffer DoEvents Loop Buffer = MSComm1.Input ‘ Store binary data in buffer Arr = Buffer ‘ Assign to byte array for processing End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 32
Output
㪠㹡ÒÃÊ §¢ºÇ¹¢Í§¢ ÍÁÙÅä»ÂѧºÑ¿à¿Íà ʧ ¢ ÍÁÙÅ
ÃٻẺ¡ÒÃ㪠§Ò¹ object.Output [ = value ]
¤ Ò value à» ¹¤ ҢͧµÑÇÍÑ¡É÷Õàè ¢Õ¹ä»ÂѧºÑ¿à¿Íà ʧ ¢ ÍÁÙÅ ¤Ø³ÊÁºÑµÔ Output ÊÒÁÒö㪠㹡ÒÃÊ §¢ ÍÁÙŵÑÇÍÑ¡ÉÃËÃ×Í¢ ÍÁÙÅ亹ÒÃÕ¡è äç ´ â´Â¡ÒÃÊ §¢ ÍÁÙÅà» ¹ÃٻẺµÑÇÍÑ¡Éèе ͧ¡íÒ˹´ ¢ ÍÁÙÅà» ¹áºº Variant áÅÐÁÕ¢Í ÁÙÅÀÒÂã¹à» ¹áºº String ÊíÒËÃѺ¡ÒÃÊ §¢ ÍÁÙÅ亹ÒÃÕ¨è е ͧ¡íÒ˹´ ª¹Ô´¢Í§¢ ÍÁÙÅà» ¹áºº Variant áÅÐÁÕ¢Í ÁÙÅÀÒÂã¹à» ¹áºº Byte µÑÇÍ ҧâ»Ãá¡ÃÁ¡ÒÃÊ §¤ Ò·Õ»è Í ¹¨Ò¡¤Õº Íà ´ä»Âѧ¾Íà µÍ¹Ø¡ÃÁ â´Â㪠¤³ Ø ÊÁºÑµÔ Output Private Sub Form_KeyPress (KeyAscii As Integer) Dim Buffer as Variant MSComm1.CommPort = 1 ‘ Use COM1 MSComm1.PortOpen = True ‘ Open port Buffer = Chr$(KeyAscii) MSComm1.Output = Buffer ‘ Send DATA End Sub
OutBufferCount
¤×¹¤ Ò¨íҹǹ¢Í§¢ ÍÁÙŵÑÇÍÑ¡É÷Õàè ¡çºÍÂÙã ¹ºÑ¿à¿Íà ÀÒ¤Ê § áÅÐÊÒÁÒö㪠¤Òí ÊÑ§è ¹Õàé ¾×Íè à¤ÅÕÂà ºÑ¿à¿Íà ÀÒ¤Ê §ä´ ´ Ç ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.OutBufferCount [ = value ]
¼Ùã ª §Ò¹ÊÒÁÒöà¤ÅÕÂà º¿Ñ à¿Íà ÀÒ¤Ê §ä´ â´Â¡ÒáíÒ˹´¤ Ò OutBufferCount ෠ҡѺ 0 ËÁÒÂà赯 ÃÐÇѧ¡ÒÃÊѺʹÃÐËÇ Ò§¤Ø³ÊÁºÑµÔ OutBufferCount ¡Ñº OutBufferSize «Öè§ OutBufferSize 㪠à¾×Íè ¡íÒ˹´¢¹Ò´¢Í§ºÑ¿à¿Íà ÀÒ¤Ê §
OutBufferSize
¡íÒ˹´¤ ÒáÅФ׹¤ Ò¢¹Ò´¢Í§ºÑ¿à¿Íà ÀÒ¤Ê § ª¹Ô´µÑÇá»Ãà» ¹áººäºµ
ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.OutBufferSize [ = object ]
¤Ø³ÊÁºÑµÔ OutBufferSize 㪠ÊÒí ËÃѺ¡íÒ˹´¢¹Ò´¢Í§ºÑ¿à¿Íà ÀÒ¤Ê § â´Â¤ Ò»¡µÔ·ãÕè ª §Ò¹ ¨ÐÁÕ¤Ò à· Ò¡Ñº 512 亵 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 33
ËÁÒÂà赯 ¡ÒáíÒ˹´¤ Һѿà¿Íà ÀÒ¤Ê §·ÕÁè Ò¡à¡Ô¹ä»¨Ð·íÒãË ÁÕ˹ ǤÇÒÁ¨íÒàËÅ×ÍãË ãª §Ò¹¹ Í ᵠÍ ҧäáçµÒÁ¶ Ò¡íÒ˹´¤ Ò¹ ÍÂà¡Ô¹ä» ¨Ð·íÒãË à¡Ô´¢ ÍÁÙÅÅ ¹ºÑ¿à¿Íà ¢¹Öé ä´ Â¡àÇ ¹¨Ð ÁÕ¡ÒÃ㪠áι´ àªç¤ ÇÔ¸¡Õ ÒÃ·Õ¶è ¡Ù µ ͧ㹡ÒáíÒ˹´¤ Ò¤×Í ·´Åͧ㪠¤Ò àÃÔÁè µ ¹¤×ͤ Ò 512 亵 ´¡Ù Í ¹ ¶ Òâ»Ãá¡ÃÁ·íÒ§Ò¹áÅ Çà¡Ô´¡ÒÃÅ ¹¢Í§¢ ÍÁÙŤ ÍÂà¾ÔÁè ¤ Ңͧ OutBufferSize ãË ÁÒ¡¢Ö¹é
ParityReplace ¡íÒ˹´áÅФ׹¤ ÒµÑÇÍÑ¡É÷Õäè »Çҧ᷹㹵íÒá˹ §·Õàè ¡Ô´¢ ͼԴ¾ÅÒ´¨Ò¡¾ÒÃÔµÕé ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.ParityReplace [ = value ]
ºÔµ¾ÒÃÔµÕé à» ¹ºÔµ·Õ·è Ò§ÀÒ¤Ê §¢ ÍÁÙÅ·íÒ¡ÒÃÊ §ÁҾà ÍÁ¡Ñº¢ ÍÁÙÅ à¾×Íè µÃǨÊͺ¢ ͼԴ¾ÅÒ´ ¢Í§¢ ÍÁÙÅ â´ÂàÁ×Íè ÁÕ¡ÒÃ㪠ºµÔ ¾ÒÃÔµÕé ¤Í¹â·ÃÅ MSCOM ¨Ð·íÒ¡ÒúǡºÔµ·Ø¡ºÔµ·ÕÁè ¤Õ Ò Åͨԡ 1 ã¹áµ ÅÐ亵 áÅзíÒ¡ÒõÃǨÊͺ¼ÅÅѾ¸ ÇÒ ºÔµ·ÕÍè Ò ¹ä´ ¹¹Ñé ÁÕ¨Òí ¹Ç¹Åͨԡ 1 à» ¹àÅ¢¤ÙË Ã×ͤÕè áÅÐ µÃ§¡Ñº¤ Ò·Õ¡è Òí ˹´äÇ áµ µ¹ ËÃ×ÍäÁ ¶ Ò¤ Ò·Õ¹è Òí ÁҺǡáÅ ÇÁÕ¾ÒÃÔµäÕé Á µÃ§áÊ´§Ç Ò¡ÒÃÃÑºÊ §¢ ÍÁÙżԴ ¾ÅÒ´ ¡ÒáíÒ˹´¤ Ò àÃÔèÁµ ¹ãË ¡Ñº ParityReplace ¹Ñ鹡íÒ˹´ãË ãª à¤Ã×èͧËÁÒ (?) ä»ÇÒ§äÇ ·Õè µíÒá˹ §·Õàè ¡Ô´¾ÒÃÔµ¼Õé ´Ô ¾ÅÒ´ ¶ Ò¡íÒ˹´¤ Ò ParityReplace ãË à» ¹¤ ÒÇ Ò§ ( ) ¨Ðà» ¹¡ÒáàÅÔ¡¡Òà 㪠§Ò¹ ParityReplace áÅÐäÁ Á¡Õ Òû ͹¢ ÍÁÙÅá·¹àÁ×Íè µÃǨ¾º¢ ͼԴ¾ÅÒ´ ParityReplace 㪠ª¹Ô´¢ ÍÁÙÅà» ¹áººÊµÃÔ§ áµ ¨Ð¡ÒáíÒ˹´ ¨Ð¡íÒ˹´ä´ à¾Õ§亵 à´ÕÂÇ à· Ò¹Ñ¹é «Ö§è ¨ÐÊÒÁÒö㪠¤Ò ã´ æ ¡çä´ ·àÕè » ¹â¤ ´ ANSI ÁÕ¤Ò ÍÂÙà ÐËÇ Ò§ 0-255
DTREnable 㪠㹡ÒáíÒ˹´Ê¶Ò¹ÐÅͨԡ¢Í§¢Ò Data Terminal Ready (DTR) â´ÂÊÑÒ³¢Í§¢Ò DTR ¨ÐÊ §¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»ÂѧâÁà´çÁà¾×èÍáÊ´§Ç Ò¤ÍÁ¾ÔÇàµÍà ¾Ã ÍÁ·Õè¨ÐÃѺ¢ ÍÁÙÅáÅ Ç ª¹Ô´ ¢Í§¢ ÍÁÙÅà» ¹áºººÙÅ¹Õ ÃٻẺ¡ÒÃ㪠§Ò¹ object.DTREnable[ = value ]
¤ Ò Value à» ¹¤ ÒʶҹРTrue ËÃ×Í False à¾×Íè ¡íÒ˹´Åͨԡ¢Í§¢Ò DTR ãË à» ¹ 0 ËÃ×Í 1 â´Â True ËÁÒ¶֧ ãË ¢Ò DTR ÁÕÅͨԡ 1 False ËÁÒ¶֧ ãË ¢Ò DTR ÁÕÅͨԡ 0 (à» ¹¤ Ò»¡µÔ) àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 34
ËÁÒÂà赯 àÁ×Íè ¢Ò DTR ¶Ù¡¡íÒ˹´Ê¶Ò¹ÐãË à» ¹ True ·Õ¢è Ò DTR ¨ÐÁÕʶҹÐÅͨԡ 1 àÁ×Íè ·íÒ¡ÒÃà» ´¾Íà µáÅШÐÁÕʶҹÐà» ¹ 0 àÁ×Íè ÁÕ¡Òû ´¾Íà µ àÁ×Íè ¢Ò DTR ¶Ù¡¡íÒ˹´Ê¶Ò¹Ð à» ¹ False ·Õ¢è Ò DTR ¨ÐÁÕʶҹÐÅͨԡ 0 µÅÍ´àÇÅÒäÁ ÇÒ ¨Ð㪠¤Òí Êѧè à» ´¾Íà µËÃ×Í» ´¾Íà µ ÊíÒËÃѺ¡ÒÃ㪠§Ò¹¡ÑºâÁà´çÁ ¡Ò÷íÒãË ¢Ò DTR à» ¹Åͨԡ 0 ¨Ðà» ¹¡ÒÃÇÒ§ËÙâ·ÃÈѾ· ËÃ×Í Â¡àÅÔ¡¡ÒõԴµ Í
RTSEnable 㪠à¾×Íè ¡íÒ˹´Ê¶Ò¹ÐÅͨԡãË ¢Ò Request To Send (RTS) â´Â¢Ò RTS ¨Ðà» ¹ÊÑÒ³·Õè Ê §¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»ÂѧâÁà´çÁà¾×Íè à ͧ¢ÍÊ §¢ ÍÁÙÅ ª¹Ô´¢Í§¢ ÍÁÙÅà» ¹áºº Boolean ÃٻẺ¡ÒÃ㪠§Ò¹ object.RTSEnable[ = value ]
¤ Ò Value à» ¹¤ ÒʶҹРTrue ËÃ×Í False à¾×Íè ¡íÒ˹´Åͨԡ 0 ËÃ×Í 1 ãË ¢Ò RTS â´Â True ËÁÒ¶֧ ãË ¢Ò RTS ÁÕÅͨԡ 1 False ËÁÒ¶֧ ãË ¢Ò RTS ÁÕÅͨԡ 0 (à» ¹¤ Ò»¡µÔ) ËÁÒÂà赯 àÁ×Íè ¢Ò RTSEnable ¶Ù¡¡íÒ˹´ãË à» ¹ True ¢Ò RTS ¨ÐÁÕʶҹÐÅͨԡ 1 àÁ×Íè à» ´¾Íà µáÅÐÁÕʶҹÐÅͨԡ 0 àÁ×Íè » ´¾Íà µ áÅÐàÁ×Íè ÁÕ¡ÒáÅѺʶҹТͧ¢Ò RTS ¢Ò TxD ¨ÐÁÕʶҹÐÅͨԡ໠¹ 1 áµ ·¤Õè ³ Ø ÊÁºÑµÔ Break Âѧ¤§à» ¹¤ Òà´ÔÁ
EOFEnable à» ¹¡ÒáíÒ˹´ãË MSComm ÃÍÊÑÅѡɳ áÊ´§Ê ǹ· ÒÂÊØ´¢Í§ä¿Å (End of file : EOF) ÃÐËÇ Ò§¡ÒÃÃѺÍÔ¹¾Øµà¢ ÒÁÒ ¶ Ò¾ºÊÑÅѡɳ EOF ÀÒ¤ÍÔ¹¾Øµ¨ÐËÂØ´ÃѺ¢ ÍÁÙÅ áÅÐà˵ءÒó OnComm ¨Ð¶Ù¡¡Ãеع ãË ·Òí §Ò¹ ¤Ø³ÊÁºÑµÔ CommEvent ¨ÐÁÕ¤Ò à· Ò¡Ñº 7 ËÃ×Í ComEvEOF ÃٻẺ¡ÒÃ㪠§Ò¹ object.EOFEnable [ = value ]
â´Â value à» ¹¤ ÒʶҹРTrue ËÃ×Í False à¾×èÍàÍç¹àÍàºÔÅËÃ×Í´ÔÊàÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§ à˵ءÒó OnComm àÁ×Íè µÃǨ¾ºÊÑÅѡɳ EOF â´Â True ËÁÒ¶֧ à˵ءÒó OnComm ¨Ð¶Ù¡¡Ãеع ãË ·Òí §Ò¹´ Ç EOF False ËÁÒ¶֧ à˵ءÒó OnComm ¨ÐäÁ ¶¡Ù ¡Ãеع ãË ·Òí §Ò¹´ Ç EOF (à» ¹¤ Ò»¡µÔ) àÁ×Íè EOFEnable ¡íÒ˹´ãË à» ¹ False Ê Ç¹¤Çº¤ØÁ¨ÐäÁ Á¡Õ ÒõÃǨÊͺÊÑÅѡɳ EOF
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 35
CTSHolding ¼Ù 㪠§Ò¹ÊÒÁÒöµÃǨÊͺ¡Ò÷íÒ§Ò¹¢Í§¢Ò Clear To Send (CTS) ä´ Ç ÒÁÕʶҹÐÅͨԡ 0 ËÃ×Í 1 â´Â¤ Ò·ÕÍè Ò ¹ä´ ¨Ðà» ¹ºÙÅ¹Õ True áÅÐ False ¶ Ò¤ Ò CTSHolding à» ¹ True ¢Ò CTS ¨ÐÁÕʶҹÐÅͨԡ໠¹ 1 ¶ Ò¤ Ò CTSHolding à» ¹ False ¢Ò CTS ¨ÐÁÕʶҹÐÅͨԡ໠¹ 0 ÃٻẺ¡ÒÃ㪠§Ò¹ object.CTSHolding
àÁ×Íè ¢Ò CTS à» ¹Åͨԡ 0 (CTSHolding = False) áÅÐà¡Ô´ä·Á àÍÒµ ¤Í¹â·ÃÅ MSComm ¨Ð¡íÒ˹´ãË ¤Ø³ÊÁºÑµÔ CommEvent ÁÕ¤ Òà» ¹ comEventCTSTO (Clear To Send Timeout) áÅСÃеع ãË à¡Ô´à˵ءÒó OnComm
CDHolding ¼Ù 㪠§Ò¹ÊÒÁÒöµÃǨÊͺ¡Ò÷íÒ§Ò¹¢Í§¢Ò Data Carrier Detect (DCD) ä´ Ç ÒÁÕʶҹРÅͨԡ໠¹ 1 ËÃ×Í 0 â´Â¤ Ò·ÕÍè Ò ¹ä´ ¨Ðà» ¹ºÙÅ¹Õ True áÅÐ False ¶ Ò¤ Ò CDHolding à» ¹ True ¢Ò DCD ¨ÐÁÕʶҹÐÅͨԡ 1 ¶ Ò¤ Ò CDHolding à» ¹ False ¢Ò DCD ¨ÐÁÕʶҹÐÅͨԡ 0 ÃٻẺ¡ÒÃ㪠§Ò¹ object.CDHolding
àÁ×Íè ¢Ò DCD ÁÕÅͨԡ 1 (CDHolding = True) áÅÐà¡Ô´ä·Á àÍÒµ ¤Í¹â·ÃÅ MSComm ¨Ð¡íÒ˹´ãË ¤³ Ø ÊÁºÑµÔ CommEvent ÁÕ¤Ò à» ¹ comEventCDTO (Carrier Detect Timeout Error) áÅСÃеع ãË à¡Ô´à˵ءÒó OnComm
DSRHolding ¼Ùã ª §Ò¹ÊÒÁÒöµÃǨÊͺ¡Ò÷íÒ§Ò¹¢Í§¢Ò DSR (DSR) ä´ ÇÒ ÁÕʶҹÐÅͨԡ 1 ËÃ×Í 0 â´Â¤ Ò·ÕÍè Ò ¹ä´ ¨Ðà» ¹ºÙÅ¹Õ True áÅÐ False ¶ Ò¤ Ò DSRHolding à» ¹ True ¢Ò DSR ¨ÐÁÕ Ê¶Ò¹ÐÅͨԡ 1 ¶ Ò¤ Ò DSRHolding à» ¹ False ¢Ò DSR ¨ÐÁÕʶҹÐÅͨԡ 0 ÃٻẺ¡ÒÃ㪠§Ò¹ object.DSRHolding
àÁ×Íè ¢Ò DSR à» ¹Åͨԡ 1 (DSRHolding = True) áÅÐà¡Ô´ä·Á àÍÒµ ¤Í¹â·ÃÅ MSComm ¨Ð¡íÒ˹´ãË ¤³ Ø ÊÁºÑµÔ CommEvent ÁÕ¤Ò à» ¹ comEventDSRTO (Data Set Ready Timeout) áÅСÃеع ãË à¡Ô´à˵ءÒó OnComm
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 36
Handshaking ¡íÒ˹´¤Ø³ÊÁºÑµáÔ ÅФ׹¤ ÒÃٻẺáι´ àªç¡·Ò§ÎÒà ´áÇà ÃٻẺ¡ÒÃ㪠§Ò¹¤íÒÊѧè object.Handshaking [ = value ]
¤ ÒµÑÇá»Ã Value ·Õãè ª ¡Òí ˹´¤ Ò¡íÒ˹´ä´ 4 ÃٻẺ´ Ç¡ѹ¤×Í 1. comNone ¤ Ò·Õ¡è Òí ˹´¤×Í 0 à» ¹¡ÒÒáíÒ˹´ãË äÁ Á¡Õ ÒÃáι´ àªç¡ (à» ¹¤ ÒàÃÔÁè µ ¹) 2. comXOnXOff ¤ Ò·Õ¡è Òí ˹´¤×Í 1 à» ¹¡ÒáíÒ˹´ãË ãª áι´ àªç¡áºº XON/XOFF 3. comRTS ¤ Ò·Õ¡è Òí ˹´¤×Í 2 à» ¹¡ÒáíÒ˹´ãË ãª ¢Ò RTS/CTS (Request To Send/Clear To Send) 4. comRTSXOnXOff ¤ Ò·Õ¡è Òí ˹´¤×Í 3 à» ¹¡ÒáíÒ˹´ãË ãª ·§Ñé Ẻ Request To Send áÅÐ XON/XOFF ¤Ø³ÊÁºÑµÔ Handshaking 㪠à¾×Íè ¡íÒ˹´ÃٻẺ¡ÒÃÊ×Íè ÊÒÃÀÒÂã¹ ÃÐËÇ Ò§·Õ¢è Í ÁÙÅ¶Ù¡Ê §ä» ÂѧºÑ¿à¿Íà ÀÒ¤ÃѺ àÁ×Íè ¢ ÍÁÙŵÑÇÍÑ¡ÉÃ¶Ù¡Ê §ÁÒ¶Ö§¾Íà µÍ¹Ø¡ÃÁ ÍØ»¡Ã³ ÊÍ×è ÊÒâ ÍÁÙŨзíÒ¡ÒàҠ¢ ÍÁÙÅä»ÂѧºÑ¿à¿Íà ÀÒ¤ÃѺ à¾×Íè ·Õ¨è ÐãË â»Ãá¡ÃÁÊÒÁÒÃ¶Í Ò¹¤ Òä»ãª §Ò¹ä´ ¶ ÒäÁ ÁºÕ ¿Ñ à¿Íà ÀÒ¤ÃѺ â»Ãá¡ÃÁ·Õãè ª §Ò¹¨Ðµ ͧ·íÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅâ´ÂµÃ§¨Ò¡ÎÒà ´áÇà ¢Í§¾Íà µÍ¹Ø¡ÃÁ «Ö§è ¼Ùã ª §Ò¹¨Ð à¡Ô´» ËÒ¢ ÍÁÙÅÊÙËÒÂä´ à¹×èͧ¨Ò¡Ç Ò¡ÒÃà»ÅÕè¹á»Å§¢Í§¢ ÍÁÙÅ·ÕèÊ §à¢ ÒÁÒÁÕ¡ÒÃà»ÅÕè¹ á»Å§Í ҧÃÇ´àÃçÇ ¤Ø³ÊÁºÑµÔ handshaking ª ÇÂãË ¼ãÙ ª §Ò¹á¹ ã¨ä´ ÇÒ ¢ ÍÁÙÅ·Õäè ´ ÃºÑ Áҹѹé äÁ Á¡Õ ÒÃÊÙËÒÂàÁ×Íè ºÑ¿à¿Íà ÀÒ¤ÃѺ·ÕèÃѺ¢ ÍÁÙŹÑé¹à¡Ô´¢ ÍÁÙÅÅ ¹ËÃ×ÍâÍàÇÍà â¿ÅÇ (overflow) â´Â㪠ÇÔ¸Õ¡ÒõÃǨÊͺ ¤ÇÒÁ¾Ã ÍÁ¢Í§ºÑ¿à¿Íà ÇÒ ¾Ã ÍÁÃѺ¢ ÍÁÙÅËÃ×ÍäÁ ¡Í ¹·Õ¨è ÐÊ §¢ ÍÁÙÅÁÒãË
Break 㪠㹡ÒÃ૵áÅÐà¤ÅÕÂà ¤Ò ÊÑÒ³ Break ª¹Ô´¢Í§¢ ÍÁÙÅà» ¹áºº Boolean ÃٻẺ¡ÒÃ㪠§Ò¹ object.Break [ = value]
â´Â Value à» ¹¤ ÒºÙÅ¹Õ ¶ Ò Value = True ËÁÒ¶֧ ¡ÒÃÊ §ÊÑÒ³ Break ÍÍ¡ä» (¢Ò TxD à» ¹Åͨԡ 1 ) ¶ Ò Value = False ËÁÒ¶֧¡ÒÃà¤ÅÕÂÃ Ê Ñ Ò³ Break (¢Ò TxD à» ¹Åͨԡ 0 ) àÁ×Íè ¡íÒ˹´ãË Ê Ñ Ò³ Break à» ¹ True ¨Ðà» ¹¡ÒÃËÂØ´¡ÒÃÊ §¢ ÍÁÙŪÑÇè ¤ÃÒǨ¹¡Ç Ò¨ÐÁÕ ¡ÒÃÊѧè ãË Ê Ñ Ò³ Break à» ¹ False àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 37
µÑÇÍ ҧ à» ¹ÇÔ¸¡Õ ÒÃÊ §ÊÑÒ³ Break ÍÍ¡ä»à» ¹ª ǧàÇÅÒÊѹé æ ·Õè 1/10 ¢Í§ÇÔ¹Ò·Õ MSComm1.Break = True Duration! = Timer + .1 Do Until Timer > Duration! Dummy = DoEvents() Loop MSComm1.Break = False
‘ Set the Break condition. ‘ Set duration to 1/10 second. ‘ Wait for the duration to pass.
‘ Clear the Break condition.
à˵ءÒó OnComm
à˵ءÒó OnComm ¨Ð¶Ù¡Êà ҧ¢Ö¹é àÁ×Íè ¤ Ңͧ¤Ø³ÊÁºÑµÔ CommEvent ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ à¾×èÍáÊ´§¼Å¡ÒÃà»ÅÕè¹á»Å§àËÅ Ò¹Ñé¹áºº·Ñ¹·Õ·Ñ¹ã´ËÃ×ÍáÊ´§¢ ͼԴ¾ÅÒ´·Õèà¡Ô´¢Öé¹ µÑÇÍ ҧ â»Ãá¡ÃÁ Í OnComm à¾×Íè ¹íÒà˵ءÒó CommEvent ÁÒáÊ´§ÁÕ´§Ñ ¹Õé Private Sub MSComm_OnComm () Select Case MSComm1.CommEvent ‘ Handle each event or error by placing ‘ code below each case statement ‘ Errors Case comEventBreak ‘ A Break was received. Case comEventCDTO ‘ CD (RLSD) Timeout. Case comEventCTSTO ‘ CTS Timeout. Case comEventDSRTO ‘ DSR Timeout. Case comEventFrame ‘ Framing Error Case comEventOverrun ‘ Data Lost. Case comEventRxOver ‘ Receive buffer overflow. Case comEventRxParity ‘ Parity Error. Case comEventTxFull ‘ Transmit buffer full. ‘ Events Case comEvCD ‘ Change in the CD line. Case comEvCTS ‘ Change in the CTS line. Case comEvDSR ‘ Change in the DSR line. Case comEvRing ‘ Change in the Ring Indicator. Case comEvReceive ‘ Received RThreshold # of chars. ‘ SThreshold number in the ‘transmit buffer. Case comEvSend Case comEvEof ‘ An EOF charater was found in the input stream End Select End Sub
¡ÒÃ㪠MSComm à¾×Íè ¡ÒõԴµ ÍÎÒà ´áÇÃ
¨Ò¡ÃÒÂÅÐàÍÕ´¢Í§ MSComm ·Õ¡è Å ÒÇä»ã¹µÍ¹µ ¹¹Ñ¹é ¨ÐàËç¹ä´ ÇÒ ÇÔ¸¡Õ Ò÷ըè ÐÍ Ò¹¤ ÒËÃ×Í à¢Õ¹¤ Òä»Âѧ¢ÒʶҹÐáÅТҤǺ¤ØÁ¢Í§¾Íà µÍ¹Ø¡ÃÁÊÒÁÒö·íÒä´ §Ò ´ÒÂÁÒ¡ â´Â㪠¤Òí Êѧè àËÅ Ò¹Õé DTREnable ÊíÒËÃѺÊѧè ãË ¢Ò DTR ÁÕÅͨԡ 0 ËÃ×Í 1 RTSEnable ÊíÒËÃѺÊѧè ãË ¢Ò RTS ÁÕÅͨԡ 0 ËÃ×Í 1 CTSHolding ÊíÒËÃÑºÍ Ò¹¤ ÒʶҹШҡ¢Ò CTS Ç ÒÁÕÅͨԡ 0 ËÃ×Í 1 CDHolding ÊíÒËÃÑºÍ Ò¹¤ ÒʶҹШҡ¢Ò DCD Ç ÒÁÕÅͨԡ 0 ËÃ×Í 1 DSRHolding ÊíÒËÃÑºÍ Ò¹¤ ÒʶҹШҡ¢Ò DSR Ç ÒÁÕÅͨԡ 0 ËÃ×Í 1 Break ÊíÒËÃѺ¡ÒÃÊѧè ãË ¢Ò TxD ÁÕÁÅÕ Í¨Ô¡ 0 ËÃ×Í 1 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 38
¤ Ò¤§·Õ¤è ³ Ø ÊÁºÑµ¢Ô ͧ¤Í¹â·ÃÅ MSComm ¤ Ò¤§·ÕÊè Òí ËÃѺ¤Ø³ÊÁºÑµÔ Handshake ¤ Ò¤§·Õè
comNone comXonXoff comRTS comRTSXOnXOff
¤ Ò 0 1 2 3
äÁ 㪠¡ÒõÃǨÊͺáι´ ડ 㪠¡ÒõÃǨÊͺáι´ ડẺ XOn/XOff 㪠¡ÒõÃǨÊͺáι´ ડ¼ Ò¹·Ò§¢Ò RTS áÅÐ CTS ¡íÒ˹´¡ÒõÃǨÊͺáι´ ડ·Ñ§é Ẻ RTS, CTS áÅÐ XOn/XOff
¤ Ò¤§·ÕÊè Òí ËÃѺ¤Ø³ÊÁºÑµÔ OnComm ¤ Ò¤§·Õè
comEvSend comEvReceive comEvCTS comEvDSR comEvCD comEvRing comEvEOF
¤ Ò 1 2 3 4 5 6 7
comEventBreak comEventCTSTO comEventDSRTO comEventFrame comEventOverrun comEventCDTO comEventRxOver comEventRxParity comEventTxFull
¤ Ò
1001 1002 1003 1004 1006 1007 1008 1009 1010
ÃÒÂÅÐàÍÕ´
Ê §¤ Òà˵ءÒó (send event) ÃѺ¤ Òà˵ءÒó (receive event) ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§·Õ¢è Ò CTS ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§·Õ¢è Ò DSR ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§·Õ¢è Ò DCD µÃǨ¨ÑºÊÑÒ³¡ÃÐ´Ô§è ¢Í§â·ÃÈѾ· µÃǨ¾ºµíÒá˹ §· ÒÂÊØ´¢Í§ä¿Å (End of file)
¤ Ò¤§·ÕÊè Òí ËÃѺ¤Ø³ÊÁºÑµÔ Error ¤ Ò¤§·Õè
ÃÒÂÅÐàÍÕ´
ÃÒÂÅÐàÍÕ´
ä´ ÃºÑ ÊÑÒ³ Break ¢Ò CTS à¡Ô´ä·Á àÍÒµ ¢Ò DSR à¡Ô´ä·Á àÍÒµ à¡Ô´¢ ͼԴ¾ÅÒ´·Õàè ¿ÃÁ¢ ÍÁÙÅ (Framing error ) ¾Íà µÍ¹Ø¡ÃÁà¡Ô´âÍàÇÍÃ Ã¹Ñ (Port overrun) ¢Ò DCD à¡Ô´ä·Á àÍÒµ ºÑ¿à¿ÍÃ ÃºÑ ¢ ÍÁÙÅà¡Ô´âÍàÇÍà â¿ÅÇ à¡Ô´¢ ͼԴ¾ÅÒ´·Õ¾è ÒÃÔµÕé (Parity error) ºÑ¿à¿Íà ʧ ¢ ÍÁÙÅàµçÁ
¤ Ò¤§·ÕÊè Òí ËÃѺ¤Ø³ÊÁºÑµÔ InputMode ¤ Ò¤§·Õè
comInputModeText comInputModeBinary
¤ Ò 0 1
ÃÒÂÅÐàÍÕ´
¢ ÍÁÙÅ·ÕÃè ºÑ ÁÕ¤³ Ø ÊÁºÑµàÔ » ¹¢ ͤÇÒÁ (¤ Ò»¡µÔ) ¢ ÍÁÙÅ·ÕÃè ºÑ à¢ ÒÁÒà» ¹¢ ÍÁÙÅ亹ÒÃÕè
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 39
..
º··Õè 3
ἧǧ¨Ã·´Åͧ¡ÒÃàª×èÍÁµ ͡Ѻ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 㹡ÒÃàÃÕ¹ÃÙ áÅз´Åͧà¾×èÍàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»»Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ â´Â㪠ª´Ø ·´Åͧ NX-2000 ¨ÐÁÕºÍà ´·´Åͧ·Õàè ¡ÕÂè Ç¢ ͧÍÂÙ 7 ºÍà ´áÅÐ 9 ºÍà ´ÊíÒËÃѺÃع NX2000 Plus ´Ñ§¹Õé 1. S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ 2. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 3. EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ 16 ª ͧ 4. EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà 5. EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ 6. EX-07 ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¼ Ò¹ÃкººÑÊ I2C 7. EX-08 ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C 8. EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ ¼ Ò¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ 9. EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ¼ Ò¹ÃкººÑÊ I2C ÊíÒËÃѺ㹺·¹Õ¨é СŠÒǶ֧ºÍà ´·´ÅͧËÅÑ¡¤×Í S-Board V2.0 ·Õàè ËÅ×ͨÐä´ ¡Å ÒǶ֧µ Íä» àÁ×èÍÁÕ¡Ò÷´Åͧà¡Ô´¢Öé¹
S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ à» ¹á¼§Ç§¨Ãàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ·Õ»è ÃСͺ´ ÇÂà¤Ã×Íè §Á×͵ Ò§æ ·Õªè Ç ÂãË ¡ÒÃÍ Ò¹¤ ÒËÃ×Í Ê §¤ ÒÍÍ¡ä»Âѧ¾Íà µÍ¹Ø¡ÃÁÊÒÁÒö·íÒä´ Í ҧÊдǡ ¹Í¡¨Ò¡¹Ñ¹é S-Board V2.0 ÂѧʹѺʹع ¡ÒÃàª×Íè Áµ ͡ѺºÍà ´µ ; ǧµ Ò§æ ·ÕÃè ÇÁÍÂÙã ¹ªØ´·´Åͧ NX-2000/NX-2000 Plus ´ Ç â´Âǧ¨Ã ¢Í§ S-Board V2.0 áÊ´§ã¹ÃÙ»·Õè 3-1
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 41
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 42
4 5
2 3
RxD
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1200
2400
4800
9600
14400
19200
28800
57600
Baudrate
DCD
C11 10/16V
11
10
14
7
C12 10/16V
+5V
1
0
1
N/A
1
O/E
0
PI
Even
Odd
None
Parity
Parity bit selection
9
15
12
5
4
16
8
IC3 MAX232
6 2
C8 10/16V
C10 22/16V
+5V
13
3
1
C9 22/16V
10
7
15
9
11
8
14
6 2
5
4
12
IC2 MAX232
C3 47/16V
C6 10/16V
C5 0.1/50V
13
3
1
16
+5V
C1 220/25V
C2 0.1/50V
IC1 7805
10
LOGIC "1"
LOGIC "0"
JUMPER ACTION R5 10k
1
0
SB
2
1
Stop bit
Stop bit selection
S1 I2C SELECT (DIP SW-3)
IC4 74HC541
1
6 2 9
14 18 11
C13 0.1/50V
12 15 16 7 3
20
+5V
+5V
LED1 POWER
8 5 4 13 17
19
C4 0.1/50V
R1 1k
1
0
DL
SCL
SDA
7 bits
8 bits
Length
+5V
+5V
Data Length selection
Q2 BC547
+5V
R4 10k
DSR
TxD DTR RTS CTS DCD RxD
Q1 BC547
+5V R3 10k
RPACK1 10k*4
R6 4k7
R7 10k
R2 10k
+5V
K5 S- BUS
K6 I2C BUS (RJ11-4)
CTS RxD
TxD
DTR
CTS RxD
DTR TxD
+5V
DSR DCD
RTS
+5V
DSR DCD
K4 SERIAL INPUT
+5V
K3 SERIAL OUTPUT
RTS
Parity Error
Frame Error
DISABLE
ENABLE
JP3 READY BIT
Ready
LED3
BC557
R10 510
LED2
BC557
BC547 R8 10k
LED4
R10 510
R12 510
+5V
+5V
+5V
JP1 BAUD RATE SELECTION
BD3 BD2 BD1
DL
PI O/E SB
JP2 Parity Bit, Stop bit SELECTION
R11 10k
R9 10k
RPACK2 10k*8
+5V
TxOut
17
16
21
X1 X2
+5V
RPACK5 10k*8
RPACK3 10k*8
C14 2u2/50V
C17 33pF/50V
18 19
24 SHIFT CLK 22 SHIFT DATA
PARITY ERROR
20
39
38
35 36 37
34
33
32
9
25 WR 26 OUT 27 RD
D7
D6
D1 D2 D3 D4 D5
D0
RST
31
SHIFT RST
FRAME ERROR
READY
5 BAUD3 6 BAUD2 7 BAUD1
4 PI 3 O/E 2 SB 1 DL
15
40
IC5 S-BOARD UART TRANSCEIVER
10 RxD1 12 RxD2 13 REQ
11
+5V
ÃÙ»·Õè 3-1 ǧ¨ÃÊÁºÙó ¢Í§ S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ºÍà ´ËÅÑ¡·Õãè ª 㹡Ò÷´Åͧ
0
0
BD3 BD2 BD1
Baudrate selection
DSR
RTS
6 7 8 9
1
K2 RS-232 FEMALE (FROM PC)
CTS
C7 10/16V
D1-D4 1N4001x4
TxD
K1 DC 9-12V
DTR
+5V
C18 33pF/50V
4 5 6
2 3
10
7 8 D6 9 D7
D1 D2 D3 D4 D5
D0
10
RPACK4 220k*8
+5V
IC6 74HC573
C16 0.1/50V 19 Q0 18 Q1 17 Q2 16 Q3 15 Q4 14 Q5 13 Q6 12 Q7
IC7 74HC541
19 1
Q0 17 Q1 16 Q2 15 Q3 14 Q4 13 Q5 12 Q6 11 Q7
18
20
+5V
11 1
2 D0 3 D1 4 D2 5 D3 6 D4 7 D5 8 D6 9 D7
20
XTAL1 11.0592MHz
+5V
C15 0.1/50V
D7
+5V
+5V LE RST
K7 UART IN
D3 D5 D7
D1
K8 SHIFTOUT
CLK D0
D2 D4 D6
D6
D0 D1 D2 D3 D4 D5
+5V D1 D3 D5 D7
K6 UART OUT
D0 D2 D4 D6
D0
D6 D7
D3 D4 D5
D1 D2
D0
¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤
àª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ·Ò§¾Íà µÍ¹Ø¡ÃÁ l ǧ¨Ã¢Ñ º RS-232 áÅÐºÑ ¿ à¿Íà 㠪 ä Í«Õ MAX232/ICL232 l ǧ¨Ã UART 㪠äÍ«Õ¾àÔ ÈÉ UTX8100 l ÊÒÁÒöàÅ×Í¡ÍѵÃÒàÃçÇáÅÐÃٻẺ¢Í§¢ ÍÁÙŠ㹡ÒÃÊ×Íè ÊÒÃä´ ´Ç ¨ÑÁê à»Íà l LED áÊ´§ÊÀÒÇСÒÃÃÑºÊ §¢ ÍÁÙÅáÅÐᨠ§ ¤ÇÒÁ¼Ô´¾ÅÒ´ l ÁÕǧ¨Ãá»Å§ÊÑҳ໠¹ÃкººÑÊ I2C l ¤Í¹à¹ç¡àµÍà ¢ÂÒÂÃкº Ạ§à» ¹ÍÔ¹¾Øµ àÍÒµ ¾µØ ͹ءÃÁ, DATA BUS, UART IN-OUT, SHIFT OUT áÅÐ S-BUS ÊíÒËÃѺàª×Íè Áµ ͡Ѻ ºÍà ´ EX-Series l
ÃÙ»·Õè 3-2 ˹ ҵҢͧ S-Board V2.0 ¾Ã ÍÁ¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤ àÃÔÁè µ ¹¨Ò¡¤ÍÁ¾ÔÇàµÍà àª×Íè Áµ ͡Ѻ S-Board V2.0 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà Ẻ DB-9 ÊÑÒ³¨Ò¡¤ÍÁ¾ÔÇàµÍà ¹¨Õé ÐÁÕÃдѺáç´Ñ¹µÒÁÁҵðҹ RS-232 ¡Å ÒǤ×Í ÁÕÃдѺáç´Ñ¹ ±3V ¶Ö§ ±12Và¾×Íè ãË ÊÒÁÒö·íÒ§Ò¹à¢ Ò¡Ñ¹ä´ ¡ºÑ ǧ¨ÃËÅÑ¡ «Ö§è ÃдѺáç´Ñ¹à» ¹áºº TTL ¨Ö§µ ͧµ ͼ Ò¹ äÍ«Õ ICL232 à¾×Íè á»Å§ÃдѺáç´Ñ¹ãË ÍÂÙã ¹ÃдѺ·Õ·áÕ ÍÅàÊÕ¡ ͹ à¹×Íè §¨Ò¡¢ÒÊÑÒ³·Õãè ª ÁÁÕ Ò¡ ¶Ö§ 7 ÊÑÒ³¨Ö§µ ͧ㪠äÍ«Õ ICL232 ¨íҹǹ 2 µÑÇÊíÒËÃѺ·Ñ§é á»Å§áç´Ñ¹´ Ò¹ÍÔ¹¾ØµáÅÐàÍÒµ ¾µØ
¤Í¹à¹ç¡àµÍà S-BUS ÊÑÒ³·Õè¼ Ò¹äÍ«Õ MAX232 ÁÒáÅ Ç¨Ð¶Ù¡Ê §µ Íä»Âѧäͫպѿà¿Íà àºÍà 74HC541 ·íÒ˹ Ò·Õè¢ÂÒ¡ÃÐáÊãË ¡Ñº¢ÒÊÑÒ³·Ñé§ËÁ´¾Ã ÍÁ·Ñé§Âѧª Ç» ͧ¡Ñ¹¤ÇÒÁàÊÕÂËÒ·ÕèÍÒ¨à¡Ô´ ¡Ñº¤ÍÁ¾ÔÇàµÍà ¡Ã³ÕÁÕ¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¡Òõ Íǧ¨Ã ¢ÒÊÑÒ³·Ñé§ËÁ´¢Í§¾Íà µÍ¹Ø¡ÃÁ¨Ð ¶Ù¡Ê §µÃ§ä»Âѧ¤Í¹à¹ç¡àµÍà S-BUS «Ö§è ¼Ùã ª §Ò¹ÊÒÁÒö¹íÒÊÑÒ³Ê Ç¹¹Õäé »»ÃÐÂØ¡µ 㪠§Ò¹µ Ò§æ ä´ ·¹Ñ ·Õ â´ÂÁÕ·§Ñé ä¿àÅÕÂé § +5V áÅСÃÒÇ´ ¤Çº¤Ùä »´ ÇÂ
¤Í¹à¹ç¡àµÍà SERIAL OUTPUT ¢ÒÊÑÒ³àÍÒµ ¾µØ ¢Í§¾Íà µÍ¹Ø¡ÃÁ«Ö§è »ÃСͺ´ ÇÂ¢Ò TxD, ¢Ò DTR áÅÐ ¢Ò RTS ¨Ð ¶Ù¡Ê §ä»Âѧ¤Í¹à¹ç¡àµÍà SERIAL OUTPUT à¾×Íè 㪠ÊÒí ËÃѺ¢ÑºÍØ»¡Ã³ àÍÒµ ¾µØ ·Õ¤è ͹à¹ç¡àµÍà SERIAL OUTPUT ¹Õ¨é ÐÁÕä¿àÅÕÂé §¤Çº¤Ùä »´ ÇÂઠ¹à´ÕÂǡѺ¤Í¹à¹ç¡àµÍà S-BUS àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 43
¤Í¹à¹ç¡àµÍà SERIAL INPUT
¢ÒÍÔ¹¾Øµ¢Í§¾Íà µÍ¹Ø¡ÃÁ»ÃСͺ´ ÇÂ¢Ò DCD, CTS, RxD áÅÐ DSR ¨Ðµ ͡Ѻ¤Í¹à¹ç¡àµÍà SERIAL INPUT à¾×Íè ÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÀÒ¹͡ࢠÒä»»ÃÐÁÇżÅ㹤ÍÁ¾ÔÇàµÍÃ
ᨠ¡ÃкººÑÊ I2C
º¹ S-Board ÂѧÁÕ¡ÒèѴÃкººÑÊà¾×Íè ¢ÂÒ¢մ¤ÇÒÁÊÒÁÒöÍÕ¡ 1 Ãкº¤×Í ÃкººÑÊ I2C â´Â㪠ÊÑÒ³¢Ò DTR, RTS áÅÐ DCD à ÇÁ¡ÑºÍØ»¡Ã³ ÍÕ¡àÅ硹 ÍÂà¾×èͨѴÊÑÒ³ãË µÃ§ µÒÁÁҵðҹ¢Í§ÃкººÑÊ I2C â´ÂÁÕ´Ô»ÊÇÔµª S1 ¤Í·íÒ˹ Ò·ÕèµÑ´µ Í¢Ò¾Íà µÍ¹Ø¡ÃÁ·Ñé§ ÊÒÁàÊ ¹ãË àª×Íè Áµ ͡ѺÃкººÑÊ I2C ¢Ò SDA ¢Í§ÃкººÑÊ I2C ·íÒ˹ Ò·Õèà» ¹¢Ò¢ ÍÁÙÅ «Ö觵 ͧÁÕ·Ñ駡ÒÃÊ §áÅÐÃѺÊÑÒ³ ¨Ð㪠¢Ò RTS 㹡ÒÃÊ §ÊÑÒ³ áÅÐÃѺÊÑÒ³¼ Ò¹¢Ò DCD â´Â·íÒ§Ò¹¼ Ò¹·ÃÒ¹«ÔÊàµÍà Q1 ã¹ÊÀÒÇл¡µÔ·Õè¢Ò SDA ¨ÐÁÕÅͨԡ 1 ¨Ò¡µÑǵ Ò¹·Ò¹¾ÙÅÍÑ» R3 ã¹¢³Ð·Õè¢Ò SCL «Öè§à» ¹ ¢ÒÊÑÒ³¹ÒÌ ¡Ò¢Í§ÃкººÑÊ I2C ¨Ð㪠¢Ò DTR Ê §ÊÑÒ³¼ Ò¹·ÃÒ¹«ÔÊàµÍà Q2 ÊÑÒ³·Ñ§é ËÁ´¢Í§ÃкººÑÊ I2C ÃÇÁ·Ñ§é ä¿àÅÕÂé § +5V áÅСÃÒÇ´ ¨Ðµ ÍࢠҡѺᨠ¡âÁ´ÙÅÒ Ã ¢¹Ò´ 4 ¢Ò ¡íÒ˹´à» ¹¨Ø´àª×èÍÁµ ÍÃкººÑÊ I2C ·íÒãË ÊÒÁÒöµ ; ǧºÍà ´·Õè¨Ñ´¡ÒõԴµ Í áººÃкººÑÊ I2C ä´ â´ÂµÃ§ â´ÂäÁ µÍ §µ Íä¿àÅÕÂé §Ç§¨Ãà¾ÔÁè àµÔÁ
Ê Ç¹¢Í§ UART
à¾×Íè ¤ÇÒÁÊÁºÙó ¢Í§¡ÒÃàÃÕ¹ÃÙà ¾×Íè àª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¼Ò ¹·Ò§¾Íà µÍ¹Ø¡ÃÁ S-Board ÂÑ§ä´ ¨´Ñ ǧ¨ÃÊ×Íè ÊÒÃ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊËÃ×Í UART àµÃÕÂÁäÇ ÊÒí ËÃѺ¡Ò÷´Åͧ´ Ò¹Ê×Íè ÊÒà ¢ ÍÁÙÅ͹ءÃÁâ´Â੾ÒÐ ËÑÇã¨ËÅÑ¡¢Í§Ê ǹ UART ¹Õ¤é Í× IC5 äÍ«ÕàºÍà UTX8100 «Ö§è ·íÒ˹ Ò·Õè ÃÑºÊ §¢ ÍÁÙÅẺ͹ءÃÁẺÍЫԧâ¤Ã¹ÑÊઠ¹à´ÕÂǡѺ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ·Õãè ª º¹¤ÍÁ¾ÔÇàµÍà â´Â㪠¢Ò TxD áÅÐ RxD 㹡ÒÃàª×Íè Áµ Í ¢Ò TxD 㪠à¾×Íè Ê §¢ ÍÁÙÅä»ÂѧäÍ«Õ UTX8100 ¼ Ò¹·Ò§¢Ò RxD1 áÅÐ RxD2 àÁ×Íè UTX8100 ä´ ÃºÑ ÊÑÒ³¨Ò¡¢Ò TxD áŠǨзíÒ¡ÒÃá»Å§¢ ÍÁÙÅãË ¡ÅÒÂà» ¹áºº¢¹Ò¹áÅÐÊ §ÍÍ¡ä»·Ò§¢Ò D0-D7 â´Â·Õ¢è ÒàÍÒµ ¾µØ àËÅ Ò¹Õ¨é е ÍࢠҡѺ IC6 àºÍà 74HC573 à¾×Íè Ê §ä»Âѧ¤Í¹à¹ç¡àµÍà UART OUT à¾×Íè ãË ¼ãÙ ª §Ò¹ÊÒÁÒö¹íÒÊÑÒ³ä»ãª ä´ ·¹Ñ ·Õ ¢Ò RxD 㪠à¾×Íè ÃѺ¢ ÍÁÙŨҡ UTX8100 ¼ Ò¹·Ò§¢Ò TxOut àÁ×Íè ÁÕ¡ÒáÃеع ´ ÇÂÅͨԡ 0 ¨Ò¡¢Ò DTR ¢Í§¾Íà µÍ¹Ø¡ÃÁࢠҷբè Ò REQ ¢Í§ UTX8100 ¢ ÍÁÙÅ·Õ¢è Ò D0-D7 ¨Ð¶Ù¡á»Å§ ãË à» ¹áººÍ¹Ø¡ÃÁáÅÐÊ §ä»Âѧ¢Ò RxD à¾×Íè µÔ´µ ͡Ѻ¤ÍÁ¾ÔÇàµÍà µÍ ä» â´ÂÊÑÒ³ÍÔ¹¾Øµ·Õè ¤Í¹à¹ç¡àµÍà UART IN ¡ Í¹Ê §ÁÒãË ¡ºÑ ¢Ò D0-D7 ¨Ðµ ͧ¼ Ò¹äÍ«Õº¿Ñ à¿Íà àºÍà 74HC541 (IC7) àÊÕ¡ ͹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 44
¡ÒáíÒ˹´ÍѵÃÒ¡ÒÃÃÑºÊ §¢ ÍÁÙÅËÃ×ͺʹàõãË á¡ UTX8100 ÊÒÁÒö¡íÒ˹´ä´ 8 ¤ Ò¤×Í 1200, 2400, 4800, 9600, 14400, 19200, 28800 áÅÐ 57600 ºÔµµ ÍÇÔ¹Ò·Õ â´ÂàÅ×Í¡¨Ò¡ ¨ÑÁê à»Íà JP1 «Ö§è µ ͡Ѻ¢Ò BAUD1-BAUD3 ¢Í§ UTX8100 ¹Í¡¨Ò¡¡ÒáíÒ˹´¤ ҺʹàõÁҵðҹáÅ Ç UTX8100 ÂѧÊÒÁÒö¡íÒ˹´¨íҹǹºÔµã¹ ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ, ¡ÒõÃǨÊͺ¾ÒÃÔµÕé áÅШíҹǹºÔµ» ´· ÒÂä´ ´Ç  â´Â¡ÒáíÒ˹´·Õ¨è ÁÑê à»Íà º¹ S-Board ã¹Ç§¨ÃÃÙ»·Õè 1 ¹Í¡¨Ò¡¹Õãé ¹¡Ã³Õ·ÁÕè ¢Õ Í ¼Ô´¾ÅҴ㹡ÒÃÃÑºÊ §¢ ÍÁÙÅ UTX8100 ÁÕ¢ÒàÍÒµ ¾Ø µÊíÒËÃѺáÊ´§¢ ͼԴ¾ÅÒ´ ÍÑ¹ä´ á¡ ¢ ͼԴ¾ÅÒ´·Ò§¾ÒÃÔµÕé (Parity Error : PE) áÅТ ͼԴ¾ÅÒ´ ·Ò§à¿ÃÁ¢ ÍÁÙÅ (Frame Error : FE) â´ÂáÊ´§¢ ͼԴ¾ÅÒ´ÍÍ¡ÁÒà» ¹Åͨԡ 0 àÁ×Íè ¹íÒǧ¨Ã¢Ñº LED Íѹ»ÃСͺ´ Ç·ÃÒ¹«ÔÊàµÍà áÅеÑǵ Ò¹·Ò¹àÅ硹 ͵ ÍࢠҡѺ¢ÒàËÅ Ò¹Õé ¡ç¨Ð·íÒãË ¼·Ù ´Åͧ ÊÒÁÒöÁͧàËç¹¢ ͼԴ¾ÅÒ´·Õàè ¡Ô´¢Ö¹é ä´ Í ҧªÑ´à¨¹ ¶ Òà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§¾ÒÃÔµ¢Õé ¹Öé LED ÊÕá´§·Õµè Òí á˹ § PARITY ERROR µÔ´ÊÇ Ò§ ¶ Òà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§à¿ÃÁ¢ ÍÁÙÅ LED ÊÕàËÅ×ͧ·Õµè Òí á˹ § FRAME ERROR µÔ´ÊÇ Ò§ 㹡óշäÕè Á Á¢Õ Í ÁÙÅÍÂÙÀ ÒÂã¹ÃÕ¨ÊÔ àµÍà µÇÑ Ê §¢Í§ UTX8100 ¢Ò READY ¨ÐÁÕÅͨԡ 1 à¡Ô´¢Ö¹é ¨Ðà» ¹¡ÒÃᨠ§ãË ·ÃÒºÇ Ò ¢³Ð¹Õé UTX8100 äÁ Á¢Õ Í ÁÙŤ Ò§ÍÂÙÀ ÒÂã¹ ÊÒÁÒö·íÒ¡ÒÃÊ § ¢ ÍÁÙÅä´ ÊÑ§à¡µä´ ¨Ò¡ LED ÊÕà¢ÕÂÇ·Õµè Òí á˹ § READY µÔ´ÊÇ Ò§
¤Í¹à¹ç¡àµÍà SHIFTOUT º¹ S-Board V2.0 ÊÒÁÒö·Õ¨è ТÂÒ¨íҹǹ¾Íà µàÍÒµ ¾µØ à¾ÔÁè ¢Ö¹é ä´ ´Ç ¡ÒÃ㪠û٠Ẻ¡Òà Ê×Íè ÊÒâ ÍÁÙÅ͹ءÃÁẺ«Ô§â¤Ã¹Ñʼ Ò¹·Ò§¢ÒÊÑÒ³ SHIFT CLK áÅÐ SHIFT DATA ¢Í§äÍ«Õ UTX8100 â´ÂÊÑÒ³¨Ò¡¢Ò·Ñ§é Êͧ¨ÐÊ §ÁÒ·Õ¤è ͹à¹ç¡àµÍà SHIFTOUT 㹪×Íè CLK áÅÐ D0 «Ö§è ¡ç¤Í× ÊÑÒ³¹ÒÌ ¡Ò (CLK) áÅÐÊÑÒ³¢ ÍÁÙÅ͹ءÃÁ (D0) ¹Ñ¹è àͧ Ê Ç¹ÊÑÒ³ LE ËÃ×Í ÊÑÒ³ÊíÒËÃѺáŵª ¢Í ÁÙŹѹé ä´ ÁÒ¨Ò¡ÊÑÒ³ RTS «Ö§è ¤Çº¤ØÁÁÒ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÊØ´· Ò¤×Í ÊÑÒ³ RESET (RST) ä´ ÁÒ¨Ò¡¢Ò SHIFT RST ¢Í§ UTX8100 ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§¡Òà à¢Õ¹â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁ¢ÒÊÑÒ³àËÅ Ò¹Õ¨é ж١¡Å ÒǶ֧àÁ×Íè 㪠§Ò¹Ã ÇÁ¡ÑººÍà ´ EX-09 à¾×Íè à¾ÔÁè ¨íҹǹ¾Íà µàÍÒµ ¾µØ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 45
..
º··Õè 4
¡ÒÃÊ §áÅÐÍ Ò¹¢ ÍÁÙż Ò¹ ¾Íà µÍ¹Ø¡ÃÁ RS-232 ¾Íà µÍ¹Ø¡ÃÁ¹Í¡¨Ò¡¨ÐÁÕ¢ÒÊíÒËÃѺ¡ÒÃÃѺáÅÐÊ §¢ ÍÁÙÅ»¡µÔáÅ ÇÂѧÁÕ¢Ò·ÕèÍ͡ẺäÇ ÊíÒËÃѺ¤Çº¤ØÁ¡ÒÃäËŢͧ¢ ÍÁÙÅÍÕ¡ËÅÒµíÒá˹ §´ Ç¡ѹ â´Âá¡໠¹ 2 »ÃÐàÀ·¤×Í¢Ò·Õ·è Òí ˹ Ò ·Õàè » ¹àÍÒµ ¾µØ áÅТҷշè Òí ˹ Ò·Õàè » ¹ÍÔ¹¾Øµ
¢ÒÊÑÒ³àÍÒµ ¾Øµ¢Í§¾Íà µÍ¹Ø¡ÃÁ ¢Ò·Õ·è Òí ˹ Ò·Õàè » ¹¢ÒàÍÒµ ¾µØ ä´ á¡ ¢Ò DTR, RTS áÅÐ TxD â´ÂÃÕ¨ÊÔ àµÍà ··Õè Òí ˹ Ò·Õ¤è Ǻ ¤ØÁ¢ÒàËÅ Ò¹Õ¤é Í× ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁâÁà´çÁ (MCR) â´ÂÁÕáÍ´à´ÃÊÍÂÙ¶ ´Ñ ¨Ò¡ÃÕ¨ÊÔ àµÍà ËÅÑ¡¢Í§¾Íà µ ͹ءÃÁ 4 µíÒá˹ § ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§¢Ò DTR ¨ÐÍÂÙ· µÕè Òí á˹ §ºÔµ 0 Ê Ç¹¢Ò RTS ¨ÐÍÂÙ ·ÕèµíÒá˹ §ºÔµ 1 Ê Ç¹¢Ò TxD à» ¹¢Ò»¡µÔ㹡ÒÃÊ §¢ ÍÁÙÅ ´Ñ§¹Ñ鹨֧ÁÕáÍ´à´ÃÊÍÂÙ ·ÕèáÍ´ à´ÃʢͧÃÕ¨ÊÔ àµÍà ËÅÑ¡
ÃдѺáç´Ñ¹·Õãè ª §Ò¹ÊíÒËÃѺ¾Íà µÍ¹Ø¡ÃÁ RS-232 Áҵðҹ¡ÒÃÊ×Íè ÊÒâ ÍÁÙŢͧ¾Íà µÍ¹Ø¡ÃÁ ä´ ÃÐºØªÇ §ÃдѺáç´Ñ¹ÊíÒËÃѺ¡Ò÷íÒ§Ò¹¢Í§ ¾Íà µÍ¹Ø¡ÃÁäÇ Ç Ò ·ÕÅè ͨԡ 0 ¨ÐÁÕÃдѺÊÑÒ³ +3 ¶Ö§ +15V Ê Ç¹Åͨԡ 1 ¨ÐÁÕÃдѺ ÊÑÒ³ -3 ¶Ö§ -15V ÃдѺÊÑÒ³¹Õ·é Òí ãË äÁ ÊÒÁÒö·Õ¨è йíÒ¢ÒàÍÒµ ¾µØ ã´æ µ ÍࢠҡѺÅͨԡࡵà¾×Íè 㪠§Ò¹ä´ â´ÂµÃ§ ¨Ðµ ͧ¼ ҹǧ¨Ãà¾×Íè à»ÅÕÂè ¹ÃдѺáç´Ñ¹àÊÕ¡ ͹ â´Â»¡µÔ¨Ð㪠äÍ«Õ¨Òí ¾Ç¡ RS232 transceiver ·Õ¹è ÂÔ ÁÁÒ¡¤×Í MAX232 ËÃ×Í ICL232 äÍ«Õ㹡ÅØÁ ¹Õ¨é зíÒ˹ Ò·Õáè »Å§ÃдѺáç ´Ñ¹¢Í§ RS-232 ãË ÍÂÙã ¹ÃдѺ·Õ·áÕ ÍÅ â´ÂÅͨԡ 0 «Ö§è à´ÔÁÁÕÃдѺÊÑÒ³ +3 ¶Ö§ +15V ¨Ð¶Ù¡ á»Å§à» ¹ 0V Ê Ç¹Åͨԡ 1 «Ö§è ÁÕÃдѺÊÑÒ³ -3 ¶Ö§ -15V ¨Ðá»Å§à» ¹ +5V ·Ñ§é ¹Õàé ¾×Íè ãË ÊÒÁÒöàª×Íè Áµ ͡ѺÍØ»¡Ã³ ´¨Ô µÔ ÍÅÍ×¹è ·Õãè ª ÃдѺáç´Ñ¹·Õ·áÕ ÍÅä´
¡ÒÃà¢Õ¹«Í¿µ áÇà à¾×èͤǺ¤ØÁ¢ÒàÍÒµ ¾Øµ ¡ÒõԴµ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁº¹Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ ¨Ðµ ͧà¾ÔÁè ÍØ»¡Ã³ ·Ò§«Í¿µ áÇà ÊíÒËÃѺ¡ÒõԴµ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁ ¹Ñ¹è ¤×Í MSComm «Ö§è ¡Å ÒÇÃÒÂÅÐàÍÕ´äÇ áÅ Ç㹺··Õè 2 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 47
¼Ù 㪠§Ò¹ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ´ Ç Visual BASIC à¾×èÍÊ §¤ ÒÍÍ¡ä»Âѧ¢ÒàÍÒµ ¾Øµµ Ò§æ ¢Í§¾Íà µÍ¹Ø¡ÃÁä´ â´Â㪠¤Òí ÊÑ§è ´Ñ§¹Õé MSComm1.DTREnable = True ¡íÒ˹´ãË ¢Ò DTR ÁÕÅͨԡ 1 (-3 ¶Ö§ -15V) MSComm1.DTREnable = False ¡íÒ˹´ãË ¢Ò DTR ÁÕÅͨԡ 0 (+3 ¶Ö§ +15V) MSComm1.RTSEnable = True ¡íÒ˹´ãË ¢Ò RTS ÁÕÅͨԡ 1 (-3 ¶Ö§ -15V) MSComm1.RTSEnable = False ¡íÒ˹´ãË ¢Ò RTS ÁÕÅͨԡ 0 (+3 ¶Ö§ +15V) MSComm1.Break = True ¡íÒ˹´ãË ¢Ò TxD ÁÕÅͨԡ 1 (-3 ¶Ö§ -15V) MSComm1.Break = False ¡íÒ˹´ãË ¢Ò TxD ÁÕÅͨԡ 0 (+3 ¶Ö§ +15V) ËÁÒÂà赯 ¡ ͹㪠§Ò¹¤íÒÊÑ觢ͧ¤Í¹â·ÃÅ MSComm ¨Ðµ ͧ໠´¾Íà µ¡ ͹ â´Âà¢Õ¹ â»Ãá¡ÃÁ´Ñ§¹Õé Private Sub Form_Load() MSComm1.PortOpen = True End Sub
¾Ã ÍÁ¡Ñ¹¹Ñ鹨е ͧµÃǨÊͺ¾Íà µ·Õè㪠§Ò¹ãË ´ÕÇ Ò¾Íà µÍ¹Ø¡ÃÁ·Õè㪠¹Ñ鹶١µ ͧËÃ×ÍäÁ ÁÔ ©Ð¹Ñ¹é â»Ãá¡ÃÁ¨ÐáÊ´§¢ ͼԴ¾ÅÒ´¢Ö¹é ÁÒ
¡ÒÃÍ Ò¹¤ ÒÅͨԡ¨Ò¡¾Íà µÍ¹Ø¡ÃÁ RS-232 ¾Íà µÍ¹Ø¡ÃÁÁÕ¢Ò·Õ·è Òí ˹ Ò·ÕÍè ¹Ô ¾Øµä´ á¡ DSR,CTS ,RI áÅÐ DCD â´ÂÃÕ¨ÊÔ àµÍà ··Õè Òí ˹ Ò·Õè ¤Çº¤ØÁ¢ÒàËÅ Ò¹Õé¤×ÍÃÕ¨ÔÊàµÍà áÊ´§Ê¶Ò¹ÐâÁà´çÁ (MSR) ÁÕáÍ´à´ÃʶѴ¨Ò¡ÃÕ¨ÔÊàµÍà ËÅÑ¡¢Í§ ¾Íà µÍ¹Ø¡ÃÁ 6 µíÒá˹ § ÊíÒËÃѺºÔµµ Ò§ æ º¹ÃÕ¨ÊÔ àµÍà ÁÃÕ ÒÂÅÐàÍÕ´´Ñ§¹Õé
ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
,+,
41
,54
+65
,,+,
,41
,,54
,+65
4 ºÔµº¹¢Í§ÃÕ¨ÊÔ àµÍà ¨ÐáÊ´§Ê¶Ò¹Ð¡ÒÃà»ÅÕÂè ¹á»Å§·Õ¢è ÒÍÔ¹¾Øµ·Ñ§é 4 ¢Ò¢Í§¾Íà µÍ¹Ø¡ÃÁ â´ÂµÃ§ Ê Ç¹ 4 ºÔµÅ Ò§ ¨ÐÁÕʶҹÐà» ¹ 1 ¡çµÍ àÁ×Íè 4 ºÔµº¹ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§Ê¶Ò¹ÐàÁ×Íè à·Õº ¡Ñº¡ÒÃÍ Ò¹¤ Ò¤ÃÑ§é ¡ ͹˹ Ò ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¨Ò¡¢Ò DCD, CTS áÅÐ DSR â´Ââ»Ãá¡ÃÁ Visual BASIC ¨Ð㪠MSComm à ÇÁ¡Ñº¤íÒÊѧè CDHolding , CTSHolding áÅÐ DSRHolding µÒÁÅíҴѺ «Ö§è ¤ Ò·ÕÍè Ò ¹ä´ ¹Ñ¹é ¨Ðà» ¹ºÙÅ¹Õ ÁÕ¤Ò à» ¹ True ËÃ×Í False ¼Ùã ª §Ò¹ÊÒÁÒöµÃǨÊͺ¼Å¨Ò¡¢ÒÍÔ¹¾ØµàËÅ Ò¹Õäé ´ â´Â㪠¤Òí Êѧè IF THEN àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 48
¡Ò÷´Åͧ·Õè 1 ¡ÒÃÊ §¢ ÍÁÙż Ò¹¾Íà µÍ¹Ø¡ÃÁàº×Íé §µ ¹ à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 ÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. S-Board ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 3. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 ºÍà ´ 4. EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ 1 ºÍà ´ 5. à¤Ã×Íè §¨ ÒÂä¿ +12V ¡ÃÐáÊàÍÒµ ¾µØ 500mA ËÃ×ÍÊÙ§¡Ç Ò 1 à¤Ã×Íè § 6. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹
¡Ò÷´Åͧ 1.1 àª×Íè Áµ ÍÊÒÂ͹ءÃÁÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ S-BOARD 1.2 㪠ÊÒ IDC-10 àª×Íè Áµ ÍÃÐËÇ Ò§ S-BOARD ¡Ñº ºÍà ´ EX-01 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà SERIAL OUT ¢Í§ S-Board ࢠÒä»Âѧ DATA BUS #1 ¢Í§ºÍà ´ EX-01 1.3 ¨ ÒÂä¿ãË ¡ºÑ S-Board Êѧࡵ¼Å·Õè LED º¹ºÍà ´ EX-01 â´Â LED ¨ÐáÊ´§¼Å¢Í§¢Ò àÍÒµ ¾µØ ·Ñ§é 3 ¢Ò ¤×Í D0 áÊ´§¼Å¢Í§¢Ò DTR, D1 áÊ´§¼Å¢Í§¢Ò RTS áÅÐ D2 áÊ´§¼Å¢Í§¢Ò TxD 1.4 à¢Õ¹â»Ãá¡ÃÁâ´Â㪠Visual BASIC µÔ´µ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁ «Ö觨е ͧà¾ÔèÁ¤Í¹â·ÃÅ MSComm ࢠÒä»ã¹¿Íà Á·Õ¶è ¡Ù 㪠§Ò¹ 1.5 ¨Ò¡¹Ñé¹àÅ×Í¡¾Íà µÍ¹Ø¡ÃÁ·Õè㪠§Ò¹ â´Â¾Íà µÍ¹Ø¡ÃÁ·ÕèàÅ×Í¡¹Ñ鹨е ͧäÁ ¶Ù¡ãª §Ò¹¨Ò¡ â»Ãá¡ÃÁÍ×¹è æ ËÃ×ÍÍØ»¡Ã³ ͹×è æ ÍÂÙ Áԩйѹé àÁ×Íè à¢Õ¹â»Ãá¡ÃÁà¾×Íè Êѧè à» ´¾Íà µâ»Ãá¡ÃÁ¨Ðᨠ§ ¢ ͼԴ¾ÅÒ´µÍº¡ÅѺÁÒ â´Â¡ÒáíÒ˹´Ç Òµ ͧ¡ÒÃ㪠§Ò¹¾Íà µÍ¹Ø¡ÃÁµÑÇä˹¹Ñé¹ÁÒ¨Ò¡ ¤Ø³ÊÁºÑµÔ CommPort ã¹Ê ǹ¢Í§ Property µÑÇàÅ¢·Õãè ª Ãкع¹Ñé 㪠ÃкصÒí á˹ §¢Í§¾Íà µ ËÃ×Í ÍÒ¨¨Ðà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¡íÒ˹´¾Íà µä´ µÇÑ Í ҧ â´ÂàÁ×Íè àÅ×Í¡¾Íà µÍ¹Ø¡ÃÁàÊÃç¨àÃÕºà ÍÂáÅ Ç ¤ ÍÂà» ´¾Íà µ áÅФÇõÃǨÊͺ´ ÇÂÇ Ò¾Íà µÍ¹Ø¡ÃÁ·Õè¡íÒ˹´¹Ñ鹶١µ ͧËÃ×ÍäÁ â´Âà¢Õ¹ â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Private Sub Command1_Click() MSComm1.CommPort = 1 MSComm1.PortOpen = True End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 49
K102
K103
DATA BUS #1
DATA BUS #2
(UIC-10)
EX-01 LED display board
(UIC-10)
+5V D0 D2 D4 D6
+5V
D1 D3 D5 D7
D0 D2 D4 D6
D1 D3 D5 D7
K101
P-BUS (IDC-20)
+5V
,%
,$ ,#
3%
3$ 3#
10
3" 3! 3
R108
2 3 4 5 6 7 8 9
3 3
3%
3$ 3#
3" 3!
3
19
C0 C1 C2 C3
20 C102 0.1/50V
18 17 16 15 14 13 12 11
R101
+5V
," ,! ,
IC101 74HC541 1
, ,
,%
,$ ,#
," ,!
10
,
C101 0.1/50V
3 3
D1 D3 D5 D7 C1 C3
2 3 4 5 6 7 8 9
20
, ,
D0 D2 D4 D6 C0 C2
+5V
R116
R109
LED108
IC102 74HC541
18 17 16 15 14 13 12 11
R101-R108 220 x8 LED101
1 19
R109-R116 220 x8 LED109
D0 D1 D2 D3 D4 D5 D6 D7
LED116
D0 D1 D2 D3 D4 D5 D6 D7 C0 C1 C2 C3
EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ
LED áÊ´§¼ÅẠ§à» ¹ 2 Ê Ç¹ Ê Ç¹ÅÐ 8 ª ͧ l ÁÕǧ¨ÃºÑ¿à¿Íà ÊÒí ËÃѺ¢Ñº LED l ¤Í¹à¹ç¡àµÍà P-BUS áÅÐ DATA BUS ÊíÒËÃѺ àª×Íè Áµ ͡Ѻ P-Board áÅÐ S-Board l
(Í Ò¹ÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ãà¾ÔèÁàµÔÁ¨Ò¡Ë¹Ñ§Ê×ÍàÃÕ¹ÃÙ áÅÐ »¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹)
1.6 â´ÂÃٻẺ¢Í§ Form1 ã¹àº×Íé §µ ¹¹Õáé Ê´§´Ñ§ÃÙ»·Õè P1-1 1.7 Ãѹâ»Ãá¡ÃÁãË ·Òí §Ò¹ 㪠àÁÒÊ ¤ÅÔ¡é ·Õ»è ÁØ Open Port ¶ Ò¾Íà µÍ¹Ø¡ÃÁ·Õãè ª ¶¡Ù µ ͧ ¡ÒäÅÔ¡ ¤Ãѧé áá¨ÐäÁ à¡Ô´à˵ءÒó ã´æ ¢Ö¹é ¡àÇ ¹¨ÐàËç¹ LED ·Õºè Íà ´ EX-01 µÔ´ËÃ×ʹѺà¹×Íè §¨Ò¡¡Òà ¡íÒ˹´¤ Ò¡ ͹˹ Ò¹Õé áµ ¶ Ò¡´»Ø Á«éíÒÍÕ¡¤ÃÑé§ â»Ãá¡ÃÁ¨Ðᨠ§¢ ͼԴ¾ÅÒ´´Ñ§áÊ´§ã¹ÃÙ»·Õè P1-2 ¹Ñ¹è ¤×;Íà µÍ¹Ø¡ÃÁ·Õµè Í §¡ÒÃà» ´¹Ñ¹é ¶Ù¡à» ´ÍÂÙá Å Ç ¡ÒÃÊѧè à» ´¾Íà µ«éÒí ¨Ðà¡Ô´¢ ͼԴ¾ÅÒ´ ¶ Ò¡´ »ØÁ Debug â»Ãá¡ÃÁ¨Ð¡ÃÐâ´´ÁÒªÕÂé §Ñ ºÃ÷Ѵ·Õ¼è ´Ô ¾ÅÒ´ ¶ Ò¡´ End ¡ç¨Ðà» ¹¡Òèºâ»Ãá¡ÃÁ 1.8 ´Ñ§¹Ñ¹é ¼Ùã ª §Ò¹ÊÒÁÒöÊѧè à» ´¾Íà µÍ¹Ø¡ÃÁä´ ¡µç Í àÁ×Íè ¾Íà µÍ¹Ø¡ÃÁ¹Ñ¹é » ´ÍÂÙà · Ò¹Ñ¹é ¼Ùã ª §Ò¹ ÊÒÁÒöµÃǨÊÍºä´ ËÅÒÂÇÔ¸Õ ÍÒ·Ôઠ¹ ¡ÒÃ㪠¤Òí Êѧè IF THEN â´Âà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Private Sub Command1_Click() If Not MSComm1.PortOpen Then MSComm1.PortOpen = True Else MsgBox (“Port already Open “), , “ComPort Error” End If End Sub
Property C o m m a n d 1 Caption
Open Port
Property
Form1
Caption
Basic Output
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 50
ÃÙ»·Õè P1-1 ÃٻẺ¢Í§ Form1 à¡Ô´¨Ò¡¡Òà ÃÙ»·Õè P1-2 ˹ Òµ ҧᨠ§¤ÇÒÁ¼Ô´¾ÅÒ´¡Òà à¢Õ¹â»Ãá¡ÃÁã¹¢ Í 1.5 à» ´¾Íà µ«éÒí 1.9 â»Ãá¡ÃÁ¹Õ¨é еÃǨÊÍºÇ Ò ¾Íà µÍ¹Ø¡ÃÁ¶Ù¡à» ´ÍÂÙË Ã×ÍäÁ ¶ ÒäÁ ¡¨ç зíÒ¡ÒÃà» ´¾Íà µ áµ ¶ Òà» ´ÍÂÙá Å Ç ¨ÐáÊ´§¢ ͤÇÒÁâ´Â㪠MsgBox à¾×Íè ᨠ§Ç Ò ¾Íà µä´ ¶¡Ù à» ´äÇ áÅ Ç «Ö§è ÇÔ¸¡Õ ÒùÕé ·íÒãË â»Ãá¡ÃÁäÁ à¡Ô´¢ ͼԴ¾ÅÒ´¢Ö¹é àÁ×Íè ¹íÒä»ãª §Ò¹¨ÃÔ§ 1.10 àÁ×Íè à» ´¾Íà µÍ¹Ø¡ÃÁàÃÕºà ÍÂáÅ Ç ¾Íà µÍ¹Ø¡ÃÁ¨Ð» ´µÑÇàͧËÅѧ¨Ò¡àÅԡ㪠§Ò¹â»Ãá¡ÃÁ ´Ñ§¹Ñ¹é ¼Ùã ª §Ò¹äÁ ¨Òí à» ¹µ ͧÊÑ§è » ´¾Íà µ ¡ ͹·Õ¨è ÐÍÍ¡¨Ò¡â»Ãá¡ÃÁ¡çä´ 1.11 ¡ÒÃà» ´¾Íà µ¨Ðµ ͧ¡ÃзíÒ·Ø¡¤Ãѧé àÁ×Íè ÁÕ¡ÒÃÃѹâ»Ãá¡ÃÁãË ·Òí §Ò¹ ´Ñ§¹Ñ¹é ¡ÒÃà» ´¾Íà µ¹Õé ÍÒ¨¨Ð¹íÒä»äÇ ã¹Ê ǹ¢Í§à˵ءÒó Form_Load ä´ â´Âá¡ ä¢â»Ãá¡ÃÁ´Ñ§¹Õé Private Sub Command1_Click() End Sub Private Sub Form_Load() If Not MSComm1.PortOpen Then MSComm1.PortOpen = True Else MsgBox (“Port already Open “), , “ComPort Error” End If End Sub
1.12 ÊíÒËÃѺ Command1 ¨Ò¡à´ÔÁ ÊÒÁÒö¹íÒÁҤǺ¤ØÁ¢Ò DTR ä´ â´Âà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁ ãËÁ ãË ¡ºÑ Command1 ´Ñ§¹Õé Private Sub Command1_Click() MSComm1.DTREnable = False End Sub
1.13 àÁ×Íè ¤ÅÔ¡é ·Õ»è ÁØ Command1 ËÃ×Í DTR Toggle LED ·Õºè Íà ´ EX-01 ã¹µíÒá˹ § D0 ¨ÐµÔ´ à¹×èͧ¨Ò¡ÊÑÒ³¨Ò¡¾Íà µÍ¹Ø¡ÃÁ¨Ð¶Ù¡¡ÅѺʶҹШҡäÍ«Õ ICL232 ´Ñ§¹Ñ鹡ÒáíÒ˹´ãË Åͨԡ¢Í§¢Ò DTR ÁÕÅͨԡ à» ¹ 0 ¨Ðä´ ÃºÑ ¡ÒáÅѺÅͨԡ ·íÒãË ¤Ò ¢Í§àÍÒµ ¾µØ àÁ×Íè ¼ Ò¹ºÑ¿à¿Íà áÅ Çà» ¹Åͨԡ 1 ¨Ö§µ ͧÃÐÁÑ´ÃÐÇѧã¹Ê ǹ¹Õ´é Ç Â àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 51
1.14 㹡óշµÕè Í §¡ÒÃ㪠»ÁØ Command1 ãË à» ¹·Ñ§é »ØÁ ·ÕÊè §Ñè §Ò¹ãË à» ¹Åͨԡ 0 áÅÐÊÑ§è §Ò¹ãË à» ¹Åͨԡ 1 ÊÒÁÒöᡠä¢â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Private Sub Command1_Click() MSComm1.DTREnable = Not MSComm1.DTREnable End Sub
1.15 ¡ÒùíÒ¤íÒÊѧè NOT ÁÒà ÇÁ㪠§Ò¹¹Ñ¹é à» ¹ÇÔ¸¡Õ ÒÃÍ Ò¹¤ Ò¨Ò¡¢Ò DTR ÁÒ¡ ͹áÅ Ç·íÒ¡ÒáÅѺ ʶҹТͧ¢Ò DTR ´ ǤíÒÊѧè NOT ¶ Ò¢Ò DTR ÁÕÅͨԡ 1 ÍÂÙ àÁ×Íè ¡ÃзíÒ¤íÒÊѧè NOT ¡ç¨Ð¡ÅÒ ໠¹Åͨԡ 0 áÅÐ¶Ù¡Ê §ÍÍ¡ä»Âѧ¾Íà µÍ¹Ø¡ÃÁÍÕ¡¤Ãѧé à» ¹¼Å·íÒãË ¡ÒäÅÔ¡é ·Õ»è ÁØ Command1 ¨Ðà» ¹¡ÒÃà»ÅÕÂè ¹Ê¶Ò¹Ð¢Í§¢Ò DTR ¡ÅѺ仡ÅѺÁÒ 1.16 ÊíÒËÃѺ¢Ò RTS ¡çÁÇÕ ¸Ô ¡Õ ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¢ÑºàÍÒµ ¾µØ ઠ¹¡Ñ¹ â´ÂãË à¾ÔÁè Ê Ç¹¢Í§ ¢Ò RTS ãË ·Òí §Ò¹¡Ñº Command2 ´Ñ§¹Õé Private Sub Command2_Click() MSComm1.RTSEnable = Not MSComm1.RTSEnable End Sub
1.17 ÊíÒËÃѺ¢Ò TxD «Ö§è ¶×ÍÇ Òà» ¹¢ÒàÍÒµ ¾µØ ઠ¹à´ÕÂǡѹ ¡çÊÒÁÒö㪠§Ò¹à¾×Íè ãË à» ¹Åͨԡ 0 ËÃ×Í 1 ä´ àª ¹à´ÕÂǡѹ áµ ¨Ðµ ͧ¼ Ò¹¤íÒÊѧè Break á·¹ â´Â¡ÒÃ㪠¤Òí ÊÑ§è ¹Õ¨é зíÒä´ ã¹ª ǧàÇÅÒ Êѹé æ äÁ ઠ¹¹Ñ¹é ¤ÍÁ¾ÔÇàµÍà ¨Ðà¡Ô´¡ÒÃËÂØ´¤ 񤊫 ËÃ×Í¡Òà Break ¹ÕÍé Ò¨¶Ù¡à¤ÅÕÂÃ ä´ â´Âà˵ءÒó Í×¹è æ ઠ¹ ¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ңͧ¢Ò RTS â´Â¡ÒÃà«çµàºÃ¡¹Õé ¨Ðà» ¹¡Ò÷íÒãË ¢Ò TxD ÍÂÙã ¹ ÊÀÒÇÐÅͨԡ 1 ¤ Ò§ÍÂÙ (¼Å·Õè LED à» ¹Åͨԡ 0 ) 1.18 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×èͤǺ¤ØÁÊÒÁÒö·íÒä´ àª ¹à´ÕÂǡѺ¢Ò RTS áÅÐ DTR â´Â㪠Command3 ´Ñ§¹Õé Private Sub Command3_Click() MSComm1.Break = Not MSComm1.Break End Sub
1.19 ãË ·´Åͧ¡´»ØÁ Command µ Ò§æ à¾×Íè ´Ù¼Å¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ·Õè LED áÅÐÊѧࡵ Ç Ò LED ¢Í§¢Ò TxD (D2) ÊÒÁÒöµÔ´¢Ö¹é ¨Ò¡¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò·Õ¢è Ò RTS (D1) ËÃ×ÍäÁ
¡ÒûÃѺᵠ§¨ÍÀÒ¾ 1.20 àÁ×Íè ¼Ùã ª §Ò¹Ê §àÍÒµ ¾µØ ÍÍ¡ä»Âѧ¾Íà µÍ¹Ø¡ÃÁ â´Ââ»Ãá¡ÃÁ¢ Ò§µ ¹ ¨ÐäÁ ÊÒÁÒöµÃǨÊͺ ʶҹСÅѺÁÒä´ ÇÒ ¢³Ð¹Õ·é ¢Õè ÒàÍÒµ ¾µØ àËŠҹѹé ÁÕʶҹÐã´ æ ÍÂÙ ÇÔ¸¡Õ ÒõÃǨÊͺâ´Â¡ÒÃáÊ´§ ¼Å·ÕËè ¹ Ò¨Í ¨Ðª ÇÂãË ÊÒÁÒö´Ù¼Å·Õàè ¡Ô´¢Ö¹é ä´ ·¹Ñ ·Õ â´Â¨Ð㪠¤Í¹â·ÃÅ Shape ÁÒª ÇÂ㹡ÒÃáÊ´§ ¼Å «Ö§è ¨Ð¡íÒ˹´¤Í¹â·ÃÅ Shape ãË ÁÃÕ »Ù à ҧàËÁ×͹¡Ñº LED â´ÂÊÒÁÒö¡íÒ˹´¤Ø³ÊÁºÑµ¢Ô ͧ Shape ä´ ´§Ñ ¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 52
Property
Shape1-3
BackColor BackStyle
&H000000FF& 1 - Opaque
BorderColor Shape Height
&H000000C0& 3 - Circle 255
Width
255
¨Ò¡¡ÒÃ㪠¤Í¹â·ÃÅ Shape ·íÒãË LED ÁÕÊáÕ ´§ÊíÒËÃѺÅͨԡ 1 áÅÐÁÕÊàÕ Å×Í´ËÁÙÊÒí ËÃѺ Åͨԡ 0 ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁà¾×Íè µÃǨÊÍºä´ â´Â㪠¤Òí Êѧè IF THEN ´Ñ§¹Õé Private Sub Check_Status ( ) If MSComm1.DTREnable Then
ÊíÒËÃѺ¡ÒõÃǨÊͺ¢Ò DTR Åͨԡ 0 áÊ´§à» ¹ÊÕàÅ×Í´ËÁÙ
Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If If MSComm1.RTSEnable Then
Åͨԡ 1 áÊ´§à» ¹ÊÕá´§ ÊíÒËÃѺ¡ÒõÃǨÊͺ¢Ò RTS Åͨԡ 0 áÊ´§à» ¹ÊÕàÅ×Í´ËÁÙ
Shape2.BackColor = &H80 Else Shape2.BackColor = &HFF End If If MSComm1.Break Then
Åͨԡ 1 áÊ´§à» ¹ÊÕá´§ ÊíÒËÃѺ¡ÒõÃǨÊͺ¢Ò RTS Åͨԡ 0 áÊ´§à» ¹ÊÕàÅ×Í´ËÁÙ
Shape3.BackColor = &H80 Else Shape3.BackColor = &HFF End If End Sub
Åͨԡ 1 áÊ´§à» ¹ÊÕá´§
â»Ãá¡ÃÁ¹Õ¨é кÃèØäÇ ã¹â»Ãá¡ÃÁ Í Check_Status à¾×Íè ãË ÊÒÁÒöàÃÕ¡㪠§Ò¹·Ø¡æ ¤ÃÑ§é ·Õàè »ÅÕÂè ¹á»Å§¤ Ò ËÃ×Í㪠§Ò¹àÁ×Íè à» ´¾Íà µ¤Ãѧé áá¼ Ò¹¡ÒÃà¢Õ¹¤íÒÊѧè Call Check_Status â´Â Ãٻà ҧ˹ ҵҢͧâ»Ãá¡ÃÁàÁ×Íè àÊÃç¨ÊÁºÙó áÊ´§´Ñ§ÃÙ»·Õè P1-3 MSComm1 Shape1
Command1
Shape2
Command2
Shape3
Command3
ÃÙ»·Õè P1-3 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ ·Õèà¢Õ¹¢Öé¹ã¹¡Ò÷´Åͧ·Õè 1 áÅзÕè ÁÒ¢Í§Ê Ç¹µ Ò§æ ¢Í§â»Ãá¡ÃÁ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 53
1.21 ÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·Ñ§é ËÁ´ã¹¡Ò÷´Åͧ·Õè 1 ÁÕ´§Ñ ¹Õé Private Sub Command1_Click() MSComm1.DTREnable = Not MSComm1.DTREnable Check_Status End Sub Private Sub Command2_Click() MSComm1.RTSEnable = Not MSComm1.RTSEnable Check_Status End Sub Private Sub Command3_Click() MSComm1.Break = Not MSComm1.Break Check_Status End Sub Private Sub Form_Load() If Not MSComm1.PortOpen Then MSComm1.CommPort = 1 MSComm1.PortOpen = True Else MsgBox (“Port already Open “), , “ComPort Error” End If Check_Status End Sub Private Sub Check_Status() If MSComm1.Break Then Shape3.BackColor = &H80 Else Shape3.BackColor = &HFF End If If MSComm1.RTSEnable Then Shape2.BackColor = &H80 Else Shape2.BackColor = &HFF End If If MSComm1.DTREnable Then Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 54
EX-06 7 Channel Relay board
+V
RY601 RELAY 12V
K601
NO C NC
DATA BUS (UIC-10)
+5V D0 D2 D4 D6
JP601
D1 D3 D5 D7
9 1 2
JP607
D0
Q0
D1
Q1
3 D2 4 D3 5 D4 6 D5 7 D6 8
K602 RELAY OUT #1
16 15
14 13 Q3 12 Q4 11 Q5 10 Q6 Q2
RY602-RY607 with K602-K608
IC601 ULN2003
EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ l ¢ÑºÃÕàÅ ¢¹Ò´ 12V ¾Ô¡´ Ñ Ë¹ ÒÊÑÁ¼ÑÊ 220Vac 5A l 㪠áËÅ §¨ ÒÂä¿ +12V 1A ÊíÒËÃѺÃÕàŠᡵ Ò§ËÒ¡ l àÅ×Í¡¢ÑºÃÕàÅÂ ä´ 7 µÑÇ´ Ç¡ÒÃ㪠¨Á Ñê à»Íà l ¤Í¹à¹ç¡àµÍà DATA BUS ÊíÒËÃѺàª×Íè Áµ ͡Ѻ P-Board áÅÐS-Board (Í Ò¹ÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ãà¾ÔèÁàµÔÁ¨Ò¡Ë¹Ñ§Ê×ÍàÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ Í ¤ÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹)
1.22 ¼Ù 㪠§Ò¹ÊÒÁÒö·´Åͧà»ÅÕ蹨ҡºÍà ´ EX-01 «Öè§ãª áÊ´§¼Å¼ Ò¹ LED ãË à» ¹ºÍà ´ EX-06 â´Âµ ÍÊÒÂࢠҷÕè¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ºÍà ´ EX-06 à¾×èÍãË ÊÒÁÒö¹íÒ¾Íà µ ͹ءÃÁ令Ǻ¤ØÁÃÕàÅ â´ÂµÃ§«Ö§è ¨Ò¡Ê ǹ¢Í§ÃÕàÅ ÊÒÁÒöµ ÍÍÍ¡ä»à¾×Íè ¤Çº¤ØÁà¤Ã×Íè §ãª ä¿¿ Ò ·ÕÁè áÕ Ã§´Ñ¹áµ¡µ Ò§¨Ò¡»¡µÔ·ÁÕè ãÕ ª ã¹Ç§¨Ã ઠ¹áç´Ñ¹ä¿º Ò¹ 220V à» ¹µ ¹ 1.23 ÊíÒËÃѺºÍà ´ EX-06 ¨Ðµ ͧ¨ ÒÂä¿àÅÕÂé §ãË ¡ºÑ Áѹ´ Ç â´Â㪠áç´Ñ¹ä¿µÃ§ +12V à¾×Íè àÅÕÂé § ÃÕàÅ ãË ·Òí §Ò¹ áÅШе ͧµ ͨÑÁê à»Íà ¢Í§ÃÕàÅ àÍÒäÇ ´Ç  ÃÕàÅ ¶§Ö ¨Ð·íÒ§Ò¹ä´ 1.24 Ãѹâ»Ãá¡ÃÁà´ÔÁãË ·íÒ§Ò¹áÅÐ㪠àÁÒÊ ¤ÅÔé¡·Õè»Ø Á Command µ Ò§æ ¨Ðä´ ÂÔ¹àÊÕ§ÃÕàÅ ·íÒ§Ò¹ áµ ÃàÕ Å ¨Ð·íÒ§Ò¹à¾Õ§ 3 µÑÇ «Ö§è à» ¹µíÒá˹ §¢Í§¢Ò DTR RTS áÅÐ TxD à· Ò¹Ñ¹é «Ö§è ¨Ð µÃ§¡ÑºµíÒá˹ § Relay01 , Relay02 , Relay03 µÒÁÅíҴѺ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 55
¡Ò÷´Åͧ·Õè 2 ¡ÒÃÊà ҧà¤Ã×Íè §µÑ§é àÇÅÒ¨Ò¡¤ÍÁ¾ÔÇàµÍà à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 ÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. S-Board ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 3. EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ 1 ºÍà ´ 4. à¤Ã×Íè §¨ ÒÂä¿ +12V ¡ÃÐáÊàÍÒµ ¾µØ 500mA ËÃ×ÍÊÙ§¡Ç Ò 1 à¤Ã×Íè § 5. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹
¡Ò÷´Åͧ 2.1 㹪ÕÇÔµ»ÃШíÒÇѹÍÒ¨ÁÕ¤ÇÒÁµ ͧ¡ÒÃᨠ§àµ×͹ËÃ×ͺ͡àÇÅÒà» ¹ª ǧ·ÕèÁÕ¤ÒºàÇÅÒá¹ ¹Í¹ ÍÒ·Ô ã¹âçàÃÕ¹·Õãè ª Íʹᨠ§àÇÅÒ¡ÒÃàÃÕ¹¡ÒÃÊ͹ã¹áµ ÅФҺ â´Â¡íÒ˹´ãË ´§Ñ ·Ø¡æ 50 ¹Ò·Õ ËÃ×Íà» ¹¤ ÒÍ×è¹ ¼Ù 㪠§Ò¹ÊÒÁÒö¹íÒ S-Board ä»»ÃÐÂØ¡µ 㪠§Ò¹à¾×èÍÊà ҧà¤Ã×èͧÁ×ͧ ÒÂæ ¹Õé ¢Ö¹é ÁÒä´ â´Â㪠¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ò¡ Visual BASIC 2.2 ¢Ñ¹é ááãË ·Òí ¡ÒÃÊà ҧ Form ¢Ö¹é ÁҴѧã¹ÃÙ»·Õè P2-1 áÅÐà¢Õ¹â»Ãá¡ÃÁ´Ñ§¹Õé Private Sub Form_Load() If Not MSComm1.PortOpen Then MSComm1.PortOpen = True Else MsgBox (“Port Is Use By Another Program”) End If End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Property Text1.Text = Format(Text1.Text, “hh:mm:ss”) Font End If Font Size End Sub Property Private Sub Timer1_Timer() Label1.Caption = Format(Time, “Hh:Mm:Ss”) If Check1.Value And (Label1.Caption = Text1.Text) Then MSComm1.DTREnable = False End If If MSComm1.DTREnable Then Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If End Sub
Label1 Time New Roman 24 Bold
Timer1
Interval
100
Property
Timer2
Interval
10000
Property
Text1()
Text
16:30:00
Property
Shape1
BackColor BackStyle BorderColor Shape Height Width
&H000000FF& 1 - Opaque &H000000C0& 3 - Circle 255 255
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 56
Label1
Timer1 MSComm1 Check1
Text1
Shape1 ÃÙ»·Õè P2-1 áÊ´§Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ¨Ò¡¡Ò÷´Åͧ¢ Í 2.2 2.3 àÃÔÁè ´Ù¡Ò÷íÒ§Ò¹¨Ò¡â»Ãá¡ÃÁ Í Form_Load( ) ¨Ðà» ¹¡ÒÃà» ´¾Íà µÍ¹Ø¡ÃÁà¾×Íè 㪠§Ò¹ ઠ¹à´ÕÂǡѺâ»Ãá¡ÃÁ¡ ͹˹ Ò¹Õé â»Ãá¡ÃÁ Í Timer1_Timer() ·íÒ§Ò¹àÁ×Íè ¤ÒºàÇÅҤú¤ Ò·Õ¡è Òí ˹´(Interval) â´Â¢³Ð àÃÔÁè µ ¹ ¡íÒ˹´¤ Ò Interval äÇ à· Ò¡Ñº 100 «Ö§è ËÁÒ¶֧·Ø¡ æ 100 ÁÔÅÅÔÇ¹Ô Ò·Õ ¨Ð¡ÃзíÒâ»Ãá¡ÃÁ  Í¹Õé 1 ¤Ãѧé â»Ãá¡ÃÁ Í¹ըé ÐÊ §¤ ÒàÇÅÒ¨ÃÔ§ «Ö§è ÍÂÙÀ ÒÂã¹à¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà ä»áÊ´§·Õè Label1 ¨Ò¡¹Ñ¹é ·íÒ¡ÒÃà»ÃÕºà·Õº¤ ҡѺ¤ Ò·Õ¡è Òí ˹´äÇ ·Õè Text1 Ç ÒÁÕ¤Ò µÃ§¡Ñ¹ËÃ×ÍäÁ áÅÐ Check1 ¶Ù¡ ¡Òà¤Ã×Íè §ËÁÒÂàÍÒäÇ ËÃ×ÍäÁ ¶ ÒÁÕ¤Ò à» ¹¨ÃÔ§·Ñ§é ¤Ù ¡ç¨ÐÊѧè ãË ÃàÕ Å ·Òí §Ò¹ â´ÂÊѧè ãË ¢Ò DTR ÁÕÅͨԡ à» ¹ 1 ¨Ò¡¹Ñ¹é ·íÒ¡ÒõÃǨÊͺ¼Å·Õàè ¡Ô´¢Ö¹é ·Õ¢è Ò DTR à¾×Íè áÊ´§¼ÅÍÍ¡ä»Âѧ Shape1 ઠ¹à´ÕÂÇ ¡Ñºâ»Ãá¡ÃÁáá â»Ãá¡ÃÁ Í Text1_KeyDown() ¨Ð·íÒ§Ò¹àÁ×Íè ÁÕ¡Òá´¤Õ· Õè Text1 â´Ââ»Ãá¡ÃÁ¨Ð·íÒ ¡ÒõÃǨÊ꼂 ÒÁÕ¡Òá´¤Õ ENTER áÅ ÇËÃ×ÍÂѧ ¶ ÒÁÕ¡Òá´¤Õ ENTER â»Ãá¡ÃÁ¨Ð·íÒ¡ÒÃá»Å§ ¤ Ò·Õ»è Í ¹ã¹ Text1 ãË ÍÂÙã ¹ÃÙ»¢Í§àÇÅÒ â´Â㪠¤Òí Êѧè Format 2.4 àÁ×Íè ·´ÅͧàÃÕ¡㪠§Ò¹â»Ãá¡ÃÁ ¨ÐàËç¹¹ÒÌ ¡Ò·Õè Label1 à´Ô¹ä»àÃ×Íè Â æ ¼Ùã ª §Ò¹µ ͧ¡Òà ¡íÒ˹´àÇÅÒ¡çµÍ §» ͹¤ ÒàÇÅÒ·Õµè Í §¡ÒÃࢠҷÕè Text1 áÅÐàÅ×Í¡ CheckBox ´ Ç àÁ×Íè àÇÅÒà´Ô¹ ÁÒ¶Ö§·Õ¡è Òí ˹´ â»Ãá¡ÃÁ¡ç¨ÐÊѧè ãË ÃàÕ Å «§Öè µ ÍÍÂÙ¡ ºÑ ¢Ò DTR ·íÒ§Ò¹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 57
2.5 ¨Ò¡â»Ãá¡ÃÁ¹Õé ¶ Òµ ͧ¡ÒùíÒä»»ÃÐÂØ¡µ µÒÁµ ͧ¡Òèе ͧÁÕ¡ÒÃá¡ ä¢ËÅÒ»ÃСÒôѧ¹Õé 2.5.1 à¹×Íè §¨Ò¡¨Ø´Áا ËÁÒ¤×Í Ê §ÊÑҳ仢ѺãË ÍÍ´·íÒ§Ò¹ ´Ñ§¹Ñ¹é ÍÍ´¨Ð·íÒ§Ò¹ªÑÇè ¢³ÐË¹Ö§è ¨Ö§µ ͧÁÕâ»Ãá¡ÃÁ ÍÂÍա˹֧è â»Ãá¡ÃÁÊíÒËÃѺ» ´ÍÍ´ ¹Ñ¹è ¤×Í ¨Ðµ ͧ㪠Timer ÍÕ¡µÑÇ ÊíÒËÃѺ˹ ǧàÇÅÒãË ÍÍ´´Ñ§áÅ Ç·íÒ¡Òû ´ÍÍ´ â´Â à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Timer2 ´Ñ§¹Õé Private Sub Timer2_Timer() MSComm1.DTREnable = True If MSComm1.DTREnable Then Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If Timer2.Enabled = False End Sub
2.5.2 ·íÒ¡ÒÃá¡ ä¢â»Ãá¡ÃÁ Í Timer1_Timer â´Âà¾ÔÁè ºÃ÷Ѵ Timer2.Enable = True ŧ仴ѧ¹Õé Private Sub Timer1_Timer() Label1.Caption = Format(Time, “Hh:Mm:Ss”) If Check1.Value And (Label1.Caption = Text1.Text) Then MSComm1.DTREnable = False à¾ÔèÁºÃ÷Ѵ¹ÕéÅ§ä» Timer2.Enabled = True End If If MSComm1.DTREnable Then Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If End Sub
2.5.3 ¡ÒÃà¾ÔÁè Ê Ç¹µ Ò§ æ ࢠÒ仹շé Òí ãË ÃàÕ Å ÁªÕ Ç §àÇÅÒ·íÒ§Ò¹ÃÐÂÐàÇÅÒ˹֧è à· Ò¹Ñ¹é «Ö§è à· Ò ¡Ñº¼Å¨Ò¡¡ÒáíÒ˹´¤ Ò·Õè Interval ¢Í§ Timer2 ઠ¹ ¶ Òµ ͧ¡ÒÃ˹ ǧàÇÅÒ 5 ÇÔ¹Ò·Õ ¡ç¡Òí ˹´ ¤ Ò Interval ෠ҡѺ 5000 à» ¹µ ¹ 2.5.4 ¹Í¡¨Ò¡¹Õáé Å Ç ¡ÒõÃǨÊͺàÇÅÒà¾Õ§ª ǧà´ÕÂÇ¹Ñ¹é ¨ÐäÁ ÊÒÁÒö 㪠໠´» ´ÍÍ´¢Í§ âçàÃÕ¹·ÕÁè ¡Õ Òû ´à» ´ËÅÒ¤Ãѧé ã¹Ë¹Ö§è ÇÑ¹ä´ ´Ñ§¹Ñ¹é ã¹â»Ãá¡ÃÁ¨Ðµ ͧ·íÒ¡ÒÃà¾ÔÁè TextBox áÅÐ CheckBox à¾ÔÁè àµÔÁࢠÒä» ´Ñ§áÊ´§ã¹ÃÙ»·Õè P2-2 2.5.3 ¡ÒÃà¾ÔÁè TextBox áÅÐ CheckBox ¹Ñ¹é ¨Ð㪠¤³ Ø ÊÁºÑµÍÔ Òà ààࢠÒÁÒª Ç ´Ñ§¹Ñ¹é ¨Ð àËç¹Ç Ò TextBox ·Ø¡µÑÇà» ¹ Text1 ·Ñ§é ËÁ´áµ ¨ÐÁÕ¤Ò Index ·Õµè Ò §¡Ñ¹ã¹áµ ÅеÑǤ×ÍÁÕ¤Ò µÑ§é áµ 04 ´Ñ§¹Ñé¹ÊíÒËÃѺ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¡ç¨ÐÊÑé¹Å§à¾ÃÒÐÁÕ¡ÒÃÍ Ò§ÍÒààÊÒÁÒöáÊ´§ÃÒÂÅÐàÍÕ´ ¢Í§â»Ãá¡ÃÁä´ ãËÁ ´§Ñ ¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 58
Private Sub Form_Load() If Not MSComm1.PortOpen Then MSComm1.PortOpen = True Else MsgBox (“Port Is Use By Another Program”) End If End Sub Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Text1(Index).Text = Format(Text1(Index).Text, “hh:mm:ss”) End If End Sub Private Sub Timer1_Timer() Dim I As Integer Label1.Caption = Format(Time, “Hh:Mm:Ss”) For I = 0 To 4 If Check1(I).Value And (Label1.Caption = Text1(I).Text) Then MSComm1.DTREnable = False Timer2.Enabled = True End If Next I If MSComm1.DTREnable Then Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If End Sub Private Sub Timer2_Timer() MSComm1.DTREnable = True If MSComm1.DTREnable Then Shape1.BackColor = &H80 Else Shape1.BackColor = &HFF End If Timer2.Enabled = False End Sub
2.5.6 ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¨ÐàËÁ×͹¡Ñºâ»Ãá¡ÃÁááᵠ¨Ðà¾ÔèÁàµÔÁã¹Ê ǹ·Õèà» ¹ INDEX ෠ҹѹé Ê Ç¹·Õµè Í §ÁÕ¡ÒõÃǨÊͺ ¨ÐÁÕ¡ÒÃǹÅÙ» ¼ Ò¹¤íÒÊѧè For..Next «Ö§è ¼Ùã ª §Ò¹ÊÒÁÒö ¹íÒâ»Ãá¡ÃÁ·Õ·è Òí ¡ÒÃá¡ ä¢áŠǹÕé ä»ãª §Ò¹¡Ñº¡ÒäǺ¤ØÁä´ ¨ÃÔ§æ ¼ Ò¹·Ò§ EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 59
Timer2 Check1(0)
Text1(0)
Check1(1)
Text1(1)
Check1(2)
Text1(2)
Check1(3)
Text1(3)
Check1(4)
Text1(4)
ÃÙ»·Õè P2-2 áÊ´§Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ¨Ò¡¡Ò÷´Åͧ¢ Í 2.5
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 60
¡Ò÷´Åͧ·Õè 3 ¡ÒÃÍ Ò¹¤ ÒÅͨԡࢠÒÊÙ¾ Íà µ RS-232 à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³
1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 ÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. S-Board ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 3. EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ 16 ª ͧ 1 ºÍà ´ 4. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹
¡Ò÷´Åͧ 3.1 àª×Íè Áµ ÍÊÒÂ͹ءÃÁÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ S-BOARD 3.2 㪠ÊÒ IDC-10 àª×Íè Áµ ÍÃÐËÇ Ò§¤Í¹à¹ç¡àµÍà SERIAL INPUT ¢Í§ S-Board ¡Ñº DATA BUS ã¹Ê ǹ¢Í§´Ô»ÊÇÔµª º¹ºÍà ´ EX-03 ¨Ò¡¹Ñ¹é ¨ ÒÂä¿ãË ¡ºÑ S-Board 3.3 Êà ҧ Form1 ¢Ö¹é ¾Ã ÍÁ·Ñ§é à¾ÔÁè ¤Í¹â·ÃÅ MSComm ࢠÒä»ã¹ Form ·Õ¶è ¡Ù 㪠§Ò¹ ·íÒ¡ÒáíÒ˹´ µíÒá˹ §¢Í§¾Íà µÍ¹Ø¡ÃÁ·Õè㪠§Ò¹ãË ¶Ù¡µ ͧ 3.4 Êà ҧ¿Íà ÁÊ Ç¹·Õàè ËÅ×Í â´ÂÁÕ˹ ҵҴѧáÊ´§ã¹ÃÙ»·Õè P3-1 S301 D0 S302 D1 S303 D2 S304 D3 S305 D4 S306 D5 S307 D6
R301 10k*8
+5V S309 DIP SW.-8
K301 DATA BUS (UIC-10)
+5V R302 10k*8
K302 DATA BUS (UIC-10)
+5V D0 D2 D4 D6
D1 D3 D5 D7
+5V D0 D2 D4 D6
D1 D3 D5 D7
S308 D7
EX-03 ºÍà ´ÊÇÔµª 16 ª ͧ
´Ô»ÊÇÔµª 8 ª ͧ ¾Ã ÍÁµÑǵ Ò¹·Ò¹¾ÙÅÍÑ» l ÊÇÔµª ¡´µÔ´»Å Í´Ѻ 8 ª ͧ¾Ã ÍÁµÑǵ Ò¹·Ò¹ ¾ÙÅÍÑ» l ¤Í¹à¹ç¡àµÍà DATA BUS ÊíÒËÃѺàª×Í è Áµ ͡Ѻ PBoard áÅÐ S-Board l
(Í Ò¹ÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ãà¾ÔèÁàµÔÁ¨Ò¡Ë¹Ñ§Ê×ÍàÃÕ¹ÃÙ áÅÐ »¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹)
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 61
Timer1 Shape1
MSComm1
Shape2
ÃÙ»·Õè P3-1 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ¨Ò¡¡Òà ·´Åͧ¢ Í 3.5 à» ¹â»Ãá¡ÃÁáÊ´§¤ ÒÍÔ¹¾Øµ·ÕÍè Ò ¹ ä´ ¨Ò¡¾Íà µÍ¹Ø¡ÃÁ¼ Ò¹·Ò§¢Ò DCD, DSR áÅÐ RTS 3.5 à¢Õ¹â»Ãá¡ÃÁÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¢ÒÍÔ¹¾Øµ¢Í§¾Íà µÍ¹Ø¡ÃÁ´Ñ§¹Õé Shape3
Private Sub Form_Load() If Not MSComm1.PortOpen Then MSComm1.PortOpen = True Else MsgBox (“Port Is Use By Another Program”) End If End Sub Private Sub Timer1_Timer() If MSComm1.CTSHolding Then Shape1.BackColor = &HFF Else Shape1.BackColor = &H80 End If If MSComm1.CDHolding Then Shape2.BackColor = &HFF Else Shape2.BackColor = &H80 End If If MSComm1.DSRHolding Then Shape3.BackColor = &HFF Else Shape3.BackColor = &H80 End If End Sub
¨Ò¡â»Ãá¡ÃÁà» ¹¡ÒùíÒ Timer ÁÒª ÇÂ㹡ÒõÃǨÊͺ¼Å¨Ò¡¢ÒÍÔ¹¾Øµ ´ Ç¡ÒÃ㪠Timer ª ÇÂãË ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅÊÒÁÒö·íÒä´ Í ҧµ Íà¹×Íè §áÅÐäÁ ú¡Ç¹¡Ò÷íҧҹẺÁÑŵԷÒÊ¡ ¢Í§ ÇÔ¹â´ÇÊ ·íÒãË ¼ãÙ ª §Ò¹ÊÒÁÒöÍÍ¡¨Ò¡â»Ãá¡ÃÁËÃ×Í¡ÃзíÒà˵ءÒó ͹×è æä´ ·¡Ø àÁ×Íè ·Õµè Í §¡Òà â»Ãá¡ÃÁ¨ÐµÃǨÊͺ¢Ò CTS ,DCD áÅÐ DSR Ç ÒÁÕÅͨԡ໠¹ 1 ËÃ×ÍäÁ ¶ Ò¢Ò·Õµè ÃǨ ÊͺÁÕÅͨԡ໠¹ 1 ¡ç¨Ðä»à»ÅÕÂè ¹á»Å§¤ Ò¡ÒÃáÊ´§¢Í§ LED ·ÕÊè à ҧ¢Ö¹é ¨Ò¡ Shape1-Shape3 3.6 ·´Åͧà»ÅÕÂè ¹á»Å§¤ ҢͧÊÇÔµª º¹ºÍà ´ EX-03 áÅ ÇÊѧࡵ¡Òà à»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ¢Í§ LED ã¹â»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ´ Ç Visual BASIC àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 62
º··Õè 5
¡ÒÃ㪠§Ò¹ UART à¾×Íè à»ÅÕÂè ¹ ¢ Í ÁÙ Å Í¹Ø ¡ ÃÁà» ¹ ¢¹Ò¹áÅÐ à»ÅÕÂè ¹¢ ÍÁÙÅ¢¹Ò¹à» ¹Í¹Ø¡ÃÁ ¶Ö§áÁ ÇÒ ¡ÒÃÊ×Íè ÊÒâ ÍÁÙŢͧ¾Íà µÍ¹Ø¡ÃÁ¨ÐÁÕ¤ÇÒÁÊдǡà¾Õ§㴠ᵠ¡ÒùíÒ¢ ÍÁÙÅä»ãª §Ò¹¨ÃÔ§¹Ñ¹é ¨íÒà» ¹µ ͧ㪠¢Í ÁÙÅà» ¹áºº¢¹Ò¹ÍÂÙ´ Õ ´Ñ§¹Ñ¹é ¡ÒÃàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ¡ÑºÍØ»¡Ã³ ÀÒ ¹Í¡¨Ö§¨íÒà» ¹¨Ðµ ͧÁÕÍ»Ø ¡Ã³ ··Õè Òí ˹ Ò·Õáè »Å§ÊÑҳ͹ءÃÁ¨Ò¡¾Íà µ RS-232 ãË à» ¹áºº¢¹Ò¹ áÅÐã¹·Ò§¡ÅѺ¡Ñ¹¡çá»Å§ÊÑҳẺ¢¹Ò¹¨Ò¡ÍØ»¡Ã³ ÀÒ¹͡ãË à» ¹áººÍ¹Ø¡ÃÁ¡ Í¹Ê §à¢ ÒÊÙ ¤ÍÁ¾ÔÇàµÍà ¼Ò ¹¾Íà µ RS-232 «Ö§è ÍØ»¡Ã³ ··Õè Òí ˹ Ò·Õ¹è ¨Õé ÐàÃÕÂ¡Ç Ò UART «Ö§è ã¹Ê ǹ¢Í§·ÄÉ®Õ µÍ¹µ ¹ä´ ¡Å ÒǶ֧ UART àºÍà 8250 仺 Ò§áÅ Ç áµ äÍ«Õ àºÍà 8250 äÁ àËÁÒСѺ¡ÒÃ㪠§Ò¹à¾×Íè àª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡«Ö§è äÁ 㪠äÁâ¤Ã â»Ãà«Êà«Íà ËÃ×ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà à¹×Íè §¨Ò¡ äÍ«Õ 8250 ¨Ðµ ͧÁÕ¡ÒáíÒ˹´¤ ÒàÃÔÁè µ ¹ãË ¡ºÑ µÑÇÁѹ¡ ͹ «Ö§è ¶ ÒäÁ 㪠äÁâ¤Ãâ»Ãà«Êà«Íà ¤Çº¤ØÁ¡çäÁ ÊÒÁÒö¨Ð¡íÒ˹´¤ ÒÃٻẺ㹡ÒÃÊ §¢ ÍÁÙÅ ä´ ÊíÒËÃѺäÍ«Õ UART ·Õ¹è Òí ÁÒá¹Ð¹íÒà¾×Íè ·´Åͧ㪠§Ò¹¤×Í UTX8100 Íѹ໠¹äÍ«Õ·äÕè ´ ÃºÑ ¡Òà ¾Ñ²¹Ò¢Ö¹é â´ÂÇÔÈǡâͧºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ à¾×Íè ãË ·Òí §Ò¹à» ¹äÍ«Õ UART ·´á·¹äÍ«Õ UART àºÍà CDP6402 «Ö§è ËÒÂÒ¡áÅÐÃÒ¤Òᾧ
äÍ«Õ UART àºÍà UTX8100 Ãٻà ҧáÅеíÒá˹ §¢Ò¢Í§äÍ«Õ UTX8100 áÊ´§´Ñ§ã¹ÃÙ»·Õè 5-1 ÁÕÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§ ¢Òµ Ò§æ ´Ñ§¹Õé ¢Ò 1 : DL (Data length select) à» ¹¢ÒÍÔ¹¾Øµ¡íÒ˹´¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅ ¶ Òà» ¹Åͨԡ 0 àÅ×Í¡¤ÇÒÁÂÒÇ¢ ÍÁÙÅà» ¹ 8 ºÔµ ¶ Òà» ¹Åͨԡ 1 àÅ×Í¡¤ÇÒÁÂÒÇ¢ ÍÁÙÅà» ¹ 7 ºÔµ ¢Ò 2 : SB (Stop bit select) à» ¹¢ÒÍÔ¹¾ØµàÅ×Í¡¨íҹǹºÔµ» ´· Ò ¶ Òà» ¹Åͨԡ 0 àÅ×Í¡¨íҹǹºÔµ» ´· ÒÂ෠ҡѺ 1 ºÔµ ¶ Òà» ¹Åͨԡ 1 àÅ×Í¡¨íҹǹºÔµ» ´· ÒÂ෠ҡѺ 2 ºÔµ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 63
DL 1
40 V,,
SB 2
39 D7
O/E 3
38 D6
PI 4 BAUD3 5
76:&
¡ÒÃàÅ×Í¡ÍѵÃҺʹ
(ºÔµµ ÍÇÔ¹Ò·Õ)
*,!
*,
*,
ÍѵÃҺʹ
37 D5
#%$
36 D4
&&
'
BAUD2 6
35 D3
BAUD1 7
34 D2
NC 8
33 D1
""
RESET 9
32 D0
'$
RxD1 10
31 EA
TxD 11
30 NC
"&
RxD2 12
29 NC
"
REQ 13
28 NC
NC 14
27 RD
READY 15
26 OUT
FE 16
25
PE 17
24 SCK
X1 18
23
SLE
X2 19
22
SDT
GND 20
21
SRST
DLE
µÒÃÒ§·Õè 5-1 ¡ÒÃàÅ×Í¡ÍѵÃҺʹ¢Í§äÍ«Õ UTX8100 ´ Ç¡ÒáíÒ˹´Åͨԡ·Õ¢è Ò BAUD3BAUD1
ÃÙ»·Õè 5-1 ¡ÒèѴ¢Ò¢Í§ CDP6402 ¢Ò 3 : O/E (Odd/Even parity select) à» ¹¢ÒÍÔ¹¾ØµàÅ×Í¡ª¹Ô´¢Í§¡ÒõÃǨÊͺ¾ÒÃÔµÕé ¶ Òà» ¹Åͨԡ 0 àÅ×Í¡µÃǨÊͺ¾ÒÃÔµ¤Õé Õè (odd parity) ¶ Òà» ¹Åͨԡ 1 àÅ×Í¡µÃǨÊͺ¾ÒÃÔµ¤Õé Ù (even parity) ¢Ò 4 : PI (Parity Inhibit) à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺàÍç¹àÍàºÔÅ¡ÒõÃǨÊͺ¾ÒÃÔµÕé ·íÒ§Ò¹·Õè Åͨԡ 1 ¢Ò 5-7 : BAUD3-BAUD1 (Baudrate select) à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺàÅ×Í¡ÍѵÃҺʹËÃ×Í ÍѵÃÒàÃçÇ㹡Òö Ò·ʹ¢ ÍÁÙÅ â´Â¢ÒÍÔ¹¾Øµ·Ñ§é ÊÒÁµ ͧ·íҧҹà ÇÁ¡Ñ¹ ´Ñ§áÊ´§ã¹µÒÃÒ§·Õè 5-1 ¢Ò 8 : NC äÁ Á¡Õ ÒÃ㪠§Ò¹·Õ¢è Ò¹Õé ¢Ò 9 : RESET µ ͡ѺµÑÇà¡çº»ÃÐ¨Ø¤Ò 2.2µF à¾×Íè ÃÕ૵¡Ò÷íÒ§Ò¹ÀÒÂã¹àÁ×Íè àÃÔÁè µ ¹¨ Ò ä¿ãË á¡ äÍ«Õ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 64
¢Ò 10 : RxD1 (Receive data line 1) à» ¹¢ÒÍÔ¹¾ØµÃѺ¢ ÍÁÙÅ͹ءÃÁã¹ÃдѺ·Õ·áÕ ÍÅ â´Âµ ͼ ҹǧ¨Ãá»Å§ÃдѺÊÑҳࢠҷբè Ò TxD ¢Í§¾Íà µÍ¹Ø¡ÃÁà¾×Íè ÃѺ¢ ÍÁÙÅ ¢Ò 11 : TxD (Transmit data line) à» ¹¢ÒàÍÒµ ¾µØ Ê §¢ ÍÁÙÅ͹ءÃÁä»Âѧ¾Íà µÍ¹Ø¡ÃÁ â´Âµ ͼ ҹǧ¨Ãá»Å§ÃдѺÊÑҳࢠҷբè Ò RxD ¢Í§¾Íà µÍ¹Ø¡ÃÁà¾×Íè Ê §¢ ÍÁÙÅ ¢Ò 12 : RxD2 (Receive data line 2) à» ¹¢ÒÍÔ¹¾ØµÃѺ¢ ÍÁÙÅ͹ءÃÁã¹ÃдѺ·Õ·áÕ ÍŪ ͧ ·Õè 2 㹡ÒÃ㪠§Ò¹»¡µÔ¨Ðµ ÍࢠҡѺ¢Ò RxD1 ¢Ò 13 : REQ (Request) à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺÃѺÊÑҳà ͧ¢ÍãË Ê§ ¢ ÍÁÙŨҡ¢Ò¢ ÍÁÙÅ D0-D7 ÍÍ¡ä»·Ò§¢Ò TxD Ẻ͹ءÃÁ ·íÒ§Ò¹·ÕÅè ͨԡ 0 ¢Ò 14 : NC äÁ Á¡Õ ÒÃ㪠§Ò¹·Õ¢è Ò¹Õé ¢Ò 15 : READY (Chip ready) à» ¹¢ÒàÍÒµ ¾Øµá¨ §¤ÇÒÁ¾Ã ÍÁ㹡Ò÷íÒ§Ò¹¢Í§äÍ«Õ UTX8100 ËÒ¡äÍ«ÕÍÂÙã ¹ÃÐËÇ Ò§¡ÒÃÊ §¢ ÍÁÙŨзíÒãË ¢Ò¹ÕÁé ÅÕ Í¨Ô¡ 0 áÅÐàÁ×Íè äͫվà ÍÁÊíÒËÃѺ ¡ÒÃÊ §¢ ÍÁÙÅ¢Ò¹Õ¨é Ðà» ¹Åͨԡ 1 ¢Ò 16 : FE (Frame Error) à» ¹¢ÒàÍÒµ ¾µØ ᨠ§¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§à¿ÃÁ¢ ÍÁÙÅ ·íÒ§Ò¹·Õè Åͨԡ 0 ¢Ò 17 : PE (Parity Error) à» ¹¢ÒàÍÒµ ¾µØ ᨠ§¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¡ÒõÃǨÊͺ¾ÒÃÔµÕé ·íÒ§Ò¹·ÕÅè ͨԡ 0 ¢Ò 18-19 : XTAL (Clock source) à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺµ ͡Ѻ¤ÃÔʵÍÅà¾×Íè Êà ҧÊÑÒ³ ¹ÒÌÚ¡Ò¡íÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹ ¤ Ңͧ¤ÃÔʵÍÅ·Õãè ª ¤Í× 11.0592MHz ¢Ò 20 : GND (Ground) ¢Òµ Íŧ¡ÃÒÇ´ ¢Ò 21 : SRST (Shfit Reset) à» ¹¢ÒàÍÒµ ¾µØ Ê §ÊÑÒ³ÃÕ૵ÊíÒËÃѺ¡ÒÃàÅ×Íè ¹¢ ÍÁÙÅẺ «Ô§â¤Ã¹ÑÊ ¢Ò 22 : SDT (Shift Data) à» ¹¢ÒàÍÒµ ¾µØ ÊíÒËÃÑºÊ §¢ ÍÁÙÅ͹ءÃÁÍ͡Ẻ«Ô§â¤Ã¹ÑÊ ¢Ò 23 : SLE (Shift Latch Enable) à» ¹¢ÒàÍÒµ ¾µØ Ê §ÊÑÒ³áŵª ¢Í§¡ÒÃàÅ×Íè ¹¢ ÍÁÙŠ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ â´Â¨ÐÁÕÊ Ñ Ò³Åͨԡ 1 ÍÍ¡ã¹·Ø¡æ ¡ÒÃàÅ×Íè ¹¢ ÍÁÙŤú 8 ºÔµËÃ×Í 1 亵 ¢Ò 24 : SCK (Shift Clock) à» ¹¢ÒàÍÒµ ¾µØ Ê §ÊÑÒ³¹ÒÌ ¡ÒÊíÒËÃѺ¡íÒ˹´¨Ñ§ËÇСÒà àÅ×è͹¢ ÍÁÙÅẺ«Ô§â¤Ã¹ÑÊ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 65
¢Ò 25 : WR (Write data output) à» ¹¢ÒàÍÒµ ¾µØ Ê §ÊÑÒ³Åͨԡ 1 àÁ×Íè µ ͧ¡Òà áŵª ¢Í ÁÙÅàÍÒµ ¾µØ ·Õ¢è Ò D0-D7 (㪠§Ò¹Ã ÇÁ¡ÑºäÍ«Õáŵª ઠ¹àºÍà 74HC573) ¢Ò 26 : OUT (Data output enable) à» ¹¢ÒàÍÒµ ¾µØ ÊíÒËÃÑºÊ §ÊÑÒ³Åͨԡ 0 à¾×Íè ¹íÒ¢ ÍÁÙÅÍÍ¡ä»ãª §Ò¹ (㪠§Ò¹Ã ÇÁ¡ÑºäÍ«Õáŵª ઠ¹àºÍà 74HC573) ¢Ò 27 : RD (Read data input) à» ¹¢ÒàÍÒµ ¾µØ Ê §ÊÑÒ³Åͨԡ 0 à¾×Íè àÍç¹àÍàºÔÅ¡Òà ÃѺ¢ ÍÁÙÅ¢¹Ò¹·Õè¢Ò D0-D7 ࢠÒÊÙ µÑÇäÍ«Õ UTX8100 (㪠§Ò¹Ã ÇÁ¡Ñºäͫպѿà¿Íà ઠ¹àºÍà 74HC541) ¢Ò 28-30 : NC äÁ Á¡Õ ÒÃ㪠§Ò¹·Õ¢è Ò¹Õé ¢Ò 31 : EA (Enable chip) à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ËÅÑ¡¢Í§ UTX8100 µ ͧµ ÍࢠҡѺÅͨԡ 1 â´Â¡ÒÃ㪠µÇÑ µ Ò¹·Ò¹¾ÙÅÍÑ»ËÃ×͵ ͡Ѻä¿àÅÕÂé § +5V â´ÂµÃ§¡çä´ ¢Ò 32-39 : D0-D7 (Data bus) à» ¹¢ÒÍÔ¹¾ØµàÍÒµ ¾µØ ¢Í§¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµ à» ¹ÍÔ¹¾Øµ àÁ×Íè µ ͧ¡ÒÃÍ Ò¹¢ ÍÁÙÅࢠÒẺ¢¹Ò¹ áÅÐà» ¹¢ÒàÍÒµ ¾µØ àÁ×Íè µ ͧ¡ÒÃÊ §¢ ÍÁÙÅÍ͡Ẻ¢¹Ò¹ à·Õº ä´ ¡ºÑ ¢Ò UART IN áÅÐ UART OUT ÃÇÁ¡Ñ¹¢Í§äÍ«Õ CDP6402 ¢Ò 40 : VDD (Supply voltage) à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺÃѺä¿àÅÕÂé § +5V
¡ÒÃÃÑºÊ §¢ ÍÁÙŢͧ UTX8100 UTX8100 µ ͧ·íҧҹà ÇÁ¡Ñº¡ÑºäÍ«Õáŵª áÅÐäÍ«Õº¿Ñ à¿Íà à¾×Íè Ê §áÅÐÃѺ¢ ÍÁÙÅ¢¹Ò¹¢¹Ò´ 8 ºÔµ ¢ÍãË ´ÇÙ §¨Ã¢Í§ S-Board V2.0 (ÃÙ»·Õè 3-1) »ÃСͺ àÃÔÁè ¨Ò¡àÁ×Íè µ ͧ¡ÒÃÊ §¢ ÍÁÙŨҡ¢Ò D0-D7 ÍÍ¡ä»Âѧ¾Íà µÍ¹Ø¡ÃÁ ¢ ÍÁÙÅ 8 ºÔµ¨Ðµ ͧµ ͼ Ò¹äÍ«Õº¿Ñ à¿Íà «Ö§è ä´ ÃºÑ ¡ÒäǺ¤ØÁ¨Ò¡ ¢Ò RD ¢Í§ UTX8100 ¹Ñ蹤×ÍàÁ×è͵ ͧ¡ÒÃÍ Ò¹¢ ÍÁÙÅ¢¹Ò¹ UTX8100 ¨ÐÃÍÊÑÒ³ REQ ¨Ò¡¤ÍÁ¾ÔÇàµÍà àÁ×Íè ä´ ÃºÑ ÊÑÒ³ REQ áÅ Ç UTX8100 ¨ÐÊ §ÊÑÒ³ RD ÍÍ¡ä»Âѧ¢ÒàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹¢Í§äÍ«Õ 74HC541 ¢ ÍÁÙŷѧé 8 ºÔµ¨Ò¡¨Ø´ UART IN ¨Ð¶Ù¡Ê §à¢ ÒÁÒÂѧµÑÇäÍ«Õ UTX8100 áÅ Ç·ÂÍÂÊ §ÍÍ¡ä»·Ò§¢Ò TxD à¾×èÍÊ §µ Íä»Âѧ¾Íà µÍ¹Ø¡ÃÁµ Íä» ã¹ÃÐËÇ Ò§·Õè UTX8100 Ê §¢ ÍÁÙÅÍÍ¡¹Ñ¹é µÑÇ UTX8100 ¨Ð·íÒãË ¢Ò READY à» ¹Åͨԡ 0 à¾×Íè ᨠ§ãË ·ÃÒºÇ Ò ¢³Ð¹Õé äÁ ÇÒ §-äÁ ¾Ã ÍÁ·Õ¨è зíÒ§Ò¹Í×¹è ¨¹¡Ãзѧè àÁ×Íè Ê §¢ ÍÁÙÅàÃÕºà Í ¢Ò READY ¡ç¨Ð¡ÅѺÁÒ à» ¹Åͨԡ 0 à¾×Íè ᨠ§Ç Ò ¾Ã ÍÁ·íÒ§Ò¹ã¹ÅíҴѺµ Íä»áÅ Ç ã¹¡Ã³Õ¢Í§¡ÒÃÃѺ¢ ÍÁÙÅࢠÒÁÒ ¤ÍÁ¾ÔÇàµÍà µÍ §µÃǨÊͺ¡ Í¹Ç Ò ¢³Ð¹Õé UTX8100 ¾Ã ÍÁ ÃѺ¢ ÍÁÙÅËÃ×ÍäÁ â´Â¡ÒõÃǨÊͺʶҹÐÅͨԡ·Õ¢è Ò READY ËÒ¡à» ¹ 1 áÊ´§Ç Ò äÁ ÇÒ § µ ͧ Ãͨ¹¡ÃÐ·Ñ§è ¢Ò READY à» ¹ 0 ¤ÍÁ¾ÔÇàµÍà ¨§Ö ¨ÐÊÒÁÒÃ¶Ê §¢ ÍÁÙÅÁÒä´ UTX8100 ÊÒÁÒö ¹íÒ¢ ÍÁÙÅÍÍ¡ä´ 2 ·Ò§¤×Í ·Ò§¢Ò D0-D7 áÅзҧ¢Ò SDT â´Â¢ ÍÁÙÅ·ÕÍè Í¡ä»·Ò§¢Ò D0-D7 ¨Ð¼ Ò¹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 66
+5V
40 11
4N, 6N,
10 12 13
,64 JP2 Parity Bit, Stop bit SELECTION
31
TxD
RST
O/E
3
SB
2
DL
1
5
BD2
6
BD1
7
JP1 BAUD RATE SELECTION
+5V
+5V
REQ
D0 D1
PI
D2
O/E SB
D3 D4
DL
D5 D6
BD3
9
RxD2
+5V
4
C15 0.1/50V
RxD1
IC5 S-BOARD UART TRANSCEIVER
PI
C14 2u2/50V
D7
RPACK3 10k*8
32
RPACK2 10k*8
D2
D3
D2
D4
D5
16 Q3 15 Q4 14 Q5 13 Q6 12 Q7
D3 D4
D6
D7
10
D5 D6 D7
K6 UART OUT
IC6 74HC573 +5V +5V
20 18 16
R10 510 LED4 WR 15
OUT RD
READY
,54
SHIFT RST
2
D0
D0
D1
3
D1
D2
D3
4
D2
D4
D5
5 D3 6 D4 7 D5 8 D6 9 D7
D3 D4
D6
D7
Q0
D0
Q1
D1
Q2
Q3 14 Q4 13 Q5 12 Q6 11 Q7
+5V
R8 10k
D1
17
Q2
+5V
17
BC547
18
Q1
11 1
BAUD2 BAUD1
15
JP3 READY BIT
D1
Q0
5 D3 6 D4 7 D5 8 D6 9 D7
+5V
Ready
D0
D2
35 36
BAUD3
D0
D1
4
39
19
D0
3
34
38
+5V
20 2
33
37
C16 0.1/50V
D2
25 19 1
26
10
27 RPACK5 10k*8
D5 K7 UART IN
D6 D7 RPACK4 220k*8
IC7 74HC541
21
+5V BC557
Frame Error
R9 10k
16
+5V FRAME ERROR
SHIFT CLK
SHIFT DATA
LED2
24
CLK
LE
22
D0
RST
R10 510
K8 SHIFTOUT
+5V BC557
Parity Error
R11 10k
17
PARITY ERROR
LED3
X1 X2
R12 510 20
18 19
C17 33pF/50V
XTAL1 11.0592MHz C18 33pF/50V
465
ÃÙ»·Õè 7-4 ǧ¨Ãã¹Ê ǹ UART ¢Í§ S-Board V2.0 ·Õãè ª UTX8100 äÍ«Õº¿Ñ à¿Íà àºÍà 74HC573 áÅТ ÍÁÙÅ¨Ð¶Ù¡Ê §ÍÍ¡ä»Âѧ UART OUT ¡çµÍ àÁ×Íè UTX8100 Ê §ÊÑÒ³Åͨԡ 0 ÍÍ¡ä»·Õ¢è Ò OUT áÅж ÒËÒ¡µ ͧ¡ÒÃÃÑ¡ÉÒ¤ ҹѹé äÇ µ Í§Ê §ÊÑÒ³ WR ä»Âѧ¢ÒÍÔ¹¾ØµÊíÒËÃѺáŵª ¢Í ÁÙŢͧ 74HC573 (Åͨԡ 0 ) àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 67
·Ò§´ Ò¹¢Ò SDT ¢ ÍÁÙŨÐÍÍ¡ÁÒã¹ÅѡɳÐ͹ءÃÁµÒÁ¨Ñ§ËÇТͧÊÑÒ³¹ÒÌ ¡Ò·Õ¢è Ò SCK áÅÐàÁ×Íè ÊÑÒ³¶Ù¡àÅ×Íè ¹ÍÍ¡ÁҤú 8 ºÔµ UTX8100 ¨ÐÊ §ÊÑÒ³ SLE ÍÍ¡ÁÒ (äÁ 㪠㹠SBoard V2.0) ¡ÒùíÒ¢ ÍÁÙŨҡ UTX8100 ÍÍ¡ÁÒ㪠§Ò¹ÊÒÁÒö¡Ãзíҷѧé Êͧ·Ò§ä´ ¾Ã ÍÁ¡Ñ¹ â´ÂäÁ µ ͧàÅ×Í¡ ·íÒãË ¹Òí ¢ ÍÁÙÅä»ãª ä´ Í ҧ¡Ç Ò§¢ÇÒ§ÁÒ¡¢Ö¹é ÊíÒËÃѺ¡ÒáíÒ˹´¤ Һʹàõ·Ñ駷ҧÀÒ¤ÃѺáÅÐÀÒ¤Ê §µ ͧ¡íÒ˹´ãË ÁÕ¤ Ò෠ҡѹ ·ÕèäÍ«Õ UTX8100 ¡íÒ˹´·Õ¢è Ò BAUD1-BAUD3 Ê Ç¹¡ÒáíÒ˹´µÑÇá»Ã㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÍ×¹è æ ÊÒÁÒö¡íÒ˹´ä´ Í ҧ¤Ãº¶ ǹ äÁ ÇÒ ¨Ðà» ¹¡ÒõÃǨÊͺ¾ÒÃÔµÕé àÅ×Í¡¨íҹǹ¢Í§ºÔµ» ´· Ò áÅÐ ¡ÒáíÒ˹´¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅ㹡ÒÃÃÑºÊ §ä´ ÃÐËÇ Ò§ 7 ËÃ×Í 8 ºÔµ ËÒ¡ÃٻẺ¢Í§¡ÒÃÊ×èÍÊÒâ ÍÁÙŢͧ·Ñé§ÀÒ¤ÃѺáÅÐÀÒ¤Ê §äÁ ¶Ù¡µ ͧµÃ§¡Ñ¹ Ê §¼ÅãË à¡Ô´ ¤ÇÒÁ¼Ô´¾ÅҴ㹡ÒÃÃÑºÊ §¢ ÍÁÙÅ ¤ÇÒÁ¼Ô´¾ÅÒ´àËÅ Ò¹Õé UTX8100 ¡çÊÒÁÒöµÃǨÊͺáÅÐᨠ§ ¼Åä´ ´Ç Ââ´Âᨠ§¼ Ò¹·Ò§¢Ò PE áÅÐ FE
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 68
¡Ò÷´Åͧ·Õè 4 ¡ÒÃÃѺ¢ ÍÁÙŢͧ UTX8100 à¾×Íè Ê §ÍÍ¡·Ò§ UART OUT à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³
1. S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ 1 á¼ ¹ 2. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-10 3 àÊ ¹
¡Ò÷´Åͧ ¡ÒõԴµ ͡Ѻ UTX8100 ¨Ðµ ͧ¡íÒ˹´ÃٻẺ¡ÒÃÃÑºÊ §¢ ÍÁÙÅãË àËÁ×͹¡Ñ¹·Ñ§é µÑÇÃѺáÅеÑÇ Ê § â´Â·Õ¡è Ò÷´Åͧ¹Õ¨é Ð㪠ºÍ´àõ 57,600 ºÔµµ ÍÇÔ¹Ò·Õ äÁ Á¾Õ ÒÃÔµºÕé µÔ ¤ÇÒÁÂÒÇ¢ ÍÁÙÅ㹡ÒÃÃѺ Ê §à» ¹ 8 áÅкԵËÂØ´à» ¹ 1 4.1 㪠ÊÒ IDC-10 àª×Íè Áµ ͤ͹à¹ç¡àµÍà UART OUT º¹ S-Board V2.0 ࢠҡѺ DATA BUS1 ¢Í§ºÍà ´ EX-01 4.2 ¡íÒ˹´¨ÑÁê à»Íà ¢Í§ S-Board ãË ÁºÕ Í´àõ໠¹ 57600 â´ÂãË BD1, BD2, BD3 à» ¹ 0 4.3 ¡íÒ˹´¨ÑÁê à»Íà PI, SB à» ¹ 0 à¾×Íè àÅ×Í¡äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé ºÔµËÂØ´à» ¹ 1 4.4 ¡íÒ˹´¨ÑÁê à»Íà DL à» ¹ 0 à¾×Íè àÅ×Í¡¤ÇÒÁÂÒÇ¢ ÍÁÙÅà» ¹ 8 ºÔµ 4.5 Êà ҧ¿Íà ÁáÅÐᡠ䢪×Íè ¤Í¹â·ÃŴѧÃÙ»·Õè P4-1 4.6 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó Form_Load à¾×Íè ¡íÒ˹´ÃٻẺ¡ÒÃÃÑºÊ §¢ ÍÁÙŴѧ¹Õé Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = “57600,n,8,1” MSComm1.PortOpen = True End Sub
ÃÙ»·Õè P4-1 ˹ ҵҢͧâ»Ãá¡ÃÁ·´Åͧ¡ÒÃÃѺ¢ ÍÁÙŨҡ¾Íà µÍ¹Ø¡ÃÁ¢Í§ UTX8100 à¾×Íè Ê §ÍÍ¡·Ò§ UART OUT àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 69
4.7 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdOut_Click ´Ñ§¹Õé Private Sub cmdOut_Click() MSComm1.Output = Chr(Val(“&H” & txtOut.Text) Mod 256) End Sub
¤ Ò¨Ò¡ txtOut à» ¹àÅ¢°Ò¹ÊԺˡ áµ à¹×Íè §¨Ò¡¤ Ò·ÕÊè § ÍÍ¡·Ò§ MSComm.Output ¨Ðµ ͧ à» ¹µÑÇÍÑ¡Éè֧µ ͧ¡íÒ˹´¤ ÒãË ÍÂÙã ¹ª ǧ 0-255 ¨Ò¡¹Ñ¹é ¨Ö§ãª ¿§ ¡ ª¹Ñè Chr() 㹡ÒÃá»Å§ãË à» ¹ µÑÇÍÑ¡Éà µÑÇÍ ҧâ»Ãá¡ÃÁ´Ù·äÕè ¿Å lab04.vbp
¡Ò÷´Åͧ·Õè 5 ¡ÒÃÃѺ¢ ÍÁÙŨҡ UART IN ¢Í§ S-Board à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ 1 á¼ ¹ 2. Ex-03 ºÍà ´ÊÇÔµ« Í¹Ô ¾Øµ 16 ª ͧ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-10 3 àÊ ¹
¡Ò÷´Åͧ 5.1 㪠ÊÒ IDC-10 àª×Íè Áµ ͨҡ¤Í¹à¹ç¡àµÍà UART IN º¹ S-Board V2.0 ࢠҡѺ DATA BUS ¢Í§ Pulse Switch º¹ºÍà ´ EX-03 5.2 ¡íÒ˹´¨ÑÁê à»Íà ¢Í§ UTX8100 ãË ÁºÕ Í´àõ໠¹ 57600 â´ÂãË BD1, BD2, BD3 à» ¹ 0 5.3 ¡íÒ˹´¨ÑÁê à»Íà PI, SB à» ¹ 0 à¾×Íè àÅ×Í¡äÁ Á¡Õ ÒõÃǨÊͺ¾ÒÃÔµÕé ºÔµ» ´· ÒÂà» ¹ 1 ºÔµ 5.4 ¡íÒ˹´¨ÑÁê à»Íà DL à» ¹ 0 à¾×Íè àÅ×Í¡¤ÇÒÁÂÒÇ¢ ÍÁÙÅà» ¹ 8 ºÔµ 5.5 Êà ҧ¿Íà ÁáÅÐᡠ䢪×Íè ¤Í¹â·ÃŴѧÃÙ»·Õè P5-1 5.6 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó Form_Load à¾×Íè ¡íÒ˹´ÃٻẺ¡ÒÃÃÑºÊ §¢ ÍÁÙŴѧ¹Õé Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = “57600,n,8,1” MSComm1.PortOpen = True MSComm1.DTREnable = False End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 70
ÃÙ»·Õè P5-1 ˹ ҵҢͧâ»Ãá¡ÃÁ ·´Åͧ¡ÒÃÊ §¢ ÍÁÙÅä»Âѧ¾Íà µÍ¹Ø ¡ÃÁ¢Í§ UTX8100 â´ÂÃѺ¢ ÍÁÙÅÁÒ ¨Ò¡ UART IN 5.7 à¢Õ¹â»Ãá¡ÃÁ ÍÂÊíÒËÃѺ˹ ǧàÇÅÒ Private Sub Delay() Dim a As Single a = Timer + 0.01 Do While a > Timer DoEvents Loop End Sub
5.8 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdIn_Click ´Ñ§¹Õé Private Sub cmdIn_Click() Dim tmp As String MSComm1.DTREnable = True Delay MSComm1.DTREnable = False Delay If MSComm1.InBufferCount > 0 Then tmp = MSComm1.Input txtIn.Text = Hex(Asc(tmp)) End If End Sub
¡ÒÃÃѺ¢ ÍÁÙŨҡ UART º¹ S-Board ¨Ðµ Í§Ê §ÊÑҳ价բè Ò REQ ¢Í§äÍ«Õ UTX8100 «Ö§è µ ͡Ѻ¢Ò DTR ¢Í§¾Íà µÍ¹Ø¡ÃÁ à¹×Íè §¨Ò¡¡Ò÷íÒ§Ò¹¢Í§¤ÍÁ¾ÔÇàµÍÃ Ã¹Ø ãËÁ ã¹» ¨¨Øº¹Ñ ÁÕ¤ÇÒÁ àÃçÇÊÙ§ µÑǪԾÍÒ¨¨ÐäÁ ÊÒÁÒöµÃǨ¨ÑºÊÑÒ³ä´ ¨Ö§ãª â»Ãá¡ÃÁ ÍÂà¾×Íè ˹ ǧàÇÅÒ ¨Ò¡¹Ñ¹é ÃÍ ÃѺ¢ ÍÁÙÅ·Õ¢è Ò RxD â´Â¡ÒõÃǨÊͺºÑ¿à¿Íà ¢Í§¾Íà µÍ¹Ø¡ÃÁ àÁ×Íè ÁÕ¢Í ÁÙÅ㹺ѿà¿Íà â»Ãá¡ÃÁ ¨ÐÍÍ¡¨Ò¡ÅÙ» áÅ ÇÍ Ò¹¢ ÍÁÙÅ㹺ѿà¿Íà ä»áÊ´§·Õè txtIn ¶ Òµ ͧ¡ÒÃãË â»Ãá¡ÃÁÍ Ò¹¢ ÍÁÙÅ Íѵâ¹ÁÑµÔ·Ø¡æ ¤ÒºàÇÅÒ ÊÒÁÒö㪠¤Í¹â·ÃÅ Timer ª ÇÂä´ ÊÒÁÒö·´Êͺ¡Ò÷íÒ§Ò¹¢Í§ â»Ãá¡ÃÁâ´ÂÃÇÁä´ ¨Ò¡ä¿Å lab05.vbp
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 71
..
º··Õè 6
¢ÑºÍØ»¡Ã³ àÍÒµ ¾Øµ¡ÃÐáÊÊÙ§ ¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ â´Â㪠UART 㹺·¹Õ¨é СŠÒǶ֧¡ÒÃÊ §¢ ÍÁÙż Ò¹·Ò§¾Íà µÍ¹Ø¡ÃÁà¾×Íè ¢ÑºÍØ»¡Ã³ àÍÒµ ¾µØ ¡ÃÐáÊÊÙ§ ÍÒ·Ô Êàµç»à»Íà ÁÍàµÍà áÅÐÃÕàÅ â´Â㪠S-Board V2.0 à» ¹µÑÇÃѺ¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà áÅ ÇÊ §µ Íä» ÂѧºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà (ã¹·Õ¹è ãÕé ª ºÍà ´ EX-05 ˹֧è 㹺Íà ´¢ÂÒÂÃкº¢Í§ªØ´·´Åͧ NX2000) ËÃ×ͺÍà ´¢ÑºÃÕàÅ (ã¹·Õ¹è ãÕé ª ºÍà ´ EX-06 ˹֧è 㹺Íà ´¢ÂÒÂÃкº¢Í§ªØ´·´Åͧ NX2000) ¨ÐàÃÔÁè µ ¹¡Ñ¹·Õ¡è ÒâѺÊàµç»à»Íà ÁÍàµÍà ¡Í ¹
¤ÇÒÁÃÙ àº×éͧµ ¹à¡ÕèÂǡѺÊàµç»à»Íà ÁÍàµÍà ÊíÒËÃѺÊàµç»à»Íà ÁÍàµÍà ໠¹ÁÍàµÍà ·ÕèÁÕÅѡɳСÒ÷íҧҹᵡµ Ò§¨Ò¡ÁÍàµÍà ·ÑèÇä» à¾ÃÒШе ͧ» ͹ÊÑҳ໠¹¾ÑÅÊ ãË á¡ ¢´ÅÇ´¢Í§ÁÍàµÍà ໠¹¨Ñ§ËÇÐÍ ҧàËÁÒÐÊÁ áÅСÒÃËÁع ¢Í§ÁÍàµÍà ª¹Ô´¹Õé¨ÐËÁع໠¹¨Ñ§ËÇеÒÁ¾ÑÅÊ ·Õè» Í¹à¢ ÒÁÒ äÁ ËÁعµ Íà¹×èͧàËÁ×͹¡ÑºÁÍàµÍà ¸ÃÃÁ´Ò ·íÒãË ¼Ù ¤Çº¤ØÁÊÒÁÒöàÅ×Í¡µíÒá˹ §·Õèµ Í§¡ÒÃãË ÁÍàµÍà ËÂØ´ËÁØ¹ä´ ¨Ñ§ËÇСÒÃËÁع ¢Í§Êàµç»à»Íà ÁÍàµÍà àÃÕÂ¡Ç Ò Êàµç» (step) ¤ÇÒÁÅÐàÍÕ´¢Í§ÁÍàµÍà ¡Òí ˹´à» ¹Í§ÈÒ·ÕËè ÁØ¹ä» ã¹Ë¹Ö§è Êàµç» ËÒ¡ÁÍàµÍà Á¨Õ Òí ¹Ç¹Í§ÈÒµ ÍÊàµç»ÁÒ¡ ËÁÒ¤ÇÒÁÇ ÒÁÍàµÍà µÇÑ ¹ÕÁé ¤Õ ÇÒÁÅÐàÍÕ´¢Í§ ¡ÒÃËÁعµèÒí ¡µÑÇÍ ҧ ¡ÒÃËÁع¤Ãº 1 Ãͺ෠ҡѺ 360 ͧÈÒ ËÒ¡ÁÍàµÍà ÁÊÕ àµç»¡ÒÃËÁØ¹à· Ò ¡Ñº 7.5 ͧÈÒµ ÍÊàµç» ÁÍàµÍà µÇÑ ¹ÕÁé ¤Õ ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع෠ҡѺ 48 µíÒá˹ § áµ ¶Ò ËÒ¡ÁÕ Êàµç»¡ÒÃËÁع¡Ñº 1.8 ͧÈÒµ ÍÊàµç» ¤ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع෠ҡѺ 200 µíÒá˹ § ¨ÐàËç¹ä´ Ç ÒÁÍàµÍà µÇÑ ËÅѧÁÕ¤ÇÒÁÅÐàÍÕ´ÊÙ§¡Ç ÒµÑÇááÁÒ¡ ·íÒãË ¹Òí ÁÒ㪠㹧ҹ·Õµè Í §¡ÒáíÒ˹´µíÒá˹ § ä´ ´¡Õ Ç Ò áÁ ¹ÂíÒ¡Ç Ò ¼¹Ç¡à¢ ҡѺǧ¨Ã¢ÑºáººÎÒÅ ¿Êàµç» («Ö§è ¨Ð¡Å ÒǶ֧µ Íä») ¤ÇÒÁÅÐàÍÕ´¢Í§ ¡ÒÃËÁع¨Ðà¾ÔÁè ¢Ö¹é ÍÕ¡ 2 à· Ò ·íÒãË Á¤Õ ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع¡ÅÒÂà» ¹ 400 µíÒá˹ § ¢¹Ò´¢Í§Êàµç»à»Íà ÁÍàµÍà ·ÁÕè ¡Õ ÒüÅÔµáÅШíÒ˹ ÒÂã¹· ͧµÅÒ´ ÁÕµ§Ñé áµ ¢¹Ò´áç´Ñ¹µèÒí 3 V 仨¹¶Ö§ 24 V Ê Ç¹¢¹Ò´¢Í§¡ÃÐáÊÁÕµ§Ñé áµ äÁ ¡ÊÕè ºÔ ÁÔÅÅÔáÍÁ» Í¹Ñ à» ¹Êàµç»à»Íà ÁÍàµÍà µÇÑ àÅç¡ ä»¨¹¶Ö§à» ¹ÊÔºáÍÁ» «Ö§è ¢¹Ò´¢Í§ÁÍàµÍà ¡¨ç ÐãË âµ¢Ö¹é µÒÁÅíҴѺ Êàµç»à»Íà ÁÍàµÍÃ ä´ ÃºÑ ¡ÒþѲ¹ÒÁÒÍ ҧµ Íà¹×Íè § ¨¹ã¹» ¨¨Øº¹Ñ Êàµç»à»Íà ÁÍàµÍà ·¹Õè ÂÔ Á 㪠Í ҧá¾Ã ËÅÒÂÁÒ¡·ÕÊè ´Ø áÅÐËÒä´ §Ò ¤×Í Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà (uni-polar stepper motor) ÁÕÅ¡Ñ É³Ð¡Òþѹ¢´ÅÇ´¢Í§ÁÍàµÍà áÊ´§ã¹ÃÙ»·Õè 6-1 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 73
Êàµç»à»Íà ÁÍàµÍà Ẻ¹ÕéÁÕ¡Òþѹ¢´ ÅÇ´ 2 ¢´º¹áµ ÅТÑÇé áÁ àËÅ硢ͧÊàµàµÍà ᵠ+V P2 P2 ÅТ´áº §à» ¹ 2 à¿Ê ÃÇÁÁÍàµÍà ·§Ñé µÑǨÐÁÕ 4 +V à¿Ê¤×Í à¿Ê 1,2,3 áÅÐ 4 ÁÕ¡Òõ ÍÊÒÂÍÍ¡ÁÒ +V P3 P4 P3 P4 ¨Ò¡¢´ÅÇ´áµ ÅТ´à¾×èͨ ÒÂä¿àÅÕé§ ·íÒãË áºº 5 ÊÒ 4 à¿Ê Ẻ 6 ÊÒ 4 à¿Ê Êàµç»à»Íà ÁÍàµÍà Ẻ¹ÕÁé ·Õ §Ñé Ẻ 5 ÊÒÂáÅÐ 6 ÃÙ»·Õè 6-1 â¤Ã§Êà ҧ¾×¹é °Ò¹¢Í§Êàµç»à»Íà ÊÒ ¶ Òà» ¹áºº 5 ÊÒ ¨Ðà» ¹¡ÒùíÒÊÒÂä¿àÅÕÂé § ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ·§Ñé Ẻ 5 áÅÐ 6 ÊÒ ¢Í§¢´ÅÇ´·Ñé§ÊͧÁÒµ ÍÃÇÁ¡Ñ¹à» ¹ÊÒÂà´ÕÂÇ P1
P1
Êàµç»·Õè 1 2 3 4
à¿Ê·Õè 1 ·íÒ§Ò¹ -
à¿Ê·Õè 2 ·íÒ§Ò¹ -
à¿Ê·Õè 3 ·íÒ§Ò¹ -
à¿Ê·Õè 4 ·íÒ§Ò¹
4
·íÒ§Ò¹
-
-
·íÒ§Ò¹
¡ÒáÃеع áÅФǺ¤ØÁ¡ÒÃËÁع¢Í§ Êàµç»à»Íà ÁÍàµÍÃ
¡ÒáÃÐµØ ¹ áÅФǺ¤Ø Á ¡ÒÃËÁØ ¹ ¢Í§ ÁÍàµÍà ãË à¤Å×è͹·Õèä»áµ ÅÐÊàµç»·íÒä´ â´Â¨ Ò µÒÃÒ§·Õè 6-1 ÃٻẺ¡ÒâѺÊàµç»à»Íà ¡íÒÅѧ俿 Òä»Âѧ¢´ÅÇ´áµ ÅТ´º¹ÊàµàµÍà «Ö§è ÁÍàµÍà Ẻ¿ÙÅÊàµç» 1 à¿Ê µ ͧ» ͹໠¹áºº«Õà¤Ç¹àªÕÂÅã¹ÃٻẺ·Õè¶Ù¡ µ ͧ´ Ç ÊÒÁÒöẠ§ä´ à» ¹ 3 ÃٻẺ¤×Í áºº Êàµç»·Õè à¿Ê·Õè 1 à¿Ê·Õè 2 à¿Ê·Õè 3 à¿Ê·Õè 4 ¿ÙÅÊàµç» 1 à¿Ê (full step 1 phase), Ẻ 1 ·íÒ§Ò¹ ·íÒ§Ò¹ ¿ÙÅÊàµç» 2 à¿Ê áÅРẺÎÒÅ ¿Êàµç» (half 2 ·íÒ§Ò¹ ·íÒ§Ò¹ 3 ·íÒ§Ò¹ ·íÒ§Ò¹ step) Ẻ¿ÙÅÊàµç» 1 à¿Êà» ¹¡ÒáÃеع ·ÕÁè Õ µÒÃÒ§·Õè 6-2 ÃٻẺ¡ÒâѺÊàµç»à»Íà ÃٻẺ§ Ò·ÕèÊØ´ â´Â·íÒ¡ÒáÃÐµØ ¹¢´ÅÇ´·ÕÅÐ ÁÍàµÍà Ẻ¿ÙÅÊàµç» 2 à¿Ê ¢´ã¹àÇÅÒ˹֧è äÅ àÃÕ§¶Ñ´¡Ñ¹ä» ઠ¹ àÃÔÁè µ ¹·Õ¢è ´·Õè Êàµç»·Õè à¿Ê·Õè 1 à¿Ê·Õè 2 à¿Ê·Õè 3 à¿Ê·Õè 4 1, 2, 3, 4 áÅ Çǹ¡ÅѺÁÒ¢´·Õè 1 ǹä»àÃ×Íè Âæ 1 ·íÒ§Ò¹ ËÃ×ÍàÃÔèÁ·Õ袴·Õè 1 áÅ Ç ͹ä»Âѧ¢´·Õè 4, 3, 2 2 ·íÒ§Ò¹ ·íÒ§Ò¹ áÅ Ç¡ÅѺÁÒÂѧ¢´·Õè 1 ÍÕ¡¤ÃÑ§é «Ö§è ·íÒãË ·ÈÔ ·Ò§¢Í§ 3 ·íÒ§Ò¹ ¡ÒÃËÁعÊǹ¡Ñ¹ 㹡ÒáÃеع ÃٻẺ¹Õ¨é §Ö ÁÕ¢´ 4 ·íÒ§Ò¹ ·íÒ§Ò¹ 5 ·íÒ§Ò¹ ÅÇ´à¾Õ§¢´à´ÕÂÇã¹àÇÅÒË¹Ö§è ·Õ¶è ¡Ù ¡Ãеع ෠ҹѹé 6 ·íÒ§Ò¹ ·íÒ§Ò¹ ǧ¨Ã¡ÃÐµØ ¹áººàÇ¿¨Ö§ÁÕÃÒ¤Ò¶Ù¡áÅЧ Ò ¢Ñé¹ 7 ·íÒ§Ò¹ µÍ¹¡Ò÷íÒ§Ò¹µ Ò§æ áÊ´§´Ñ§ã¹µÒÃÒ§·Õè 6-1 8 ·íÒ§Ò¹ ·íÒ§Ò¹ Ẻ¿ÙÅÊàµç» 2 à¿Êà» ¹¡ÒáÃÐµØ ¹«Öè§ µÒÃÒ§·Õè 6-3 ÃٻẺ¡ÒâѺÊàµç»à»Íà ¤Å Ò¡ѺẺ 1 à¿Ê áµ ¡ÒáÃеع Ẻ¹Õ¨é зíÒ ÁÍàµÍà ẺÎÒÅ ¿Êàµç» àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 74
¡ÒáÃеع â´Â¨ Ò¡íÒÅѧ俿 Òä»·Õ¢è ´ÅÇ´ 2 ¢´ ·ÕÍè ÂÙã ¡Å ¡¹Ñ ã¹àÇÅÒà´ÕÂǡѹ áÅÐàÃÕ§¶Ñ´¡Ñ¹ä»àª ¹ à´ÕÂǡѺẺàÇ¿ ´Ñ§µÑÇÍ ҧ ¢´ÅÇ´ªØ´áá·Õ¶è ¡Ù ¡Ãеع ¨Ðà» ¹¢´·Õè 1 áÅÐ 2 µÒÁ´ Ç¡ÒáÃеع ¢´·Õè 2 áÅÐ 3 µ Íä»à» ¹¢´·Õè 3 áÅÐ 4 ¶Ñ´ä»à» ¹¢´·Õè 4 áÅÐ 1 áÅ Ç¡ÅѺÁÒ·Õ¢è ´·Õè 1 áÅÐ 2 ǹ仵ÒÁÅíҴѺઠ¹¹Õé ËÃ×ÍàÃÔÁè ·Õ¢è ´ 1 áÅÐ 4 µÒÁ´ Ç¢´·Õè 4 áÅÐ 3 ¶Ñ´ä»à» ¹¢´·Õè 3 áÅÐ 2 µ Íä»à» ¹¢´·Õè 2 áÅÐ 1 áÅ Çǹ¡ÅѺÁÒ·Õ¢è ´·Õè 1 áÅÐ 4 ·ÔÈ·Ò§¡ÒÃËÁع¨ÐÊǹ·Ò§¡Ñ¹ ¡ÒáÃÐ µØ¹ Êàµç»à»Íà ÁÍàµÍà Ẻ¹ÕÊé ÒÁÒöàà¾ÔÁè áçºÔ´ä´ ÁÒ¡¡Ç ÒẺ¿ÙÅÊàµç» 1 à¿Ê âÃàµÍà ¨Ðà¤Å×Íè ¹ ·Õ´è Ç Âáç´Ö§Í ҧàµçÁáç¨Ò¡ 2 ¢´ÅÇ´·Õ¶è ¡Ù ¡Ãеع ¾Ã ÍÁ¡Ñ¹ áÅе Íä»´ ÇÂáç´Ö§¨Ò¡ÍÕ¡ 2 ¢´ÅÇ´ ¶Ñ´ä» ÊíÒËÃѺ¢ ÍàÊÕ¤×Í¡ÒáÃеع Ẻ¹Õµé Í §ãª ¡Òí Åѧ俿 ÒÁÒ¡¢Ö¹é ¢Ñ¹é µÍ¹¡Ò÷íÒ§Ò¹µ Ò§ æ áÊ´§ ´Ñ§ã¹µÒÃÒ§·Õè 6-2 ẺÎÒÅ ¿Êàµç»à» ¹ÃٻẺ·Õè¼ÊÁ¼ÊÒ¹ÃÐËÇ Ò§¡ÒáÃÐµØ ¹áºº¿ÙÅÊàµç» 1 áÅÐ 2 à¿Ê à¾×èÍà¾ÔèÁ¨íҹǹ¢Í§Êàµç»µ ÍÃͺÍÕ¡à· ÒµÑÇ˹Öè§ ã¹Ãкº¹Õé¨Ð·íÒ¡ÒáÃÐµØ ¹¢´ÅÇ´àÃÕ§¡Ñ¹ä»à» ¹ ÅíҴѺ´Ñ§¹Õé àÃÔÁè ¨Ò¡¢´ÅÇ´·Õè 1, 1 áÅÐ 2, 2, 2 áÅÐ 3, 3, 3 áÅÐ 4, 4, 4 áÅÐ 1 áÅ Çǹ¡ÅѺÁÒÂѧ ¢´ÅÇ´·Õè 1 áçºÔ´·Õäè ´ ¨Ò¡¡ÒáÃеع Ẻ¹Õ¨é Ðà¾ÔÁè ÁÒ¡¢Ö¹é ÍÕ¡ à¾ÃÒЪ ǧÊàµç»ÁÕÃÐÂÐÊѹé ŧ áµ ÅÐ Êàµç»à¡Ô´áç´Ö§¨Ò¡¢´ÅÇ´ 2 ¢´·Õ¶è ¡Ù ¡Ãеع ¾Ã ÍÁ¡Ñ¹ ¤ÇÒÁ¶Ù¡µ ͧ¢Í§µíÒá˹ §ÁÕà¾ÔÁè ÁÒ¡¢Ö¹é áµ µ ͧ¾Ö§ÃÐÇѧäÇ Í¡Õ »ÃСÒÃ˹֧è Ç ÒàÁ×Íè ¡Ãеع ãË ·Òí §Ò¹ã¹ÃٻẺ¹Õ¨é е ͧ·íÒ¡ÒÃËÁع¶Ö§ 2 Êàµç» ¨Ö§¨Ð ä´ à· Ò¡ÑºÃÐÂÐ෠ҡѺ 1 Êàµç»àµçÁ¢Í§¡ÒäǺ¤ØÁã¹ 2 Ẻáá ÊíÒËÃѺáËÅ §¨ Ò¡íÒÅѧ俿 Òµ ͧ 㪠¢¹Ò´à· ҡѺẺ 2 à¿Êà» ¹Í ҧ¹ Í ¨Ö§¨Ðà¾Õ§¾Í ¢Ñ鹵͹¡Ò÷íÒ§Ò¹µ Ò§æ áÊ´§´Ñ§ã¹ µÒÃÒ§·Õè 6-3
ºÍà ´ EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ºÍà ´ EX-05 à» ¹ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ·ÁÕè ¡Õ ÒÃáÂ¡Ê Ç¹¢Í§ÍÔ¹¾ØµáÅÐ àÍÒµ ¾µØ á¡ÍÍ¡¨Ò¡¡Ñ¹â´Â㪠¡ÒÃàª×Íè Áµ Í·Ò§áʧËÃ×ÍÍͻⵠ¤»Ñ à»ÅÍà ·íÒãË Å´» ËÒÊÑÒ³ ú¡Ç¹·ÕèÍÒ¨¼ Ò¹ÁÒ·Ò§¡ÃÒÇ´ ¢Í§Ãкº ·Ñé§Âѧª ÇÂÅ´¤ÇÒÁàÊÕÂËÒ·Õèà¡Ô´¢Ö鹡Ѻ¤ÍÁ¾ÔÇàµÍÃ ä´ â´Âǧ¨Ã¢Í§ºÍà ´ EX-05 áÊ´§ã¹ÃÙ»·Õè 6-2 ÊÑÒ³ÍÔ¹¾Øµ¨Ð¶Ù¡» ͹ãË ¡ºÑ LED «Ö§è ÍÂÙÀ ÒÂã¹ Íͻⵠ¤»Ñ à»ÅÍà â´Â¼ Ò¹µÑǵ Ò¹·Ò¹à¾×Íè ¨íÒ¡Ñ´¡ÃÐáÊãË ¡ºÑ LED àÍÒµ ¾µØ ¢Í§Íͻⵠ¤»Ñ à»ÅÍà ¨Ðµ ÍࢠҡѺ·ÃÒ¹«ÔÊàµÍà BD139 â´ÂàÁ×Íè ·íÒ¡Òû ͹Åͨԡ 1 ãË ¡ºÑ Íͻⵠ¤»Ñ à»ÅÍà ·íÒãË ·ÃÒ¹«ÔÊàµÍà ÀÒÂã¹Íͻⵠ¤Ñ»à»ÅÍà ·íÒ§Ò¹ Ê §¼ÅãË à¡Ô´¡ÃÐáÊä»äºáÍÊãË ·ÃÒ¹«ÔÊàµÍà BD139 ·íÒ§Ò¹ ·íÒãË ¢´ÅÇ´¢Í§Êàµç»à»Íà ÁÍàµÍà ·Õèµ ÍÍÂÙ ·Õè¢Ò¤ÍÅàÅç¡àµÍà µ Íŧ¡ÃÒÇ´ à¡Ô´ ¡ÃÐáÊä¿¿ ÒäËŤúǧ¨Ã ÁÍàµÍà ¨§Ö ·íÒ§Ò¹ à¡Ô´¡ÒÃà¤Å×Íè ¹·Õäè »Ë¹Ö§è Êàµç» ºÍà ´ EX-05 ¹Í¡¨Ò¡¨Ð¹íÒ仢ѺÊàµç»à»Íà ÁÍàµÍà áÅ Ç ÂѧÊÒÁÒö¹íÒ令Ǻ¤ØÁÍØ»¡Ã³ ä¿¿ ÒÍ×¹è ઠ¹ËÅÍ´ä¿äÊ ËÃ×Í¢´ÅÇ´â«ÅÔ¹ÍÂÊ ä´ ´Ç  ᵠµÍ §ãª ¡ºÑ âËÅ´·ÕÁè ¾Õ ¡Ô ´Ñ äÁ à¡Ô¹ 12V 1A
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 75
+V
R501 510 1
5
D501 1N4001
IC501 4N25 2
4
K501 DATA BUS (UIC-10)
D0 D2
R506 1k
Q501 BD139
R505 1k
+5V D1 D3
+V
R502 510 1
5
D502 1N4001
IC502 4N25 2
+V
R508 1k
4
Q502 BD139
P1 P2
R507 1k
P3 P4 K502
+V
R503 510 1
5
2
4
STEPPER MOTOR D503 1N4001
IC503 4N25
R510 1k
Q503 BD139
R509 1k
+V
R504 510 1
5
D504 1N4001
IC504 4N25 2
EX-05 Stepper motor driver board
R512 1k
4
Q504 BD139
¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤
¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å ÒÃ ä´ µ§Ñé áµ 5-24V ¡ÃÐáÊÊÙ§ÊØ´ 1.5A l 㪠áËÅ §¨ ÒÂä¿ÊíÒËÃѺÁÍàµÍà ᡵ Ò§ËÒ¡ l á¡¡ÃÒÇ´ ¢Í§ÊÑÒ³¤Çº¤ØÁ¡Ñºä¿ÅàÕé§ ÁÍàµÍà ÍÍ¡¨Ò¡¡Ñ¹´ ÇÂÍͻⵠ¤»Ñ à»ÅÍà l 㪠¤Í¹à¹ç¡àµÍà DATA BUS ÊíÒËÃѺàª×Í èÁ µ ͡Ѻ P-Board áÅÐ S-Board l
R511 1k
ÃÙ»·Õè 6-2 ǧ¨ÃÊÁºÙó ¢Í§ EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà EX-06 7 Channel Relay board
+V
RY601 RELAY 12V
K601
NO C NC
DATA BUS (UIC-10)
+5V D0 D2 D4 D6
JP601
D1 D3 D5 D7
9 1 2
JP607
D0
Q0
D1
Q1
3 D2 4 D3 5 D4 6 D5 7 D6
EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ
8
K602 RELAY OUT #1
16 15
14 13 Q3 12 Q4 11 Q5 10 Q6 Q2
RY602-RY607 with K602-K608
IC601 ULN2003
l ¢ÑºÃÕàÅ ¢¹Ò´ 12V ¾Ô¡´Ñ ˹ ÒÊÑÁ¼ÑÊ 220Vac/5A l 㪠áËÅ §¨ ÒÂä¿ +12V ÊíÒËÃѺÃÕàŠᡵ Ò§ËÒ¡ l àÅ×Í¡¢ÑºÃÕàÅÂ ä´ 7 µÑÇ´ Ç¡ÒÃ㪠¨ÁÑê à»Íà l ¤Í¹à¹ç¡àµÍà DATA BUS ÊíÒËÃѺàª×Íè Áµ ͡Ѻ P-Board áÅÐ S-Board
ÃÙ»·Õè 6-3 ǧ¨ÃÊÁºÙó ¢Í§ EX-06 ºÍà ´ÃÕàÅ 7 ª ͧ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 76
EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ ÊíÒËÃѺ㹪ش·´Åͧ NX-2000 ¨ÐÁÕºÍà ´µ ; ǧÊíÒËÃѺ·´Åͧ¡ÒâѺÃÕàÅ ÍÂÙ¤ Í× EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ â´Âº¹ºÍà ´¨ÐÁÕÃàÕ Å ãË ãª §Ò¹ÁÒ¡¶Ö§ 7 µÑÇ ãª äÍ«Õ ULN2003 㹡ÒâѺ â´Âǧ¨Ã¢Í§ºÍà ´ EX-06 áÊ´§ã¹ÃÙ»·Õè 6-3 ·íÒ˹ Ò·Õàè » ¹Ç§¨Ã¢Ñº â´Â¶ Ò¼Ùã ª §Ò¹µ ͧ¡ÒÃ㪠§Ò¹ ÃÕàÅ µÇÑ ã´¡çãË ãª ¨ÁÑ à»Íà µÍ ã¹µíÒá˹ §¹Ñ¹é ¡ÒäǺ¤ØÁÃÕàÅ ãË ·Òí §Ò¹ÊÒÁÒö㪠¾Íà µ Data ËÃ×Í ¾Íà µ Control ¡çä´ ¶ Ò㪠§Ò¹¾Íà µ Data ¢Ò·Õãè ª 㹡ÒäǺ¤ØÁ¨Ð㪠¢Ò D0-D6 à¹×Íè §¨Ò¡Ç ÒÁÕÃàÕ Å ·Ñ§é ËÁ´ 7 µÑÇ ËÑÇ㨢ͧºÍà ´¹Õ¤é Í× ULN2003 «Ö§è à» ¹äÍ«ÕÍ¹Ô àÇÍà àµÍà ä´ÃàÇÍà 7 µÑÇ ¢ÒÍÔ¹¾Øµ·Ñ§é ËÁ´ µ ͡Ѻ¨ÑÁê à»Íà JP601- JP607 à¾×Íè 㪠㹡ÒÃàÅ×Í¡Ç Òµ ͧ¡ÒäǺ¤ØÁÃÕàÅ µÇÑ ã´ â´Â JP601 㪠àÅ×Í¡ µÔ´µ ͡ѺÃÕàÅ RY601 ËÃ×ÍÃÕàÅ µÇÑ ·Õè 1 àÃÕ§ÅíҴѺ仨¹¶Ö§ JP607 㣠àÅ×Í¡¡ÒõԴµ ͡Ѻ RY607 ËÃ×ÍÃÕàÅ µÇÑ ·Õè 7 ÍÕ¡´ Ò¹Ë¹Ö§è ¢Í§¨ÑÁê à»Íà ¨Ðµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS à¾×Íè àª×Íè Áµ ͡Ѻ P-Board à¾×Íè ·íÒ¡ÒäǺ¤ØÁµ Íä»
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 77
¡Ò÷´Åͧ·Õè 6 ¤Çº¤ØÁ¡ÒÃËÁعÊàµç»à»Íà ÁÍàµÍà ´Ç  S-Board à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 áÅÐÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. áËÅ §¨ ÒÂ俵ç +12V ¡ÃÐáÊÍ ҧ¹ Í 500mA ¾Ã ÍÁÊÒµ Í 1 ªØ´ 3. S-Board ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 4. EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà 1 ºÍà ´ 5. Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà 12V 1 µÑÇ 6. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹
¡Ò÷´Åͧ
¡Ò÷´Åͧ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ¿ÙÅÊàµç» 1 à¿Ê 6.1 µ ÍÊÒ¨ҡ¾Íà µÍ¹Ø¡ÃÁࢠҡѺ S-Board 6.2 㪠ÊÒ IDC-10 àª×Íè Áµ ͤ͹à¹ç¡àµÍà UART OUT ¢Í§ S-Board ࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ºÍà ´ EX-05 6.3 µ ÍÊàµç»à»Íà ÁÍàµÍà áÅÐáËÅ §¨ ÒÂä¿ãË ¡ºÑ ºÍà ´ EX-05 â´ÂÊѧࡵà¿Ê¢Í§ÁÍàµÍà ãË ¶¡Ù µ ͧ´ Ç «Ö§è Êѧࡵ¨Ò¡ÊÒ·Õàè ª×Íè Áµ ÍáÅÐÃÒÂÅÐàÍÕ´·Õµè ÇÑ ÁÍàµÍÃ áµ ã¹¢Ñ¹é µÍ¹ÂѧäÁ µÍ §¨ ÒÂä¿ ãË ¡ÑºÊàµç»à»Íà ÁÍàµÍà 6.4 à¢Õ¹â»Ãá¡ÃÁ Visual BASIC à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà ´Ç ºÍà ´ EX-05 â´Â㪠Timer1 áÅÐ Timer2 à¾×Íè ¤Çº¤ØÁ¡ÒÃËÁع价ҧ« ÒÂáÅСÒÃËÁع价ҧ¢ÇÒ ÊÒà˵طãÕè ª Timer à¹×Íè §¨Ò¡ Timer à» ¹ÅѡɳСÒ÷íÒ§Ò¹µÒÁÃÐÂÐàÇÅÒ àÁ×Íè ¶Ö§àÇÅÒ·Õ¡è Òí ˹´ä·àÁÍà ¨§Ö ¨Ð·íÒ§Ò¹ àËÁÒСѺ ¡ÒÃ㪠§Ò¹¡ÑºÊàµç»à»Íà ÁÍàµÍà ·Õèµ Í§ÁÕ¡Òû ͹¾ÑÅÊ à» ¹ª ǧæ ઠ¹¡Ñ¹ â´Ââ»Ãá¡ÃÁ·Ñé§ËÁ´·Õè à¢Õ¹´ Ç Visual BASIC ÁÕ´§Ñ ¹Õé Private Sub Form_Load() MSComm1.PortOpen = True
‘
à» ´¾Íà µ
End Sub Private Sub Command1_Click() Timer2.Enabled = False
‘
Timer1.Enabled = True
‘
ãË Timer ´ Ò¹¢ÇÒËÂØ´·íÒ§Ò¹ ãË Timer ´ Ò¹« Ò·íÒ§Ò¹
End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 78
Private Sub Command2_Click() Timer1.Enabled = False
‘
Timer2.Enabled = True
‘
ãË Timer ´ Ò¹« ÒÂËÂØ´·íÒ§Ò¹ ãË Timer ´ Ò¹¢ÇÒ·íÒ§Ò¹
End Sub Private Sub HScroll1_Change() Timer1.Interval = HScroll1.Value
‘
Timer2.Interval = HScroll1.Value
‘
»ÃѺà»ÅÕÂè ¹ÃÐÂÐàÇÅҢͧ Timer 1 »ÃѺà»ÅÕÂè ¹ÃÐÂÐàÇÅҢͧ Timer 2
End Sub
Timer ÊíÒËÃѺ¡ÒÃËÁع´ Ò¹« Ò » ´¡ÒÃáÊ´§ÅÙ¡È÷ÕËè ¹ Ò¨Í
Private Sub Timer1_Timer()
‘
For i = 0 To 3 Picture1(2 ^ i).Visible = False Next i
‘
Select Case Step
‘
Case Case Case Case Case
‘
µÃǨÊͺʶҹС ͹˹ Ò áÅ Çà»ÅÕÂè ¹à» ¹Ê¶Ò¹Ðµ Íä»
Case Else: Step = 0 End Select
‘
¶ Ò¤ ÒäÁ µÃ§ ¡íÒ˹´ãË à» ¹ 0
MSComm1.Output = Chr(Step)
‘
Picture1(Step).Visible = True End Sub
‘
Private Sub Timer2_Timer()
‘
For i = 0 To 3 Picture1(2 ^ i).Visible = False Next i
‘
Select Case Step
‘
Case Case Case Case Case
‘
0: 1: 2: 4: 8:
0: 1: 2: 4: 8:
Step Step Step Step Step
Step Step Step Step Step
= = = = =
= = = = =
8 8 1 2 4
1 2 4 8 1
Case Else: Step = 0 End Select
‘
MSComm1.Output = Chr(Step)
‘
Picture1(Step).Visible = True End Sub
‘
Ê §¤ ÒÍÍ¡àÍÒµ ¾µØ âªÇ Å¡Ù ÈÃáÊ´§µíÒá˹ § Timer ÊíÒËÃѺ¡ÒÃËÁع·Ò§¢ÇÒ » ´¡ÒÃáÊ´§ÅÙ¡È÷ÕËè ¹ Ò¨Í µÃǨÊͺʶҹС ͹˹ Ò à»ÅÕÂè ¹à» ¹Ê¶Ò¹Ðµ Íä»
¶ Ò¤ ÒäÁ µÃ§ ¡íÒ˹´ãË à» ¹ 0 Ê §¤ ÒÍÍ¡àÍÒµ ¾µØ âªÇ Å¡Ù ÈÃáÊ´§µíÒá˹ §
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 79
Property
Form1
Caption
Stepper Motor Control
Property
Timer1,Timer2
Interval Enabled
500 False
Property
Command1
Caption
Left
Property
Command2
Caption
Right
Property
HScroll1
Max
1000
Value Min
500 1
Property
Shape1
FillStyle
0 - Solid
Shape
3 - Circle
Property
Picture1(1)
Picture
Arw06up.ico
Property
Picture1(2)
Picture
Arw06rt.ico
Property
Picture1(4)
Picture
Arw06rt.ico
Property
Picture1(8)
Picture
Arw06lf.ico
ÃÙ»·Õè P6-2 áÊ´§¤Ø³ÊÁºÑµ¢Ô ͧµÑÇá»Ã·Õãè ª ã¹â»Ãá¡ÃÁ lab0601.vbp Timer1
Timer2
Command1
MSComm1
Command2
HSCroll1 Picture1(1)
Shape1 Picture1(2)
Picture1(8)
Picture1(4)
ÃÙ»·Õè P6-3 áÊ´§Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁ¢Ñº Êàµç»à»Íà ÁÍàµÍà ¼Ò ¹¾Íà µÍ¹Ø¡ÃÁ â´Â 㪠UART ¾Ã ÍÁ·Ñ§é áÊ´§ª×Íè ¢Í§¤Ø³ÊÁºÑµÔ µ Ò§æ ·Õãè ª ã¹â»Ãá¡ÃÁ
¨Ò¡â»Ãá¡ÃÁ¹Õé Ê ÒÁÒöÍ͡Ẻ ˹ ҵҢͧ Form1 ä´ ´Ñ§áÊ´§ã¹ÃÙ»·Õè P6-3 ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 6.4.1 à» ´¾Íà µàÁ×èÍàÃÕ¡㪠§Ò¹â»Ãá¡ÃÁ¤ÃÑé§áá â´ÂÃкؤíÒÊÑè§à» ´¾Íà µäÇ ã¹ â»Ãá¡ÃÁ Í Form_Load 6.4.2 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command1 áÅÐ Command2 ÊíÒËÃѺàÍç¹àÍàºÔÅ¡Ò÷íÒ§Ò¹ ¢Í§ Timer1 áÅÐ Timer2 à¾×Íè ¡íÒ˹´ãË ÁÍàµÍà ËÁع价ҧ« ÒÂáÅТÇÒ 6.4.3 à¢Õ¹â»Ãá¡ÃÁãË ¡Ñº HScroll1 㹡óÕÁÕ¡ÒÃà»ÅÕè¹á»Å§·Õè HScroll1 ãË ¤ Ò Interval ¢Í§ Timer1 áÅÐ Timer2 à»ÅÕÂè ¹á»Å§ µÒÁ´ Ç 6.4.4 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Timer1 â´Â àÁ×Íè Timer ·íÒ§Ò¹ãË Ê§ ¾ÑÅÊ à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà ÍÍ¡ä» â´ÂäÅ àÃÕ§ÅíҴѺ໠¹ÅѡɳРǹ·Ò§« Ò 6.4.5 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Timer2 â´Â àÁ×Íè Timer ·íÒ§Ò¹ãË Ê§ ¾ÑÅÊ à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà ÍÍ¡ä» â´ÂäÅ àÃÕ§ÅíҴѺ໠¹ÅѡɳРǹ·Ò§¢ÇÒ 6.4.6 à¢Õ¹â»Ãá¡ÃÁà¾×èÍáÊ´§¤ Ò¡Òà ËÁØ ¹ ¢Í§Êàµç » à»Íà Á ÍàµÍà ´ Ç ÂÅÙ ¡ Èà â´Â ¡íÒ˹´¤ ҢͧÃÙ»ÀÒ¾ãË áÊ´§ËÃ×ÍäÁ â´ÂÃÙ» ÀÒ¾¹Ñ鹨ÐÊà ҧâ´Â¡ÒÃ㪠Array áÅСíÒ˹´ ¤ ҢͧµÑÇá»Ã Index äÇ à· Ò¡Ñº 1 ,2 ,4 ,8 «Ö§è µÃ§¡Ñº¤ Ò¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà 6.5 ¨ ÒÂä¿ãË ¡ºÑ ǧ¨Ã Ãѹâ»Ãá¡ÃÁ áŠǤǺ¤ØÁ ¡ÒÃËÁØ ¹ ¢Í§Êàµç » à»Íà Á ÍàµÍà ¼ Ò ¹·Ò§ â»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 80
¡Ò÷´Åͧ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ¿ÙÅÊàµç» 2 à¿Ê 6.6 ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ãË ·íÒ§Ò¹ã¹ÅѡɳР2 à¿Ê¹Ñé¹ ¼Ù 㪠§Ò¹à¾Õ§ᡠä¢ÅíҴѺ¢Ñ鹡Òà » ͹¢ ÍÁÙÅÍÍ¡ä»ÂѧàÍÒµ ¾µØ ãË à» ¹ÅѡɳР2 à¿Ê ¡çÊÒÁÒö¢ÑºãË ·Òí §Ò¹ã¹ÅѡɳР2 à¿Êä´ â´ÂÊÒÁÒöᡠä¢â»Ãá¡ÃÁãË ¡ºÑ Timer1 ä´ ´§Ñ ¹Õé Private Sub Timer1_Timer() For i = 0 To 3 Picture1(2 ^ i).Visible = False Next i Select Case Step Case 0: Step = 3 Case 3: Step = 6 Case 6: Step = 12 Case 12: Step = 9 Case 9: Step = 3 Case Else: Step = 0 End Select MSComm1.Output = Chr(Step) Picture1(Step).Visible = True End Sub
6.7 ËÅѧ¨Ò¡á¡ â»Ãá¡ÃÁáÅ Ç ã¹Ê ǹ¢Í§ Picture1 ¨Ðµ ͧᡠ䢤 Ò Index ´ ÇÂà» ¹ 3,6,12,9 à¾×èÍãË áÊ´§¤ Òä´ µÃ§¡ÑºµíÒá˹ §¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà 6.8 Ãѹâ»Ãá¡ÃÁ·Õáè ¡ ä¢ãËÁ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ÁÍàµÍà ÇÒ áµ¡µ Ò§¨Ò¡áºº 1 à¿ÊËÃ×ÍäÁ
¡Ò÷´Åͧ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç» 6.9 ÊíÒËÃѺ¡ÒâѺẺÎÒÅ ¿Êàµç»«Ö觵 ͧÁÕ¡ÒÃÊ §¢ ÍÁÙÅà¾×èÍ·íÒ¡ÒâѺ 8 ¤ Ò¹Ñé¹ ÊÒÁÒÃ¶á¡ ä¢ â»Ãá¡ÃÁãË ¡ºÑ Timer1 ä´ ´§Ñ ¹Õé Private Sub Timer1_Timer() For i = 0 To 3 Picture1(2 ^ i).Visible = False Next i Select Case Step Case 0: Step = 1 Case 1: Step = 3 Case 3: Step = 2 Case 2: Step = 6 Case 6: Step = 4 Case 4: Step = 12 Case 12: Step = 8 Case 8: Step = 9 Case 9: Step = 1 Case Else: Step = 0 End Select MSComm1.Output = Chr(Step) Picture1(Step).Visible = True End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 81
6.10 ÊíÒËÃѺ Picture1 ¨Ðµ ͧÁÕ¨íҹǹÃÙ»·Õèà¾ÔèÁÁÒ¡¢Öé¹ à¾×èÍÃͧÃѺ¡ÒáÒÃà»ÅÕè¹á»Å§¢Í§ ¨íҹǹÊàµç»·ÕÁè ¶Õ §Ö 8 ¤ Ò â´Â¨Ðµ ͧᡠ䢤 Ò Index ãË Á¤Õ Ò à» ¹ 1,3,2,6,4,12,8,9 6.11 ÊíÒËÃѺ Timer 2 ¡ÒÃᡠ䢡çÊÒÁÒö·íÒä´ àª ¹à´ÕÂǡѹ¡Ñº Timer1 áµ ·Ôȷҧ㹡ÒÃËÁع áÅСÒáíÒ˹´¤ Ҩе ͧµÃ§¡Ñ¹¢ ÒÁ¡Ñº Timer1 6.12 ·´ÅͧÃѹâ»Ãá¡ÃÁ·Õáè ¡ ä¢ãËÁ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ áÅСÒÃËÁع¢Í§Êàµç»à»ÍÃ Ç Òᵡµ Ò§¨Ò¡ 2 ẺááËÃ×ÍäÁ Í ҧäÃ
¡Ò÷´Åͧ·Õè 7 ¡ÒâѺÃÕàÅ ¼Ò ¹¾Íà µÍ¹Ø¡ÃÁ à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 áÅÐÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. áËÅ §¨ ÒÂ俵ç +12V ¡ÃÐáÊÍ ҧ¹ Í 500mA ¾Ã ÍÁÊÒµ Í 1 ªØ´ 2. S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 3. EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ 1 ºÍà ´ 4. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹
¡Ò÷´Åͧ 7.1 µ ÍÊÒÂà¾×Íè àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁࢠҡѺ S-Baord V2.0 7.2 㪠ÊÒ IDC-10 àª×Íè Áµ ͤ͹à¹ç¡àµÍà UART OUT ¢Í§ S-Board V2.0 ࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ºÍà ´ EX-06 7.3 ãÊ ¨ÁÑê à»Íà ·Õè RELAY01-RELAY07 º¹ºÍà ´ EX-06 7.4 à¢Õ¹â»Ãá¡ÃÁ·´Åͧ àÃÔÁè ´ Ç¡ÒÃÊà ҧ Control Array ¢Í§ Command1 µÒÁ¢Ñ¹é µÍ¹´Ñ§¹Õé 7.4.1 Êà ҧ Command1 áÅ Ç·íÒ¡ÒÃà»ÅÕÂè ¹ Caption ¢Í§ Command1 ãË à» ¹ OFF 7.4.2 ·íÒ¡ÒäѴÅÍ¡ Command1 áÅ ÇÇҧŧ㹿Íà Áà´ÔÁ â»Ãá¡ÃÁ¨Ð¶ÒÁ¢Ö¹é ÁÒÇ Òµ ͧ ¡ÒÃÊà ҧ Array ËÃ×ÍäÁ ãË µÍº YES
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 82
Command1(0) Command1(1) Command1(2) Command1(3) Command1(4) Command1(5)
Command1(6)
MSComm1
ÃÙ»·Õè P7-1 áÊ´§Ë¹ Òµ Ò§áÅÐÃÒÂÅÐàÍÕ´¢Í§¤Ø³ÊÁºÑµÔ ·Õè ã ª ã ¹¡ÒÃÊÃ Ò §â»Ãá¡ÃÁ·´Åͧ¢Ñ º ÃÕ à Å 7 ª Í § º¹ºÍà ´ EX-07 ¼ Ò¹¾Íà µÍ¹Ø¡ÃÁâ´Â㪠UART
7.4.3 ·íÒ¡ÒäѴÅÍ¡ãË ¤Ãº 7 »ØÁ à¾×Íè 㪠ÊÒí ËÃѺ¡ÒäǺ¤ØÁ Relay áµ ÅеÑÇ 7.4.4 ãË ´·Ù Õè Property ¢Í§ Command1() ã¹áµ ÅеÑǨÐàËç¹Ç Ò¤ Ò Index ¢Í§áµ ÅеÑÇÁÕ ¤ ÒäÁ ෠ҡѹ â´Â¨Ðµ ͧ¡íÒ˹´¤ Ò Index áµ ÅеÑÇãË Á¤Õ Ò µÑ§é áµ 0-7 7.5 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command1 áÅÐ Form ´Ñ§¹Õé Dim Uout As Byte
‘
Private Sub Form_Load()
‘
MSComm1.CommPort = 1
‘
MSComm1.Settings = “9600,n,8,1”
‘
MSComm1.PortOpen = True
‘
Uout = 0
‘
MSComm1.Output = Chr(Uout)
‘
¡íÒ˹´µÑÇá»Ãà» ¹áººäºµ âËÅ´â»Ãá¡ÃÁ¤Ãѧé áá 㪠¾Íà µÍ¹Ø¡ÃÁ COM1 ¡íÒ¹´¤ Һʹàõ
à» ´¾Íà µ » ´ÃÕàÅ RELAY Ê §¤ ÒÍÍ¡àÍÒµ ¾µØ
End Sub
Property
Command1()
Caption
OFF
Property
Form1
Caption
Relay Control
Private Sub Command1_Click(Index As Integer) Uout = Uout Xor 2 ^ Index MSComm1.Output = Chr(Uout) If (Uout And 2 ^ Index) = 2 ^ Index Command1(Index).Caption = “ON”
ÊÅѺ¤ Ò੾ÒкԵ·ÕÍè Ò §¶Ö§´ Ç Index ‘ Ê §¤ ÒÍÍ¡àÍÒµ ¾µ Ø Then ‘ µÃǨÊͺ¼ÅÅѾ¸ ‘ ¶ ÒÃÕàÅ ON ãË áÊ´§ ON ‘
Else Command1(Index).Caption = “OFF” End If End Sub
‘
¶ ÒÃÕàÅ OFF ãË áÊ´§ OFF
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 83
ÊíÒËÃѺÃٻà ҧ˹ ҵҢͧ Form1 àÁ×Íè Êà ҧàÊÃç¨áŠǨÐà» ¹´Ñ§ÃÙ»·Õè P7-1 ËÅѡ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¹Õé¤×Í ¨Ðµ ͧÁÕ¡ÒèíÒÅͧʶҹТͧ¾Íà µ UART OUT ¢Öé¹ÁÒ à¹×Íè §¨Ò¡äÁ ÊÒÁÒÃ¶Í Ò¹¤ Ңͧ¾Íà µ·Õè S-Board ä´ ¨Ò¡â»Ãá¡ÃÁ¨ÐàËç¹Ç Ò µÑÇá»Ã Uout ¨Ð·íÒ Ë¹ Ò·Õ¨è Òí Åͧ¤ Ңͧ¾Íà µ¢Ö¹é ÁÒ¡ ͹áÅ Ç¨Ö§Ê §¤ Òä»ãË äÍ«Õ CDP6402 à¾×Íè ãË àÍÒµ ¾µØ ÍÍ¡·Õ¾è Íà µ UART OUT ¤íÒÊѧè 2 ^ Index à» ¹¤íÒÊѧè à¾×Íè ¡íÒ˹´¡íÒÅѧ¢Í§¢ ÍÁÙÅã¹áµ ÅкԵ â´Â·Õè Index ¨Ðá·¹¤ Ò ´ Ç 0-6 ·íÒãË 2 ^ Index à» ¹¡ÒÃá·¹¤ ÒºÔµ 0 ¶Ö§ºÔµ 6 µÑÇÍ ҧ ¶ Òµ ͧ¡Ò÷ÃÒºÇ ÒºÔµ·Õè 6 ¢Í§µÑÇá»Ã Uout ÁÕ¤Ò Åͨԡ 1 ËÃ×ÍäÁ ÊÒÁÒö㪠¤íÒÊѧè IF à¾×Íè µÃǨÊͺ´Ñ§¹Õé If (Uout And 2 ^ Index) = 2 ^ Index Then
1. ¹íÒ¤ Ò Uout ÁÒ AND ¡Ñº 2^6 ËÃ×ÍÁÒ AND ¡Ñº 01000000 2. ·íÒ¡ÒõÃǨÊͺ¼ÅÅѾ¸ ·äÕè ´ ÇÒ ÁÕ¤Ò à· Ò¡Ñº 2^6 ËÃ×ÍäÁ ¨Ò¡¤íÒÊѧè IF .. THEN 3. ¶ ÒºÔµ·Õè 6 ¢Í§ Uout ÁÕ¤Ò à· Ò¡Ñº 1 ¼ÅÅѾ¸ ¨Ò¡¡Òà AND ¡ç¨ÐÁÕ¤Ò à· Ò¡Ñº 2^6 4. ¶ ÒºÔµ·Õè 6 ¢Í§ Uout ÁÕ¤Ò à· Ò¡Ñº 0 ¼ÅÅѾ¸ ¨Ò¡¡Òà AND ¨ÐÁÕ¤Ò à· Ò¡Ñº 0 Ê Ç¹¡ÒÃ㪠2^Index ¡Ñº¤íÒÊѧè XOR ¹Ñ¹é ¨Ðà» ¹¡ÒÃÊÅѺºÔµà©¾ÒкԵ·Õµè Í §¡Òà ¤×Í੾ÒкԵ·Õè Í Ò§¶Ö§´ Ç Index ෠ҹѹé 7.6 ¨ ÒÂä¿ãË á¡ S-Board áÅÐ +12V ãË á¡ ºÍà ´ EX-06 7.7 Ãѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ã¹¢ Í 7.5 7.8 ·íÒ¡Ò÷´Åͧâ´Â㪠àÁÒÊ ¡´»Ø Áµ Ò§æ º¹ Form1 «Ö觨ÐàË繼šÒÃà»ÅÕè¹á»Å§·Õèà¡Ô´¢Öé¹·Õè ÃÕàÅ ᵠÅеÑǺ¹ºÍà ´ EX-06 â´Âáµ ÅлØÁ ¹Ñ¹é ¡çÊÒÁÒö㪠¤Çº¤ØÁÃÕàÅ ᵠÅеÑÇÍ ҧÍÔÊÃÐ â´Â ¼Ùã ª §Ò¹äÁ ¨Òí à» ¹µ ͧà¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command ·Ø¡ æ µÑÇ ËÁÒÂà赯 à¹×Íè §¨Ò¡ÃÕàÅ ·ºÕè Íà ´ EX-06 ÁÕà¾Õ§ 7 µÑÇà· Ò¹Ñ¹é ¡ÒáíÒ˹´¤ Ò Index ¨Ö§µ ͧ¡íÒ˹´ ¤ ҵѧé áµ 0-6 ºÔµ 7 àÁ×Íè Ê §¤ ÒÍÍ¡ä»áŠǨÐäÁ à¡Ô´¼Åã´æ ¡ÑºÃÕàÅ ¶ Òµ ͧ¡ÒôټÅ㹺Ե 7 ãË ãª ºÍà ´ EX-01 ÁÒµ ; ǧ᷹
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 84
º··Õè 7
¡ÒõÃǨÊͺ ¤ÇÒÁ¼Ô´¾ÅÒ´¢Í§ ¡ÒÃÊ×è Í ÊÒâ Í ÁÙ Å Í¹Ø ¡ ÃÁ ¼ Ò¹ UART ¡ÒÃÃÑºÊ §¢ ÍÁÙÅ͹ءÃÁã¹ÅѡɳÐÍЫԧâ¤Ã¹ÑÊÁÕ¤ÇÒÁ¨íÒà» ¹Í ҧÂÔ觷Õè¨Ðµ ͧ¡íÒ˹´ ÃٻẺ¢Í§¢ ÍÁÙÅ·Ñ§é ·Õµè ÇÑ ÃѺáÅеÑÇÊ §ãË µÃ§¡Ñ¹ ·Ñ§é ¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅ, ¨íҹǹºÔµ» ´· ÒÂ, ¡ÒõÃǨ Êͺ¾ÒÃÔµÕé áÅÐÍѵÃÒàÃçÇ㹡Òö Ò·ʹ¢ ÍÁÙÅËÃ×ͺʹàõ à¹×Íè §¨Ò¡¡ÒÃÃÑºÊ §¨Ðà¡Ô´¢Ö¹é ¤Ãѧé ÅÐ 1 ºÔµ ¡ÒõÃǨÊͺ¤ÇÒÁ¶Ù¡µ ͧ¨Ö§à¡Ô´¢Ö¹é ËÅѧ¨Ò¡·Õ·è Òí ¡Òö Ò·ʹ¢ ÍÁÙŤú 1 Ãͺ ¹Ñ¹è ¤×ÍàÃÔÁè ¨Ò¡ ºÔµàÃÔÁè µ ¹¨¹¶Ö§ºÔµ» ´· Ò ¤ÇÒÁ¼Ô´¾ÅÒ´·ÕÍè Ò¨à¡Ô´¢Ö¹é ¡ÒÃÃÑºÊ §¢ ÍÁÙÅà¡Ô´ä´ ¨Ò¡ËÅÒÂÊÒà赯 äÁ Ç Ò¨Ðà» ¹ÊÑҳú¡Ç¹, ¤ÇÒÁÂÒǢͧÊÒÂÊÑÒ³·ÕèÂÒÇà¡Ô¹ä» ·íÒãË ÊÑÒ³à¡Ô´¡ÒÃÅ´·Í¹ ÃÐËÇ Ò§¡ÒÃÃÑºÊ §, ¤ÇÒÁàÊÕÂËÒ·Õàè ¡Ô´¢Ö¹é ¡ÑºÊÒÂÊÑÒ³â´ÂµÃ§ ઠ¹ ¢Ò´ ËÃ×ÍÅѴǧ¨Ã à» ¹µ ¹ ÃÇÁ·Ñ駡ÒáíÒ˹´ÃٻẺ·ÕèäÁ ¶Ù¡µ ͧµÃ§¡Ñ¹¢Í§µÑÇÊ §áÅеÑÇÃѺ ÊíÒËÃѺ¤ÇÒÁ¼Ô´¾ÅÒ´ËÅÑ¡·Õàè ¡Ô´¢Ö¹é 㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁÁÕ´Ç Â¡Ñ¹ 3 Åѡɳдѧ¹Õé
1.¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¾ÒÃÔµÕé (Parity Error) ºÔµ¾ÒÃÔµàÕé » ¹ºÔµ·ÕÁè µÕ Òí á˹ §ÍÂÙ¶ ´Ñ ¨Ò¡ºÔµÊØ´· Ò¢ͧ¢ ÍÁÙÅËÅÑ¡ ¨Ð¶Ù¡¡íÒ˹´¤ Òâ´ÂµÑÇÊ § ËÒ¡µ ͧ¡ÒÃãË ÁÕ¡ÒõÃǨÊͺ¾ÒÃÔµÕé µÑÇÊ §µ ͧ¡íÒ˹´¡ Í¹Ç Òµ ͧ¡ÒõÃǨÊͺ¾ÒÃÔµÕé¤Ù ËÃ×ͤÕè ¾ÒÃÔµ¤Õé Í× ¡ÒùѺ¨íҹǹºÔµ·Õàè » ¹ 1 ¢Í§¢ ÍÁÙÅ·ÕÊè § ÃÇÁºÔµ¾ÒÃÔµ´Õé Ç Â Â¡µÑÇÍ ҧ ¢ ÍÁÙÅ·Õµè Í §¡Òà ¶ Ò·ʹ¤×Í 10000001 ¨Ð¾ºÇ Ò¨íҹǹºÔµ·Õàè » ¹ 1 ÁÕ 2 ºÔµ ËÒ¡µ ͧ¡ÒþÒÃÔµ¤Õé Ù ºÔµ¾ÒÃÔµµÕé Í § à» ¹ 0 ·íÒãË ¼ÅÃÇÁÂѧ¤§à» ¹ 2 «Ö§è à» ¹àÅ¢¤Ù ã¹·Ò§µÃ§¢ ÒÁËÒ¡µ ͧ¡ÒþÒÃÔµ¤Õé Õè µ ͧ¡íÒ˹´ ãË ºµÔ ¾ÒÃÔµàÕé » ¹ 1 ·íÒãË ¹ºÑ ÃÇÁä´ 3 ºÔµà» ¹àÅ¢¤Õè Í ҧäáçµÒÁ ÊÒÁÒöàÅ×Í¡·Õ¨è ÐäÁ Á¡Õ ÒõÃǨ Êͺ¾ÒÃÔµÕé¡çä´ ¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¾ÒÃÔµàÕé ¡Ô´¨Ò¡ºÔµ¾ÒÃÔµ¢Õé ͧ¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ äÁ µÃ§¡Ñº·Õµè ÇÑ ÃѺµÑ§é ¤ ÒäÇ àª ¹ ¢ ÍÁÙÅ·ÕÊè § ÁÒà» ¹ 0000 1000 1 â´Â·Õºè µÔ ÊØ´· ÒÂà» ¹ºÔµ¾ÒÃÔµÕé ¶ ÒµÑÇÃѺµÑ§é ¤ ÒäÇ à» ¹¾ÒÃÔµ¤Õé Õè ¨Ðà¡Ô´ ¤ÇÒÁ¼Ô´¾ÅÒ´¨Ò¡¾ÒÃÔµÕé à¹×Íè §¨Ò¡¨íҹǹºÔµ·Õàè » ¹ 1 à» ¹¨íҹǹ¤Ù ¶ ÒµÑÇÃѺµÑ§é ¤ ÒäÇ à» ¹¾ÒÃÔµ¤Õé Ù àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 85
¨ÐäÁ à¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´¹Õ¢é ¹Öé ÊÒà˵آͧ¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§¾ÒÃÔµ·Õé ¾Õè ºÁÒ¡¤×Í à¡Ô´ÊÑҳú¡Ç¹ ¢Öé¹ÊÒÂÊÑÒ³
2.¤ÇÒÁ¼Ô´¾ÅÒ´¢Í§à¿ÃÁ¢ ÍÁÙÅ (Framming Error) ¨Ðà¡Ô´¢Ö¹é àÁ×Íè µÑÇÃѺµÃǨËÒºÔµ» ´· ÒÂäÁ ¾º ËÃ×ÍäÁ ä´ ÃºÑ ºÔ´» ´· Ò ·íÒãË äÁ ÊÒÁÒö·ÃÒº ä´ ÇÒ ¢ ÍÁÙÅ·ÕÊè § ÁÒã¹Ãͺ¹Õ¤é úáÅ ÇËÃ×ÍäÁ µÑÇÃѺ¨Ö§ä´ ÃºÑ ¢ ÍÁÙÅäÁ ¤Ãºà¿ÃÁ äÁ ÊÒÁÒö»ÃÐÁÇÅ ¼Å¢ ÍÁÙŵ Íä»ä´ ÊÒà˵آͧ¡ÒÃà¡Ô´¤ÇÒÁ¼Ô´¾ÅҴẺ¹Õäé ´ á¡ ¡íÒ˹´¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅäÁ µÃ§ ¡Ñ¹ ÃÇÁ¶Ö§à¡Ô´ÊÑҳú¡Ç¹ã¹ÊÒÂÊÑÒ³´ ÇÂ
3.¤ÇÒÁ¼Ô´¾ÅҴẺâÍàÇÍÃ Ã¹Ñ (Overrun Error) à¡Ô´¨Ò¡µÑÇÃѺÂѧäÁ ä´ ÍÒ ¹¢ ÍÁÙŨҡºÑ¿à¿Íà áÅ Çà¡Ô´ÁÕ¢Í ÁÙÅãËÁ ࢠÒÁÒ ·íÒãË à¡Ô´¡Òê¹ ¡Ñ¹ÃÐËÇ Ò§¢ ÍÁÙÅãËÁ áÅТ ÍÁÙÅà´ÔÁ㹺ѿà¿ÍÃ Ê §¼ÅãË ¡ÒûÃÐÁÇżŢ ÍÁÙżԴ¾ÅÒ´ ÊÒà˵آͧ ¡ÒÃà¡Ô´¤ÇÒÁ¼Ô´¾ÅҴẺ¹Õ¤é Í× ¡íÒ˹´ºÍ´àõ¢Í§µÑÇÃѺ¹ ÍÂ¡Ç ÒµÑÇÊ §
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 86
¡Ò÷´Åͧ·Õè 8 ¡ÒÃÃѺ¢ ÍÁÙÅ͹ءÃÁáÅеÃǨÊͺ¤ÇÒÁ¼Ô´¾ÅÒ´ à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 áÅÐÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. S-Board V2.0 ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 3. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 ºÍà ´ 4. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹
¡Ò÷´Åͧ¡ÒÃÊ §¢ ÍÁÙÅ͹ءÃÁ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÁÒÂѧ S-Board 8.1 㪠ÊÒÂàª×Íè Áµ ͨҡ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ࢠҡѺ S-Board 8.2 㪠ÊÒ IDC-10 àª×Íè Áµ ͤ͹à¹ç¡àµÍà UART OUT ¢Í§ S-Board V2.0 ࢠҡѺ DATA BUS #1 ¢Í§ EX-01 8.3 ¨ ÒÂä¿ãË ¡ºÑ S-Board 8.4 à» ´â»Ãá¡ÃÁ lab08.vbp (ºÃèØÍÂÙ㠹ἠ¹«Õ´ÃÕ ÍÁ PC interface : Serial port experiment ã¹ä´àÃ硵ÍÃÕè NX-2000/sourcecode/lab08) ´ Ç Visual BASIC ¨Ò¡¹Ñ¹é ·íÒ¡ÒÃÃѹâ»Ãá¡ÃÁ ˹ Ò µÒ¢Í§â»Ãá¡ÃÁáÊ´§ã¹ÃÙ»·Õè P8-1
ÃÙ»·Õè P8-1 â»Ãá¡ÃÁ SerialLab «Ö§è 㪠㹡Ò÷´ÅͧàÃ×Íè §¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 87
8.5 µÑ§é ¤ Һʹàõ (Baud rate) ¢Í§¤ÍÁ¾ÔÇàµÍà 㹡Ãͺ Setting Serial Port ෠ҡѺ 9600 ºÔµµ Í ÇÔ¹Ò·Õ äÁ ÁºÕ µÔ ¾ÒÃÔµÕé (Parity : None) ºÔµ» ´· Ò (Stop Bit) à» ¹ 1 ¢¹Ò´¢ ÍÁÙÅ (Length) ෠ҡѺ 8 ºÔµ 8.6 µÑ§é ¤ ÒãË S-Board V2.0 Áպʹàõ෠ҡѺ 9600 ºÔµµ ÍÇÔ¹Ò·Õ äÁ ÁºÕ µÔ ¾ÒÃÔµÕé ºÔµ» ´· ÒÂà» ¹ 1 ¢¹Ò´¢ ÍÁÙÅ෠ҡѺ 8 ºÔµ 8.7 ·´ÅÍ§Ê §¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà 价Õè S-Board â´Â¾ÔÁ¾ abcdefg ŧ㹡Šͧ¢ ͤÇÒÁ·Õè ¡Ãͺ UART Out ´Ñ§ã¹ÃÙ» áÅ Ç¡´»ØÁ Send String
8.8 Êѧࡵ LED ã¹µíÒá˹ § PARITY ERROR áÅÐ FRAME ERROR º¹ S-Board ¢³ÐÃѺ¢ ÍÁÙÅ ¶ ÒãÊ ¨ÁÑê à»Íà ¶¡Ù µ ͧ LED ·Ñ§é 2 ´Ç§¨Ð´ÑºÊ¹Ô· áÅÐàÁ×Íè S-Board ÃѺ¢ ÍÁÙÅàÊÃç¨ LED µíÒá˹ § D0 , D1 , D2 , D5 áÅÐ D6 º¹ºÍà ´ EX-01 ¨ÐµÔ´ÊÇ Ò§ 8.9 ·´ÅÍ§Ê §¤ ÒÍ×¹è â´Â¡ÒÃàÅ×Í¡·Õªè Í § D0-D7 㹡Ãͺ UART OUT áÅ Ç¡´»ØÁ Send D0-D7 LED º¹ºÍà ´ EX-01 ã¹µíÒá˹ §à´ÕÂǡѺ·Õàè Å×͡㹡Ãͺ UART OUT ¨Ðµ ͧµÔ´ÊÇ Ò§ ËÒ¡¡Òà ¶ Ò·ʹ¢ ÍÁÙŶ١µ ͧ
¡Ò÷´Åͧà¡ÕÂè ǡѺºÍ´àõ 8.10 Âѧ¤§ãª â»Ãá¡ÃÁ Serial Lab («Ö§è ¡ç¤Í× ä¿Å lab08.vbp ·Õ¹è Òí ÁÒÃѹáÅ Ç) 㹡Ò÷´Åͧ 8.11 àÅ×Í¡¤ Һʹàõ¢Í§¤ÍÁ¾ÔÇàµÍà 㹡Ãͺ Setting Serial Port à» ¹ 4,800 ºÔµµ ÍÇÔ¹Ò·Õ ã¹ ¢³Ð·Õè S-Board ãÊ ¨ÁÑê à»Íà àÅ×Í¡ºÍ´àõ໠¹ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ 8.12 ·´ÅÍ§Ê §¤ Ò &H07 ( 0 0 0 0 0 1 1 1 ) â´ÂàÅ×Í¡·Õè D2, D1, D0 㹡Ãͺ UART OUT ¡´»ØÁ Send D0-D7 à¾×Íè ·íÒ¡ÒÃÊ §¢ ÍÁÙÅä»Âѧ S-Board ¨ÐàËç¹Ç Ò LED º¹ºÍà ´ EX-01 ¨ÐáÊ´§¢ ÍÁÙÅà» ¹ &H7E (01111110) áÅÐ LED ã¹ µíÒá˹ § FRAME ERROR º¹ S-Board V2.0 ¨ÐµÔ´ áÊ´§Ç Òà¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§à¿ÃÁ¢ ÍÁÙÅ (Framming Error) à¹×Íè §¨Ò¡ÍѵÃÒàÃçÇ㹡ÒÃÃÑºÊ §äÁ ෠ҡѹ ã¹ÃÙ»·Õè P8-2 áÊ´§ä´ÍÐá¡ÃÁ¢Í§ ¡ÒÃÊ §áÅÐÃѺ¢ ÍÁÙÅ㹡Ò÷´Åͧ¢ Í 8.12 ¨Ò¡ÃÙ»·Õè P8-2 Êѧࡵ¢ ÍÁÙÅ·Õè S-Board ÃÑºä´ ¨ÐàËç¹Ç Ò㹪 ǧàÇÅÒ 1 ºÔµ¢Í§¤ÍÁ¾ÔÇàµÍà S-Board ࢠÒã¨Ç Òà» ¹ª ǧàÇÅÒ 2 ºÔµ àÁ×Íè ¤ÍÁ¾ÔÇàµÍà ʧ ºÔµàÃÔÁè µ ¹ÍÍ¡ä» S-Board ¨ÐÃѺÃÙÇ Ò àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 88
ºÔµ àÃÔÁè µ ¹ ʶҹРËÂØ´ÃÍ
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
ºÔµ 7 ºÔµ» ´· ÒÂ
ºÔµ ºÔµ ºÔµ ºÔµ ºÔµ ºÔµ ºÔµ ºÔµ 0 1 2 3 4 5 6 7
ʶҹРËÂØ´ÃÍ
ºÔµ» ´· ÒÂ
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·ÕèÊ §¨Ò¡¤ÍÁ¾ÔÇàµÍà ºÔµàÃÔèÁµ ¹
ʶҹРËÂØ´ÃÍ
ºÔµ 0
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·Õè S-Board Í Ò¹ä´
ʶҹРËÂØ´ÃÍ
ÃÙ»·Õè P8-2 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§¡ÒÃÃÑºÊ §¢ ÍÁÙÅ͹ءÃÁÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ S-Board ·Õ·è Òí ãË à¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§à¿ÃÁ¢ ÍÁÙÅ¢Ö¹é à» ¹ºÔµàÃÔÁè µ ¹áÅТ ÍÁÙźԵáá Ê Ç¹¢ ÍÁÙźԵ 0 ,1 , 2 ¢Í§¤ÍÁ¾ÔÇàµÍà ¨Ðà» ¹¢ ÍÁÙźԵ 1,2 ¡Ñº 3,4 áÅÐ 5,6 ¢Í§ S-Board µÒÁÅíҴѺ àÁ×Íè ¤ÍÁ¾ÔÇàµÍà àÃÔÁè Ê §¢ ÍÁÙźԵ 3 S-Board ¨ÐÍ Ò¹à» ¹ ºÔµ 7 áÅкԵ» ´· Ò à¹×Íè §¨Ò¡ºÔµ» ´· Òµ ͧ໠¹Åͨԡ 1 áµ ºµÔ ·ÕÍè Ò ¹ä´ ¨Ò¡ã¹ÃÙ»·Õè P8-2 ÁÕ¤Ò à» ¹ 0 ·íÒãË S-Board äÁ ¾ººÔµ» ´· Ò ¨Ö§á¨ §¤ÇÒÁ¼Ô´¾ÅÒ´·Ò§à¿ÃÁ¢ ÍÁÙÅãË á¡ ¼ãÙ ª §Ò¹·ÃÒº 8.13 ·´Åͧà»ÅÕÂè ¹á»Å§¢ ÍÁÙÅ·Õ·è Òí ¡ÒÃÊ § áÅ Çà¢Õ¹ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·Õ¤è ÍÁ¾ÔÇàµÍÃ Ê §¡Ñº¢ ÍÁÙÅ·Õè S-Board ÃÑºä´ à»ÃÕºà·Õº¡Ñ¹ â´Â㪠µÇÑ Í ҧ¨Ò¡ÃÙ»·Õè P8-2 Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ àËÁ×͹¡Ñº¢ Í 8.12
¡Ò÷´ÅͧàÃ×Íè §¾ÒÃÔµ¢Õé ͧ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ 8.14 Âѧ¤§ãª â»Ãá¡ÃÁ Serial Lab 㹡Ò÷´Åͧ µÑ§é ¤ Òµ Ò§æ ¢Í§¤ÍÁ¾ÔÇàµÍà 㹡Ãͺ Setting Serial Port ´Ñ§¹Õé ºÍ´àõ෠ҡѺ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ ¾ÒÃÔµàÕé · ҡѺ¤Ù (Even) ¤ÇÒÁÂÒÇ¢ ÍÁÙÅ 8 ºÔµ ºÔµ» ´· Ò 1 ºÔµ 8.15 µÑ§é ¤ Ңͧ S-Board ãË àËÁ×͹¤ÍÁ¾ÔÇàµÍà ᵠ¾ÒÃÔµàÕé Å×Í¡ äÁ ÁºÕ µÔ ¾ÒÃÔµÕé (None) â´ÂãÊ ¨ÑÁê à»Íà ·µÕè Òí á˹ § PI 8.16 Ê §¤ Ò &H0D (00001101) ¨Ò¡¤ÍÁ¾ÔÇàµÍà Êѧࡵ¼Å¢Í§ LED º¹ºÍà ´ EX-01 áÅÐ LED áÊ´§¤ÇÒÁ¼Ô´¾ÅÒ´µ Ò§æ º¹ S-Board àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 89
8.17 à»ÅÕÂè ¹¤ ÒºÔµ¾ÒÃÔµ¢Õé ͧ S-Board ãË à» ¹ ¤Ù (Even) â´Â¶Í´¨ÑÁê à»Íà ·Õè PI áÅÐ O/E ÍÍ¡ ·íÒ¡ÒÃÊ §¤ Ò &H0D (00001101) ¨Ò¡¤ÍÁ¾ÔÇàµÍà Êѧࡵ¼Å¢Í§ LED º¹ºÍà ´ EX-01 áÅÐ LED áÊ´§¤ÇÒÁ¼Ô´¾ÅÒ´µ Ò§æ º¹ S-Board 8.18 à»ÅÕÂè ¹¤ ÒºÔµ¾ÒÃÔµ¢Õé ͧ S-Board ãË à» ¹ ¤Õè (Odd) â´ÂãÊ ¨ÁÑê à»Íà ·µÕè Òí á˹ § O/E Êѧࡵ ¼Å¢Í§ LED º¹ºÍà ´ EX-01 áÅÐ LED áÊ´§¤ÇÒÁ¼Ô´¾ÅÒ´µ Ò§æ º¹ S-Board ¼Å¡Ò÷´Åͧ㹢 Í 8.16-8.18 ¨Ð㪠û٠·Õè P8-3 »ÃСͺ㹡ÒÃ͸ԺÒ ¨ÐàËç¹Ç Ò¢ ÍÁÙÅ·Õè S-Board ä´ ÃѺ¨Ò¡¡Ò÷´Åͧ¢ Í 8.16-8.18 µÃ§¡Ñº¤ Ò·Õ¤è ÍÁ¾ÔÇàµÍà ʧ ÍÍ¡ÁÒ áµ ã¹¢ Í 8.18 ¨Ð¾ºÇ Ò LED ã¹µíÒá˹ § PARITY ERROR ¨ÐµÔ´ áÊ´§Ç Òà¡Ô´¼Ô´¾ÅÒ´´ Ò¹¾ÒÃÔµ¢Õé ¹Öé à¹×Íè §¨Ò¡·Õ¤è ÍÁ¾ÔÇàµÍà µ§Ñé ¤ Ò¾ÒÃÔµàÕé » ¹¤Ù «Ö§è µ ͧ ÁÕ¨Òí ¹Ç¹ÃÇÁ¢Í§ºÔµ·Õàè » ¹ 1 à» ¹¨íҹǹ¤Ù ¢ ÍÁÙÅ·Õ·è Òí ¡ÒÃÊ §ÁÕºµÔ ·Õàè » ¹ 1 3 ºÔµ ¨Ö§µ ͧãË ¡Òí ˹´ºÔµ¾ÒÃÔ µÕàé » ¹ 1 ´ Ç ¨Ö§¨Ðà» ¹¾ÒÃÔµ¤Õé Ù áµ ·Õè S-Board µÑ§é ¤ ÒàÍÒäÇ à» ¹¾ÒÃÔµ¤Õé Õè àÁ×Íè S-Board µÃǨÊͺ¢ ÍÁÙÅ·ÕÃè ºÑ ÁÒ ¾ºÇ ÒÁÕ¨Òí ¹Ç¹ºÔµ·Õàè » ¹ 1 ÃÇÁºÔµ¾ÒÃÔµ´Õé Ç Â·Ñ§é ÊÔ¹é 4 ºÔµ ·íÒãË à¡Ô´¤ÇÒÁ¼Ô´¾ÅҴ㹡ÒÃÃÑºÊ §¢Ö¹é ºÔµ àÃÔÁè µ ¹
ºÔµ 0
ʶҹÐËÂØ´ÃÍ
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
ºÔµ 7
ºÔµ¾ÒÃÔµéÕ ºÔµ» ´· ÒÂ
ʶҹÐËÂØ´ÃÍ
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·ÕèÊ §¨Ò¡¤ÍÁ¾ÔÇàµÍà ºÔµ àÃÔÁè µ ¹
ʶҹРËÂØ´ÃÍ
ºÔµ 0
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
ºÔµ 7 ºÔµ» ´· ÒÂ
ʶҹÐËÂØ ´ÃÍ
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·Õè S-Board Í Ò¹ä´ (äÁ ÁÕºÔµ¾ÒÃÔµÕé) ºÔµ àÃÔÁè µ ¹
ʶҹÐËÂØ´ÃÍ
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
ºÔµ 7
ºÔµ¾ÒÃÔµéÕ ºÔµ» ´· ÒÂ
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·Õè S-Board Í Ò¹ä´ ( ¾ÒÃÔµÕé¤Ù ) ºÔµ àÃÔÁè µ ¹
ʶҹÐËÂØ´ÃÍ
ºÔµ 0
ºÔµ 0
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
ºÔµ 7
ʶҹÐËÂØ´ÃÍ
ºÔµ¾ÒÃÔµÕé ºÔµ» ´· ÒÂ
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·Õè S-Board Í Ò¹ä´ (¾ÒÃÔµÕé¤Õè )
ʶҹÐËÂØ´ÃÍ
ÃÙ»·Õè P8-3 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§¡ÒÃÃÑºÊ §¢ ÍÁÙÅÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ S-Board ã¹¡Ã³Õ ·ÕÁè ¡Õ ÒõÃǨÊͺ¾ÒÃÔµãÕé ¹Åѡɳе Ò§æ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 90
8.19 ·´ÅÍ§Ê §¤ ÒÍ×¹è æ áÅÐà»ÅÕÂè ¹¤ Ò¾ÒÃÔµ·Õé ¤Õè ÍÁ¾ÔÇàµÍà ¡ºÑ S-Board áÅ Çà¢Õ¹ä´ÍÐá¡ÃÁàÇÅÒ »ÃСͺáÊ´§¼Å·Õàè ¡Ô´¢Ö¹é â´Â㪠û٠·Õè P8-3 à» ¹µÑÇÍ ҧ
¡Ò÷´Åͧà¡ÕÂè ǡѺ¤ÇÒÁÂÒǢͧ¢ ÍÁÙÅ㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ 8.20 Âѧ¤§ãª â»Ãá¡ÃÁ Serial Lab 㹡Ò÷´Åͧ µÑ§é ¤ Òµ Ò§æ ¢Í§¤ÍÁ¾ÔÇàµÍà 㹡Ãͺ Setting Serial Port ´Ñ§¹Õé ºÍ´àõ෠ҡѺ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ äÁ Á¾Õ ÒÃÔµÕé ¤ÇÒÁÂÒÇ¢ ÍÁÙÅ 8 ºÔµ ºÔµ» ´ · ÒÂ෠ҡѺ 1 8.21 µÑ§é ¤ Ò·Õè S-Board àËÁ×͹¤ÍÁ¾ÔÇàµÍà ᵠ¤ÇÒÁÂÒÇ¢ ÍÁÙÅà» ¹ 7 ºÔµ â´Â¶Í´¨ÑÁê à»Íà ·Õè µíÒá˹ § DL ÍÍ¡ ·íÒ¡ÒÃÊ §¤ Ò &HC5 (11000101) ¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»Âѧ S-Board Êѧࡵ LED º¹ºÍà ´ EX-01 ¨ÐàËç¹ä´ ÇÒ LED áÊ´§¼Åà¾Õ§ 7 ºÔµ µÑ§é áµ ºµÔ D0-D6 ¼Å¡Ò÷´Åͧ㹢 Í 8.21 ¹Õ¨é Ð㪠û٠·Õè P8-4 »ÃСͺ㹡ÒÃ͸ԺÒ ¨Ò¡ÃÙ»¾ºÇ Ò ¢ ÍÁÙŢͧµÑÇÃѺáÅÐ µÑÇÊ §µÃ§¡Ñ¹µÑ§é áµ ºµÔ àÃÔÁè µ ¹¨¹¶Ö§ºÔµ 6 àÁ×Íè ¶Ö§ºÔµ 7 ¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ¨ÐµÃ§¡ÑººÔµ» ´· Ò¢ͧ S-Board ·íÒãË S-Board ࢠÒã¨Ç Òà» ¹ºÔµËÂØ´ ¶ ÒºÔµ¹Õàé » ¹ 0 ¨Ð·íÒãË à¡Ô´à¿ÃÁ¢ ÍÁÙżԴ¾ÅÒ´ ¶ Òà» ¹ 1 ¨ÐäÁ à¡Ô´ ¤ÇÒÁ¼Ô´¾ÅÒ´ã´æ ¢Ö¹é
8.22 ·´ÅÍ§Ê §¤ ÒÍ×¹è æ áÅÐà»ÅÕÂè ¹¤ Ò¾ÒÃÔµ·Õé ¤Õè ÍÁ¾ÔÇàµÍà ¡ºÑ S-Board áÅ Çà¢Õ¹ä´ÍÐá¡ÃÁàÇÅÒ »ÃСͺáÊ´§¼Å·Õàè ¡Ô´¢Ö¹é â´Â㪠û٠·Õè P8-4 à» ¹µÑÇÍ ҧ ºÔµ àÃÔèÁµ ¹
ºÔµ 0
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6
ºÔµ 7 ºÔµ» ´· ÒÂ
ʶҹРËÂØ´ÃÍ
ʶҹРËÂØ´ÃÍ ºÔµ àÃÔèÁµ ¹
ʶҹРËÂØ´ÃÍ
ºÔµ 0
ºÔµ 1
ºÔµ 2
ºÔµ 3
ºÔµ 4
ºÔµ 5
ºÔµ 6 ºÔµ» ´· ÒÂ
ä´ÍÐá¡ÃÁàÇÅҢͧ¢ ÍÁÙÅ·Õè S-Board Í Ò¹ä´
ʶҹРËÂØ´ÃÍ
ÃÙ»·Õè P8-4 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§¡ÒÃÃÑºÊ §¢ ÍÁÙÅ͹ءÃÁ㹡óշ¤Õè ÇÒÁÂÒǢͧ¢ ÍÁÙÅäÁ ෠ҡѹ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 91
..
º··Õè 8
¡ÒÃàª×èÍÁµ ;Íà µÍ¹Ø¡ÃÁ ¡ÑºÃкººÑÊ I2C I2C  ÍÁÒ¨Ò¡ Inter-IC Communication ËÁÒ¶֧ ¡ÒõԴµ ÍÊ×Íè ÊÒÃÃÐËÇ Ò§äÍ«Õ â´ÂºÑÊ I2C ä´ ÃºÑ ¡ÒþѲ¹Ò¢Ö¹é â´Â¿ Å»Ô Ê (Philips) ´ ǨشÁا ËÁÒÂËÅÑ¡¤×Í µ ͧ¡ÒÃãË äÍ«ÕËÃ×ÍâÁ´ÙÅÊÒÁÒö µÔ´µ Í ÊÑ§è §Ò¹ áÅФǺ¤ØÁÀÒÂãµ ÊÒÂÊÑÒ³à¾Õ§ 2 àÊ ¹ àÊ ¹Ë¹Ö§è ¤×Í ÊÒ¢ ÍÁÙÅ ÍÕ¡àÊ ¹Ë¹Ö§è ¤×Í ÊÒÂÊÑÒ³¹ÒÌ ¡Ò·Õè㪠㹡ÒáíÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹ ¡Òõ Íà ÇÁ¡Ñ¹¢Í§ÍØ»¡Ã³ º¹ºÑÊ I2C ·íÒä´ §Ò ÂÁÒ¡ à¾Õ§µ ÍÊÒ¢ ÍÁÙÅáÅÐÊÒÂÊÑÒ³¹ÒÌ ¡Ò¢Í§ÍØ»¡Ã³ áµ ÅеÑÇ¢¹Ò¹ËÃ×; ǧ¡Ñ¹ä» Ê Ç¹¡ÒáíÒ˹´áÍ´à´ÃÊËÃ×͵íÒá˹ §ÊíÒËÃѺµÔ´µ ÍÍØ»¡Ã³ áµ ÅеÑÇ ¨Ð㪠ÃËÑÊ¢ ÍÁÙÅáÅСÒà ¡íÒ˹´ÊÀÒÇÐÅͨԡ·Õè¢ÒáÍ´à´ÃʢͧÍØ»¡Ã³ áµ ÅеÑÇ ÊÒ¢ ÍÁÙź¹ºÑÊ I2C ÁÕªÍ×è àÃÕ¡Í ҧ໠¹·Ò§¡ÒÃÇ Ò ÊÒ¢ ÍÁÙÅ͹ءÃÁ ËÃ×Í SDA (Serial Data line) Ê Ç¹ÊÒÂÊÑÒ³¹ÒÌ ¡ÒÁÕªÍ×è àÃÕÂ¡Ç Ò ÊÒÂÊÑÒ³¹ÒÌ ¡Ò͹ءÃÁ ËÃ×Í SCL (Serial Clock line) 㹡ÒÃ͸ԺÒµ Í仹ըé ÐàÃÕ¡ÊÒÂÊÑÒ³·Ñ§é ÊÍ§Ç Ò ÊÒ SDA áÅÐ SCL ÍØ»¡Ã³ ·Õè㪠¡ÒÃàª×èÍÁµ Í´ ǺÑÊ I2C ÁÕËÅÒ¡ËÅÒ äÁ Ç Ò¨Ðà» ¹äÍ«Õ¢ÂÒ¾Íà µ (I/O Expander), äÍ«Õá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ (ADC) áÅÐá»Å§ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ÍÐ¹Ò ÅÍ¡ (DAC), äÍ«ÕÃÅÕ ä·Á ¤ÅçÍ¡ (RTC), äÍ«Õ¢ºÑ âÁ´ÙÅ LCD, ˹ ǤÇÒÁ¨íÒÍÕÍ¾Õ ÃÍÁ áÅÐäÁâ¤Ã ¤Í¹â·ÃÅàÅÍÃ
¤Ø³ÊÁºÑµâÔ ´Â·ÑÇè 仢ͧºÑÊ I2C ÊÒ SDA áÅÐ SCL à» ¹ÊÒÂÊÑÒ³ 2 ·ÔÈ·Ò§ (bi-directional line) µ ͧÁÕ¡Òõ ͵Ñǵ Ò¹ ·Ò¹¾ÙÅÍÑ»¡Ñºáç´Ñ¹ +5V äÇ µÅÍ´àÇÅÒ à¾×èÍãË ÊÒÂÁÕʶҹÐÅͨԡÊ٧㹢³Ð·ÕèäÁ ÁÕ¡ÒõԴµ Í㪠§Ò¹ ·Ñé§Âѧª ÇÂ㹡Òû ͧ¡Ñ¹ÊÑҳú¡Ç¹·ÕèÍÒ¨ÁÕࢠÒÁÒã¹ÊÒÂÊÑÒ³·Ñé§Êͧǧ¨ÃàÍÒµ ¾Øµ ¢Í§ÍØ»¡Ã³ ·µÕè Í ÍÂÙº ¹ºÑÊ I2C µ ͧÁÕÅ¡Ñ É³Ðà» ¹Ç§¨Ãà´Ã¹à» ´ (open-drain) ËÃ×ͤÍÅàÅç¡àµÍà ໠´ (open-collector) ´Ñ§áÊ´§ÃÒÂÅÐàÍÕ´ã¹ÃÙ»·Õè 8-1 ÍѵÃÒ¡Òö Ò·ʹ¢ ÍÁÙź¹ºÑÊ I2C ÊÙ§¶Ö§ 100 ¡ÔâźԵµ ÍÇÔ¹Ò·Õã¹âËÁ´»¡µÔ (standard mode) áÅÐÊÙ§¶Ö§ 400 ¡ÔâźԵµ ÍÇÔ¹Ò·Õã¹âËÁ´¤ÇÒÁàÃçÇÊÙ§ (fast mode) ÍØ»¡Ã³ ·µÕè Í Ã ÇÁÍÂÙº ¹ ºÑÊ I2C ¨Ðµ ͧÁÕ¤Ò ¤ÇÒÁ¨Øä¿¿ ÒÃÇÁ·Õàè ¡Ô´¢Ö¹é ÃÐËÇ Ò§ÊÒ SDA áÅÐ SCL äÁ à¡Ô¹ 400pF ¡ÒÃà¢ Ò ¶Ö§ÍØ»¡Ã³ º¹ºÑÊ I2C ÁÕ 2 Ẻ¤×ÍẺ 7 ºÔµ (7-bit addressing) ËÃ×Í 10 ºÔµ (8-bit addressing) àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 93
+5V
R2
SDA (Serial Data line)
R2
SCL (Serial Clock line)
SCLKN1 OUT
DATAN1 OUT
SCLKN2 OUT
DATAN2 OUT
SCLK IN
DATA IN
SCLK IN
DATA IN
ÍØ»¡Ã³ I C ºÑÊ µÑÇ·Õè 1
ÍØ»¡Ã³ I C ºÑÊ µÑÇ·Õè 2
ÃÙ»·Õè 8-1 â¤Ã§Êà ҧǧ¨ÃàÍÒµ ¾µØ ¢Í§ÍØ»¡Ã³ ·ãÕè ª ¡ÒÃàª×Íè Áµ ͺ¹ÃкººÑÊ I2C ¢ Íà´ ¹ÍÕ¡»ÃСÒÃ˹Ö觢ͧºÑÊ I2C ¤×Í ÊÒÁÒöàª×èÍÁµ ÍÍØ»¡Ã³ ·Õè㪠ä¿àÅÕé§äÁ ෠ҡѹãË ÊÒÁÒöµÔ´µ ÍÊ×Íè ÊÒÃ¡Ñ¹ä´ â´ÂÍØ»¡Ã³ º¹ºÑÊ I2C µÑÇ˹֧è ÍҨ㪠ä¿àÅÕÂé § +5V ã¹¢³Ð·ÕÍè ¡Õ µÑÇ˹֧è 㪠ä¿àÅÕÂé § +12V ¡Òõ Íà ÇÁ¡Ñ¹º¹ºÑÊ I2C ÊÒÁÒö¡ÃзíÒä´ ã¹ÅѡɳÐà´ÕÂǡѺ¡Ã³Õ·ÍÕè »Ø ¡Ã³ ·Ñ§é Êͧ㪠ä¿àÅÕÂé §à· Ò¡Ñ¹ ¡Å ÒǤ×Í ãË µÍ ÊÒ SDA áÅÐ SCL ¢Í§ÍØ»¡Ã³ áµ ÅеÑÇࢠҴ Ç¡ѹ áÅÐ µ ͧµ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ» (RP) ࢠҡѺáç´Ñ¹ +5V äÇ ´Ç ÂàÊÁÍ ´Ñ§áÊ´§ã¹ÃÙ»·Õè 8-2 㹡óշÕèÍÒ¨ÁÕáç´Ñ¹ä¿¡ÃЪҡ¢¹Ò´ãË »Ð»¹à¢ ÒÁÒ㹺ÑÊ I2C ·Õè¢Ò SDA áÅÐ SCL ¢Í§ÍØ»¡Ã³ áµ ÅеÑǵ ͧµ ͵Ñǵ Ò¹·Ò¹Í¹Ø¡ÃÁ¡Ñº¢Ò SDA áÅÐ SCL àÃÕÂ¡Ç Ò RS ¡ ͹µ ÍࢠÒÊÙº ÊÑ I2C ´Ñ§áÊ´§ã¹ÃÙ»·Õè 8-3
R2
R2
+5V
+9V
+12V
+12V
ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ NMOS
ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ BICMOS
ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ CMOS
ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ BIPOLAR
SDA SCL
ÃÙ»·Õè 8-2 áÊ´§¡ÒÃàª×Íè Áµ ÍÍØ»¡Ã³ º¹ÃкººÑÊ I2C ·Õãè ª ä¿àÅÕÂé §äÁ ෠ҡѹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 94
R2 SDA
R2
+5V
+5V
ÍØ»¡Ã³ 1 + ºÑÊ
ÍØ»¡Ã³ 1 + ºÑÊ
R5
R5
R5
R5
SCL
ÃÙ»·Õè 8-3 ¡Òõ ͵Ñǵ Ò¹·Ò¹à¾×Íè » ͧ¡Ñ¹áç´Ñ¹¡ÃЪҡ·ÕÍè Ò¨»Ð»¹à¢ ÒÁÒã¹ä¿àÅÕÂé §¢Í§ ÍØ»¡Ã³ ã¹ÃкººÑÊ I2C
ËÅÑ¡¡ÒâͧºÑÊ I2C ºÑÊ I2C »ÃСͺ´ ÇÂÊÒÂÊÑÒ³ 2 àÊ ¹ ´Ñ§·Õäè ´ ¡Å ÒÇÁÒáŠǤ×Í SDA áÅÐ SCL ÍØ»¡Ã³ ·Õµè Í ¾ ǧº¹ºÑÊÊÒÁÒöÁÕä´ ÁÒ¡ÁÒ ´Ñ§¹Ñ¹é ¨Ö§µ ͧÁÕ¡ÒáíÒ˹´ÃٻẺ¢Í§¡ÒõԴµ ͺ¹ºÑÊ ËÃ×Í àÃÕÂ¡Ç Ò â»ÃⵤÍÅ (protocol) à¾×Íè ãË ¼ãÙ ª §Ò¹·ÃÒºÇ Ò ¢³Ð¹ÕÍé »Ø ¡Ã³ ã´µÔ´µ ͡ѹÍÂÙ áÅÐÍØ»¡Ã³ µÑÇã´à» ¹µÑÇÃѺËÃ×͵ÑÇÊ § µ Í仹ըé ТÍ͸ԺÒÂÅѡɳР˹ Ò·Õè áÅйÔÂÒÁ¢Í§ÍØ»¡Ã³ ·µÕè Í ÍÂÙº ¹ºÑÊ I2C à¾×Íè à» ¹¢ ͵¡Å§¾×¹é °Ò¹¡ ͹·Õ¨è Ð͸ԺÒ¡Ò÷íÒ§Ò¹¢Í§ºÑÊ I2C µ Íä» ÍØ»¡Ã³ ·àÕè » ¹¼ÙÊ Ã Ò§¢ ÍÁÙÅËÃ×ÍÊ §¢ ÍÁÙÅ àÃÕÂ¡Ç Ò µÑÇÊ § (transmitter) ÍØ»¡Ã³ ·àÕè » ¹¼Ùà ºÑ ¢ ÍÁÙÅ àÃÕÂ¡Ç Ò µÑÇÃѺ (receiver) ã¹ÍØ»¡Ã³ º¹ºÑÊ I2C ÊÒÁÒö໠¹ä´ ·Ñ駵ÑÇÃѺáÅеÑÇÊ § ºÒ§ÍØ»¡Ã³ ·íÒ˹ Ò·Õèà» ¹µÑÇÃѺ à¾Õ§Í ҧà´ÕÂÇ ¨ÐäÁ ÁÍÕ »Ø ¡Ã³ ã´º¹ºÑÊ I2C ·Õ·è Òí ˹ Ò·Õàè » ¹µÑÇÊ §à¾Õ§Í ҧà´ÕÂÇ ÍØ»¡Ã³ ·Õè·íÒ˹ Ò·Õè¤Çº¤ØÁ¨Ñ§ËÇСÒ÷íÒ§Ò¹ËÃ×Í¡ÒõԴµ ͺ¹ºÑÊ I2C àÃÕÂ¡Ç Ò ÁÒÊàµÍà (master) ÍØ»¡Ã³ ·¶Õè ¡Ù ¤Çº¤ØÁËÃ×ÍÍØ»¡Ã³ ·µÕè Í ¾ ǧࢠÒ仺¹ºÑÊ I2C àÃÕÂ¡Ç Ò ÊàÅ¿ (slave) ¢ Í¡íÒ˹´ 2 »ÃСÒÃÊíҤѢͧ¡ÒõԴµ ͺ¹ºÑÊ I2C ¤×Í (1) ¡Òö Ò·ʹ¢ ÍÁÙŨÐà¡Ô´¢Ö¹é ä´ àÁ×Íè ºÑÊÇ Ò§à· Ò¹Ñ¹é (2) ã¹ÃÐËÇ Ò§¡Òö Ò·ʹ¢ ÍÁÙÅ àÁ×Íè ã´¡çµÒÁ·ÕÊè Ò SCL ÁÕʶҹÐà» ¹ÅͨԡÊÙ§ ÊÒ¢ ÍÁÙÅ µ ͧÃÑ¡ÉÒ¢ ÍÁÙÅäÇ Í ÒãË à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§¢Ö¹é à´ç´¢Ò´ Áԩйѹé ÊÑÒ³·Õàè ¡Ô´¢Ö¹é ¨Ðä´ ÃºÑ ¡Òà á»Å¤ÇÒÁËÁÒÂà» ¹ÊÑÒ³¤Çº¤ØÁá·¹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 95
ÊÀÒÇзÕàè ¡Ô´¢Ö¹é º¹ºÑÊ I2C ÁÕ´Ç Â¡Ñ¹ 5 ÊÀÒÇÐ ´Ñ§¹Õé (1) ºÑÊÇ Ò§ (Bus not busy) ÊÀÒÇйÕàé ¡Ô´¢Ö¹é àÁ×Íè ʶҹÐÅͨԡº¹ÊÒ SDA áÅÐ SCL à» ¹ ÅͨԡÊÙ§·Ñ§é ¤Ù ¹Ñ¹è ËÁÒ¤ÇÒÁÇ Ò ¡Òö Ò·ʹ¢ ÍÁÙÅÊÒÁÒöàÃÔÁè µ ¹¢Ö¹é ä´ (2) àÃÔÁè µ ¹¡Òö Ò·ʹ¢ ÍÁÙÅ (start data transfer) à¡Ô´¢Ö¹é àÁ×Íè ÊÒ SDA à»ÅÕÂè ¹ÃдѺ Åͨԡ¨Ò¡Ê٧仵èÒí ã¹¢³Ð·ÕÊè Ò SCL ÁÕʶҹÐÅͨԡÊÙ§ àÃÕ¡ÊÀÒÇзÕàè ¡Ô´¢Ö¹é ¹ÕÇé Ò ÊÀÒÇÐàÃÔÁè µ ¹ (START) (3) ¢ ÍÁÙÅ´íÒçÍÂÙº ¹ºÑÊ (data valid) ÊÀÒÇйÕàé ¡Ô´¢Ö¹é ¶Ñ´¨Ò¡ÊÀÒÇÐàÃÔÁè µ ¹ â´ÂʶҹРÅͨԡ·Õàè ¡Ô´¢Ö¹é º¹ÊÒ SDA ¡ç¤Í× ¢ ÍÁÙÅ·Õ·è Òí ¡Òö Ò·ʹ àÁ×Íè ÊÒ SCL à» ¹ÅͨԡÊÙ§ ʶҹзÕÊè Ò SDA µ ͧ¤§·Õè à¾×Íè ãË Í»Ø ¡Ã³ ÃºÑ ÃÙ¢ Í ÁÙÅ㹨ѧËÇйѹé Ç Ò à» ¹ 0 ËÃ×Í 1 ¢ ÍÁÙÅÍÒ¨à¡Ô´¡Òà à»ÅÕÂè ¹á»Å§ä´ ã¹¢³Ð·ÕÊè Ò SCL à» ¹ÅͨԡµèÒí áµ àÁ×Íè ã´¡çµÒÁ·Õµè Í §¡ÒÃãË à¡Ô´¡Òö Ò·ʹ¢ ÍÁÙÅ Í ҧÊÁºÙó ʶҹÐÅͨԡ·Õ¢è Ò SDA µ ͧ¤§·Õµè ÅÍ´ª ǧàÇÅÒ·ÕÊè Ò SCL ÁÕʶҹÐÅͨԡÊÙ§ ËÒ¡ à¡Ô´¡ÒÃà»ÅÕè¹á»Å§Ê¶Ò¹ÐÅͨԡ㹢³Ð·ÕèÊÒ SCL ÁÕÅͨԡÊÙ§ÍÂÙ ¹Ñé¹ ÍØ»¡Ã³ ÁÒÊàµÍà ·Õè·íÒ¡Òà ¤Çº¤ØÁ¡Òö Ò·Í´¢ ÍÁÙŨÐá»Å¤ÇÒÁËÁÒÂà» ¹ÊÀÒÇÐËÂØ´ËÃ×ÍÊÀÒÇÐàÃÔÁè µ ¹¡çä´ ·íÒãË ¢Í ÁÙÅ·Õè ·íÒ¡Òö Ò·ʹ¹Ñ¹é à¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´¢Ö¹é (4) ÃѺÃÙ¢ Í ÁÙÅ (acknowledge) à¡Ô´¢Ö¹é ËÅѧ¨Ò¡·Õ¡è Òö Ò·ʹ¢ ÍÁÙŨҡµÑÇÊ §ÁÒÂѧµÑÇÃѺ à¡Ô´¢Ö¹é Í ҧÊÁºÙó â´ÂµÑÇÊ §¨Ð·íÒ¡ÒÃÊ §¢ ÍÁÙÅÁÒ 1 ºÔµàÃÕÂ¡Ç Ò ºÔµÃѺÃÙ (acknowledge bit) ÁÕ Ê¶Ò¹Ðà» ¹ÅͨԡÊÙ§ ËÅѧ¨Ò¡Ê §¢ ÍÁÙÅÁҤú¶ ǹ Ê Ç¹ÍØ»¡Ã³ ÁÒÊàµÍà ¨Ð·íÒ¡ÒÃÊ §ÊÑÒ³ÃѺÃÙ ¾ÔàÈÉ«Ö§è ÊÑÁ¾Ñ¹¸ ¡ºÑ ÊÑÒ³¹ÒÌ ¡Ò ÍØ»¡Ã³ ÊàÅ¿·Õ¶è ¡Ù Í Ò§¶Ö§ã¹¡ÒõԴµ ÍËÃ×Í¡íÒÅѧµÔ´µ ÍÍÂÙã ¹¢³Ð ¹Ñ¹é ¡ç¨Ð¡íÒà¹Ô´ºÔµÃѺÃÙ· ÁÕè ÊÕ ¶Ò¹ÐÅͨԡµèÒí à¾×Íè µÍºÊ¹Í§ãË ·ÃÒºÇ Òä´ ÃºÑ ¢ ÍÁÙÅàÃÕºà ÍÂáÅ Ç SDA à»ÅÕÂè ¹¨Ò¡ "1" à» ¹ "0" ã¹¢³Ð·Õè SCL à» ¹ "1" ¹Õ¤è ×Í ÊÀÒÇÐàÃÔÁè µ ¹
SDA à»ÅÕÂè ¹¨Ò¡ "0" à» ¹ "1" ã¹¢³Ð·Õè SCL à» ¹ "1" ¹Õ¤è ×Í ÊÀÒÇÐËÂØ´
SDA
SCL
SDA à» ¹ "1" SCL à» ¹ "1" ÊÀÒÇкÑÊÇ Ò§
SDA ¤§·Õ·è ÅèÕ Í¨Ô¡ "0" SDA ¤§·Õ·è ÅèÕ Í¨Ô¡ "1" ã¹¢³Ð·Õè SCL à» ¹ "1" ¶×Íà» ¹ ã¹¢³Ð·Õè SCL à» ¹ "1" ¶×Íà» ¹ ¡Òö Ò·ʹ¢ ÍÁÙÅ "0" ¡Òö Ò·ʹ¢ ÍÁÙÅ "1"
ÃÙ»·Õè 8-4 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§ÊÀÒÇе Ò§æ ·Õàè ¡Ô´¢Ö¹é º¹ÃкººÑÊ I2C àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 96
(5) ËÂØ´¡Òö Ò·ʹ¢ ÍÁÙÅ (stop data transfer) à¡Ô´¢Ö¹é àÁ×Íè ÊÒ SDA ÁÕ¡ÒÃà»ÅÕÂè ¹ á»Å§ÃдѺÅͨԡ¨Ò¡µèÒí ä»ÊÙ§ ã¹¢³Ð·ÕÊè Ò SCL ÁÕʶҹÐÅͨԡÊÙ§ àÃÕ¡ÊÀÒÇзÕàè ¡Ô´¢Ö¹é ¹ÕÇé Ò ÊÀÒÇÐ ËÂØ´ (STOP) ã¹ÃÙ»·Õè 8-4 à» ¹ä´ÍÐá¡ÃÁàÇÅÒ·Õáè Ê´§¶Ö§¡ÒÃà¡Ô´ÊÀÒÇе Ò§æ º¹ºÑÊ I2C äÁ ÇÒ ¨Ðà» ¹ÊÀÒÇÐ ºÑÊÇ Ò§,àÃÔÁè µ ¹, ¶ Ò·ʹ¢ ÍÁÙÅ, ÃѺÃÙ áÅÐËÂØ´¡Òö Ò·ʹ¢ ÍÁÙÅ
¡Ò÷íÒ§Ò¹º¹ºÑÊ I2C ¡ ͹·Õè¨ÐàÃÔèÁµ ¹¡Òö Ò·ʹ¢ ÍÁÙÅÃÐËÇ Ò§ÍØ»¡Ã³ µ Ò§æ ·Õèµ ÍÍÂÙ º¹ºÑÊ µ ͧÁÕ¡ÒÃÍ Ò§¶Ö§ ÍØ»¡Ã³ àÊÕ¡ ͹ â´Â¡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ º¹ºÑÊ I2C ¹Ñ鹨Ð㪠¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµËÃ×Í 10 ºÔµ 㹡óշÁÕè ÍÕ »Ø ¡Ã³ µÍ ÍÂÙº ¹ºÑÊäÁ ÁÒ¡ 㪠¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ¡çà¾Õ§¾Í áµ ¶Ò ÁÕÍ»Ø ¡Ã³ µÍ ÍÂÙ º¹ºÑÊÁÒ¡¡Ç Ò 127 áÍ´à´ÃÊ ¨íÒà» ¹µ ͧ㪠¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ ËÅѧ¨Ò¡·ÕèµÔ´µ ÍÍØ»¡Ã³ áµ ÅеÑÇä´ àÃÕºà ÍÂáÅ Ç ¡ç¨ÐàÃÔÁè µ ¹¡Òö Ò·ʹ¢ ÍÁÙšѹµ Íä» ´Ñ§¹Ñ¹é ËÑÇã¨ÊíÒ¤Ñã¹Íѹ´Ñºáá¢Í§¡Ò·íÒ§Ò¹º¹ºÑÊ I2C ¤×Í¡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ áµ ÅеÑÇ «Ö§è ã¹·Õ¹è ¨Õé Ð͸ԺÒÂÃÒÂÅÐàÍÕ´¢Í§¡ÒÃÍ Ò§¶Ö§·Ñ§é 2 ÃٻẺ
¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ (7-bit addressing) ¢ ÍÁÙÅ亵 áá·Õàè ¡Ô´¢Ö¹é ËÅѧ¨Ò¡ÊÀÒÇÐàÃÔÁè µ ¹¤×Í ¢ ÍÁÙÅ·Õãè ª 㹡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ ·µÕè Í §¡Òà µÔ´µ Í â´ÂÁÕû٠ẺáÊ´§ã¹ÃÙ»·Õè 8-5 ã¹ 7 ºÔµº¹ÃÇÁ·Ñ§é ºÔµ MSB ´ ǨÐà» ¹¢ ÍÁÙÅáÍ´à´ÃÊ ¢Í§ÍØ»¡Ã³ ÊàÅ¿·Õµè Í §¡ÒõԴµ Í â´ÂẠ§à» ¹ ºÔµ¡íÒ˹´áÍ´à´Ãʤ§·Õè (fixed address bit) ¨íҹǹ 4 ºÔµ «Ö§è ¢ ÍÁÙŹÕÍé »Ø ¡Ã³ áµ ÅеÑǨж١¡íÒ˹´ÁÒ¨Ò¡¼Ù¼ ÅÔµ äÁ ÊÒÁÒöà»ÅÕÂè ¹á»Å§á¡ ä¢ä´ ¶Ñ´ÁÒ ÍÕ¡ 3 ºÔµà» ¹ºÔµ¡íÒ˹´áÍ´à´ÃÊ·ÕÊè ÒÁÒöâ»Ãá¡ÃÁä´ (programmable address bit) â´Â¼Ùã ª §Ò¹µ ͧ¡íÒ˹´Ê¶Ò¹ÐÅͨԡãË á¡ ¢Ò A0-A2 ¢Í§ÍØ»¡Ã³ ·ÁÕè ¡Õ ÒÃàª×Íè Áµ ÍẺºÑÊ I2C Ê Ç¹ã¹ºÔµ LSB à» ¹ºÔµ·Õãè ª ¡Òí ˹´¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺÍØ»¡Ã³ ÊàÅ¿µÑǹѹé æ ËÒ¡ºÔµ LSB à» ¹ 0 ËÁÒ¶֧µ ͧ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÍØ»¡Ã³ ¹¹Ñé ¶ Òà» ¹ 1 ¨Ðà» ¹¡ÒÃÍ Ò¹¢ ÍÁÙŨҡÍØ»¡Ã³ ÊàÅ¿ ºÔµ 7
ºÔµ 6
ºÔµ 5
ºÔµ 4
ºÔµ 3
ºÔµ 2
ºÔµ 1
ºÔµ 0
X
X
X
X
A2
A1
A0
R/W
ºÔµ¡íÒ˹´áÍ´à´Ãʤ§·Õè
ºÔµ¡íÒ˹´áÍ´à´ÃÊ â»Ãá¡ÃÁä´
ÃÙ»·Õè 8-5 ÃٻẺ¢Í§¢ ÍÁÙÅ·Õãè ª 㹡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ º¹ÃкººÑÊ I2C àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 97
¢ ÍÁÙÅ亵 ·Õè 1 àÅ×Í¡áÍ´à´Ãʢͧ ÍØ»¡Ã³ ·µèÕ Í §¡ÒõԴµ Í áÅШشÁا ËÁÒÂ㹡Òà µÔ´µ Í (Í Ò¹ËÃ×Íà¢Õ¹)
àÃÔÁè µ ¹
A6-A0
¢ ÍÁÙÅ亵 ·Õè 2 Ê §¢ ÍÁÙŤǺ¤ØÁ¡Òà ·íÒ§Ò¹¢Í§ÍØ»¡Ã³ ·Õµè Í §¡ÒõԴµ ÍËÃ×Í control word R/W=0
ÃѺÃÙ
C6-C0
¢ ÍÁÙÅ亵 µ Íä» (n 亵 ) ¢ ÍÁÙŨÃÔ§·Õµè Í §¡Òö Ò·ʹ R/W
Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ
ÃѺÃÙ
ÃѺÃÙ
D7-D0
ËÂØ´
Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ
ÃÙ»·Õè 8-6 ÃٻẺ¢ ÍÁÙÅ͹ءÃÁ·Õãè ª 㹡ÒõԴµ ͡ѺÍØ»¡Ã³ º¹ÃкººÑÊ I2C Ẻ 7 ºÔµ ¢ ÍÁÙÅã¹äºµ µÍ ÁÒ¤×Í ¢ ÍÁÙŤǺ¤ØÁ (control byte) ã¹ÍØ»¡Ã³ áµ ÅеÑÇÁÕ¡ÒáíÒ˹´¢ ÍÁÙÅ ¤Çº¤ØÁ·Õáè µ¡µ Ò§¡Ñ¹ä» ¡µÑÇÍ ҧ äÍ«Õ¢ÂÒ¾Íà µÁÕ¢Í ÁÙŤǺ¤ØÁ·Õãè ª ¡Òí ˹´Ç Ò ºÔµã´à» ¹ÍÔ¹¾Øµ ºÔµã´à» ¹àÍÒµ ¾µØ ã¹¢³Ð·Õäè Í«Õ ADC/DAC µ ͧ¡Òâ ÍÁÙŤǺ¤ØÁà¾×Íè ¡íÒ˹´ãË ·Òí §Ò¹à» ¹Ç§¨Ã ADC ËÃ×Í DAC à» ¹µ ¹ ¢ ÍÁÙÅã¹äºµ µÍ ÁÒ¤×Í ¢ ÍÁÙÅ·Õ·è Òí ¡Òö Ò·ʹ¨ÃÔ§ (data) ËÅѧ¨Ò¡·ÕÁè ¡Õ Òö Ò·ʹ¢ ÍÁÙÅã¹áµ ÅÐ亵 ÍØ»¡Ã³ ÊàÅ¿·Õäè ´ ÃºÑ ¡ÒõԴµ ͵ Í§Ê §ÊÑÒ³ ÃѺÃÙ µÍº¡ÅѺÁÒ´ Ç·ء¤ÃÑé§ à¾×èÍãË ¡Ãкǹ¡Òö Ò·ʹ¢ ÍÁÙÅÊÒÁÒö´íÒà¹Ô¹µ Íä»ä´ ã¹ÃÙ»·Õè 8-6 áÊ´§ÃٻẺ¢ ÍÁÙÅ͹ءÃÁ·Õàè ¡Ô´¢Ö¹é 㹡ÒõԴµ ͺ¹ºÑÊ I2C ¢Í§¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ
¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ 㹡ÒÃÍ Ò§¶Ö§áºº¹Õé Âѧ¤§ãª û٠Ẻ¢ ÍÁÙÅ͹ءÃÁ·Õàè ËÁ×͹¡Ñºáºº 7 ºÔµ ËÒ¡áµ ¨ÐÁÕ¢Í ÁÙÅ à¾ÔÁè àµÔÁ¢Ö¹é ÁÒàÅ硹 Í â´Âã¹¢ ÍÁÙÅ亵 ááËÅѧ¨Ò¡à¡Ô´ÊÀÒÇÐàÃÔÁè µ ¹ µ ͧ¡íÒ˹´ãË 5 ºÔµº¹ÁÕ ¢ ÍÁÙÅà» ¹ 11110 Ê Ç¹ÍÕ¡ 2 ºÔµ¶Ñ´ÁÒà» ¹ºÔµáÍ´à´ÃʢͧÍØ»¡Ã³ ·µÕè Í §¡ÒõԴµ Í ã¹ºÔµ LSB ¢Í§¢ ÍÁÙÅ亵 ááÂѧ¤§à» ¹¡ÒáíÒ˹´Ç Ò µ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺÍØ»¡Ã³ ÊàÅ¿µÑÇ·Õµè Í §¡Òà µÔ´µ Í´ Ç ¢ ÍÁÙÅ亵 µÍ ÁÒà» ¹¢ ÍÁÙÅáÍ´à´ÃÊã¹äºµ ·Õè 2 ¢Í§ÍØ»¡Ã³ ·µÕè Í §¡ÒõԴµ Í´ Ç ¢ ÍÁÙŠ亵 ¶´Ñ 仨֧໠¹¢ ÍÁÙŤǺ¤ØÁ ¢ ÍÁÙÅËÅѧ¨Ò¡¹Ñ¹é ¡ç¨Ðà» ¹¢ ÍÁÙŨÃÔ§·Õãè ª 㹡ÒõԴµ Í àª ¹à´ÕÂǡѺ¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ ËÅѧ¨Ò¡¶ Ò·ʹ¢ ÍÁÙŤú·Ø¡äºµ µ ͧÁÕÊÀÒÇÐÃѺÃÙà ¡Ô´ ¢Ö¹é à¾×Íè ãË ¡Ãкǹ¡Òö Ò·ʹ¢ ÍÁÙÅÊÒÁÒö´íÒà¹Ô¹µ Íä»ä´ ã¹ÃÙ»·Õè 8-7 áÊ´§ÃٻẺ¢ ÍÁÙÅ͹ءÃÁ ¢Í§¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ ¢ ÍÁÙÅ亵 ·èÕ 1 àÅ×Í¡¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ (¢ ÍÁÙŤ×Í 11110xx â´Â xx ¤×Í ºÔµáÍ´à´ÃÊ 2 ºÔµº¹)
àÃÔÁè µ ¹
)' )&
R/W=0 ÃѺÃÙ
¢ ÍÁÙÅ亵 ·èÕ 3 Ê §¢ ÍÁÙŤǺ¤ØÁ ¡Ò÷íÒ§Ò¹ ¢Í§ÍØ»¡Ã³ ·µèÕ Í §¡Òà µÔ´µ ÍËÃ×Í control word
¢ ÍÁÙÅ亵 ·èÕ 2 ¢ ÍÁÙÅáÍ´à´ÃÊ 8 ºÔµÅ Ò§
A7-A0 Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿ ·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ
ÃѺÃÙ
C6-C0
¢ ÍÁÙÅ亵 µÍ ä» (n 亵 ) ¢ ÍÁÙŨÃÔ§·Õµè Í §¡Òà ¶ Ò·ʹ
R/W
ÃѺÃÙ
D7-D0
ÃѺÃÙ ËÂØ´
Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿ ·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ
ÃÙ»·Õè 8-7 ÃٻẺ¢ ÍÁÙÅ͹ءÃÁ·Õãè ª 㹡ÒõԴµ ͡ѺÍØ»¡Ã³ º¹ÃкººÑÊ I2C Ẻ 10 ºÔµ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 98
ǧ¨Ãá»Å§ÊÑÒ³¾Íà µÍ¹Ø¡ÃÁ à¾×Íè àª×Íè Áµ ͡ѺÃкººÑÊ I2C
+5V R3 2.7k
RTS
R1 10k
SDA
Q1 BC547
R2 3.3k
DCD +5V GND
R6 2.7k R4 10k
Q2 BC547
SCL
à¾×èÍãË ÊÒÂÊÑÒ³¢Í§¾Íà µÍ¹Ø¡ÃÁ ¨Ò¡¤ÍÁ¾ÔÇàµÍà ÊÒÁÒöµÔ´µ ͡ѺÍØ»¡Ã³ ·ÕèÁÕ ¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C µ ͧÁÕǧ¨Ãà¾×Íè ·íÒ˹ Ò·Õè Êà ҧÊÒÂÊÑÒ³ SDA áÅÐ SCL ¢Öé¹ ¨Ò¡ ÊÑÒ³¢Í§¾Íà µÍ¹Ø¡ÃÁ ´Ñ§ÁÕµÑÇÍ ҧǧ¨Ã µÒÁÃÙ»·Õè 8-8 â´Â㹡ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍÃ à¢ Ò ÊÙ ºÑÊ I2C ¹Õéµ Í§¡íÒ˹´ãË ¤ÍÁ¾ÔÇàµÍà ໠¹ ÍØ»¡Ã³ ÁÒÊàµÍà ෠ҹѹé
·ÃÒ¹«ÔÊàµÍà Q1 áÅÐ Q2 ä´ ÃºÑ ¡ÒèѴ ǧ¨ÃãË ÁÅÕ ¡Ñ ɳÐà» ¹Ç§¨ÃºÑ¿à¿Íà Ẻ¤ÍÅàÅç¡ àµÍà ໠´µÒÁ¢ Í¡íÒ˹´¢Í§Ç§¨ÃàÍÒµ ¾µØ ¢Í§ºÑÊ ÃÙ»·Õè 8-8 ǧ¨ÃÊà ҧÊÒÂÊÑÒ³à¾×Íè àª×Íè Áµ Í I2C â´Â Q1 㪠ÊÒí ËÃѺ¶ Ò·ʹÊÑÒ³¢Í§ÊÒ ¡ÑºÃкººÑÊ I2C ¢Í§¾Íà µÍ¹Ø¡ÃÁ SDA ã¹¢³Ð·Õè Q2 ·íÒ˹ Ò·Õè¶ Ò·ʹÊÑÒ³ DTR
R5 3.3k
¢Í§ÊÒ SCL ä¿àÅÕÂé §¢Í§Ç§¨Ã¤×Í +5V ¨Ö§ÊÒÁÒö㪠·ÃÒ¹«ÔÊàµÍà ª¹Ô´àÍç¹¾ÕàÍç¹àºÍà Áҵðҹ àºÍà 㴡çä´ ·ÕèÊÒÁÒöµÍºÊ¹Í§¤ÇÒÁ¶Õèä´ ÊÙ§¶Ö§ 100 kHz ¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ¨Ð¶ Ò·ʹÊÙ ÊÒ SDA ¢Í§ºÑÊ I2C ¼ Ò¹·Ò§¢Ò RTS áÅÐÃѺ¢ ÍÁÙÅࢠҷҧ¢Ò DCD Ê Ç¹ÊÒÂÊÑÒ³¹ÒÌ ¡Ò·Õè ÍÍ¡¨Ò¡¾Íà µÍ¹Ø¡ÃÁ¨Ð¶Ù¡Ê §ÍÍ¡ÁÒ·Ò§¢Ò DTR à¾×Íè 㪠໠¹ÊÒ SCL ÊíÒËÃѺºÑÊ I2C ÊíÒËÃѺº¹ S-Board Íѹ໠¹ºÍà ´ËÅѡ㹡Ò÷´Åͧ¡ÒÃàª×èÍÁµ ;Íà µÍ¹Ø¡ÃÁ¢Í§ ¤ÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¹Õé ä´ ¨´Ñ ǧ¨ÃྠÍàª×Íè Áµ ͡ѺÃкººÑÊ I2C äÇ àÃÕºà ÍÂáÅ Ç â´Â 㪠ǧ¨Ãà´ÕÂǡѺã¹ÃÙ»·Õè 8-8 ¼Ùã ª §Ò¹ÊÒÁÒö¡ÅѺ仴ٷÇÕè §¨ÃËÅÑ¡¢Í§ S-Board ä´ ã¹º··Õè 3
¡ÒÃà¢Õ¹â»Ãá¡ÃÁµÔ´µ ͺÑÊ I2C ´ Ç Visual BASIC ¨Ò¡Ç§¨Ãàª×Íè Áµ ÍÃкººÑÊ I2C ã¹ÃÙ»·Õè 8-8 ¨ÐàËç¹Ç Ò ¢Ò¢Í§¾Íà µÍ¹Ø¡ÃÁ·Õãè ª 㹡ÒõԴµ Í ÍØ»¡Ã³ º¹ÃкººÑÊ I2C ¹Ñ¹é ÁÕ 3 ¢Ò ¤×Í DTR, RTS áÅÐ DCD ¢Ò·Ñ§é ÊÒÁ¹ÕÊé ÒÁÒö¤Çº¤ØÁ´ Ç ¤Í¹â·ÃÅ MSComm ¢Í§ Visual BASIC «Ö§è ÁÕû٠Ẻ¡ÒÃ㪠§Ò¹´Ñ§¹Õé ¡ÒáíÒ˹´ãË ¢Ò SDA à» ¹ 1 µ ͧà¢Õ¹¤íÒÊѧè à» ¹ MSComm1.RTSEnable = True ¡ÒáíÒ˹´ãË ¢Ò SDA à» ¹ 0 µ ͧà¢Õ¹¤íÒÊѧè à» ¹ MSComm1.RTSEnable = False ¡ÒáíÒ˹´ãË ¢Ò SCL à» ¹ 1 µ ͧà¢Õ¹¤íÒÊѧè à» ¹ MSComm1.RTSEnable = True àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 99
¡ÒáíÒ˹´ãË ¢Ò SCL à» ¹ 0 µ ͧà¢Õ¹¤íÒÊѧè à» ¹ MSComm1.RTSEnable = False ¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ MSComm1.DCD à» ¹ False ¢Ò SDA ¨ÐÁÕ¤Ò à» ¹ 1 ¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ MSComm1.DCD à» ¹ True ¢Ò SDA ¨ÐÁÕ¤Ò à» ¹ 0 ¡ÒÃà¢Õ¹ʶҹе Ò§æ ¢Í§¢Ò·Ñ§é ÊÒÁ¹Õàé » ¹â»Ãá¡ÃÁ Í¨зíÒãË ¡ÒõԴµ ͡ѺºÑÊ I2C ¹Ñ¹é § ÒÂáÅÐÊдǡ¢Ö¹é â´ÂÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé
â»Ãá¡ÃÁ Í¡íÒ˹´ãË ¢Ò SDA à» ¹ 1 Private Sub SDA_H() Form1.MSComm1.RTSEnable = True End Sub
‘SDA=1
â»Ãá¡ÃÁ Í¡íÒ˹´ãË ¢Ò SDA à» ¹ 0 Private Sub SDA_L() Form1.MSComm1.RTSEnable = False End Sub
‘SDA=0
â»Ãá¡ÃÁ Í¡íÒ˹´ãË ¢Ò SCL à» ¹ 1 Private Sub SCL_H() Form1.MSComm1.DTREnable = True End Sub
‘SCL=1
â»Ãá¡ÃÁ Í¡íÒ˹´ãË ¢Ò SCL à» ¹ 0 Private Sub SCL_L() Form1.MSComm1.DTREnable = False End Sub
‘SCL=0
â»Ãá¡ÃÁ ÍÂÍ Ò¹¤ Ò¨Ò¡¢Ò SDA Private Function Rd_SDA() As Boolean Rd_SDA = Not Form1.MSComm1.CDHolding End Function
â»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³àÃÔÁè µ ¹ËÃ×Í START ÁÕ¢¹Ñé µÍ¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´Ñ§¹Õé 1. ¡íÒ˹´ãË ¢Ò SDA áÅÐ SCL ÁÕÅͨԡ໠¹ 1 ¡ ͹à¾×Íè ãË ÍÂÙã ¹ÊÀÒÇкÑÊÇ Ò§ 2. ¡íÒ˹´ãË ¢Ò SDA ÁÕÅͨԡ໠¹ 0 3. ¡íÒ˹´ãË ¢Ò SCL ÁÕÅͨԡ໠¹ 0 µÒÁ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 100
¼Ùã ª §Ò¹ÊÒÁÒöà»ÃÕºà·Õº¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¹Õ¡é ºÑ ä´ÍÐá¡ÃÁàÇÅÒã¹ÃÙ»·Õè 8-4 à¾×Íè ãË à¡Ô´ ¤ÇÒÁࢠÒã¨ÁÒ¡¢Ö¹é â´ÂÅíҴѺ¢Ñ¹é µ Ò§æ ·Õ¡è Å ÒÇÁÒÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁâ´ÂàÃÕ¡㪠â»Ãá¡ÃÁ  Í¡íÒ˹´Ê¶Ò¹ÐÅͨԡ¢Í§¢Ò SDA áÅÐ SCL «Ö§è ä´ Í¸ÔºÒÂÁÒáÅ Çä´ ´§Ñ ¹Õé Public Sub I2CStart() SDA_H SCL_H SDA_L SCL_L End Sub
â»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³ËÂØ´ËÃ×Í STOP ¡Ò÷íÒãË à¡Ô´Ê¶Ò¹ÐËÂØ´ËÃ×ÍÊÔ¹é ÊØ´¡Òö Ò·ʹ¢ ÍÁÙź¹ºÑÊ I2C ËÃ×ÍʶҹÐËÂØ´ (Stop) ¡ç¤Í× ¡Ò÷íÒãË ºÊÑ ¢Í§ I2C ࢠÒÊÙÊ ÀÒÇкÑÊÇ Ò§ ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. ¡íÒ˹´ãË ¢Ò SDA ÁÕÅͨԡ 0 2. ¨Ò¡¹Ñ¹é ¡íÒ˹´ãË ¢Ò SCL ÁÕÅͨԡ໠¹ 1 3. ·íÒãË ¢Ò SDA ÁÕÅͨԡ໠¹ 1 ÊÒÁÒö¹íÒ¢Ñ¹é µÍ¹·Ñ§é ËÁ´ÁÒà¢Õ¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Public Sub I2CStop() SDA_L SCL_H SDA_H End Sub
â»Ãá¡ÃÁ ÍÂÃѺÊÑÒ³ÃѺÃÙË Ã×Í Acknowledge àÁ×Íè ÁÕ¡ÒÃÊ §¢ ÍÁÙŨҡÍØ»¡Ã³ ÁÒÊàµÍà ä»ÂѧÍØ»¡Ã³ ÊàÅ¿ ÍØ»¡Ã³ ÊàÅ¿¨ÐµÍº¡ÅѺ´ Ç ÊÑÒ³ÃѺÃÙË Ã×Í Acknowledge (Ack) à¾×Íè ᨠ§ãË ·ÃÒºÇ Òä´ ÃºÑ ¢ ÍÁÙÅáÅ Ç áµ à¹ÕÍè §¨Ò¡¡ÒÃËÂØ´ ÃÍÃѺÊÑÒ³ÃѺÃÙ¹ Õé ¨Ð·íÒãË â»Ãá¡ÃÁËÂØ´ªÐ§Ñ¡¶ ÒäÁ ä´ ÃºÑ ÊÑÒ³ ÊÒÁÒöᡠä¢ä´ â´Â¡ÒÃ˹ ǧ àÇÅÒáŠǨ֧¤ ÍÂÍ Ò¹ÊÑÒ³ ËÃ×ÍÍÕ¡ÇÔ¸ËÕ ¹Ö§è ¤×Í Í Ò¹ÊÑÒ³·Õ¢è Ò SDA áÅ Ç·íÒ§Ò¹µ Í仨¹¨º¡Òà ·íÒ§Ò¹â´ÂäÁ ʹã¨ÊÑÒ³ÃѺÃÙË Ã×͹íÒÊÑÒ³·ÕÍè Ò ¹ä´ 仵ÃǨÊ꼂 Òà» ¹ÊÑÒ³ÃѺÃÙË Ã×ÍäÁ áÅ Ç ¨Ö§·íÒ§Ò¹¢Ñ¹é µ Íä» ¨Ò¡¢Ñ¹é µÍ¹àËŠҹѹé ÊÒÁÒö¹íÒÁÒà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Public Function Ack() As Boolean Ack = Not Rd_SDA SCL_H SCL_L End Function
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 101
â»Ãá¡ÃÁ ÍÂÊ §ÊÑÒ³ÃѺÃÙ¢ ͧÁÒÊàµÍà ËÃ×Í Master Acknowledge àÁ×Íè ÍØ»¡Ã³ ÁÒÊàµÍà Á¡Õ ÒÃÃѺ¢ ÍÁÙŨҡÍØ»¡Ã³ ÊàÅ¿ ÍØ»¡Ã³ ÁÒÊàµÍà ¨Ðµ ͧµÍº¡ÅѺ´ Ç ÊÑÒ³ÃѺÃÙ¢ ͧÁÒÊàµÍà ËÃ×Í Master Acknowledge (MAck) à¾×Íè à» ¹¡Òú͡ãË Í»Ø ¡Ã³ ÊàÅ ¿ÃÙÇ Ò ä´ ÃºÑ ¢ ÍÁÙÅàÃÕºà ÍÂáÅ Ç «Ö§è ¨ÐÊÒÁÒöµÃǨÊͺ¡Ò÷íÒ§Ò¹¢Í§ÍØ»¡Ã³ ·µÕè ´Ô µ Íä´ ÊÒÁÒö à¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Public Sub MAck() SDA_L SCL_H SCL_L End Sub
â»Ãá¡ÃÁ ÍÂÊ §ÊÑÒ³äÁ ÃºÑ ÃÙ¢ ͧÁÒÊàµÍà ËÃ×Í Master Not Acknowledge àÁ×Íè ÍØ»¡Ã³ ÊàÅ¿Ê §¢ ÍÁÙÅÊÔ¹é Êشŧ¨Ðµ Í§ä´ ÃºÑ ÊÑÒ³äÁ ÃºÑ ÃÙ¢ ͧÁÒÊàµÍà à¾×Íè ºÍ¡Ç Ò¡Òà ÃѺ¢ ÍÁÙÅä´ Ê¹Ôé ÊشŧáÅ Ç ÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Public Sub MNAck() SCL_H SCL_L End Sub
â»Ãá¡ÃÁ ÍÂÊ §¢ ÍÁÙÅ ÁÕ´Ç Â¡Ñ¹ 2 â»Ãá¡ÃÁ Í¤×Í Ê §¢ ÍÁÙÅÅͨԡ 0 áÅÐÅͨԡ 1 ¡ÒÃÊ §¢ ÍÁÙÅÅͨԡ 0 ¡ç¤Í× ¡Ò÷íÒãË ¢Ò SDA ÁÕÅͨԡ໠¹ 0 áÅ ÇÊ §ÊÑÒ³¹ÒÌ ¡Ò ÍÍ¡ä» ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. ·íÒãË ¢Ò SDA à» ¹ 0 ÊíÒËÃѺ¡ÒÃÊ §¢ ÍÁÙÅÅͨԡ 0 2. ãË ¢Ò SCL à» ¹ 1 à¾×Íè ¡Òû ͹ÊÑÒ³¹ÒÌ ¡Òã¹¢³Ð·Õè SDA Âѧ¤§à» ¹ 0 3. ãË ¢Ò SCL ¡ÅѺ໠¹Åͨԡ 0 à¾×Íè àµÃÕÂÁÊ §¢ ÍÁÙŵ Íä» ÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Public Sub Send0() SDA_L SCL_H SCL_L End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 102
¡ÒÃÊ §¢ ÍÁÙÅÅͨԡ 1 ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. ·íÒãË ¢Ò SDA à» ¹ 0 ÊíÒËÃѺ¡ÒÃÊ §¢ ÍÁÙÅÅͨԡ 0 2. ãË ¢Ò SCL à» ¹ 1 à¾×Íè ¡Òû ͹ÊÑÒ³¹ÒÌ ¡Òã¹¢³Ð·Õè SDA Âѧ¤§à» ¹ 0 3. ãË ¢Ò SCL ¡ÅѺ໠¹Åͨԡ 0 à¾×Íè àµÃÕÂÁÊ §¢ ÍÁÙŵ Íä» ÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Public Sub Send1() SDA_H SCL_H SCL_L End Sub
â»Ãá¡ÃÁ ÍÂÍ Ò¹áÅÐÊ §¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµ ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡÍØ»¡Ã³ ã¹ÃкººÑÊ I2C Ê Ç¹ãË ¢Í ÁÙÅ·ÕÍè Ò ¹ä´ ¨ÐÁÕ¢¹Ò´ 8 ºÔµ ¢Ñ¹é µÍ¹ ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅÁմѧ¹Õé 1. ¡íÒ˹´Åٻ㹡ÒÃÃѺ¤ ÒÍÔ¹¾ØµäÇ 8 ÃͺÊíÒËÃѺ¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ 8 ºÔµ 2. ·íÒãË ºÊÑ Ç Ò§à¾×Íè ÃÍÃѺÊÑÒ³¨Ò¡ÍØ»¡Ã³ ÊàÅ¿ â´Â¡íÒ˹´ãË SDA áÅÐ SCL ÁÕÅͨԡ à» ¹ 1 3. Í Ò¹¤ Ò¢ ÍÁÙŨҡ¢Ò SDA ¼ Ò¹¤íÒÊѧè CDHolding 4. ¶ ÒÍ Ò¹¤ ҺԵࢠÒÁÒáÅ ÇÁÕ¤Ò à» ¹ 1 ãË ¹Òí ¤ ÒºÔµ¹Ñ¹é OR ¡ÑºµÑÇá»Ã·Õ·è Òí ¡ÒÃà¡çº¤ Ò áµ ¶ Ò¤ ÒºÔµ·ÕÍè Ò ¹ä´ à» ¹ 0" äÁ µÍ §à»ÅÕÂè ¹á»Å§ã´æ à¾ÃÒеÑÇá»Ã·ÕÊè à ҧ¢Ö¹é ãËÁ ·¡Ø ºÔµÁÕ¤Ò à» ¹ 0 5. ¡íÒ˹´ãË ¢Ò SCL ÁÕÅͨԡ 0 à¾×Íè à» ¹¡ÒõͺÃѺ¡ÒÃÃѺ¢ ÍÁÙÅ 6. ¶ Ò¢ ÍÁÙÅ·Õ·è Òí ¡ÒÃÍ Ò¹¤ ÒÂѧäÁ ¤Ãº 8 ºÔµãË ÂÍ ¹¡ÅѺä»Í Ò¹¤ Ò㹺Եµ Íæ 仨¹¤Ãº 7. ¹íÒ¤ ÒµÑÇá»Ã¤×¹¤ ÒãË ¡ºÑ ¿ §¡ ª¹Ñ ¨Ò¡¢Ñ鹵͹·Õè¡Å ÒÇÁÒ¹ÕéÊÒÁÒö¹íÒÁÒà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´Ñ§¹Õé Public Function Read8Bit() As Byte Dim Dat1 As Integer Dim i As Integer For i = 7 To 0 Step -1 SCL_H
‘Loop 8 Cycle
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 103
SDA_H If Rd_SDA Then Dat1 = (2 ^ i) Or Dat1 End If SCL_L Next i Read8Bit = Dat1 End Function
‘Read SDA
‘Data 8 Bit
¡ÒÃÊ §¤ Ò¢ ÍÁÙÅä»ÂѧÍØ»¡Ã³ º¹ÃкººÑÊ I2C »¡µÔ¨Ðà» ¹¡ÒÃÊ §¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµËÃ×Í 1 亵 â»Ãá¡ÃÁ Íµ Í仹ըé Ðà» ¹¡ÒùíÒàÍÒ¢ ÍÁÙÅ 8 ºÔµÁÒ·íÒ¡ÒõÃǨÊ꼂 Òà» ¹Åͨԡ 0 ËÃ×Í 1 áÅ Ç·íÒ¡ÒÃÊ §¢ ÍÁÙÅàËŠҹѹé ÍÍ¡ä» Public Sub Send8BIT(Data As Byte) Dim i As Integer For i = 7 To 0 Step -1 If (Data And 2 ^ i) = 2 ^ i Then Call Send1 Else Call Send0 End If Next i End Sub
‘Loop 8 Cycle ‘Test Bit 0 OR 1
㹺·¹Õ¨é СŠÒǶ֧¡Ò÷íÒ§Ò¹áÅСÒÃà¢Õ¹â»Ãá¡ÃÁ¢Ñ¹é µ ¹à¾×Íè µÔ´µ ͡ѺÃкººÑÊ I2C ¢ÍãË ¼Ùà ÃÕ¹¨´¨íÒËÅÑ¡¡ÒÃáÅйíÒâ»Ãá¡ÃÁ Í·Õãè ª Êà ҧʶҹСÒ÷íÒ§Ò¹º¹ÃкººÑÊ I2C ÁÒ㪠»ÃÐ⪹ à¾×Íè µÔ´µ ͡ѺÍØ»¡Ã³ º¹ÃкººÑÊ I2C áµ ¨Ðµ ͧÁÕ¡ÒÃà» ´¾Íà µÍ¹Ø¡ÃÁ¡ ͹·Õ¨è Ð㪠§Ò¹â»Ãá¡ÃÁ  ÍÂàËÅ Ò¹Õé ¨Ö§¨Ð㪠§Ò¹ä´ «Ö§è ¨Ðä´ ·Òí ¡Ò÷´Åͧ㹺·¶Ñ´æ ä» â´Â¤ÇÃà¡çºâ»Ãá¡ÃÁ ÍÂàËÅ Ò¹Õé äÇ à» ¹âÁ´ÙÅà´ÕÂǡѹ·Ñ§é ËÁ´ ¨Ð·íÒãË ÊÒÁÒö¹íÒ¡ÅѺÁÒ㪠ã¹â»Ãá¡ÃÁÍ×¹è æ ÍÕ¡ä´ Êдǡ áÅÐäÁ µ ͧà¢Õ¹â»Ãá¡ÃÁãËÁ ·§Ñé ËÁ´ ÊÒÁÒö´ÙµÇÑ Í ҧâÁ´ÙŹÕäé ´ ¨Ò¡ä¿Å I2Cser.bas ã¹á¼ ¹«Õ´ÃÕ ÍÁ PC Interface : Serial port experiment
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 104
º··Õè 9
¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ ãË á¡ ¾Íà µÍ¹Ø¡ÃÁ¼ Ò¹Ãкº ºÑÊ I2C ´ Ç¢ ͨíÒ¡Ñ´¢Í§¨íҹǹ¢ÒÊÑÒ³¢Í§¾Íà µÍ¹Ø¡ÃÁ ËÒ¡µ ͧ¡ÒÃãË ÊÒÁÒöµÍºÊ¹Í§ ÃкºËÃ×ͧҹ·Õµè Í §¡ÒþÍà µÍÔ¹¾ØµàÍÒµ ¾µØ ¨íҹǹÁÒ¡ä´ ¹¹Ñé ¨íÒà» ¹µ ͧµ ÍÍØ»¡Ã³ ÀÒ¹͡à¾ÔÁè àµÔÁ à¾×Íè ¢ÂÒ¨íҹǹ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ áÅзըè ÐàÃÕ¹ÃÙµ Í ä»¹Õàé » ¹¡ÒâÂÒ¾Íà µ´ ÇÂÍØ»¡Ã³ º¹ÃкººÑÊ I2C à¾×Íè ª ÇÂãË ¾Íà µÍ¹Ø¡ÃÁÁÕ¨Òí ¹Ç¹¾Íà µãª §Ò¹à¾ÔÁè ÁÒ¡¢Ö¹é â´Â㪠ÊÒÂÊÑÒ³ ¢Í§¾Íà µÍ¹Ø¡ÃÁà¾Õ§ 3 àÊ ¹ áµ ÊÒÁÒö¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ä´ ÁÒ¡¶Ö§ 64 ºÔµ ÍØ»¡Ã³ ·áÕè ¹Ð¹íÒ¤×ÍäÍ«Õ¢ÂÒ¾Íà µàºÍà PCF8574A ÊÒÁÒö¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ä´ 8 ª ͧËÃ×Í 8 ºÔµ µ ; ǧ¡Ñ¹ä´ ÁÒ¡¶Ö§ 8 µÑÇ ·íÒãË ÊÒÁÒöµ ;Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ä´ ÁÒ¡¶Ö§ 64 ª ͧ â´Â¡ÒÃàª×Íè Áµ Í¹Ñ¹é µ ͧ¡ÃзíÒº¹ºÑÊ I2C ෠ҹѹé
¢ ÍÁÙÅàº×Íé §µ ¹¢Í§ PCF8574A äÍ«Õ PCF8574A ÁÕ¤³ Ø ÊÁºÑµ´Ô §Ñ ¹Õé l ·íÒ§Ò¹·ÕÃè дѺáç´Ñ¹µÑ§é áµ 2.5V ¶Ö§ 6V l ¡Ô¹¡ÃÐáÊã¹ÊÀÒÇÐÊáµ¹´ ºÒµèÒí à¾Õ§ 10 µA l 㪠¡ÒÃàª×Í è Áµ ÍẺºÑÊ I2C l ÁÕàÍÒµ ¾µ Ø ÍÔ¹àµÍÃ Ã»Ñ µ Ẻà´Ã¹à» ´ l àÍÒµ ¾µ Ø ÊÒÁÒöáŵª ËÃ×ͤ§¤ ÒäÇ ä´ áÅТѺ LED ä´ â´Âµ Íǧ¨Ãã¹ÅѡɳСÃÐáÊ «Ô§¡ ËÃ×Í·íÒ§Ò¹´ ÇÂÅͨԡ 0 l ¡íÒ˹´áÍ´à´ÃʢͧäÍ«Õáµ ÅеÑÇä´ ·Ò§ÎÒà ´áÇà ´ ÇÂ¢Ò A0-A2 ·íÒãË ÊÒÁÒöµ ; ǧ ¡Ñ¹ä´ ¶§Ö 8 µÑǵ ÍàºÍà ¡ÒèѴ¢ÒáÅÐ˹ Ò·Õ¡è Ò÷íÒ§Ò¹¢Í§áµ ÅТҢͧäÍ«Õ PCF8574 áÊ´§ã¹ÃÙ»·Õè 9-1 ¢Ò¾Íà µ·Ñ§é 8 ¢Ò¢Í§ PCF8574 ÊÒÁÒö¡íÒ˹´ãË à» ¹ÍÔ¹¾ØµËÃ×ÍàÍÒµ ¾µØ ä´ â´ÂÍÔÊÃÐâ´Â äÁ ¨íÒà» ¹µ ͧ㪠¤íÒÊÑ觤Ǻ¤ØÁà¾×èÍàÅ×Í¡ãË à» ¹¢ÒàÍÒµ ¾ØµËÃ×Í¢ÒÍÔ¹¾Øµ ÅѡɳÐǧ¨ÃÀÒÂ㹢ͧ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 105
ª×èÍ
µíÒá˹ §¢Ò
˹ Ò·Õè
A0
$
VCC
A0
1
ÍÔ¹¾ØµáÍ´à´ÃʵÑÇ·Õè 1
A1
#
SDA
A1
2
ÍÔ¹¾ØµáÍ´à´ÃʵÑÇ·Õè 2
A2 !
"
SCL
A2
3
ÍÔ¹¾ØµáÍ´à´ÃʵÑÇ·Õè 3
!
INT
P0
4
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 0
P7
P1
5
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 1
P2 $
P6
P2
6
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 2
P3 %
P5
P3
7
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 3
VSS &
'
P4
V55
8
¡ÃÒÇ´
P4
9
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 4
P5
10
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 5
P6
11
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 6
P7
12
¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ 2 ·ÔÈ·Ò§ºÔµ 7
INT
13
¢ÒàÍÒµ ¾ØµÍÔ¹àµÍà ÃÑ»µ (·íÒ§Ò¹·ÕèÅͨԡ 0)
SCL
14
¢ÒÊÑÒ³¹ÒÌÔ¡ÒÊíÒËÃѺ I C ºÑÊ
SDA
15
¢Ò¢ ÍÁÙÅÊíÒËÃѺ I C ºÑÊ
V,,
16
ä¿àÅÕé§
P0 " P1 #
2+.&#%")
ÃÙ»·Õè 9-1 ¡ÒèѴ¢Ò¢Í§ PCF8574A áÅÐ˹ Ò·Õ¡è Ò÷íÒ§Ò¹¢Í§áµ ÅÐ¢Ò V,, ǧ¨Ã¨ Ò¡ÃÐáʤ§·Õè 100 µA
ÊÑÒ³ Write ¢ ÍÁÙŨҡªÔ¿µ Ã¨Õ ÊÔ àµÍÃ
+I ÊÑÒ³ÃÕ૵ ¢³ÐàÃÔÁè ¨ ÒÂä¿
Q
D
..
P0-P7
5 V55 Q
D
ÊÑÒ³ Read
+I
.. 5
¢ ÍÁÙÅÊ §ä»Âѧ ªÔ¿µ Ã¨Õ ÊÔ àµÍÃ
INT
ÃÙ»·Õè 9-2 ǧ¨ÃÀÒÂ㹢ͧ¢Ò¾Íà µ¢Í§äÍ«Õ PCF8574/8574A àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 106
¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ áÊ´§ã¹ÃÙ»·Õè 9-2 àÁ×Íè ¨ ÒÂä¿ãË ¡ºÑ PCF8574A ¤Ãѧé áá ¢Ò¾Íà µ·Ñ§é ËÁ´ ¨ÐÁÕÅͨԡ໠¹ 1 «Ö觨Ðà» ¹¡Òè Ò¡ÃÐáÊÁÒ¨Ò¡áËÅ §¨ Ò¡ÃÐáʤ§·ÕèÀÒÂã¹µÑÇäÍ«Õ ·íÒãË ÁÕ ¡ÃÐáÊã¹¢³ÐÅͨԡ 1 ¹Õàé ¾Õ§ 100 µA à· Ò¹Ñ¹é ¨Ö§äÁ àËÁÒзըè Ð㪠äÍ«Õ PCF8574A 㹡ÒâѺ ¡ÃÐáÊ«ÍÃ Ê áµ ¨ÐàËÁÒСѺ¡ÒùíÒ PCF8574A 仢Ѻ¡ÃÐáÊ«Ô§¡ ÁÒ¡¡Ç Ò àÁ×Íè µ ͧ¡ÒÃãË ¢Ò¾Íà µàËÅ Ò¹Õ·é Òí ˹ Ò·Õàè » ¹ÍÔ¹¾Øµ¨Ðµ Í§Ê §ÊÑÒ³ãË ¢ÒàËÅ Ò¹ÕÁé ÅÕ Í¨Ô¡ 1 àÊÕ¡ ͹ àÁ×Íè ¢ÒÍÔ¹¾Øµä´ ÃºÑ ÊÑÒ³¨Ò¡ÀÒ¹͡» ͹ࢠÒÁÒ äÍ«Õ PCF8574A ¨ÐÊà ҧÊÑÒ³ ÍÔ¹àµÍÃ Ã»Ñ µ (INT) » ͹ãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ËÃ×ͤÍÁ¾ÔÇàµÍÃ ÃºÑ ÃÙá ·¹¡Òõ ͧ¤ÍµÃǨÊͺ ¢ÒÍÔ¹¾ØµÍÂÙµ ÅÍ´àÇÅÒ ÊÑÒ³ÍÔ¹àµÍÃÃÑ»µ ¹¨Õé ж١ÃÕ૵àÁ×Íè ÁÕ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅËÃ×ÍÁÕ¡ÒÃà»ÅÕÂè ¹ ¤ ҢͧÍÔ¹¾Øµä»ÊÙ¤ Ò à´ÔÁ
ºÍà ´ EX-07 ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 16 ºÔµ´ ǺÑÊ I2C 㪠äÍ«Õ PCF8574A ·Ñ§é ËÁ´ 2 µÑÇ ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡¹íÒä»ãª 㹡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ËÃ×ÍÍ Ò¹¤ Ò¨Ò¡ÍØ»¡Ã³ Í¹Ô ¾Øµä´ µÒÁµ ͧ¡Òö֧ 16 ª ͧ â´ÂÁÕÃÒÂÅÐàÍÕ´¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã´Ñ§ áÊ´§ã¹ÃÙ»·Õè 9-3 ºÍà ´ EX-07 ÁÕ¨ÁÑê à»Íà ÊÒí ËÃѺ¡íÒ˹´áÍ´à´Ãʢͧ PCF8574 áµ ÅеÑÇ â´Â¼Ù 㪠§Ò¹µ ͧ¡íÒ˹´äÇ ¤¹ÅеíÒá˹ §¡Ñ¹ ÁÔઠ¹¹Ñ¹é ¨Ð·íÒãË à¡Ô´¡Ò÷íÒ§Ò¹·Õ·è ºÑ « ͹¡Ñ¹ ¹Í¡¨Ò¡¹Õ¼é ãÙ ª §Ò¹ÊÒÁÒöµ ͺÍà ´ EX-07 ¾ ǧ¡Ñ¹ä´ ËÅÒÂ æ ºÍà ´à¾×Íè ¢ÂÒ¾Íà µãË ÁÕ ¨íҹǹÁÒ¡¢Ö¹é â´Â㪠¡ÒÃàª×Íè Áµ ͼ ҹᨠ¡ I2C «Ö§è 㪠ᨠ¡âÁ´ÙÅÒ Ã 4 ¢Ò㹡ÒÃàª×Íè Áµ Í º¹ºÍà ´ EX-07 ä´ àµÃÕÂÁᨠ¡ I2C äÇ 2 ªØ´à¾×Íè 㪠㹡Òõ ; ǧÍÂÙá Å Ç à¹×Íè §¨Ò¡àÍÒµ ¾µØ ¢Í§ PCF8574 ËÃ×Í PCF8574A à» ¹áºº¤ÍÅàÅç¡àµÍà ໠´ ´Ñ§¹Ñ¹é ·Õ¢è Ò¾Íà µ I/O ¢Í§ PCF8574 ËÃ×Í PCF8574A ¨ÐÁÕµÇÑ µ Ò¹·Ò¹µ ;ÙÅÍÑ»àÍÒäÇ à¾×Íè ãË ã¹ÊÀÒÇл¡µÔ ¢Ò¾Íà µÁÕʶҹÐÅͨԡ 1 ¾Ã ÍÁÊíÒËÃѺ ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ËÃ×Í¡ÒÃÃѺ¤ ÒÍÔ¹¾Øµ¨Ò¡ÀÒ¹͡ àÍÒµ ¾µØ ¢Í§ PCF8574 º¹ºÍà ´ EX07 ¹íÒ仵 ͡Ѻ¤Í¹à¹ç¡àµÍà DATA BUS «Ö§è ÁÕ¡ÒèѴ¢ÒẺ UIC-10 ·íÒãË ÊÒÁÒö¹íÒ仵 ͡Ѻ ºÍà ´ EX Series µÑÇÍ×¹è æ ·ÕÁè ¤Õ Í¹à¹ç¡à¹ç¡àµÍà DATA BUS ä´ ·¹Ñ ·Õ ઠ¹ ¹íÒ仵 ͡Ѻ EX-01 ºÍà ´ LED, EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ, EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ËÃ×Í EX-06 ºÍà ´ ¢ÑºÃÕàÅ ä¿àÅÕÂé §ÊíÒËÃѺºÍà ´ EX-07 ¨ÐÁҨҡᨠ¡ I2C «Ö§è µ ; ǧÁÒ¨Ò¡ S-Board ÍÕ¡·Í´Ë¹Ö§è ¼Ùã ª §Ò¹äÁ ¨íÒà» ¹µ ͧËÒä¿àÅÕé§à¾ÔèÁàµÔÁÁÒ㪠㹡ÒÃàª×èÍÁµ Í áÅд Ç¡ÒèѴàµÃÕÂÁᨠ¡ I2C ·íÒãË ÊÒÁÒöµ ; ǧºÍà ´ËÃ×Íἧǧ¨Ã·ÕÁè ¡Õ ÒèѴÊÑҳẺºÑÊ I2C ¾Ã ÍÁ¡Ñ¹ä´ «Ö§è 㹪ش·´Åͧ NX-2000 ¡çÁºÕ Íà ´á»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ (ADC) áÅÐá»Å§ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ ÍйÒÅÍ¡ (DAC) ¢¹Ò´ 8 ºÔµ ·Õãè ª ¡ÒõԴµ ÍẺºÑÊ I2C à¾ÔÁè àµÔÁÍÕ¡Ë¹Ö§è ºÍà ´ â´ÂºÍà ´¹ÕÁé Õ ª×Íè Ç Ò EX-08 «Õ§è ¨Ðä´ ¡Å ÒǶ֧ÃÒÂÅÐÍÕ´ã¹ÀÒÂËÅѧ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 107
R801 R-network 4.7k x8
+5V
+5V K801
15 14 1
+5V K802
JP801
JP802
2 JP803
A0 I C BUS CONNECTOR
A1
SDA SCL
(UIC-10)
P7
12
P6 P5
10
P4
A0
P3 P2
A1
P1 3
K803
DATA BUS
16
IC801 PCF8574
P0
A2
+5V
11
D0 D2 D4 D6
9 7 6 5
D1 D3 D5 D7
4
8
A2
ADDRESS SELECT R802 R-network 4.7k x8
+5V
IC802 PCF8574 15 14 1 JP804
JP805
2 JP806
A0
A1
(UIC-10)
P7
SDA
P6 P5
SCL
P4
A0
P3 P2
A1
P1 3
K804
DATA BUS
16
P0
A2
+5V
12 11 10 9 7 6 5
D0 D2 D4 D6
D1 D3 D5 D7
4
8
A2
ADDRESS SELECT
¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤
l 㪠¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C l ¢ÂÒ¾Íà µº¹ºÍà ´ä´ 16 ºÔµ áÅÐ
ÊÒÁÒöµ ; ǧ¡Ñ¹à¾×èÍ¢ÂÒÂä´ ÊÙ§ÊØ´ ÍÕ¡ 3 ºÍà ´ ÃÇÁ 64 ºÔµ l àÅ×Í¡áÍ´à´ÃÊ㹡ÒõԴµ Íâ´Â¡Òà 㪠¨ÁÑê à»Íà l ¤Í¹à¹ç¡àµÍà DATA BUS àª×Íè Á µ ͡ѺºÍà ´ EX-series
ÃÙ»·Õè 9-3 ǧ¨Ã¢Í§ EX-07 ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¼ Ò¹ÃкººÑÊ I2C
¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁ PCF8574A ´ Ç Visual BASIC ¨Ò¡â»Ãá¡ÃÁ Íµ Ò§æ à¾×Íè Êà ҧÊÑÒ³º¹ÃкººÑÊ I2C 㹺··Õè 8 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ à¾×Íè ¤Çº¤ØÁ PCF8574A ÊÒÁÒö·íÒä´ §Ò ¢ֹé à¾Õ§¹íÒâ»Ãá¡ÃÁ Íµ Ò§æ àËŠҹѹé ÁÒàÃÕ§µ ͡ѹ µÒÁÃٻẺ¢Í§ PCF857A4 ෠ҹѹé àÃÔÁè ¨Ò¡¡ÒõԴµ ͡Ѻ PCF8574A â´Â¡íÒ˹´áÍ´à´ÃÊ áÅÐÃкØâËÁ´·Õ¨è Ð㪠ÇÒ µ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙÅä»ÂѧµÑÇÁѹ â´Â亵 áá·Õãè ª à¡çºáÍ´à´ÃÊ ÁÕ ÃÒÂÅÐàÍÕ´´Ñ§¹Õé ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 0
1
1
1
A2
A1
A0
R/W
ºÔµ A0, A1, A2 㪠㹡ÒÃÃÐºØ PCF8574A ·Õãè ª º¹ºÍà ´ã¹¡Ã³Õ·ÁÕè ¡Õ Òõ Í PCF8574A ÁÒ¡¡Ç Ò 1 µÑÇ â´Â¤ Ңͧ A0-A2 ¨ÐÁÕ¤ÇÒÁᵡµ Ò§¡Ñ¹ä»ã¹áµ ÅеÑÇ «Ö§è ¶ Òà·Õº¡ÑººÍà ´ EX-07 ¡ç¤Í× ¡ÒáíÒ˹´¤ Ңͧ¨ÑÁê à»Íà ¹¹Ñè àÍ§Ê Ç¹ºÔµ R/W 㪠¡Òí ˹´Ç Òµ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺ äÍ«Õ PCF8574A
¡ÒÃÊ §¤ Òä»ÂѧàÍÒµ ¾µØ ¢Í§ PCF8574A ÁÕÅÒí ´Ñº¢Ñ¹é µÍ¹´Ñ§¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 108
1. Ê §ÊÑÒ³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ â´Âã¹·Õ¹è ¨Õé СíÒ˹´áÍ´à´Ãʢͧ PCF8574A äÇ ·Õè 000 (¡íÒ˹´¨ÑÁê à»Íà º¹ºÍà ´ EX-07 µíÒá˹ § A0,A1,A2 à» ¹ 0 ·Ñ§é ËÁ´) áÅÐãË ·Òí §Ò¹ã¹âËÁ´ à¢Õ¹¢ ÍÁÙÅ â´Â¡Òû ͹Åͨԡ 0 ãË á¡ ºµÔ R/W 3. ÃÍÃѺÊÑÒ³ ACK ËÃ×ÍÃÍÃѺ¡Òõͺ¡ÅѺ¨Ò¡ PCF8574A 4. Ê §¢ ÍÁÙÅä»ÂѧàÍÒµ ¾µØ ¢Í§ PCF8574A 5. ÃÍÃѺÊÑÒ³ ACK ÍÕ¡¤Ãѧé 6. Ê §ÊÑÒ³ STOP ¨Ò¡¹Ñ鹵͹´Ñ§¡Å ÒÇÊÒÁÒö¹íÒÁÒà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´Ñ§¹Õé Private Sub Sendout(B As Byte) Call I2CStart ‘Start Call Send8BIT(&H70) ‘Send Control Word Call Ack ‘Acknowledge Call Send8BIT(B) ‘Send Data Call Ack ‘Acknowledge Call I2CStop ‘Stop End Sub
¤ ÒµÑÇàÅ¢ &H40 «Öè§ÍÂÙ ·ÕèºÃ÷Ѵ Call Send8BIT(&H70) ¹Ñ鹡ç¤×ͤ ÒáÍ´à´Ãʢͧ PCF8574A ·Õµè Í §¡ÒõԴµ Í´ Ç â´Âã¹â»Ãá¡ÃÁ Í Send8BIT ¨Ð·íÒ¡ÒÃÊ §¤ ÒáÍ´à´ÃÊáÅÐ ºÔµ¤Çº¤ØÁ¡ÒÃà¢Õ¹¢ ÍÁÙŢͧ PCF8574A ´Ñ§¹Ñ¹é 㹺ԵÊØ´· Ò¨֧µ ͧÁÕ¤Ò à» ¹ 0 ÊíÒËÃѺâ»Ãá¡ÃÁ Í Send8BIT(B) ¨Ðà» ¹¡ÒùíÒ¤ ÒµÑÇá»Ã B «Ö§è àÃÕ¡㪠§Ò¹â´Â» ͹ ¨Ò¡¤íÒÊѧè SendOut Ê §ÍÍ¡¾Íà µ¢Í§ PCF8574A
¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ PCF8574A ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ â´Âã¹·Õ¹è ¨Õé СíÒ˹´áÍ´à´ÃʢͧµÑÇ PCF8574A äÇ ·Õè 001 (¨ÑÁê à»Íà º¹ºÍà ´ EX-07 µíÒá˹ § A1, A2 à» ¹ 0 Ê Ç¹ A0 à» ¹Åͨԡ 1 ) áÅÐãË ·Òí §Ò¹ã¹ âËÁ´Í Ò¹¢ ÍÁÙÅ â´Â¡Òû ͹Åͨԡ 1 3. ÃÍÃѺÊÑÒ³ ACK ËÃ×ÍÃÍÃѺ¡Òõͺ¡ÅѺ¨Ò¡ PCF8574A àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 109
4. Í Ò¹¢ ÍÁÙŨҡ PCF8574A 5. ÃÍÃѺÊÑÒ³ ACK ÍÕ¡¤Ãѧé 6. Ê §ÊÑÒ³ STOP â»Ãá¡ÃÁ Í Timer1_Timer à» ¹â»Ãá¡ÃÁ ÍÂÊíÒËÃÑºÍ Ò¹¢ ÍÁÙŨҡ PCF8574A Í ҧ µ Íà¹×Íè § â´Â¡ÒáíÒ˹´¤ Ò Interval ¢Í§ä·àÁÍà ãË Á¤Õ Ò à· Ò¡Ñº 100 «Ö§è ¨Ð·íÒãË ¡Ò÷íÒ§Ò¹¢Í§ â»Ãá¡ÃÁ ÍÂä·àÁÍà à¡Ô´¢Ö¹é ·Ø¡æ 100 ÁÔÅÅÔÇ¹Ô Ò·Õ ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ PCF8574A ¨Ö§´íÒà¹Ô¹ä»Í ҧ µ Íà¹×Íè § â´ÂÁÕÃÒÂÅÐàÍÕ´¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´Ñ§¹Õé Private Sub Timer1_Timer() Call I2CStart Call Send8BIT(&H71) Call Ack Text2.Text = Read8bit Call Ack Call I2CStop
‘Start ‘Control Word Read ‘Acknowledge ‘Read Data ‘Acknowledge ‘Stop
End Sub
¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè µÔ´µ ͡ѺºÍà ´ EX-07 ¶ ÒäÍ«Õ PCF8574A º¹ºÍà ´ EX-07 µÑÇË¹Ö§è ¡íÒ˹´áÍ´à´ÃÊäÇ ·Õè 000 Ê Ç¹ÍÕ¡µÑÇ¡íÒ˹´ áÍ´à´ÃÊäÇ ·Õè 001 ¼Ù 㪠§Ò¹ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ§ ÒÂæ à¾×èÍÊ §¤ Ò¢ ÍÁÙÅÍÍ¡àÍÒµ ¾Øµ¢Í§ PCF8574A â´ÂÊÒÁÒöÊѧࡵ¼Åä´ ¨Ò¡¡ÒùíÒºÍà ´ EX-01 ÁÒµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS º¹ºÍà ´ EX-07 â´Â㪠ÊÒÂàª×Íè Áµ ÍẺ IDC-10 ¨Ò¡¹Ñ¹é à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command1 à¾×Íè Ê §¤ Ò¢ ÍÁÙÅ AAH ÍÍ¡ä»à¾×Íè ãË LED º¹ºÍà ´ EX-01 µÔ´áÅдѺÊÅѺ¡Ñ¹ â»Ãá¡ÃÁµÑÇÍ ҧ ÁÕ´§Ñ ¹Õé Private Sub Command1_Click() Sendout (&HAA) End Sub
áµ ¶ Òµ ͧ¡ÒÃãË â»Ãá¡ÃÁÊÒÁÒöᡠ䢤 Ò·ÕèÊ §ÍÍ¡ä»ÂѧàÍÒµ ¾Øµä´ ´ Ç ÊÒÁÒÃ¶á¡ ä¢ â»Ãá¡ÃÁãËÁ ä´ ´§Ñ ¹Õé Private Sub Command1_Click() Sendout Val(Text1.Text) End Sub
ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ¨Ð㪠â»Ãá¡ÃÁ Í Timer_timer ઠ¹à´ÕÂǡѺ·Õ¡è Å ÒÇÃÒÂÅÐàÍÕ´ 仡 ͹˹ Ò¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 110
¼Ùà ¢Õ¹â»Ãá¡ÃÁ¨Ðµ ͧà¾ÔÁè â»Ãá¡ÃÁ Í START, STOP,ACK ,Send(0), Send(1), Send8Bit áÅÐ SendOut «Ö§è à» ¹â»Ãá¡ÃÁÊà ҧÊÑÒ³µÔ´µ ͺ¹ºÑÊ I2C ŧä»ã¹â»Ãá¡ÃÁ´ Ç ÊíÒËÃѺâ»Ãá¡ÃÁ Sendout ¼Ùã ª §Ò¹µ ͧ㪠¤Ò &H70 㹡ÒáíÒ˹´áÍ´à´Ãʹѹè ËÁÒ¶֧¡ÒõԴ µ ͡Ѻ PCF8574A «Ö觡íÒ˹´¨ÑêÁà»Íà äÇ à» ¹ 000 àÁ×èÍÃÇÁ¿ §¡ ªÑ¹·Ø¡Í ҧ¢Í§â»Ãá¡ÃÁáÅ Ç â»Ãá¡ÃÁ·Ñ§é ËÁ´¨ÐÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé Private Sub Form_Load() MSComm1.PortOpen = True End Sub Private Sub Command1_Click() Sendout Val(Text1.Text) End Sub Private Sub Timer1_Timer() Dim TMP2 As Integer Call I2CStart Call Send8BIT(&H73) Call Ack Text2.Text = Read8bit Call Ack Call I2CStop End Sub
‘Start ‘Control Word Read ‘Acknowledge ‘Read Data ‘Acknowledge ‘Stop
Private Sub Sendout(B As Byte) Call I2CStart ‘Start Call Send8BIT(&H70) ‘Send Control Word Call Ack ‘Acknowledge Call Send8BIT(B) ‘Send Data Call Ack ‘Acknowledge Call I2CStop ‘Stop End Sub
â´Â¨Ðµ ͧ·íÒ¡ÒÃà¾ÔÁè âÁ´ÙŢͧâ»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³µ Ò§æ ¢Í§ÃкººÑÊ I2C «Ö§è ÁÕ ÃÒÂÅÐàÍÕ´ÍÂÙã ¹º··Õè 8 ËÃ×Í㪠¨Ò¡ä¿Å I2Cser.bas ã¹á¼ ¹«Õ´ÃÕ ÍÁ PC Interface : Serial port experiment ࢠÒä»ã¹â»Ãá¡ÃÁ´ Ç áÅÐàÁ×Íè ·íÒ¡ÒÃÃѹâ»Ãá¡ÃÁ ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁ áÊ´§´Ñ§ÃÙ»·Õè 9-4 Ê Ç¹¡Ò÷´Åͧ¨Ð¡Å ÒǶ֧㹡Ò÷´Åͧ·Õè 9 µ Íä» Timer1
Text1
Command1
MSComm1
Text2
ÃÙ»·Õè 9-4 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ·Õàè ¢Õ¹ ¢Ö¹é à¾×Íè µÔ´µ ͡Ѻ PCF857A4 ¼ Ò¹ºÍà ´ EX-07 ã¹ÃÙ»ÂѧáÊ´§ãË àË繶֧¤Ø³ÊÁºÑµÔ µ Ò§æ ·Õ¹è Òí ÁÒ㪠Êà ҧâ»Ãá¡ÃÁ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 111
¡Ò÷´Åͧ·Õè 9 ¡ÒâÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾ØµãË á¡ ¾Íà µ¢¹Ò¹¼ Ò¹ ÃкººÑÊ I2C ´ ÇÂäÍ«Õ PCF8574A à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 áÅÐÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. S-Board ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 3. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 ºÍà ´ 4. EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ 16 ª ͧ 1 ºÍà ´ 5. EX-07 ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¼ Ò¹ÃкººÑÊ I2C 1 ºÍà ´ 6. ÊÒÂàª×Íè Áµ Í IDC-10 2 àÊ ¹ 1 àÊ ¹ 7. ÊÒÂàª×Íè Áµ Í I2C
¡Ò÷´Åͧ 9.1 àª×Íè Áµ Í S-BOARD V2.0 ¡ÑººÍà ´ EX-07 ¼ Ò¹·Ò§á¨ ¡ I2C â´Â㪠ÊÒ I2C 9.2 ·Õàè ÍÒµ ¾µØ ¢Í§ºÍà ´ EX-07 ã¹µíÒá˹ § DATA BUS #1 ãË µÍ ࢠҡѺºÍà ´ EX-01 à¾×Íè áÊ´§ ¼Å¡Ò÷íÒ§Ò¹·Õàè ÍÒµ ¾µØ ´Ñ§ã¹ÃÙ»·Õè P9-1 9.3 ·Õàè ÍÒµ ¾µØ ¢Í§ºÍà ´ EX-07 ã¹µíÒá˹ § DATA BUS #2 ãË µÍ ࢠҡѺºÍà ´ EX-03 à¾×Íè ´Ù¼Å ¡Ò÷íÒ§Ò¹·ÕÍè ¹Ô ¾Øµ ´Ñ§ã¹ÃÙ»·Õè P9-2 9.4 ¨ ÒÂä¿ãË ¡ºÑ S-BOARD ã¹¢³Ð·ÕÂè §Ñ äÁ ä´ à¢Õ¹â»Ãá¡ÃÁµÔ´µ ͡ѺºÑÊ I2C ¨ÐÊѧࡵàËç¹ Ç Ò LED ·Õºè Íà ´ EX-01 µÔ´ÊÇ Ò§·Ñ§é ËÁ´ ·Ñ§é ¹Õàé ¹×Íè §¨Ò¡àÍÒµ ¾µØ ¢Í§ PCF8574 à» ¹áºº ¤ÍÅàÅç ¡ àµÍÃ à » ´ ÅÍ¨Ô ¡ 1 à¡Ô ´ ¢Öé ¹ ¨Ò¡µÑ Ç µ Ò ¹·Ò¹·Õè µ Í ¾Ù Å ÍÑ » ÍÂÙ ·Õè ¢ Ò¾Íà µ ¢Í§ PCF8574A
è ¹´Ô»ÊÇÔµª 9.5 àÅ×Í
I2C BUS SELECT º¹ S-Board ä»·Õµè Òí á˹ § ON à¾×Íè àÍç¹àÍàºÔÅ¡ÒÃ㪠§Ò¹ÃкººÑÊ I2C (¢Ñ¹é µÍ¹¹ÕÊé Òí ¤ÑÁÒ¡)
9.6 à» ´â»Ãá¡ÃÁ Visual BASIC áÅÐÇÒ§ÍØ»¡Ã³ µÒ §æ ŧ仴ѧÁÕÃÒÂÅÐàÍÕ´´Ñ§áÊ´§ã¹ÃÙ»·Õè P9-3 ËÃ×ÍàÃÕ¡ä¿Å lab09.vbp ¨Ò¡ã¹á¼ ¹«Õ´ÃÕ ÍÁ PC Interface : Serial port experiment ÁÒ ãª ¡äç ´ ¾Ã ÍÁ·Ñ§é ÁÕÃÒÂÅÐàÍÕ´«Íà Êâ»Ãá¡ÃÁãË àÃÕºà Í ÊÒÁÒöÈÖ¡ÉÒ¡ÒÃà¢Õ¹â»Ãá¡ÃÁä´ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 112
ÃÙ»·Õè P9-1 ¡ÒÃàª×Íè Áµ Í S-Board ࢠҡѺºÍà ´ ÃÙ»·Õè P9-2 ¡ÒÃàª×Íè Áµ Í S-Board ࢠҡѺºÍà ´ EX-07, EX-01 áÅÐ EX-03 EX-07 áÅÐ EX-01 9.7 ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ¹ÕÊé ÒÁÒö͸ԺÒÂä´ ¤Ã ÒÇæ ´Ñ§¹Õé à¹×Íè §¨Ò¡ºÍà ´ EX-07 ÁÕ PCF8574A ÍÂÙº ¹ºÍà ´ 2 µÑÇ ´Ñ§¹Ñ¹é 㹡ÒÃÍ͡Ẻâ»Ãá¡ÃÁ¨Ö§ Ạ§ÍÍ¡à» ¹ 2 Ê Ç¹·Õàè ËÁ×͹¡Ñ¹ ÊíÒËÃѺ¡ÒäǺ¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ PCF8574A ·Ñ§é ÊͧµÑÇ ÊíÒËÃѺ ã¹à¿ÃÁª×Íè SET Compot ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×͡㪠¾Íà µÍ¹Ø¡ÃÁä´ µÑ§é áµ COM1- COM4 ¼Ùã ª §Ò¹àÅ×Í¡àºÍà PCF8574A ·Õè TextBox ¨ÐáÊ´§¢ ÍÁÙÅáÍ´à´ÃÊ·Õàè »ÅÕÂè ¹ä»´ Ç ¹Í¡ ¨Ò¡¹Õ¼é ãÙ ª §Ò¹ÂѧÊÒÁÒö¡íÒ˹´áÍ´à´Ãʢͧ PCF8574A ·Õ¨è еԴµ Í´ ÇÂä´ ÍÕ¡·Ñ§é Âѧ¡íÒ˹´ä´ Ç Òµ ͧ¡ÒÃà¢Õ¹ËÃ×ÍÍ Ò¹¢ ÍÁÙšѺ PCF8574A 㹡Ãͺ PCF8574 #1 ¨ÐÁÕû٠ËÅʹ俵ԴÊÇ Ò§áÅÐËÅʹ俴Ѻ ÇÒ§·Ñº« ͹¡Ñ¹ÍÂÙ â´Â àÁ×Íè àÃÔÁè 㪠§Ò¹ â»Ãá¡ÃÁ¨ÐáÊ´§ÃÙ»ËÅʹ俵ԴÊÇ Ò§¢Ö¹é ÁÒ¡ ͹àÊÁÍ â´ÂÃÙ»ÀÒ¾àËÅ Ò¹ÕÍé Í¡ ẺÁÒà¾×Íè áÊ´§¤ ҢͧàÍÒµ ¾µØ ËÃ×ÍáÊ´§¤ ÒÍÔ¹¾Øµ¢Í§ PCF8574A ã¹âËÁ´Í Ò¹¢ ÍÁÙŨҡ PCF8574A ¹Ñ鹨Ð㪠Timer1 ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ PCF8574A µÑÇ·Õè 1 áÅÐ Timer2 ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ PCF8574A µÑÇ·Õè 2 â´ÂàÁ×Íè ÍÂÙã ¹âËÁ´ à¢Õ¹¢ ÍÁÙÅä»Âѧ PCF8574A Timer ¨Ð¶Ù¡´ÔÊàÍàºÔÅ ËÃ×Í¡àÅÔ¡¡Ò÷íÒ§Ò¹àÍÒäÇ ã¹âËÁ´Í Ò¹¢ ÍÁÙÅ Command1() áÅÐ Command2() «Ö§è Êà ҧ¢Ö¹é ãË ÍÂÙã ¹ÃÙ»¢Í§ÍÒàà¨Ð¶Ù¡´ÔÊàÍàºÔÅäÇ äÁ ÊÒÁÒö㪠§Ò¹ä´ à¹×Íè §¨Ò¡¨Ð·Ñº« ͹¡Ñº¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅ áµ àÁ×Íè ÍÂÙã ¹âËÁ´ à¢Õ¹¢ ÍÁÙÅ Command1() áÅÐ Command2() ¨Ð¶Ù¡àÍç¹àÍàºÔžà ÍÁ·Õ¨è ÐÊ §¤ ÒÍÍ¡ä»ÂѧàÍÒµ ¾Øµ¢Í§ PCF8574A ¡ ͹·Õ¨è ÐÊ §¤ Òä»ÂѧàÍÒµ ¾µØ ¢Í§ PCF8574A ¨Ðµ ͧ·íÒ¡ÒõÃǨÊͺÍÔ¹¾Øµ¢³Ð¹Ñ¹é ¡ ͹ Ç ÒÁÕ¤Ò ã´ÍÂÙ áÅ Ç¨Ö§Ê §¤ Ò·Õàè » ¹¤ ҵç¡Ñ¹¢ ÒÁÍÍ¡ä» ¾Ã ÍÁ·Ñ§é áÊ´§¼Å·Õàè ¡Ô´¢Ö¹é ·ÕÃè »Ù ÀÒ¾´ Ç ¼Ùã ª §Ò¹¨Ö§ÊѧࡵàË繼ŷÕàè ¡Ô´¢Ö¹é ä´ ·Ñ§é ã¹¢³Ð·Õè PCF8574 ·íÒ˹ Ò·Õàè » ¹ÍÔ¹¾ØµáÅÐàÍÒµ ¾µØ ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ PCF8574A ¹Ñ¹é à¹×Íè §¨Ò¡àÍÒµ ¾µØ ¢Í§ PCF8574A à» ¹áºº ¤ÍÅàÅç¡àµÍà ໠´ ¨Ðµ Í§Ê §¤ ÒÅͨԡ 1 Í͡仡 ͹ ¡ÒÃÍ Ò¹¤ Ò¡ÅѺÁÒ¨Ö§¨Ð¶Ù¡µ ͧÁÒ¡·ÕÊè ´Ø àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 113
Image1(0-7),Image2(0-7)
Text1 Check1(1)
Command1(0-7)
Check1(2)
Option2(1)
Check1(3) Option1(1)
Option1(0)
Image3(0-7),Image4(0-7)
Text2 Check2(1)
Option4(0)
Check2(2)
Command2(0-7)
Option4(1)
Check2(3) Option3(0)
Option3(1)
Option5(1)
Command3
Option5(2)
MSComm1 Option5(3) Option5(4)
Timer2
Timer1
ÃÙ»·Õè P9-4 ˹ ҵҢͧâ»Ãá¡ÃÁ·´Åͧ¡ÒâÂÒ¾Íà µ´ Ç PCF8574 ¾Ã ÍÁáÊ´§ ÃÒÂÅÐàÍÕ´¢Í§Ê ǹ»ÃСͺµ Ò§æ 9.8 ·íÒ¡ÒÃÃѹâ»Ãá¡ÃÁ áÅ Ç·´Åͧ» ͹¢ ÍÁÙŵ Ò§æ ¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»áÊ´§ÂѧºÍà ´ EX-01 áŠǵÃǨÊͺ¼Å·Õàè ¡Ô´¢Ö¹é 9.9 ·´Åͧà»ÅÕè¹¢ ÍÁÙŨҡ´Ô»ÊÇÔµª º¹ºÍà ´ EX-03 à¾×èÍÊ §¢ ÍÁÙż Ò¹ºÍà ´ EX-07 ÁÒ áÊ´§¼ÅÂѧ˹ Ҩͧ͢â»Ãá¡ÃÁ 9.10 ·´Åͧà»ÅÕÂè ¹¤ ÒáÍ´à´Ãʢͧ PCF8574A â´Âà»ÅÕÂè ¹¤ Ò·Õ¨è ÁÑê à»Íà A0-A2 áÅÐà»ÅÕÂè ¹¤ Ò ã¹â»Ãá¡ÃÁ ·íÒ¡Ò÷´ÅͧµÒÁ¢Ñ¹é µÍ¹ã¹¢ Í 9.8 áÅÐ 9.9 ÍÕ¡¤Ãѧé
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 114
º··Õè 10
¡ÒÃàª×èÍÁµ ÍÊÑÒ³ ÍйÒÅÍ¡¡Ñº¾Íà µÍ¹Ø¡ÃÁ ¼ Ò¹ÃкººÑÊ I2C »¡µÔáŠǢ ÍÁÙÅ㹡ÒõԴµ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ¹Ñ鹨Ðà» ¹ÊÑÒ³´Ô¨ÔµÍÅ ·Ñé§ÊÔé¹ áµ àÁ×è͹íÒÁÒàª×èÍÁµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡áÅ Ç Â ÍÁµ ͧàª×èÍÁµ ÍáÅлÃÐÁÇżÅÊÑÒ³ ÍйÒÅÍ¡´ Ç ÍØ»¡Ã³ ÊÒí ¤Ñ·Õ·è Òí ˹ Ò·Õ¹è ¤Õé Í× äÍ«Õá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ «Ö§è ÁÑ¡¨Ð àÃÕ¡ Íæ Ç Ò äÍ«Õ ADC ( Analog to Digital Converter) 㹺·¹Õ¨é Ðä´ á¹Ð¹íÒ¶Ö§¡ÒÃ㪠§Ò¹äÍ«Õ ADC à¾×Íè àª×Íè Áµ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà â´Â¼ Ò¹ÃкººÑÊ I2C ´ Ç¡ÒÃ㪠ºÍà ´·´ ÅͧÃع EX-08 «Ö§è à» ¹Ë¹Ö§è 㹪ش·´Åͧ NX-2000 â´Â㹺Íà ´ EX-08 ¹Õãé ª äÍ«Õ ADC àºÍà PCF8591 㹡ÒÃá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ
¡ÒÃá»Å§ÊÑÒ³ÍйÒÅÍ¡´Ô¨ÔµÍÅẺ«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑè¹ (Successive Approximation ADC) ¶ Ò¨Ðá»Åà» ¹ä·ÂÍÒ¨àÃÕ¡¡Ãкǹ¡Òà ADC Ẻ¹ÕÇé Ò à» ¹¡ÒÃá»Å§áºº»ÃÐÁÒ³¤ Òã¡Å à¤Õ§ ºÅçÍ¡ä´ÍÐá¡ÃÁ¢Í§¡Ãкǹ¡Òà ADC Ẻ¹Õáé Ê´§ã¹ÃÙ»·Õè 10-1 Ê Ç¹ÊíÒ¤ÑËÅÑ¡»ÃСͺ ´ ÇÂǧ¨Ãà»ÃÕºà·Õºáç´Ñ¹, ǧ¨Ãá»Å§ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ (DAC : Digital to Analog Converter), ÊÑÒ³¹ÒÌ ¡Ò áÅÐÊ Ç¹¤Çº¤ØÁÅͨԡ ¨Ø´áµ¡µ Ò§ÍÂÙ ·Õèã¹ ADC Ẻ«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑè¹¹Õé¨Ð㪠ÃÕ¨ÔÊàµÍà àÅ¢°Ò¹Êͧ ËÃ×Í亹ÒÃÕÃÕ¨ÔÊàµÍà ᷹ǧ¨Ã¹ÑºàÅ¢°Ò¹ÊͧᵠÅкԵ¢Í§ÃÕ¨ÔÊàµÍà ¨Ð૵áÅÐÃÕ૵ â´Â¡Òà ¤Çº¤ØÁ¨Ò¡Ç§¨Ã¤Çº¤ØÁ µ Í仹ըé Ð͸ԺÒ¡Ò÷íÒ§Ò¹¢Í§ ADC Ẻ¹Õäé »·ÕÅÐ¢Ñ¹é ¢ÍãË ¾¨Ô ÒÃ³Ò ä´ÍÐá¡ÃÁàÇÅÒã¹ÃÙ»·Õè 10-2 à ÇÁ´ Ç ¡íÒ˹´ãË áç´Ñ¹ÍйÒÅÍ¡ÍÔ¹¾Øµ (Vin) ÁÕ¤Ò ¤§·Õ·è Õè 13.5V 1. Ê §ÊÑÒ³àÃÔÁè µ ¹¡Ò÷íÒ§Ò¹ (start converter) ÁÒÂѧ«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è ÃÕ¨ÊÔ àµÍà (successive approximation register) 2. ¢³Ð¹ÕÊé ¶Ò¹Ð¢Í§ÃÕ¨ÊÔ àµÍà ¨ÐäÁ ÇÒ § (busy) ÊÑÒ³¹ÒÌ ¡ÒÅÙ¡áá¶Ù¡Ê §à¢ ÒÁÒà¾×Íè ¡íÒ˹´¤ ҢͧÃÕ¨ÊÔ àµÍà ෠ҡѺ 0000 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 115
ÊÑÒ³¹ÒÌÔ¡Ò
áç´Ñ¹ÍйÒÅÍ¡ ÍÔ¹¾Øµ
«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è ÃÕ¨ÊÔ àµÍà ǧ¨Ãà»ÃÕºà·Õº
ÊÑÒ³àÃÔÁè µ ¹ ¡Ò÷íÒ§Ò¹ ÊÑҳᨠ§Ê¶Ò¹Ð MSB ¢ ÍÁÙÅ´Ô¨µÔ ÍÅ àÍÒµ ¾µØ LSB
ǧ¨Ãá»Å§ÊÑÒ³´Ô¨µÔ ÍÅ à» ¹ÍйÒÅÍ¡
ÃÙ»·Õè 10-1 ä´ÍÐá¡ÃÁáÊ´§¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã ADC Ẻ«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è 3. àÍÒµ ¾µØ ¢Í§ DAC ¨Ðà» ¹ 0 V Ê §ä»ã¹Ç§¨Ãà»ÃÕºà·Õº ·íÒ¡ÒÃà»ÃÕºà·Õº¡Ñºáç´Ñ¹ Vin ã¹¢³Ð¹Õ¨é Ðä´ àÍÒµ ¾µØ ෠ҡѺ -5V ¡íÒ˹´à» ¹Åͨԡ 0 4. àÁ×Íè ÊÑÒ³¹ÒÌ ¡ÒÅÙ¡µ Íä»à¢ ÒÁÒ ¨Ð·íÒ¡ÒÃ૵ºÔµ MSB ¢Í§ÃÕ¨ÊÔ àµÍà ໠¹ 1 5. 㹡óչàÕé » ¹ ADC ¢¹Ò´ 4 ºÔµ ´Ñ§¹Ñ¹é ¡ÒÃ·Õºè µÔ MSB ૵ ¨Ð·íÒãË Ç§¨Ã DAC á»Å§¤ Ò à» ¹áç´Ñ¹ 8V ¹íÒä»à»ÃÕºà·Õº·ÕÇè §¨Ãà»ÃÕºà·Õºáç´Ñ¹ áµ ¡Âç §Ñ ¹ ÍÂ¡Ç Ò Vin ´Ñ§¹Ñ¹é àÍÒµ ¾µØ ¢Í§Ç§¨Ãà»ÃÕºà·ÕºÂѧ¤§à» ¹ 0 ·íÒãË Ã¨Õ ÊÔ àµÍÃ Â§Ñ ¤§¤ ÒºÔµ MSB ãË à» ¹ 1 µ Íä» 6. µ ÍÁÒºÔµ B2 (¶Ñ´¨Ò¡ºÔµ MSB 1 ºÔµ à¹×Íè §¨Ò¡ÁÕ 4 ºÔµ ¡íÒ˹´ºÔµ MSB = B3) ¨Ð૵«Ö§è ¨ÐÁÕ¤Ò à· Ò¡Ñº 4V ¹íÒä»ÃÇÁ¡Ñº¤ ҢͧºÔµ MSB ·ÕÁè ÍÕ ÂÙ 8V ઠ¹ 12V ¹íÒä»à»ÃÕºà·Õº ¡Ñº Vin ¡ç处 ¹ ÍÂ¡Ç Ò ÃÕ¨ÊÔ àµÍà ¨§Ö Âѧ¤§¤ Ò B2 äÇ ·Õè 1 ઠ¹¡Ñ¹ 7. µ ÍÁÒºÔµ B1 ¨Ð૵·íÒãË áç´Ñ¹àÍÒµ ¾µØ ÁÒ DAC ¡ÅÒÂà» ¹ 8+4+2 = 14V «Ö§è ÁÒ¡¡Ç Ò Vin ·íÒãË Ç§¨Ãà»ÃÕºà·Õºà¡Ô´¡ÒÃà»ÅÕÂè ¹Ê¶Ò¹Ðà» ¹ 1 «Ö§è ¨ÐÊ §ÊÑÒ³ÁҤǺ¤ØÁãË B1 ¡ÅÒ ໠¹ 0 8. àÁ×Íè ºÔµ LSB ¶Ù¡à«µ ¨ÐÁÕ¤Ò áç´Ñ¹ 1V ࢠÒÁÒÃÇÁ¡Ñº¤ Ңͧ B3, B2 áÅÐ B1 à» ¹ 8+4+0+1 = 13V ¹íÒä»à»ÃÕºà·Õº¡Ñº Vin »ÃÒ¡®Ç Ò¹ ÍÂ¡Ç Ò Vin ·íÒãË ·ºÕè µÔ B0 ËÃ×Í LSB ÁÕ¤Ò à» ¹ 1 9. ¢³Ð¹Õ·é ¡Ø ºÔµã¹ÃÕ¨ÊÔ àµÍà ¶¡Ù ¹íÒÁÒá»Å§¤ ÒàÃÕºà ÍÂáÅ Ç ·íÒãË Ê¶Ò¹Ð¢Í§ÃÕ¨ÊÔ àµÍà ¡ÅѺ ÁÒà» ¹ ¾Ã ÍÁ·íÒ§Ò¹ (ready) àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 116
áç´Ñ¹àÍÒµ ¾µØ ¢Í§Ç§¨Ã DAC (V) 16
áç´Ñ¹ÍйÒÅÍ¡ÍÔ¹¾Øµ 13.5V
13.5 12 8 4
àÇÅÒ
0
ÊÑÒ³àÃÔÁè µ ¹¡Ò÷íÒ§Ò¹ ÊÑÒ³àÍÒµ ¾µØ ǧ¨Ã à»ÃÕºà·Õº
>KIO
HA=@O ÊÑҳʶҹÐ
ÊÑÒ³¹ÒÌÔ¡Ò '1' '0'
¢ ÍÁÙÅ´Ô¨µÔ ÍÅ àÍÒµ ¾µØ 1101=13V
'1'
àÇÅÒ㹡ÒÃá»Å§ÊÑÒ³
ÃÙ»·Õè 10-2 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§¡Ò÷íÒ§Ò¹¢Í§ ADC Ẻ«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è 10. ¢ ÍÁÙÅ´Ô¨µÔ ÍÅ·Õäè ´ ¨Ò¡¡Òà ADC Ẻ¹Õé ¨ÐÁÕ¤Ò 1101 ËÃ×Í 13V «Ö§è ã¡Å à¤Õ§¡Ñº Vin 13.5V ÁÒ¡·ÕÊè ´Ø ¶ ÒËÒ¡ÃÕ¨ÊÔ àµÍà Á¨Õ Òí ¹Ç¹ºÔµÁÒ¡¡Ç Ò¹Õé ¤ÇÒÁÅÐàÍÕ´¢Í§¢ ÍÁÙÅ·Õáè »Å§ä´ ¨ÐÁÕ¤ÇÒÁ ã¡Å à¤Õ§ÁÒ¡¢Ö¹é ª ǧàÇÅҢͧ¡ÒÃá»Å§ÊÑÒ³¨ÐàÃÔÁè µ ¹¢Ö¹é µÑ§é áµ Ê Ñ Ò³¹ÒÌ ¡ÒÅÙ¡áá¶Ù¡Ê §à¢ Ò ä»àµÃÕÂÁÃкºä»¨¹¶Ö§àÁ×èÍÊÀÒÇТͧÃÕ¨ÔÊàµÍà ¡ÅѺÁÒà» ¹ ¾Ã ÍÁ·íÒ§Ò¹ ÍÕ¡¤ÃÑé§Ë¹Öè§ «Ö觨Рµ ͧ㪠¨Òí ¹Ç¹ÊÑÒ³¹ÒÌ ¡Ò෠ҡѺ n+1 ¾ÑÅÊ â´Â n ෠ҡѺ ¨íҹǹºÔµ¢Í§ÃÕ¨ÊÔ àµÍà ´Ñ§¹Ñ¹é ¶ ÒËÒ¡ ADC Ẻ«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è ¢¹Ò´ 4 ºÔµ µÒÁµÑÇÍ ҧ·ÕÍè ¸ÔºÒÂÁÒ ¹Õé ãª Ê Ñ Ò³¹ÒÌ ¡Ò¤ÇÒÁ¶Õè 50kHz àÇÅÒ·Õãè ª ·§Ñé ËÁ´ã¹¡ÒÃá»Å§ÊÑÒ³¨Ð¤íÒ¹Ç³ä´ ´§Ñ ¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 117
(1) ¤íҹdz¤ÒºàÇÅҢͧÊÑÒ³¹ÒÌ ¡Ò fclk = 50 kHz = 50x103 T=
# × !
= 20 ms
(2) ¨íҹǹÊÑÒ³¹ÒÌ ¡Ò·Ñ§é ËÁ´·Õãè ª 㹡ÒÃá»Å§à· ҡѺ n+1, n ÁÕ¤Ò à· Ò¡Ñº 4 à¹×Íè §¨Ò¡ ÁÕ¨Òí ¹Ç¹ 4 ºÔµ ´Ñ§¹Ñ¹é ¨íҹǹÊÑÒ³¹ÒÌ ¡Ò·Õãè ª ·§Ñé ËÁ´¨Ö§à· ҡѺ 4+1 = 5 (3) àÇÅҷѧé ËÁ´·Õãè ª ෠ҡѺ 5x20 ms = 100 ms
¢ ÍÁÙÅàº×Íé §µ ¹¢Í§ PCF8591 PCF8591 à» ¹äÍ«Õá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ¢¹Ò´ 8 ºÔµ 4 ª ͧ áÅÐÂѧÊÒÁÒö á»Å§ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ä´ ã¹¤ÃÒÇà´ÕÂǡѹ ´ Ç¡ÒäǺ¤ØÁ¼ Ò¹ÃкººÑÊ I2C ·íÒãË ÊÒÁÒöµ ; ǧäÍ«Õ PCF8591 ä´ Ê§Ù ÊØ´¶Ö§ 8 µÑÇ ÃͧÃѺ¡ÒÃÍ Ò¹¤ ÒÊÑÒ³ÍйÒÅÍ¡ÍÔ¹¾Øµä´ ʧ٠ÊØ´¶Ö§ 32 ª ͧ áÅÐÊÒÁÒÃ¶Ê §ÊÑÒ³ÍйÒÅÍ¡àÍÒµ ¾µØ ÊÙ§ÊØ´ä´ ¶§Ö 8 ª ͧ´ Ç¡ÒáíÒ˹´áÍ´ à´Ãʨҡ¢Ò A0, A1 áÅÐ A2 ã¹ÃÙ»·Õè 10-3 áÊ´§ÃÒÂÅÐàÍÕ´¡ÒèѴ¢Ò¢Í§ äÍ«Õ PCF8591 Ê Ç¹¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤·ÕÊè Òí ¤ÑÁÕ´§Ñ ¹Õé l
·íÒ§Ò¹â´Â㪠áËÅ §¨ ÒÂ俪شà´ÕÂÇ
l
 ҹä¿àÅÕÂé § 2.5V - 6V
l
¡Ô¹¡ÃÐáÊ¢³ÐÍÂÙã ¹ÊÀÒÇÐÊáµ¹ºÒ´ µÒèí
l
µÔ´µ ͡ѺäÁâ¤Ã¤ÍÁ¾ÔÇàµÍà ËÃ×ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¼Ò ¹ÃкººÑÊ I2C
l ÊÒÁÒöàÅ×Í¡µíÒá˹ §áÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ¨Ò¡¢Ò A0, A1, A2 ·íÒãË ÊÒÁÒöµ ; ǧ
¡Ñ¹ä´ ʧ٠ÊØ´¶Ö§ 8 µÑÇ l
ÍѵÃÒ¡ÒÃÊØÁ ¢ ÍÁÙÅ (samping) ¢Ö¹é ÍÂÙ¡ ºÑ ¤ÇÒÁàÃçǢͧÊÑÒ³¹ÒÌ ¡Òº¹ºÑÊ I2C
ǧ¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ (ADC) ÊÒÁÒöÃѺÊÑÒ³ÍйÒÅÍ¡ä´ 4 ª ͧ ·Ñ§é ÂѧàÅ×Í¡ä´ ÇÒ ãË ·Òí §Ò¹áººá¡ª ͧËÃ×Í·íҧҹẺǧ¨Ã´Ô¿à¿ÍàùàªÕÂÅ l l
¡ÒÃÍ Ò¹¤ ÒÊÒÁÒö¡íÒ˹´ãË àÅ×Íè ¹ª ͧÍÔ¹¾Øµâ´ÂÍѵâ¹ÁѵäÔ ´
l
ÊÑÒ³ÍйÒÅÍ¡ÁÕÃдѺáç´Ñ¹µÑ§é áµ VSS 仨¹¶Ö§ VDD
l
ǧ¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅà» ¹áºº«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è 8 ºÔµ
l
ÁÕǧ¨Ãá»Å§ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡¢¹Ò´ 8 ºÔµ 1 ª ͧ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 118
ª×Íè
µíÒá˹ §¢Ò
AOUT
AN0
1
ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 1
"
V4-.
AN1
2
ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 2
!
AGND
AN2
3
ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 3
EXT
AN3
4
ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 4
A1 $
OSC
A0
5
¢Ò¡íÒ˹´áÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ºµÔ 0
A2 %
SCL
V55 &
'
SDA
A1
6
¢Ò¡íÒ˹´áÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ºµÔ 1
A2
7
¢Ò¡íÒ˹´áÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ºµÔ 2
VSS
8
¡ÃÒÇ´
SDA
9
¢Ò¢ ÍÁÙÅÊíÒËÃѺºÑÊ I C
SCL
10
¢ÒÊÑÒ³¹ÒÌÔ¡ÒÊíÒËÃѺºÑÊ I C
OSC
11
¢ÒÍÔ¹¾ØµàÍÒµ ¾µØ ÍÍÊ«ÔÅàÅàµÍÃ
EXT
12
¢ÒàÅ×Í¡ÍÍÊ«ÔÅàÅàµÍà ÀÒÂã¹ËÃ×ÍÀÒ¹͡
AGND
13
¡ÃÒÇ´ ÍйÒÅÍ¡
V4-.
14
¢ÒÍÔ¹¾ØµÊíÒËÃѺáç´Ñ¹Í Ò§ÍÔ§
AOUT
15
¢ÒÍйÒÅÍ¡àÍÒµ ¾µØ (ǧ¨Ã D/A)
VDD
16
ä¿àÅÕÂé §
AN0
$
V,,
AN1
#
AN2 ! AN3 " A0 #
2+.&#'
˹ Ò·Õè
ÃÙ»·Õè 10-3 ¡ÒèѴ¢ÒáÅеÒÃÒ§áÊ´§ª×Íè ¢ÒÊÑÒ³¢Í§ PCF8591
ÃÒÂÅÐàÍÕ´¿ §¡ ª¹Ñè µ Ò§æ ¢Í§ PCF8591 µíÒá˹ §áÍ´à´ÃÊ
ã¹ÃкººÑÊ I2C ¡ÒõԴµ ͡ѺÍØ»¡Ã³ áµ ÅеÑǵ ͧÃкØáÍ´à´ÃʢͧÍØ»¡Ã³ àËŠҹѹé Í ҧ ªÑ´à¨¹ ¶ Òà» ¹¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ ¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ 4 ºÔµº¹¨Ðà» ¹¤ ÒáÍ´à´ÃÊ੾ÒÐ ¢Í§ÍØ»¡Ã³ µÑǹÑé¹æ ·Õè¡íÒ˹´ÁÒ¨Ò¡¼Ù ¼ÅÔµ ¼Ù 㪠§Ò¹äÁ ÊÒÁÒöà»ÅÕè¹á»Å§ä´ ÊíÒËÃѺäÍ«Õ PCF8591 ¨ÐÁÕ¤Ò à· Ò¡Ñº 1001 (°Ò¹Êͧ) ¢ ÍÁÙÅ 3 ºÔµ¶Ñ´ÁÒ¨Ðà» ¹¤ ҢͧáÍ´à´ÃÊ·Õ¼è ãÙ ª §Ò¹ ÊÒÁÒö¡íÒ˹´ä´ ·Ò§ÎÒà ´áÇà à¾×Íè àÅ×Í¡äÍ«Õ PCF8591 ·Õµè Í §¡ÒõԴµ Í´ ÇÂ㹡óշÁÕè ¡Õ Òõ Í㪠§Ò¹ PCF8591 ÁÒ¡¡Ç Ò 1 µÑÇ Ê Ç¹ºÔµ LSB 㪠㹡ÒáíÒ˹´Ç Òµ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺ äÍ«ÕµÇÑ ¹Ñ¹é æ â´ÂÁÕû٠Ẻ¡ÒáíÒ˹´¤ Ҵѧ¹Õé ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 1
0
0
1
A2
A1
A0
R/W
¡µÑÇÍ ҧ ¶ Òµ ͧ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡªÔ»·Õ¡è Òí ˹´áÍ´à´ÃÊäÇ à» ¹ 000 ¨Ðµ ͧ» ͹¢ ÍÁÙÅ áÍ´à´ÃÊ෠ҡѺ &H91 à» ¹µ ¹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 119
:
:
:
:
:
:
ª ͧÍÔ¹¾Øµ¢Í§ A/D ·Õµè Í §¡ÒõԴµ Í 00 ª ͧ 0 01 ª ͧ 1 10 ª ͧ 2 11 ª ͧ 3
¡íÒ˹´ÃٻẺ¢Í§ÍйÒÅÍ¡ÍÔ¹¾Øµ AN0 AN1 AN2 AN3
00 ÍÔ¹¾Øµáµ ÅЪ ͧᡡѹÍÔÊÃÐ ª ͧ 0 ª ͧ 1 ª ͧ 2 ª ͧ 3 01 ÍÔ¹¾Øµáºº´Ô¿à¿ÍàùàªÕÂÅ 3 ª ͧ
AN0
+ -
ª ͧ 0
AN1
+ -
ª ͧ 1
+ -
ª ͧ 2
AN2 AN3
10 ÍÔ¹¾Øµá¡¡Ñ¹ÍÔÊÃмÊÁ¡Ñº´Ô¿à¿ÍàùàªÕÂÅ 1 ª ͧ ª ͧ 0 ª ͧ 1
AN0 AN1 AN2 AN3
+ -
ª ͧ 2
11 ´Ô¿à¿ÍàùàªÕÂÅ 2 ÍÔ¹¾Øµ AN0 AN1 AN2 AN3
+ -
ª ͧ 0
+ -
ª ͧ 1
á¿Å¡àÍç¹àÍàºÔÅÍйÒÅÍ¡àÍÒµ ¾µØ (àÍç¹àÍàºÔŶ Ò¡íÒ˹´ãË à» ¹ "1" )
ÃÙ»·Õè 10-4 ÃÒÂÅÐàÍÕ´¢ ÍÁÙŤǺ¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ PCF8591 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 120
¢ ÍÁÙŤǺ¤ØÁ ËÅѧ¨Ò¡Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊãË á¡ PCF8591 áÅ Ç µ Í§Ê §¢ ÍÁÙŤǺ¤ØÁµÒÁä»´ Ç à¾×Íè ¡íÒ˹´¤Ø³ÊÁºÑµ¢Ô ͧǧ¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅáÅÐǧ¨Ãá»Å§ÊÑÒ³´Ô¨µÔ ÍÅ à» ¹ÍйÒÅÍ¡ÀÒÂã¹ PCF8591 â´ÂÁÕÃÒÂÅÐàÍÕ´¢Í§¢ ÍÁÙÅã¹áµ ÅкԵ´Ñ§ã¹ÃÙ»·Õè 10-4 ºÔµ 6 ¢Í§¢ ÍÁÙŤǺ¤ØÁ㪠ÊÒí ËÃѺàÍç¹àÍàºÔÅ¢ÒÍйÒÅÍ¡àÍÒµ ¾µØ àÁ×Íè µ ͧ¡ÒÃàÍç¹àÍàºÔÅ µ ͧ¡íÒ˹´ãË ¢Ò¹Õàé » ¹ 1 ºÔµ 4 áÅкԵ 5 ¢Í§¢ ÍÁÙŤǺ¤ØÁ㪠ÊÒí ËÃѺ¡ÒáíÒ˹´ÃٻẺ¢Í§ÊÑÒ³ÍйÒÅÍ¡ÍÔ¹¾Øµ ·Õ»è Í ¹ãË á¡ PCF8591 ºÔµ 2 㪠ÊÒí ËÃѺàÅ×Í¡ÃٻẺ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡ¢ÒÍÔ¹¾ØµÍйÒÅÍ¡Ç Ò¨Ðà» ¹¡ÒÃÍ Ò¹¨Ò¡à¾Õ§ ÍÔ¹¾Øµà´ÕÂÇËÃ×ÍÍ Ò¹áººàÃÕ§ÅíҴѺ·Ø¡ÍÔ¹¾Øµ ¶ Òµ ͧ¡ÒÃàÅ×Í¡ãË ÍÒ ¹áººàÃÕ§ÅíҴѺµ ͧ¡íÒ˹´ ãË ºµÔ ¹Õàé » ¹ 1 ºÔµ 0 áÅкԵ 1 㪠ÊÒí ËÃѺ¡íÒ˹´ª ͧ¢Í§ÍÔ¹¾ØµÍйÒÅÍ¡·Õµè Í §¡ÒÃÍ Ò¹ ¶ Ò¡íÒ˹´ãË ºÔµ 2 à» ¹ 1 ËÅѧ¨Ò¡Í Ò¹¤ ҢͧºÔµ 0 áÅкԵ 1 áÅ Ç ã¹¡ÒÃÍ Ò¹¤ Ò¤ÃÑ§é µ Í仨Ðà» ¹¡ÒÃ Í Ò¹¤ ÒÍÔ¹¾Øµ¨Ò¡ª ͧ·Õè 1 ¢ ÍÁÙŤǺ¤ØÁ·Ñ§é ËÁ´¨Ð¶Ù¡à¡çºäÇ ã¹ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁÀÒÂã¹ PCF8591 àÁ×Íè ¨ ÒÂä¿ãË á¡ PCF8591 ¤Ãѧé áá ºÔµµ Ò§æ ¢ ÍÁÙÅÀÒÂã¹ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁ¨Ð¶Ù¡¡íÒ˹´ ãË à» ¹ 0
ÍÍÊ«ÔÅàÅàµÍà ǧ¨ÃÍÍÊ«ÔÅàÅàµÍà ÀÒÂã¹ PCF8591 ¨ÐÊà ҧÊÑÒ³¹ÒÌ ¡ÒÊíÒËÃѺ¡ÒÃá»Å§ÊÑÒ³ ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ àÁ×Íè µ ͧ¡ÒÃ㪠ǧ¨ÃÍÍÊ«ÔÅàÅàµÍà ÀÒÂã¹ ¢Ò EXT µ ͧµ Íŧ¡ÃÒÇ´ ¶ Òµ ͧ ¡ÒÃ㪠ÍÍÊ«ÔÅàÅàµÍà ¨Ò¡ÀÒ¹͡¢Ò EXT µ ͧµ ÍࢠҡѺ俺ǡ áÅл ͹ÊÑÒ³¹ÒÌ ¡Òࢠҷբè Ò OSC ¢Í§ PCF8591 â´Â¤ÇÒÁ¶Õ¢è ͧÊÑÒ³¹ÒÌ ¡ÒÊÙ§ÊØ´·Õ»è Í ¹ãË ¡ºÑ ÍÍÊ«ÔÅàÅàµÍà ෠ҡѺ 1.25 MHz
ºÍà ´ EX-08 ºÍà ´ ADC /DAC Ẻ I2C ºÑÊ ºÍà ´ EX-08 ÁÕǧ¨ÃÀÒÂ㹴ѧáÊ´§ã¹ÃÙ»·Õè 10-5 º¹ºÍà ´¨ÐÁÕäÍ«Õ PCF8591 «Ö§è ÊÒÁÒö ¡íÒ˹´áÍ´à´ÃÊä´ µÒÁ¤ Ò·Õµè Í §¡Òü Ò¹¨ÑÁê à»Íà JP801- J P803 â´Â»¡µÔ¶Ò ÁÕ¡ÒÃ㪠PCF8591 à¾Õ§µÑÇà´ÕÂÇÁÑ¡¨Ð¡íÒ˹´¤ ÒáÍ´à´ÃÊàÍÒäÇ à· Ò¡Ñº 000 ¡ÒÃàª×Íè Áµ ͺÍà ´ EX-08 ¡Ñº S-Board ¨Ð㪠¡ÒÃàª×Íè Áµ ͼ ҹᨠ¡âÁ´ÙÅÒ Ã ·µÕè Òí á˹ §á¨ ¡ I2C ઠ¹à´ÕÂǡѺºÍà ´ EX-07 áÅÐÊÒÁÒöµ Í àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 121
+5V +5V
IC801 PCF8591
K801
16
5 6 JP801
K802
JP802
JP803 7
ADDRESS SELECT A0
A1
14 Vref
9
10
+5V
Aout
SDA
I C BUS CONNECTOR
15
K803 ANALOG OUTPUT
SCL 1 2 Ain1 3 Ain2 4 Ain3 13 AGND EXT
A0
A2
12
84&
84& "
84& !
+5V
EX-08 I C-based ADC board
K804 ANALOG INPUT
Ain0
A1
8
A2
C801 0.1/50V
VR801
JP804 JP805 JP806 JP807
VR801-VR804 10k x4
¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤
l 㪠¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C l ÍÔ¹¾ØµÊÑÒ³ÍйÒÅÍ¡ 4 ª ͧ ÃѺ
áç´Ñ¹ä¿µÃ§ä´ µ§Ñé áµ 0-5V l àÍÒµ ¾µØ ¢Í§Ç§¨Ã DAC 8 ºÔµ 1 ª ͧ  ҹáç´Ñ¹ 0-5V l µ ; ǧ¡Ñ¹à¾×Íè ¢ÂÒÂä´ Ê§Ù ÊØ´ÍÕ¡ 7 ºÍà ´ ÃÇÁÁÕÍ¹Ô ¾ØµÍйÒÅÍ¡ 32 ª ͧ àÍÒµ ¾µØ ÍйÒÅÍ¡ 4 ª ͧ l àÅ×Í¡áÍ´à´ÃÊ㹡ÒõԴµ Íä´ l ¤Í¹à¹ç¡àµÍà DATA BUS àª×Íè Á µ ͡ѺºÍà ´ EX-series
ÃÙ»·Õè 10-5 ǧ¨Ã EX-08 ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C ¾ ǧºÍà ´Ã ÇÁ¡Ñ¹ä´ ÁÒ¡¶Ö§ 8 ºÍà ´¨Ò¡¡ÒáíÒ˹´áÍ´à´ÃʢͧᵠÅкÍà ´µ Ò§¡Ñ¹ ÍÔ¹¾Øµ ÊÑÒ³ÍйÒÅÍ¡¢Í§ PCF8591 ÁÕ·§Ñé ËÁ´ 4 ª ͧ ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡¡Òû ͹ÍÔ¹¾ØµÍйÒÅÍ¡ 0-5 V ¨Ò¡ÀÒ¹͡ËÃ×ͨҡµÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ º¹ºÍà ´ «Ö§è 㪠»ÃѺ¤ Òáç´Ñ¹ÃÐËÇ Ò§ 0-5V ¨Ò¡ ä¿àÅÕÂé §º¹ºÍà ´ EX-08 â´Â㪠¨ÁÑê à»Íà JP804 - JP807 º¹µÑǺÍà ´ ¹Í¡¨Ò¡¹Õé PCF8591 ÂѧÁÕàÍÒµ ¾µØ ẺÍйÒÅÍ¡ÍÕ¡ 1 ª ͧà¾×Íè Ê §áç´Ñ¹ÍÍ¡ä» â´Âáç ´Ñ¹¹ÕÁé ¤Õ Ò à»ÅÕÂè ¹á»Å§ÃÐËÇ Ò§ 0-5V ¢Ö¹é ÍÂÙ¡ ºÑ ¡ÒÃÊ §¢ ÍÁÙÅÁҤǺ¤ØÁºÍà ´ EX-08 ä¿àÅÕÂé §ºÍà ´ EX-08 ¨ÐÁҨҡᨠ¡ I2C ઠ¹à´ÕÂǡѺºÍà ´ EX-07 áÅд Ç¡ÒÃ㪠ÃкººÑÊ I2C ¨Ö§ÊÒÁÒöµ Í ¾ ǧºÍà ´ EX-07 áÅÐ EX-08 ࢠҴ ÇÂ¡Ñ¹ä´ ·Ñ¹·Õ â´Â¼Ù 㪠§Ò¹äÁ ¨íÒà» ¹µ ͧ»Å´ÊÒµ ͨҡ ºÍà ´ EX-07 ¡ ͹
¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè 㪠§Ò¹ PCF8591 ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅÍÔ¹¾ØµÍйÒÅ͡Ẻµ Íà¹×Íè §¨Ò¡ PCF8591 ÁÕÅÒí ´Ñº¢Ñ¹é µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ START àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 122
2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ â´Âã¹·Õ¹è ¡Õé Òí ˹´áÍ´à´Ãʢͧ PCF8591 äÇ ·Õè 000 (¢Ò A0, A1, A2 µ Íŧ¡ÃÒÇ´ ·§Ñé ËÁ´) áÅÐãË ·Òí §Ò¹ã¹âËÁ´à¢Õ¹¢ ÍÁÙÅ (» ͹¢ ÍÁÙÅÅͨԡ 0 ãË á¡ ºµÔ R/W) 3. ÃÍÃѺÊÑÒ³ ACK ËÃ×ÍÃÍÃѺ¡Òõͺ¡ÅѺ¨Ò¡ PCF8591 4. Ê §¢ ÍÁÙŤǺ¤ØÁä»Âѧ PCF8591 â´Â㪠¤ Ò 45H «Öè§à» ¹¡ÒÃàÍç¹àÍàºÔÅÍйÒÅÍ¡ àÍÒµ ¾µØ ,¡íÒ˹´ãË Í¹Ô ¾ØµÍйÒÅÍ¡·íÒ§Ò¹ã¹âËÁ´«Ô§à¡ÔÅ,¡íÒ˹´ãË ãª ¡ÒÃàÅ×Íè ¹Í Ò¹¢ ÍÁÙÅẺµ Í à¹×Íè § áÅÐàÃÔÁè Í Ò¹¢ ÍÁÙŨҡª ͧ·Õè 1 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ PCF8591 6. Ê §ÊÑÒ³ STOP 7. Ê §ÊÑÒ³ START ÍÕ¡¤Ãѧé 8. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊÍÕ¡¤Ãѧé â´Â¤ÃÑ§é ¹Õ¡é Òí ˹´ãË à» ¹âËÁ´Í Ò¹¢ ÍÁÙÅ (Ê §Åͨԡ 1 ãË á¡ ºµÔ R/W) à¾×Íè àÃÔÁè µ ¹Í Ò¹¤ Ò¢ ÍÁÙŨҡª ͧÊÑÒ³ÍйÒÅÍ¡ÍÔ¹¾Øµ 9. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ PCF8591 10. Í Ò¹¤ Ò¨Ò¡¢ÒÍÔ¹¾Øµ¢Í§Ç§¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍŪ ͧ·Õè 1 11. Ê §ÊÑÒ³ MAck (Master Ack) ä»Âѧ PCF8591 12. Í Ò¹¤ Ò¨Ò¡¢ÒÍÔ¹¾Øµ¢Í§Ç§¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍŪ ͧ·Õè 2 13. Ê §ÊÑÒ³ MAck (Master Ack) ä»Âѧ PCF8591 14. Í Ò¹¤ Ò¨Ò¡¢ÒÍÔ¹¾Øµ¢Í§Ç§¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍŪ ͧ·Õè 3 15. Ê §ÊÑÒ³ MAck (Master Ack) ä»Âѧ PCF8591 16. Í Ò¹¤ Ò¨Ò¡¢ÒÍÔ¹¾Øµ¢Í§Ç§¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍŪ ͧ·Õè 4 17. ÃÍÃѺÊÑÒ³ ACK 18. Ê §ÊÑÒ³ STOP ¨Ò¡¢Ñ¹é µÍ¹´Ñ§¡Å ÒÇÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁ Í´ Ç Visual BASIC ä´ ´§Ñ ¹Õé Private Sub Timer1_Timer() Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H45) Call Ack
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 123
Call I2CStop Call I2CStart Call Send8BIT(&H91) Call Ack Text1.Text = (Read8bit Call MAck Text2.Text = (Read8bit Call MAck Text3.Text = (Read8bit Call MAck Text4.Text = (Read8bit Call Ack Call I2CStop End Sub
* 5) / 255 * 5) / 255 * 5) / 255 * 5) / 255
ËÁÒÂà赯 1. â»Ãá¡ÃÁ Íµ Ò§ æ ·Õàè ÃÕ¡㪠¨Ò¡â»Ãá¡ÃÁ¹Õàé » ¹â»Ãá¡ÃÁ ÍµÑÇà´ÕÂǡѺ â»Ãá¡ÃÁ  ÍÂ㹡Ò÷´ÅͧºÍà ´ EX-07 ¡ ͹˹ Ò¹Õé «Ö§è ¼Ùã ª §Ò¹ÊÒÁÒö¤Ñ´ÅÍ¡ÁÒ㪠§Ò¹ä´ áÅмÙã ª §Ò¹ ÊÒÁÒö¹íÒâ»Ãá¡ÃÁ Íµ Ò§æ àËÅ Ò¹Õäé »»ÃÐÂØ¡µ 㪠§Ò¹¡ÑºÍØ»¡Ã³ ·ÁÕè ¡Õ ÒõԴµ ÍẺºÑÊ I2C ä´ ·Ø¡µÑÇ 2. â»Ãá¡ÃÁ Í MAck à» ¹â»Ãá¡ÃÁ Í·Õãè ª ʧ ÊÑÒ³ Acknowledge «Ö§è ¨Ðà» ¹¡ÒÃ Ê §ÊÑÒ³ Acknowledge ¨Ò¡µÑÇÁÒÊàµÍà ËÃ×ͨҡ¤ÍÁ¾ÔÇàµÍà ¹¹Ñè àͧ â´Âà¢Õ¹â»Ãá¡ÃÁ Í Mack ä´ ´§Ñ ¹Õé Private Sub MAck() SDA_L SCL_H SCL_L SDA_H End Sub
¡ÒÃÊ §ÊÑÒ³ Mack ¨ÐÊ §ãË ¡ºÑ µÑÇÅÙ¡ (Slave) ¢Í§ I2C ºÑÊ㹡óշµÕè ÇÑ áÁ (Master) ·íÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡµÑÇÅÙ¡àÃÕºà ÍÂáÅ Ç «Ö§è ¨ÐµÃ§¡Ñ¹¢ ÒÁ¡Ñº Ack «Ö§è ¨Ðà» ¹¡Òõͺ¡ÅѺ¨Ò¡ µÑÇÅÙ¡à¾×Íè Â×¹ÂѹãË µÇÑ áÁ ÃºÑ ÃÙÇ Ò ä´ ÃºÑ ¢ ÍÁÙÅáÅ Ç â´Âã¹â»Ãá¡ÃÁ¨Ðµ ͧ¡íÒ˹´ TextBox ¢Ö¹é ÁÒ 4 µÑÇà¾×Íè áÊ´§¤ Ò¼ÅÅѾ¸ ·ÍÕè Ò ¹ä´ ¢Í§¢ Í ÁÙŷѧé 4 ª ͧ µÑ§é ª×Íè à» ¹ Text1 , Text2 ,Text3 áÅÐ Text4 ¤ Ò·Õáè Ê´§ã¹ TextBox à» ¹¤ Òáç´Ñ¹ ·ÕÍè Ò ¹ä´ ¨Ò¡ÍÔ¹¾Øµ¢Í§ PCF8591 à¹×Íè §¨Ò¡ à» ¹¡ÒùíÒàÍÒ¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµ·ÕÍè Ò ¹ä´ ÁÒ¤íҹdz ãËÁ ãË ÍÂÙã ¹ÃÙ»¢Í§áç´Ñ¹ â´Ââ»Ãá¡ÃÁ·Õµè Í ãª §Ò¹¨ÐÁÕ˹ ҵҴѧáÊ´§ã¹ÃÙ»·Õè 10-6 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 124
Text1 Text2 Text3 Text4 MSComm1
ÃÙ»·Õè 10-6 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ ¢Í§ PCF8591 ¼ Ò¹ÃкººÑÊ I2C
Timer1
¡Òäíҹdz ¨Ò¡¤ÇÒÁÅÐàÍÕ´ 8 ºÔµ ¢Í§Ç§¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ¹Ñ¹é ·íÒãË ¤Ò ·ÕÍè Ò ¹ä´ ÁÕ¤ÇÒÁÅÐàÍÕ´ÍÂÙ· »Õè ÃÐÁÒ³ 20mV µ Í¡ÒÃà»ÅÕÂè ¹á»Å§¢ ÍÁÙÅ 1 ¤ Ò ÊÒÁÒö¤íÒ¹Ç³ä´ ¨Ò¡ ¤ÇÒÁÅÐàÍÕ´¡ÒÃÇÑ´ = ¤ Òáç´Ñ¹àµçÁÊà¡Å / ¤ ÒÊÙ§ÊØ´¢Í§µÑÇàÅ¢´Ô¨µÔ ÍÅ 8 ºÔµ = 5/256 = 0.0195V ËÃ×Í »ÃÐÁÒ³ 20mV Ê Ç¹¡Òäíҹdz¤ Òáç´Ñ¹¨Ò¡¤ Ò¢ ÍÁÙÅ·ÕèÍ Ò¹ä´ ¨Ðä´ ÁÒ¨Ò¡Êٵà ¤ Òáç´Ñ¹ = ¤ Ò·ÕÍè Ò ¹ä´ x ¤ Òáç´Ñ¹àµçÁÊà¡Å / ¤ ÒÊÙ§ÊØ´¢Í§µÑÇàÅ¢ 8 ºÔµ ÊÁÁµÔ Í Ò¹¤ Ò¨Ò¡ PCF8591 ä´ ¤ Ò෠ҡѺ 128 ¤ Òáç´Ñ¹·Õèá· ¨ÃÔ§·Õè» Í¹ãË ¡ÑºÍÔ¹¾Øµ ¨ÐÁÕ¤ Ò෠ҡѺ 128 x 5 / 256 = 2.5V
¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧǧ¨Ãá»Å§ÊÑÒ³´Ô¨ÔµÍÅà» ¹ÍйÒÅÍ¡¢Í§ PCF8591 PCF8591 ¹Í¡¨Ò¡¨ÐÁÕǧ¨Ãá»Å§ÊÑÒ³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍÅáÅ ÇÂѧÁÕǧ¨Ãá»Å§ ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ÍÂÙÀ ÒÂã¹µÑÇ´ Ç ¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»Âѧ PCF8591 ¨Ðà» ¹¡ÒÃ Ê §¤ ÒÍÍ¡ä»Âѧǧ¨Ãá»Å§ÊÑÒ³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ â´Âµ ͧÁÕû٠Ẻ㹡ÒÃÊ §¢ ÍÁÙŴѧ¹Õé 1. Ê §ÊÑÒ³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊâ´ÂãË ·Òí §Ò¹ã¹âËÁ´à¢Õ¹¢ ÍÁÙÅ (ºÔµ R/W à» ¹ 0 ) 3. ÃÍÃѺÊÑÒ³ ACK àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 125
4. Ê §¢ ÍÁÙŤǺ¤ØÁ 44H ä»Âѧ PCF8591 à¾×Íè àÍç¹àÍàºÔÅÍйÒÅÍ¡àÍÒµ ¾µØ 5. ÃÍÃѺÊÑÒ³ ACK 6. Ê §¢ ÍÁÙÅä»ÂѧàÍÒµ ¾µØ ÍйÒÅÍ¡ â´Â¤ Ò·ÕÊè § Í͡仨е ͧÁÕ¤Ò ÍÂÙà ÐËÇ Ò§ 0-255 7. ÃÍÃѺÊÑÒ³ ACK 8. Ê §ÊÑÒ³ STOP ¨Ò¡¢Ñ¹é µÍ¹´Ñ§¡Å ÒÇ¢ Ò§µ ¹ÁÒà¢Õ¹໠¹â»Ãá¡ÃÁ Í´ Ç Visual BASIC ä´ ´§Ñ ¹Õé Private Sub Text5_Change() If Val(Text5.Text) > 5 Then Text5.Text = 5 Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H44) Call Ack Call Send8BIT(Val(Text5.Text) * 51) Call Ack Call I2CStop End Sub
â»Ãá¡ÃÁ Í¹ըé Ð㪠TextBox ÍÕ¡µÑÇË¹Ö§è ¤×Í Text5 ÁÒà» ¹µÑÇ¡íÒ˹´¤ Òáç´Ñ¹·Õ¨è ÐÊ §ä» ãË ¡ºÑ PCF8591 â´Â¤ Ò·Õ¨è ÐÊ §Í͡仹ըé е ͧ ¹íÒÁÒ¤Ù³´ Ç 51 (µÑÇàÅ¢ 51 ÁÒ¨Ò¡ ¤ Ò¢ ÍÁÙÅ ÊÙ§ÊØ´ 8 ºÔµËÒô Ǥ Òáç´Ñ¹àµçÁÊà¡Å : 255/ 5 ) àÊÕ¡ ͹à¾×Íè à»ÅÕÂè ¹¤ Òáç´Ñ¹·Õ¡è Òí ˹´Å§ä» ãË à» ¹¤ Ò¢ ÍÁÙÅ 8 ºÔµàÊÕ¡ ͹ àÁ×Íè ¼Ùã ª §Ò¹·íÒ¡Òà à»ÅÕÂè ¹¤ Ò¢ ÍÁÙÅãË Text5 áÅ ÇãË àÍÒÁÑŵÔÁàÔ µÍà ÁÒ·´ÅͧÇÑ´¤ Òáç´Ñ¹·ÕèàÍÒµ ¾ØµÍйÒÅÍ¡¢Í§ PCF8591 ´Ù¨ÐàË繤 Òáç´Ñ¹à»ÅÕè¹á»Å§ä» µÒÁ¤ Ò·Õ»è Í ¹Å§ä» ËÃ×ÍÊÒÁÒö¹íÒàÍÒ¢ÒÍÔ¹¾Øµ ¢Í§ PCF8591 µ Í ¾ Ç §¡Ñ º ¢ÒàÍÒµ ¾Ø µ ¢Í§ PCF8591 à¾×èÍÍ Ò¹¤ ÒÍÍ¡ÁÒâ´ÂµÃ§·Ò§¨Í ÀÒ¾¡çä´ â´Â˹ ҵҢͧâ»Ãá¡ÃÁàÁ×Íè à¾ÔÁè àµÔÁ Text5 ࢠÒä»áÊ´§ã¹ÃÙ»·Õè 12-7
Text1 Text2 Text3 Text4 MSComm1 Timer1 Text5
ÃÙ»·Õè 12-7 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ¤Çº¤ØÁ ¡Ò÷íÒ§Ò¹¢Í§ PCF8591 ·ÕèÁÕ¡ÒÃà¾ÔèÁàµÔÁ Text5 ÊíÒËÃѺ» ͹¢ ÍÁÙÅáç´Ñ¹ÍйÒÅÍ¡·Õè µ ͧ¡ÒÃãË »ÃÒ¡¯·ÕèàÍÒµ ¾ØµÍйÒÅÍ¡¢Í§ PCF8591
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 126
¡Ò÷´Åͧ·Õè 10 ¡ÒûÃÐÁÇżÅÊÑÒ³ÍйÒÅÍ¡¢Í§¾Íà µÍ¹Ø¡ÃÁ ¼ Ò¹ÃкººÑÊ I2C ´ ÇÂäÍ«Õ PCF8591 à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ¤ÍÁ¾ÔÇàµÍà ¾«Õ ·Õ ÁÕè ¡Õ ÒõԴµÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98 áÅÐ Visual BASIC Í ҧ¹ Í àÇÍà ª¹Ñè 5.0 áÅÐÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 2. ÁÑŵÔÁàÔ µÍà Ẻà¢çÁËÃ×ÍẺ´Ô¨µÔ ÍÅ·ÕÁè ÂÕ Ò ¹ÇÑ´áç´Ñ¹äÁ µÒèí ¡Ç Ò 5V 3. S-Board ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ ¾Ã ÍÁÊÒÂàª×Íè Áµ ÍáÅÐÍÐá´»àµÍà 4. EX-08 ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C 1 ºÍà ´ 1 àÊ ¹ 5. ÊÒÂàª×Íè Áµ Í I2C
¡Ò÷´Åͧ ¡Ò÷´ÅÍ§Í Ò¹áÅÐÊ §¤ Òáç´Ñ¹ÍйÒÅÍ¡ 10.1 àª×Íè Áµ Í S-Board ¡ÑººÍà ´ EX-08 10.2 à» ´â»Ãá¡ÃÁ Visual BASIC áÅ ÇàÃÕ¡â»Ãá¡ÃÁ lab1201.vbp ¨Ò¡¹Ñ¹é ·íÒ¡ÒÃÃѹâ»Ãá¡ÃÁ ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁ´Ñ§ã¹ÃÙ»·Õè P10-1 10.3 ãÊ ¨ÁÑê à»Íà TEST CH-1 ¶Ö§ TEST CH-4
Text1 Text2 Text3 Text4 Timer1 Text5
MSComm1
ÃÙ»·Õè P10-1 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ ·´Åͧ㹢 Í 10.2-10.10 ¨ÐàËç¹ Ç ÒÁÕ¡Ãͺ¢ ͤÇÒÁ Text1 áÅÐÍ×¹è æ à¾×èÍà·Õºà¤Õ§ãË àËç¹Ç Òä´ ·íÒ¡Òà »ÃѺ»Ãا¨Ò¡â»Ãá¡ÃÁã¹Ê ǹ¢Í§ ·ÄÉ®ÕÍ ҧäú Ò§
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 127
10.4 ãÊ ¨ÁÑê à»Íà àÅ×Í¡áÍ´à´Ãʢͧ PCF8591 à» ¹ 000 10.5 »ÃѺµÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ ·§Ñé 4 µÑǺ¹ºÍà ´ EX-08 äÇ ·µÕè Òí á˹ §µèÒí ÊØ´ 10.6 ¨ ÒÂä¿ãË á¡ ºÍà ´·´Åͧ 10.7 ·Õªè Í § CH-1 ¶Ö§ CH-4 ¨ÐáÊ´§¤ Ò 0V ¨Ò¡¹Ñ¹é ·íÒ¡ÒûÃѺ¤ ÒµÑǵ Ò¹·Ò¹ Íѹ໠¹¡ÒÃà»ÅÕÂè ¹ ¤ Òáç´Ñ¹ÍÔ¹¾ØµãË á¡ Ç§¨Ã ADC º¹ºÍà ´ EX-08 ¤ Ңͧ¢ ÍÁÙÅ㹪 ͧ CH-1 ¶Ö§ CH-4 ¨Ðà»ÅÕÂè ¹ á»Å§µÒÁ¡ÒûÃѺµÑǵ Ò¹·Ò¹ 10.8 ·´Åͧ» ͹¤ Òŧ㹪 ͧ Aout µ ͧ» ͹¤ ÒäÁ à¡Ô¹ 5 10.9 ¹íÒÁÑŵÔÁàÔ µÍà àÅ×Í¡Â Ò¹ÇÑ´áç´Ñ¹äÁ µÒèí ¡Ç Ò 5V ÇÑ´·Õè ANALOG OUTPUT ¢Í§ºÍà ´ EX-08 à»ÃÕºà·Õº¤ Òáç´Ñ¹·ÕèÇÑ´ä´ ¡Ñº¤ Ò·Õè» Í¹ã¹â»Ãá¡ÃÁ 10.10 ·´Åͧà»ÅÕÂè ¹¤ Ò㹪 ͧ Aout à» ¹¤ ÒÍ×¹è æ áÅ Ç·íÒ¡Ò÷´Åͧ«éÒí ã¹¢ Í 10.9
¡Ò÷´ÅͧÊà ҧǧ¨Ãà¡çº¢ ÍÁÙÅ (data logger) Í ҧ§ Ò »ÃÐ⪹ ¢ ͧǧ¨Ãá»Å§ÊÑ Ò³ÍйÒÅÍ¡à» ¹ ´Ô ¨Ô µ ÍÅÊí Ò ËÃÑ º ¡ÒÃàª×è Í Áµ Í ¡Ñ º ¤ÍÁ¾ÔÇàµÍà ¹Ñé¹ Ê Ç¹ãË ¨Ð㪠à¾×èÍ¡Òúѹ·Ö¡¤ Òà¾×èÍà¡çº¢ ÍÁÙÅÊÑÒ³¨Ò¡ÀÒ¹͡ ¡Ò÷´ Åͧµ Í仹ըé Ð㪠ºÍà ´ EX-08 à¾×Íè ÇÑ´áç´Ñ¹à» ¹ª Ç§æ ¹íҼŷÕäè ´ à¡çºÅ§ã¹á¿ Á¢ ÍÁÙŤÍÁ¾ÔÇàµÍà áŠǹíÒä»áÊ´§à» ¹¡ÃÒ¿à¾×Íè ´Ù¼Å¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é â´ÂãË ·Òí ¡ÒÃàª×Íè Áµ Í S-Board à¢ Ò ¡Ñº EX-08 ¼ Ò¹·Ò§á¨ ¡ I2C ¨Ò¡¤ÇÒÁµ ͧ¡ÒÃ¢Ñ¹é µ ¹ ÊÒÁÒö͸ԺÒ¡Ò÷íҧҹ໠¹¢Ñ¹é µÍ¹ä´ ´§Ñ ¹Õé
NewMenu ExitMenu Timer1 List1
CommonDialog1 MSComm1
ÃÙ»·Õè P10-2 ÃÒÂÅÐàÍÕ´¢Í§¿Íà Á·ÕÊè à ҧ¢Ö¹é 㹡Ò÷´Åͧ¹Õáé ÅФ͹â·ÃÅ CommonDialog àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 128
ÃÙ»·Õè P10-4 ¡Òúѹ·Ö¡¢ ÍÁÙŢͧ¤Í¹â·ÃÅ CommonDialog «Ö§è ÊÒÁÒöµÑ§é ª×Íè á¿ Á¢ ÍÁÙÅ ÃÙ»·Õè P10-3 ¡ÒÃà¾ÔÁè ¤Í¹â·ÃÅ CommonDia- Í Ò§ÍÔ§¡ÑºÇѹ·Õè·Õè·íÒ¡ÒÃÍ Ò¹¤ Ò¡çä´ à¾×èÍãË log ŧ㹿Íà Á·ÕÊè à ҧ¢Ö¹é â´Â Visual BASIC ÊÒÁÒöàÃÕ¡㪠§Ò¹ä´ §Ò ¢ֹé 10.11 㪠â»Ãá¡ÃÁ Visual BASIC Êà ҧ¿Íà Á¢Ö¹é ÁҴѧáÊ´§ã¹ÃÙ»·Õè P10-2 â´ÂÁÕÊÇ ¹·Õàè ¾ÔÁè àµÔÁ ¢Öé¹ÁÒ¤×Í MicroSoft Common Dialog Control «Ö觨е ͧà¾ÔèÁࢠÒä»àª ¹à´ÕÂǡѺ MSComm Control â´ÂÁÕÇ¸Ô ¡Õ ÒÃà¾ÔÁè ´Ñ§áÊ´§ã¹ÃÙ»·Õè P10-3 10.12 ·íÒ¡ÒÃÊà ҧàÁ¹Ù File àÁ¹Ù New áÅÐàÁ¹Ù Exit â´Âä»·Õè Tools > Menu Editor ¨Ð»ÃÒ¡¯ ˹ Òµ Ò§ÊíÒËÃѺ¡ÒÃÊà ҧàÁ¹Ù ¼Ùã ª §Ò¹ÊÒÁÒöÊà ҧàÁ¹Ù·µÕè Í §¡ÒÃä´ â´Â¢Ñ¹é µÍ¹¡ÒÃÊà ҧàÁ¹Ùâ´Â ÅÐàÍÕ´¹Ñ¹é ÊÒÁÒöËÒÍ Ò¹ä´ ¨Ò¡Ë¹Ñ§Ê×ÍÊ͹¡ÒÃ㪠§Ò¹ Visual BASIC â´Â·ÑÇè æ ä»ä´ 10.13 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ ¤Í¹â·Ãŵ Ò§æ ·ÕÊè à ҧ¢Ö¹é â´ÂÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé Dim Ch1, Ch2, Ch3, Ch4, Count1 As Integer Dim Data1, File1 As String Private Sub Form_Load() Data1 = “Count” & Chr(9) & “Ch1” & _ Chr(9) & “Ch2” & Chr(9) & “Ch3” & _ Chr(9) & “Ch4” & Chr(9) & “Times” List1.AddItem Data1 ‘ Show Head MSComm1.PortOpen = True ‘ Open Port End Sub Private Sub NewMenu_Click() CommonDialog1.ShowSave File1 = CommonDialog1.filename If File1 = “” Then
‘ Select File To Save Data ‘ If File Not Select Exit
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 129
Exit Sub End If Timer1.Enabled = True Open File1 For Output As #1 NewMenu.Enabled = False End Sub Private Sub ExitMenu_Click() Close #1 Unload Me End Sub
‘ Start Read Data ‘ Open File To Save Data ‘ Don’t Use Any New File
‘ Close File Befor Exit ‘ Exit
Private Sub Timer1_Timer() Dim i As Integer Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H45) Call Ack Call I2CStop Call I2CStart Call Send8BIT(&H91) Call Ack Ch1 = Format((Read8bit * 5) / 255, “##.##”) ‘ Read Data 1 Call MAck Ch2 = Format((Read8bit * 5) / 255, “##.##”) ‘ Read Data 2 Call MAck Ch3 = Format((Read8bit * 5) / 255, “##.##”) ‘ Read Data 3 Call MAck Ch4 = Format((Read8bit * 5) / 255, “##.##”) ‘ Read Data 4 Call Ack Call I2CStop Data1 = Count1 & Chr(9) & Ch1 & Chr(9) _ & Ch2 & Chr(9) & Ch3 & Chr(9) & Ch4 & _ Chr(9) & Format(Time, “h:mm:ss”) List1.AddItem Data1 ‘ Show Data & Times List1.ListIndex = List1.ListCount - 1 ‘ Show Last Data Count1 = Count1 + 1 Print #1, List1.List(List1.ListCount - 1) ‘ Save Data To Disk End Sub
ÊíÒËÃѺâ»Ãá¡ÃÁ ÍÂà¾×Íè Êà ҧÊÑÒ³µÔ´µ ͺ¹ÃкººÑÊ I2C äÁ ÇÒ ¨Ðà» ¹ Start, Stop, Send8bit áÅÐâ»Ãá¡ÃÁ ÍÂÍ×¹è æ ·Õàè ËÅ×ͨÐäÁ ¢Í¡Å ÒǶ֧à¹×Íè §¨Ò¡¨Ð㪠â»Ãá¡ÃÁà´ÕÂǡѹ¡Ñº¡Òà ·´Åͧ¡ ͹˹ Ò¹Õé àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 130
10.14 ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁàÃÔèÁ¨Ò¡àÁ×èÍâËÅ´â»Ãá¡ÃÁ¤ÃÑé§áá ¨Ðµ ͧãÊ ¢ ͤÇÒÁ·ÕèËÑǢͧ List1 ¡ ͹ à¾×Íè ºÍ¡Ç Ò ¤ Ò·ÕÇè ´Ñ à» ¹ª ͧ㴠ÇÑ´¤ÃÑ§é ·Õàè · ÒäËà áÅÐÇÑ´àÁ×Íè àÇÅÒã´ ¨Ò¡¹Ñ¹é Ê §¤ ÒÍÍ¡ ä»Âѧ List1 ´ ǤíÒÊѧè Additem 10.15 ·íÒ¡ÒÃà» ´¾Íà µÍ¹Ø¡ÃÁãË ¾Ã ÍÁÊíÒËÃѺ¡ÒÃÊ×èÍÊÒâ ÍÁÙÅ ã¹·Õè¹Õé¨ÐäÁ ÁÕ¡ÒÃàÅ×Í¡¾Íà µ áÅÐàÅ×Í¡áÍ´à´ÃÊ à¹×Íè §¨Ò¡ã¹¡ÒÃäÅ â»Ãá¡ÃÁÍÒ¨¨Ð´Ù夯 ÂÒ¡«Ñº« ͹ ¼Ùã ª §Ò¹ÊÒÁÒö¹íÒàÍÒ¡Òà àÅ×Í¡¾Íà µáÅÐàÅ×Í¡áÍ´à´ÃÊã¹â»Ãá¡ÃÁµÑÇÍ ҧ¡ ͹˹ Ò¹ÕÁé Ò㪠§Ò¹ä´ 10.16 àÁ×Íè ¼ Ò¹â»Ãá¡ÃÁ Í Form_Load ä»áÅ Ç â»Ãá¡ÃÁ¨ÐäÁ ·Òí ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ºÍà ´ EX08 ·Ñ¹·Õ à¹×Íè §¨Ò¡ã¹¡ÒÃ㪠§Ò¹¤Ãѧé áá Timer1 ¶Ù¡´ÔÊàÍàºÔÅäÇ ¨Ðµ ͧ·íÒ¡ÒÃàÃÕ¡àÁ¹Ù New à¾×Íè àÅ×Í¡ª×èÍä¿Å ·Õèµ Í§¡Òúѹ·Ö¡¡ ͹ 10.17 àÁ¹Ù New ¨Ð·íÒ¡ÒÃàÃÕ¡ Common Dialog ã¹Ê ǹ¢Í§ Save as ¢Ö¹é ÁÒãË ¼ãÙ ª §Ò¹ãÊ ªÍ×è ä¿Å ·µÕè Í §¡Òúѹ·Ö¡¤ ҴѧáÊ´§ã¹ÃÙ»·Õè P10-4 â´Âª×Íè ·Õ·è Òí ¡Òúѹ·Ö¡ÍÒ¨¨ÐãÊ à» ¹ª×Íè Çѹ·Õºè ¹Ñ ·Ö¡ ¡çä´ à¾×Íè ·Õ¨è Ðä´ à¡çº¢ ÍÁÙÅã¹áµ ÐÇѹ ¨Ò¡¹Ñ¹é ¡´»ØÁ SAVE 10.18 ËÅѧ¨Ò¡¹Ñ¹é â»Ãá¡ÃÁ¨Ð·íÒ¡ÒÃà» ´ä¿Å ··Õè Òí ¡ÒÃàÅ×Í¡¢Ö¹é ÁÒà¾×Íè à¢Õ¹¢ ÍÁÙÅÅ§ä» â´Â㪠¤Òí Êѧè OPEN ä¿Å ·ÍÕè Ò §¶Ö§µÑ§é ª×Íè à» ¹ #1 â´Â¡ ͹໠´ä¿Å ¡¨ç ÐÊѧè ãË Timer1 ·íÒ§Ò¹´ Ç áÅÐËÅѧ ¨Ò¡à» ´ä¿Å áÅ Ç¡ç·Òí ¡ÒôÔÊàÍàºÔÅ äÁ ãË ÊÒÁÒö¡´ New Menu ä´ Í¡Õ 10.19 â»Ãá¡ÃÁ Í Timer ¨ÐàÃÔÁè ·íÒ§Ò¹ â´ÂàÃÔÁè Í Ò¹¤ ÒáÅÐáÊ´§¤ Ò·ÕËè ¹ Òµ Ò§ List1 â´Âª ǧ ÃÐÂÐàÇÅÒ㹡ÒÃÍ Ò¹¤ Ò¹Ñ¹é ¢Ö¹é ÍÂÙ¡ ºÑ ¼Ùã ª §Ò¹¡íÒ˹´¤ Ò Interval ãË ¡ºÑ Timer1 «Ö§è ã¹·Õ¹è ¡Õé Òí ˹´ ¤ Ò Interval äÇ à· Ò¡Ñº 1000 «Ö§è ¨Ð·íÒãË Timer1 ·íÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ PCF8591 ·Ø¡ æ 1 ÇÔ¹Ò·Õ 10.20 ËÅѧ¨Ò¡Í Ò¹¤ ÒÁÒáÅ Ç ¡ç¨Ð¹íÒ¤ Ò·ÕèÍ Ò¹ä´ à¡çºã¹µÑÇá»Ã Ch1-Ch4 ¨Ò¡¹Ñé¹ãª ¤íÒÊÑè§ AddItem à¾×Íè à¾ÔÁè ¤ Ò¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ ¨Ò¡ PCF8591 ŧä»ã¹ List1 áÅТ³Ðà´ÕÂǡѹ¡ç·Òí ¡ÒÃà¾ÔÁè ¢ ÍÁÙÅ·ÕèÍ Ò¹ä´ Å§ä»ã¹ä¿Å ·Õèà» ´àÍÒäÇ ´ Ç ¶Ö§µÍ¹¹Õéã¹ä¿Å ·Õèà» ´¢Ö鹡ç¨ÐÁÕ¢ ÍÁÙÅ·ÕèÍ Ò¹·Ø¡æ 1 ÇÔ¹Ò·Õ»ÃÒ¡¯ÍÂÙ ÃÙ»·Õè P10-5 áÊ´§Ë¹ ҵҢͧâ»Ãá¡ÃÁ¢³ÐÍ Ò¹¤ ÒÁÒáÊ´§·ÕËè ¹ Ò¨Í â´Â¡ ͹ ¡ÒÃÃѹâ»Ãá¡ÃÁµ ͧ·íÒ¡Òè ÒÂä¿ãË á¡ ºÍà ´·´Åͧ´ Ç 10.21 àÁ×Íè µ ͧ¡ÒáàÅÔ¡¨Ò¡¡ÒÃÍ Ò¹¤ Ò¡çÊÒÁÒö·íÒä´ â´ÂàÅ×Í¡·Õàè Á¹Ù Exit ·Õàè Á¹Ù¹¡Õé Í ¹ÍÍ¡ ¨Ò¡â»Ãá¡ÃÁ¨Ð·íÒ¡Òû ´ä¿Å ¡Í ¹ ¨Ò¡¹Ñ¹é ÊÒÁÒö¹íÒä¿Å ·¶Õè ¡Ù ºÑ¹·Ö¡ä»ãª §Ò¹ä´ µÒÁµ ͧ¡Òà 10.22 ¢Í¡µÑÇÍ ҧ¡ÒùíÒä¿Å ·äÕè ´ 仾Åç͵¡ÃÒ¿´ ÇÂâ»Ãá¡ÃÁ Microsoft Excel â´ÂàÃÔÁè ¨Ò¡ à» ´â»Ãá¡ÃÁ Microsoft Excel 10.23 à» ´ä¿Å text ·Õäè ´ º¹Ñ ·Ö¡äÇ â´ÂàÅ×Í¡ª¹Ô´á¿ Á¢ ÍÁÙÅà» ¹ All File (*.*) ¨Ò¡¹Ñ¹é àÅ×Í¡ª×Íè ä¿Å ·Õµè Í §¡ÒôѧáÊ´§ã¹ÃÙ»·Õè P10-6 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 131
ÃÙ»·Õè P10-5 áÊ´§Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁ ÃÙ»·Õè P10-6 áÊ´§Ë¹ Òµ Ò§¡Òúѹ·Ö¡¢ ÍÁÙÅ ºÑ¹·Ö¡¤ Òáç´Ñ¹·ÕÊè à ҧ¢Ö¹é 㹡Ò÷´Åͧ¹Õé ã¹ÃÙ»¢Í§á¿ Á¢ ÍÁÙŵÑÇÍÑ¡ÉÃËÃ×Íä¿Å text
ÃÙ»·Õè P10-7 áÊ´§Ë¹ Òµ Ò§¡ÒÃá»Å§¢ ÍÁÙÅ ÃÙ»·Õè P10-8 áÊ´§Ë¹ Òµ Ò§¡Òúѹ·Ö¡¢ ÍÁÙÅ ã¹ÃÙ»¢Í§á¿ Á¢ ÍÁÙŵÑÇÍÑ¡ÉÃËÃ×Íä¿Å text ä¿Å text ¢Í§ Microsoft Excel
ÃÙ»·Õè P10-9 áÊ´§Ë¹ Òµ Ò§¡Òúѹ·Ö¡¢ ÍÁÙÅã¹ÃÙ»¢Í§á¿ Á¢ ÍÁÙŵÑÇÍÑ¡ÉÃËÃ×Íä¿Å text àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 132
ÃÙ»·Õè P10-10 áÊ´§¡ÃÒ¿·ÕÊè à ҧ¢Ö¹é ¨Ò¡¢ ÍÁÙÅ·Õäè ´ ¨Ò¡¡Ò÷´Åͧâ´Â㪠¤ÇÒÁÊÒÁÒö¢Í§ â»Ãá¡ÃÁ Microsoft Excel 10.24 â»Ãá¡ÃÁ¨ÐáÊ´§Ë¹ ҵҴѧÃÙ»·Õè P10-7 à¾×Íè ãË ¼ãÙ ª §Ò¹àÅ×Í¡ÃٻẺ¡ÒÃá»Å§¢ ÍÁÙÅ ã¹ ·Õ¹è àÕé Å×͡Ẻ㪠µÇÑ ¤Ñ¹è ¨Ò¡¹Ñ¹é ¡´»ØÁ µ Íä» ( Next ÊíÒËÃѺ àÁ¹Ù·àÕè » ¹ÀÒÉÒÍѧ¡ÄÉ) 10.25 â»Ãá¡ÃÁ¨ÐáÊ´§Ë¹ ҵҴѧÃÙ»·Õè P10-8 à¾×Íè ãË ¼ãÙ ª §Ò¹àÅ×Í¡ÃٻẺµÑǤѹè ã¹·Õ¹è ¨Õé Ð㪠á·çº (tab) ¨Ò¡¹Ñ¹é ¡´»ØÁ µ Íä» ( Next ÊíÒËÃѺ àÁ¹Ù·àÕè » ¹ÀÒÉÒÍѧ¡ÄÉ) 10.26 ¨Ò¡¹Ñ¹é â»Ãá¡ÃÁ¨ÐãË àÅ×Í¡ª¹Ô´¢Í§¢ ÍÁÙÅ ãË àÅ×Í¡ àÊÃç¨ÊÔ¹é ( Finish ÊíÒËÃѺàÁ¹ÙÀÒÉÒ Íѧ¡ÄÉ ) 10.27 â»Ãá¡ÃÁ Excel ¨Ð·íÒ¡ÒÃá¡¢ ÍÁÙÅ·Õ¨è ´Ñ ÇÒ§ÍÂÙã ¹ÅѡɳÐá·çºãË ¡ÅÒÂà» ¹à«ÅÅ ´§Ñ ã¹ ÃÙ»·Õè P10-9 10.28 ¼Ùã ª §Ò¹ÊÒÁÒö㪠â»Ãá¡ÃÁ Excel ËÒ¼ÅÃÇÁ ËҼŵ Ò§ ËÒ¤ Òà©ÅÕÂè ä´ ËÃ×ͨоÅç͵ ¡ÃÒ¿¡çÊÒÁÒö·íÒä´ â´Â ·Õ·è ÅÙ ºÒà ´Ò ¹º¹¢Í§ Excel ãË àÅ×Í¡»ØÁ µÑǪ ÇÂÊà ҧἹÀÙÁ Ô ËÃ×Í àÅ×Í¡ àÁ¹Ù á·Ã¡ > á¼¹ÀÙÁ¡Ô äç ´ áÅ Ç·íÒ¡ÒÃàÅ×Í¡ª¹Ô´¢Í§á¼¹ÀÙÁ·Ô µÕè Í §¡ÒÃÃÇÁ·Ñ§é ¢Íºà¢µ·Õµè Í §¡ÒÃáÊ´§ ¤ Ò Ë¹ ҵҢͧἹÀÙÁ¨Ô ÐÁÕÅ¡Ñ É³Ð´Ñ§ÃÙ»·Õè P10-10
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 133
..
º··Õè 11
¡ÒâÂÒ¨íҹǹàÍÒµ ¾µ Ø ¢Í§¾Íà µÍ¹Ø¡ÃÁ â´Â㪠ªÔ¿µ ÃÕ¨ÔÊàµÍà à¹×Íè §¨Ò¡¾Íà µÍ¹Ø¡ÃÁÁÕ¢Ò·Õ·è Òí ˹ Ò·Õàè » ¹¢ÒàÍÒµ ¾µØ ÍÂÙà ¾Õ§ 3 ¢Òà· Ò¹Ñ¹é ´Ñ§¹Ñ¹é àÁ×Íè µ ͧ ¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ¨íҹǹÁÒ¡ ¨Ö§µ ͧ¾Ö§è ÍØ»¡Ã³ ͹×è ª ÇÂ㹡ÒâÂÒ¨íҹǹ¾Íà µ ÇÔ¸Õ¡Ò÷Õè§ Ò·ÕèÊش㹡ÒâÂÒ¨íҹǹ¾Íà µ¤×Í à»ÅÕè¹ÃٻẺÊÑÒ³¨Ò¡Í¹Ø¡ÃÁãË à» ¹ ¢¹Ò¹ â´Â㪠äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà Ẻ SIPO (Serial In Parallel Out) â´ÂäÍ«Õ»ÃÐàÀ·¹ÕÁé ãÕ Ë àÅ×Í¡ 㪠§Ò¹ËÅÒÂàºÍà ઠ¹ 74HC164 ËÃ×Í 74HC595 ÊíÒËÃѺ㹡óշµÕè Í §ãË Á¡Õ Ò䧤 ÒʶҹзÕè àÍÒµ ¾µØ àÍÒäÇ äÍ«Õ·àÕè ËÁÒÐÊÁ·ÕÊè ´Ø ¤×ÍàºÍà 74HC595
äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà 74HC595 ÁÕ¡ÒèѴ¢ÒÊíÒËÃѺµ Í㪠§Ò¹´Ñ§áÊ´§ã¹ÃÙ»·Õè 11-1 DI à» ¹¢ÒÍÔ¹¾ØµÃѺ¢ ÍÁÙÅẺ͹ءÃÁ â´Â¢ ÍÁÙÅ·ÕÊè § ä»Âѧ 74HC595 ¹Ñ¹é ÊÒÁÒÃ¶Ê §ºÔµ ºÔµ¹ÑÂÊíÒ¤ÑÊÙ§ÊØ´ (MSB) ËÃ×͵èÒí ÊØ´ (LSB) Í͡仡 ͹¡çä´ CK à» ¹¢ÒÍÔ¹¾ØµÊÑÒ³¹ÒÌ ¡Ò·Õ·è Òí §Ò¹Ã ÇÁ¡Ñº¢Ò DI â´ÂÊÑÒ³¹ÒÌ ¡Ò·Õ»è Í ¹à¢ ÒÁÒ Âѧ¢Ò¹Õ¨é ÐÊ §µ Í令Ǻ¤ØÁ¨Ñ§ËÇСÒ÷íÒ§Ò¹¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà ÀÒÂã¹ 74HC595 D1
$ +Vcc # D0
D2 D3
!
D4
"
D5
#
D6
$
CK
D7
%
RST
GND &
" %"0+#'#
DI
! OE
'
LT
QH
ÃÙ»·Õè 11-1 ¡ÒèѴ¢Ò¢Í§äÍ«Õª¿ Ô µ Ã¨Õ ÊÔ àµÍà 74HC595 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 135
LT à» ¹¢ÒÍÔ¹¾ØµÃѺÊÑÒ³à¾×Íè ¤Çº¤ØÁãË ª¿Ô µ Ã¨Õ ÊÔ àµÍÃ Ã¡Ñ ÉÒÊÑÒ³·Õàè ÍÒµ ¾µØ àÍÒäÇ áÁ ¨Ðà¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§·Õ¢è ÒÍÔ¹¾Øµ¢Ö¹é ãËÁ ¡µç ÒÁ ËÃ×ÍàÃÕ¡¢Ò¹ÕÇé Ò ¢Òáŵª ·íÒ§Ò¹·ÕÅè ͨԡ 1 RST à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺÃѺÊÑÒ³à¾×Íè Å Ò§¢ ÍÁÙÅ·Õàè ¡çºÍÂÙã ¹ªÔ¿µ Ã¨Õ ÊÔ àµÍà ãË ¡ÅÒÂà» ¹ 0 ·Ñ§é ËÁ´ áµ à¹×Íè §¨Ò¡¢ÒàÍÒµ ¾µØ ¢Í§¾Íà µÍ¹Ø¡ÃÁÁÕà¾Õ§ 3 àÊ ¹ ´Ñ§¹Ñ¹é ¢Ò RST ¨Ö§äÁ ¶¡Ù 㪠§Ò¹ àÁ×Íè µ ͧ¡ÒÃãË ¢Í ÁÙŷѧé ËÁ´ã¹ªÔ¿µ Ã¨Õ ÊÔ àµÍà ¡ÅÒÂà» ¹ 0 ¨Ðãª Ç¸Ô ¡Õ ÒÃÊ §¢ ÍÁÙÅ 0 ÍÍ¡ ä»á·¹ ´Ñ§¹Ñ¹é 㹡ÒÃ㪠§Ò¹¡Ñº¾Íà µÍ¹Ø¡ÃÁ ¨Ö§µ ͧµ Í¢Ò RST ࢠҡѺä¿àÅÕÂé §ËÃ×ÍÅͨԡ 1 ÊíÒËÃѺ˹ Ò·Õ¢è ͧ¢ÒÍ×¹è æ ÁÕ´§Ñ ¹Õé OE à» ¹¢ÒàÍç¹àÍàºÔÅàÍÒµ ¾µØ àÁ×Íè µ ͧ¡ÒÃãË ·Òí §Ò¹¨Ðµ ͧµ Í¢Ò¹ÕÅé §¡ÃÒÇ´ à¾×Íè ¤Çº¤ØÁãË ÁÕ¢ ÍÁÙÅä»»ÃÒ¡¯·ÕèàÍÒµ ¾Øµ¢Í§äÍ«Õ Q0-Q7 à» ¹¢ÒàÍÒµ ¾µØ ¢¹Ò´ 8 ºÔµ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà ÊíÒËÃѺµ ÍÍÍ¡ä»ãª §Ò¹ÀÒ¹͡ QH à» ¹¢ÒàÍÒµ ¾µØ ËÅÑ¡·Õàè ¡Ô¹¨Ò¡ 8 ºÔµ 㪠à¾×Íè ¢ÑºªÔ¿µ Ã¨Õ ÊÔ àµÍà µÇÑ ¶Ñ´ä» «Ö§è ´ ÇÂÇÔ¸¡Õ ÒùÕé ·íÒãË ¼ãÙ ª §Ò¹ÊÒÁÒöµ ; ǧªÔ¿µ Ã¨Õ ÊÔ àµÍÃ ä´ ËÅÒµÑÇ áÅТÂÒ¾Íà µàÍÒµ ¾µØ ¨íҹǹÁÒ¡ä´
¨Ò¡ªÔ¿µ ÃÕ¨ÔÊàµÍà ÊÙ ¡ÒâÂÒ¾Íà µáºº«Ô§â¤Ã¹ÑÊ ã¹ÃÙ»·Õè 11-2 áÊ´§ä´ÍÐá¡ÃÁ¡Ò÷íÒ§Ò¹àº×éͧµ ¹¢Í§¡ÒâÂÒ¾Íà µâ´Â㪠¡ÒÃÊ×èÍÊÒà ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ¨ÐàËç¹ä´ ÇÒ ÁÕÊÒ¢ ÍÁÙÅ (data : DI) à¾Õ§ 1 àÊ ¹ ´Ñ§¹Ñ¹é ¡ÒÃÊ §¼ Ò¹¢ ÍÁÙŨ֧ µ ͧ¡ÃзíÒã¹ÅѡɳÐ͹ءÃÁ Ê Ç¹·Õàè » ¹áºº«Ô§â¤Ã¹ÑÊ (synchronous) ¡çà¹×Íè §¨Ò¡ÁÕ¡ÒÃãª Ê Ñ Ò³ ¹ÒÌ ¡Ò (CLK) ÁÒ¡íÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹ãË ÊÁÑ ¾Ñ¹¸ ¡¹Ñ ÃÐËÇ Ò§µÑÇÊ §¢ ÍÁÙÅ (ã¹·Õ¹è ¤Õé Í× ¤ÍÁ¾ÔÇàµÍà ) áÅеÑÇÃѺ¢ ÍÁÙÅ (ªÔ¿µ Ã¨Õ ÊÔ àµÍà ) ¹Í¡¨Ò¡¹Ñ¹é ¨ÐÁÕÊ Ñ Ò³¤Çº¤ØÁÍÕ¡ 2 àÊ ¹¤×Í ÊÑÒ³ RST «Ö§è ¡ç¤Í× ÊÑÒ³ÃÕ૵ áÅÐÊÑÒ³ LE ËÃ×ÍÊÑÒ³áŵª ÊÒí ËÃѺ¹íÒ¢ ÍÁÙÅä»áÊ´§·Õàè ÍÒµ ¾µØ äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà ·¹Õè Òí ÁÒ㪠໠¹áºº¢ ÍÁÙÅࢠÒ͹ءÃÁ-Í͡Ẻ¢¹Ò¹ (SIPO : Serial In Parallel Out) â´ÂàÁ×Íè àÃÔÁè µ ¹¨Ðµ ͧÃÕ૵ËÃ×Íà¤ÅÕÂà ¢Í ÁÙÅà´ÔÁãË à» ¹ 0 ¡ ͹ ¨Ò¡¹Ñ¹é Ê §¢ ÍÁÙÅ ÁÒ·Õ¢è Ò DI áÅ ÇÊ §ÊÑÒ³¹ÒÌ ¡Ò 1 ÅÙ¡ ¢ ÍÁÙŨж١àÅ×Íè ¹ä»à¡çºã¹ªÔ¿µ Ã¨Õ ÊÔ àµÍà ËÒ¡äÁ Á¡Õ ÒÃÊ § ÊÑÒ³áŵª ¢ ÍÁÙÅàÍÒµ ¾µØ ¨Ð¤§à´ÔÁäÁ à»ÅÕÂè ¹á»Å§ ¨Ò¡¹Ñ¹é ·ÂÍÂÊ §¢ ÍÁÙŨ¹¤Ãº 8 ºÔµ áÅ Ç µÒÁ´ ÇÂÊÑÒ³áŵª ¢ ÍÁÙÅ·Ñé§ËÁ´·Õèà¡çºäÇ ã¹ÃÕ¨ÔÊàµÍà ¡ç¨Ð¶Ù¡Ê §ÍÍ¡ÁÒ·ÕèàÍÒµ ¾Øµ ´Ñ§ã¹ ä´ÍÐá¡ÃÁàÇÅÒÃÙ»·Õè 11-3 ·íÒãË ´àÙ ÊÁ×Í¹Ç Ò ãª ÊÒÂÊÑÒ³¢Í§¾Íà µ 3 àÊ ¹ ·íÒãË à¡Ô´àÍÒµ ¾µØ 8 àÊ ¹ à¾Õ§ᵠµÍ §ÁÕ¢¹Ñé µÍ¹áÅÐ㪠àÇÅÒ㹡ÒÃÃѺáÅÐàÅ×Íè ¹¢ ÍÁÙÅàÅ硹 ÍÂáÅж ÒËÒ¡ªÔ¿µ Ã¨Õ ÊÔ àµÍà ÁÕ¢Ò¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁà¾ÔèÁàµÔÁ´ Ç ¨Ð·íÒãË ÊÒÁÒö¢ÂÒ¨íҹǹ¾Íà µÍÍ¡ä»ä´ ÍÕ¡ â´Â¹íÒ ÊÑÒ³¨Ò¡¢Ò¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁ (serial data output : SO) ÁÒࢠҷբè Ò¢ ÍÁÙÅÍÔ¹¾Øµ (DI) ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà Ẻà´ÕÂǡѹÍÕ¡µÑÇË¹Ö§è ¨Ð·íÒãË à¡Ô´¡ÒâÂÒ¾Íà µÍÍ¡ä»ä´ Í¡Õ ¨Ò¡ 8 ºÔµà» ¹ 16 ºÔµ, 24 ºÔµ, 32 ºÔµä»Í ҧµ Íà¹×Íè § àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 136
¢Ò¢ ÍÁÙÅÍ͡Ẻ¢¹Ò¹¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà ·ÊèÕ ÒÁÒö㪠§Ò¹à» ¹¾Íà µàÍÒµ ¾µØ P7
P6
P5
P4
P3
P2
P1
P0
DATA (DI)
SERIAL DATA OUT (SO)
µ ÍࢠҡѺ¢Ò DI ËÃ×Í SERIAL DATA IN ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà 㹪شµ Íä» à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè ¢Ö¹é ÍÕ¡
LATCH (LE) CLOCK (CLK) RESET (RST)
µ ÍࢠҡѺ¢Ò LE, CLK áÅÐ RST ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà 㹪شµ Íä» à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè ¢Ö¹é ÍÕ¡
ÃÙ»·Õè 11-2 ¼Ñ§¡Ò÷íÒ§Ò¹àº×Íé §µ ¹¢Í§¡ÒâÂÒ¾Íà µáºº«Ô§â¤Ã¹ÑÊâ´Â㪠ª¿ Ô µ Ã¨Õ ÊÔ àµÍà Í ҧäáçµÒÁ´ ÇÂá¹Ç·Ò§¹ÕéÍÒ¨·íÒãË ¼Ù 㪠§Ò¹¤Ô´Ç Ò ÊÒÁÒöà¾ÔèÁ¨íҹǹ¾Íà µàÍÒµ ¾Øµä´ Í ҧäÁ ¨Òí ¡Ñ´ ã¹·Ò§»¯ÔºµÑ ÊÔ §Ôè ·Õàè ¡Ô´¢Ö¹é àÁ×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ ÍÍ¡ä»à» ¹¨íҹǹÁÒ¡¤×Í 1. ¤ÇÒÁàÃçÇ㹡Ò÷íҧҹŴŧ à¹×èͧ¨Ò¡ãª ¡ÒÃàÅ×è͹¢ ÍÁÙŢͧªÔ¿µ ÃÕ¨ÔÊàµÍà ´Ñ§¹Ñé¹ËÒ¡ ¨íҹǹ¢ ÍÁÙÅ·Õµè Í §¡ÒÃàÅ×Íè ¹ÁÕÁÒ¡ àÇÅÒ·Õãè ª ¡¨ç ÐÁÒ¡¢Ö¹é 2. ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊÃÇÁŴŧ 㹡óշ¢Õè ÂÒ¾Íà µàÍÒµ ¾µØ ÍÍ¡ä»â´ÂäÁ ä´ à¾ÔÁè ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊä¿¿ ÒãË á¡ áËÅ §¨ ÒÂ俢ͧǧ¨Ã ¨Ð·íÒãË ¾Íà µàÍÒµ ¾µØ áµ ÅÐ ºÔµÊÒÁÒö¨ Ò¡ÃÐáÊä´ Å´Å§µÒÁ¨íҹǹ¾Íà µ·Õèà¾ÔèÁ¢Öé¹ 3. ÊÑҳú¡Ç¹ ËÒ¡¡ÒâÂÒÂ¹Ñ¹é µ ͧ㪠ÊÒÂÊÑÒ³àª×Íè Á⧡ѹ ÂÔ§è ¶ ÒËÒ¡ÁÕ¡ÒâÂÒ ÁÒ¡ ÊÒÂÊÑÒ³·Õè㪠¡ç¨Ðµ ͧÁÕ¤ÇÒÁÂÒÇà¾ÔèÁÁÒ¡¢Öé¹ Ê §¼ÅãË ÊÑҳú¡Ç¹ÊÒÁÒöࢠÒÁÒ Ãº¡Ç¹¡Ò÷íÒ§Ò¹ä´ § Ò¢Öé¹ ¢ ÍÁÙÅ 8 ºÔµ DATA (DI)
D7
¢ ÍÁÙÅ 8 ºÔµ
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
CLOCK (CLK)
RESET (RST)
SHIFT REGISTER
D0
LATCH (LE)
OUTPUT (P0-P7)
¢ ÍÁÙÅ 8 ºÔµ
D7
D6
D5
D4
D3
D2
D1
D0
¢ ÍÁÙÅ 8 ºÔµ
ÃÙ»·Õè 11-3 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§¨Ñ§ËÇСÒ÷íÒ§Ò¹¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 137
´Ñ§¹Ñ鹨íҹǹ¢Í§¾Íà µ·ÕèÊÒÁÒö¢ÂÒÂä´ ´ ÇÂÇÔ¸Õ¡ÒùÕé¨Ö§¢Öé¹ÍÂÙ ¡Ñº¤ÇÒÁÊÒÁÒö㹡Òà ¨ Ò¡ÃÐáÊáÅФÇÒÁàÃçÇà» ¹» ¨¨ÑÂËÅÑ¡ ËÒ¡áËÅ §¨ ÒÂä¿ÁÕ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊä´ à¾Õ§¾Í ¤ÇÒÁàÃçǨ֧໠¹ÊÔ§è ·Õµè Í §¤íÒ¹Ö§¶Ö§à» ¹àÃ×Íè §µ ÍÁÒ ËÒ¡ÂÍÁÃÑºä´ ¡çµÍ §Í͡Ẻǧ¨ÃáÅСÒÃàª×Íè Á µ ÍãË ´àÕ ¾×Íè » ͧ¡Ñ¹ÊÑҳú¡Ç¹ ËÒ¡·íÒä´ ¤ÃºáÅÐÂÍÁÃѺ㹢 ͨíÒ¡Ñ´´ Ò¹¤ÇÒÁàÃçÇä´ ¡ç¨Ð ÊÒÁÒö¢ÂÒ¾Íà µàÍÒµ ¾Øµ´ ÇÂÇÔ¸Õ¡ÒùÕéä´ Í ҧäÁ ÁÕ¢Õ´¨íÒ¡Ñ´
EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ â´Â㪠¡ÒÃÊ×Íè ÊÒÃ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ÁÕǧ¨ÃÊÁºÙó áÅФسÊÁºÑµáÔ Ê´§ã¹ÃÙ»·Õè 11-4 ºÍà ´¹Õäé ´ ÃºÑ ¡ÒÃÍ͡ẺãË ÊÒÁÒö¢ÂÒ ¾Íà µàÍÒµ ¾µØ ä´ ÁÒ¡¶Ö§ 16 ª ͧ (ËÃ×ͺԵ) µ ÍË¹Ö§è ºÍà ´áÅÐÊÒÁÒöµ ; Ç§ä´ Í ҧäÁ ¨Òí ¡Ñ´ÀÒ 㵠à§×Íè ¹ä¢´Ñ§·Õäè ´ ¡Å ÒÇÁÒáÅ Çã¹ËÑÇ¢ Í·Õ¼è Ò ¹ÁÒ ËÑÇã¨ÊíҤѤ×Í äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà àºÍà 74HC595 «Ö§è à» ¹ªÔ¿µ Ã¨Õ ÊÔ àµÍà ẺÍ๡¡»ÃÐʧ¤ ÊÒÁÒöÃѺ¢ ÍÁÙÅࢠÒẺ͹ءÃÁ áÅÐÊ §¢ ÍÁÙÅÍÍ¡ä´ ·§Ñé Ẻ¢¹Ò¹áÅÐ͹ءÃÁ ·Ñ§é ÂѧÊÒÁÒöµ ; Ç§ä´ äÁ è٠ºÍÕ¡´ Ç ÀÒÂã¹ 74HC595 ÁÕÃ¨Õ ÊÔ àµÍà ¢¹Ò´ 8 ºÔµºÃèØÍÂÙ 1 µÑÇ ¨Ö§·íÒãË ÊÒÁÒö㪠§Ò¹¡Ñº¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµä´ Í ҧàËÁÒÐÊÁ áÅÐàÁ×Íè ¹íÒÁÒ ¾ ǧ¡Ñ¹´Ñ§·Õãè ª 㹺Íà ´ EX-09 ¡ç¨ÐÊÒÁÒöÃͧÃѺ¢ ÍÁÙÅä´ ÁÒ¡¶Ö§ 16 ºÔµ ÊÑÒ³¢ ÍÁÙÅ͹ءÃÁáÅФǺ¤ØÁ¨ÐÊ §¼ Ò¹ÁÒ¨Ò¡¤Í¹à¹ç¡àµÍà SHIFT IN «Ö§è ÁÕ¡ÒèѴ¢Ò µÒÁÁҵðҹ UIC-10 ¨Ö§·íÒãË ÊÒÁÒöµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà S-BUS ËÃ×Í SHIFTOUT ¢Í§ SBoard V2.0 ä´ ·¹Ñ ·Õ 㹡óշµÕè Í ¡Ñº S-BUS ¢ÒÊÑÒ³¹ÒÌ ¡ÒËÃ×Í CLK ¨ÐµÃ§¡Ñº¢Ò DTR, ¢Ò LE «Ö§è à» ¹¢ÒÊÑÒ³áŵª ¨ÐµÃ§¡Ñº¢Ò RTS, ¢Ò¢ ÍÁÙÅ͹ءÃÁËÃ×Í DI µÃ§¡Ñº¢Ò TxD Ê Ç¹¢Ò ÃÕ૵ SRST ¨Ðãª Ê Ñ Ò³¨Ò¡äÍ«Õ UTX8100 㹡óշµÕè Í ¡Ñº¤Í¹à¹ç¡àµÍà SHIFTOUT ÊÑÒ³ ¹ÒÌ ¡Ò, ¢ ÍÁÙÅ áÅÐÃÕ૵¨Ðµ ÍࢠҡѺ¢Ò SCK, SDT áÅÐ SRST Ê Ç¹ÊÑÒ³áŵª ä´ ÁÒ¨Ò¡¢Ò RTS ¢Í§¾Íà µÍ¹Ø¡ÃÁ ÊÑÒ³¨Ò¡¤Í¹à¹ç¡àµÍà SHIFT IN ¨ÐÊ §à¢ Òä»Âѧ IC901 à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ 8 ºÔµÊ §ÍÍ¡ä»Âѧ¤Í¹à¹ç¡àµÍà OUTL ¾Ã ÍÁ¡Ñ¹¹Ñ¹é ÂÑ§Ê §¢ ÍÁÙÅ͹ءÃÁÍÍ¡ÁÒ·Ò§¢Ò SO ä»Âѧ¢Ò SI ¢Í§ IC902 à¾×Íè ¢ÂÒ¾Íà µà¾ÔÁè ÍÕ¡ 8 ºÔµ â´Â¢ ÍÁÙÅ 8 ºÔµµ ÍÁÒ¨ÐÊ §ÍÍ¡·Ò§¤Í¹à¹ç¡àµÍà OUTH ·íÒãË ºÍà ´ EX-09 ¹ÕÊé ÒÁÒö¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè à» ¹ 16 ºÔµ¨Ò¡ÊÒÂÊÑÒ³ DATA 3 àÊ ¹¢Í§¾Íà µÍ¹Ø¡ÃÁáÅÐÂѧÊÒÁÒöà¾ÔÁè µ Íä»ä´ Í¡Õ â´Â¢ÒÊÑÒ³ LE, CLK áÅÐ RST ¨Ò¡¤Í¹ à¹ç¡àµÍà SHIFT IN ¶Ù¡µ ÍÁÒÂѧ¤Í¹à¹ç¡àµÍà SHIFT OUT ¾Ã ÍÁ¡Ñº¢Ò SO ¢Í§ IC902 ¨Ö§·íÒ ãË ÊÒÁÒöµ ; ǧºÍà ´ EX-09 ä´ Í¡Õ Í ҧ§ ÒÂæ à¾Õ§µ ÍÊÒ¨ҡ¤Í¹à¹ç¡àµÍà SHIFT OUT ¢Í§ EX-09 ºÍà ´·Õè 1 ࢠҡѺ¤Í¹à¹ç¡àµÍà SHIFT IN ¢Í§ EX-09 ºÍà ´¶Ñ´ä» ËÒ¡µ ; ǧ¡Ñ¹ 2 ºÍà ´ ¡ç¨ÐÊÒÁÒö¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè à» ¹ 32 ª ͧ (ËÃ×ͺԵ) â´Â㪠¢ÒÊÑҳ෠Òà´ÔÁ¤×Í 4 àÊ ¹ ã¹ÃÙ»·Õè 11-5 áÊ´§¡Òõ ; ǧºÍà ´ EX-09 à¾×Íè à¾ÔÁè ¨íҹǹ¾Íà µàÍÒµ ¾µØ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 138
+5V
R901-R904 470k
+5V
C901 0.1/50V
+5V
16 14 11
+5V CLK DI
LE RST
12 10
9 K901 SHIFTIN
D0
15 Q0 1 SCK Q1 2 LE Q2 3 RST Q3 4 Q4 5 Q5 6 SO Q6 7 Q7 OE SI
13
8
D1 D2 D3 D4 D5
D0 D2 D4 D6
D1 D3 D5 D7 K902 OUTL
D6 D7
IC901 74HC595A
+5V
C902 0.1/50V
+5V
16 14 11
+5V CLK DO
LE RST
12 10
9 K904 SHIFTOUT
D8
15 SI Q0 1 SCK Q1 2 LE Q2 3 RST Q3 4 Q4 5 Q5 6 SO Q6 7 Q7 OE 8
13
D9 D10 D11 D12 D13 D14 D15
D9 D11 D13 D15
D8 D10 D12 D14 K903 OUTH
IC902 74HC595A
EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ ¢ÂÒ¾Íà µàÍÒµ ¾µØ 8 ºÔµ 2 ªØ´ ÃÇÁà» ¹ 16 ºÔµ l 㪠äÍ«Õª¿ Ô µ Ã¨Õ ÊÔ àµÍà 㹡Ò÷íÒ§Ò¹ l µ ; ǧà¾×Í è ¢ÂÒÂä´ äÁ ¨Òí ¡Ñ´ (á¹Ð¹íÒäÁ ¤ÇÃà¡Ô¹ 4 ºÍà ´µ Í S-Board 1 ºÍà ´) l àª×Í è Áµ ͡Ѻ S-Board ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà SHIFT OUT l
ÃÙ»·Õè 11-4 ǧ¨ÃÊÁºÙó ¢Í§ EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ SHIFT OUT
EX-09
OUTH
SHIFT IN
OUTL
¾Íà µàÍÒµ ¾µØ ·Õ¢è ÂÒÂà¾ÔÁè àµÔÁ ¨íҹǹ 16 ºÔµµ ͺÍà ´
µ Íä»Âѧ¾Íà µÍ¹Ø¡ÃÁ ¢Í§¤ÍÁ¾ÔÇàµÍÃ
SHIFT OUT
OUTH
EX-09
SHIFT IN
OUTL
¾Íà µàÍÒµ ¾µØ ·Õ¢è ÂÒÂà¾ÔÁè àµÔÁ ¨íҹǹ 16 ºÔµµ ͺÍà ´
S-Board
SHIFT OUT
ÃÙ»·Õè 11-5 áÊ´§¡Òõ ; ǧºÍà ´ EX09 à¾×Íè à¾ÔÁè ¨íҹǹ¾Íà µàÍÒµ ¾µØ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 139
¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè µÔ´µ ͡ѺªÔ¿µ Ã¨Õ ÊÔ àµÍà º¹ºÍà ´ EX-09 â»Ãá¡ÃÁ ÍÂÊíÒËÃѺÊà ҧÊÑÒ³¤Çº¤ØÁªÔ¿µ Ã¨Õ ÊÕ àµÍÃ
â»Ãá¡ÃÁ ÍÂÊíÒËÃѺµÑ駤 ÒàÃÔèÁµ ¹¢Í§¢ÒÊÑÒ³¤Çº¤ØÁªÔ¿µ ÃÕ¨ÕÊàµÍà Private Sub InitialShiftIn() MSComm1.DTREnable = True MSComm1.RTSEnable = True End Sub
‘Clear CLK ‘Clear LE
â»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³¹ÒÌ ¡Ò Private Sub CLK() MSComm1.DTREnable = False MSComm1.DTREnable = True End Sub
‘Set CLK ‘Clear CLK
â»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³áŵ« Private Sub LE() MSComm1.RTSEnable = False MSComm1.RTSEnable = True End Sub
‘Set LE ‘Clear LE
â»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³¢ ÍÁÙÅ Private Sub DI(ByVal Logic As Boolean) MSComm1.Break = Not Logic End Sub
¢Ñ¹é µÍ¹¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»ÂѧªÔ¿µ Ã¨Õ ÊÕ àµÍà 1. ¹íÒ¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §ÁҨѴàÃÕ§ãËÁ ãË ÍÂÙã ¹ÃÙ»àÅ¢°Ò¹Êͧ 2. µÃǨÊͺ¢ ÍÁÙÅ㹺Ե·Õµè Í §¡ÒÃÊ §Ç ÒÁÕ¤Ò à» ¹ 0 ËÃ×Í 1 áÅ Ç·íÒ¡ÒÃÊ §ºÔµ¹Ñ¹é ÍÍ¡ä» 3. Ê §ÊÑÒ³¹ÒÌ ¡Òà¾×Íè àÅ×Íè ¹ºÔµÍÍ¡ä» 1 ºÔµ 4. µÃǨÊ꼂 ÒÊ §¢ ÍÁÙŤú·Ñ§é 8 ºÔµËÃ×ÍÂѧ ¶ ÒäÁ ¤Ãº 8 ºÔµ ãË ·Òí ¡ÒÃÊ §¢ ÍÁÙźԵµ Íä» 5. àÁ×Íè Ê §¤Ãº 8 ºÔµáÅ Ç ·íÒ¡ÒÃáŵ« ¢Í ÁÙÅ à¾×Íè ãË ¢Í ÁÙÅä»áÊ´§¼Å·Õàè ÍÒµ ¾µØ ¨Ò¡¢Ñ¹é µÍ¹·Ñ§é ËÁ´ÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé Private Sub Shift8Bit(ByVal Data As Byte) Dim i As Integer For i = 7 To 0 Step -1 If (Data And (2 ^ i)) = (2 ^ i) Then DI True Else DI False End If CLK Next i End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 140
¡Ò÷´Åͧ·Õè 11 ¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ ãË á¡ ¾Íà µÍ¹Ø¡ÃÁ¼ Ò¹ ¡ÒÃÊ×èÍÊÒâ ÍÁÙÅ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ S-Board V2.0 ¾Ã ÍÁÊÒÂàª×Íè Áµ Í 1 á¼ ¹ 2. Ex-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 3. Ex-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ Ẻ«Ô§â¤Ã¹ÑÊ 1 á¼ ¹ 4. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 5. ÊÒÂàª×Íè Áµ Í IDC-10 3 àÊ ¹
¡Ò÷´Åͧ 11.1 µ ͺÍà ´·´Åͧ´Ñ§ÃÙ»·Õè P11-1
SBus
S-Board
SHIFTIN
EX-09 OUTH
OUTL
EX-01 ,)6) *75 ,)6) *75
ÃÙ»·Õè P11-1 ¡ÒÃàª×Íè Áµ Í S-Board, ºÍà ´ EX-09 áÅÐ EX-01 à¾×Íè ·´Åͧ¢ÂÒÂàÍÒµ ¾µØ ãË á¡ ¾Íà µÍ¹Ø¡ÃÁ â´Â㪠¢ÒÊÑÒ³¢Í§¾Íà µÍ¹Ø¡ÃÁâ´ÂµÃ§ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 141
ÃÙ»·Õè P11-2 áÊ´§Ë¹ ҵҢͧâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é à¾×Íè ·íÒ¡Ò÷´ÅͧáÅЪ×Íè ¢Í§à˵ءÒó ·ÕÊè à ҧ¢Ö¹é ¨Ò¡â»Ãá¡ÃÁ ÍÂÁÒÃÇÁ¡Ñ¹à» ¹â»Ãá¡ÃÁ·ÕÊè ÁºÙó 11.2 Êà ҧ¿Íà ÁáÅÐᡠ䢪×Íè ¤Í¹â·ÃŴѧÃÙ»·Õè P11-2 11.3 à¢Õ¹â»Ãá¡ÃÁãË ¡Ñºà˵ءÒó Form_Load cmdOut_Click cmdReset_Click áÅÐ cmdD_Click ´Ñ§¹Õé Private Sub Form_Load() MSComm1.PortOpen = True InitialShiftIn Shift8Bit 0 Shift8Bit 0 LE End Sub
àÁ×Íè à¡Ô´à˵ءÒó Form_Load â»Ãá¡ÃÁ¨Ðà» ´¾Íà µÍ¹Ø¡ÃÁ¼ Ò¹ Mscomm à¤ÅÕÂà ¾Íà µ SHIFTOUT Ê §¤ Òà¾×èÍÃÕà«çµ¢ ÍÁÙŢͧªÔ¿µ ÃÕ¨ÔÊàµÍà áÅÐáŵ« ¢ ÍÁÙÅ Private Sub cmdD_Click (Index As Integer) Dim i As Integer Dim tmp As Byte cmdD(Index).Caption = IIf(cmdD(Index).Caption = “OFF”, “ON”, “OFF”) tmp = 0 For i = 0 To 7 If cmdD(i + 8).Caption = “ON” Then tmp = tmp + (2 ^ i) Next i
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 142
txtOutH.Text = Hex(tmp) Shift8Bit tmp tmp = 0 For i = 0 To 7 If cmdD(i).Caption = “ON” Then tmp = tmp + (2 ^ i) Next i txtOutL.Text = Hex(tmp) Shift8Bit tmp LE End Sub
·Õàè ˵ءÒó cmdD_Click ¹Õâé »Ãá¡ÃÁ·íÒ¡ÒÃà»ÅÕÂè ¹ Caption ¢Í§»ØÁ ·Õ¶è ¡Ù ¤ÅÔ¡é Í Ò¹¤ Ò¨Ò¡»ØÁ ·Ñ§é ËÁ´ áÅÐÊ §¤ Ò·ÕÍè Ò ¹ä´ ÍÍ¡ä»·Õ¾è Íà µ SHIFTOUT ·ÕÅСÅØÁ â´ÂẠ§¡ÅØÁ à» ¹ 2 ¡ÅØÁ ¤×Í OUTH OUTL µÒÁÅíÒ ´Ñº Private Sub cmdOut_Click() Shift8Bit CByte(“&H” & txtOutH.Text) Shift8Bit CByte(“&H” & txtOutL.Text) LE End Sub Private Sub cmdReset_Click() Shift8Bit 0 Shift8Bit 0 LE End Sub
â»Ãá¡ÃÁ㹡Ò÷´Åͧ¹Õ·é §Ñé ËÁ´ÊÒÁÒö´ÙáÅÐ㪠§Ò¹ä´ ¨Ò¡ä¿Å lab11.vbp ¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ ã¹ÅѡɳзÕãè ª ª¿Ô µ Ã¨Õ ÊÔ àµÍà ¹Õé ã¹·Ò§·ÄÉ®ÕÊÒÁÒö¢ÂÒÂä´ Í ҧ äÁ ¨íÒ¡Ñ´ áµ ¨Ð㪠µ ͧ㪠àÇÅÒ㹡Ò÷íÒ§Ò¹à¾ÔèÁÁÒ¡¢Öé¹ àÁ×èÍ㪠ªÔ¿µ ÃÕ¨ÔÊàµÍà ÁÒ¡¢Öé¹ áµ ã¹·Ò§ »¯ÔºµÑ áÔ Å Ç ¡ÒâÂÒ¾Íà µ¨Ðà¡Ô´¢ ͨíÒ¡Ñ´ à¹×Íè §¨Ò¡¾Ô¡´Ñ ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊ·Õãè ª ¢ºÑ äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà ¨Ò¡ºÍà ´ËÅÑ¡¹Ñ¹è àͧ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 143
¡Ò÷´Åͧ·Õè 12 ¢ÂÒ¾Íà µàÍÒµ ¾µØ â´Â㪠¿§ ¡ ª¹Ñè ¾ÔàÈɢͧ S-Board V2.0 à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ S-Board ¾Ã ÍÁÊÒÂàª×Íè Áµ Í 1 á¼ ¹ 2. Ex-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 3. Ex-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ Ẻ«Ô§â¤Ã¹ÑÊ 1 á¼ ¹ 4. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 5. ÊÒÂàª×Íè Áµ Í IDC-10 3 àÊ ¹
¡Ò÷´Åͧ ÊíÒËÃѺäÍ«Õ UTX8100 ·ÕÍè ÂÙº ¹ S-Board V2.0 ¹Í¡à˹×ͨҡ¡Ò÷íҧҹ໠¹äÍ«Õ UART áÅ Ç UTX8100 ÂѧÊÒÁÒöÊà ҧÊÑÒ³ÊíÒËÃѺµÔ´µ ͡ѺÍØ»¡Ã³ ·Õè㪠ÃٻẺ¡ÒÃÊ×èÍÊÒâ ÍÁÙÅẺ «Ô§â¤Ã¹ÑÊä´ ´Ç  â´Â¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà SHIFT OUT º¹ S-Board V2.0 ´Ñ§¹Õé 12.1 µ ͺÍà ´·´Åͧ´Ñ§ÃÙ»·Õè P12-1
SHIFTIN
EX-09 OUTH
OUTL
EX-01 DataBus1
S-Board
DataBus2
ShiftOut
ÃÙ»·Õè P12-1 ¡ÒÃàª×Íè Áµ Í S-Board, ºÍà ´ EX-09 áÅÐ EX-01 à¾×Íè ·´Åͧ¢ÂÒÂàÍÒµ ¾µØ ãË á¡ ¾Íà µÍ¹Ø¡ÃÁ â´Â㪠¤ÇÒÁÊÒÁÒö Shiftout ¢Í§äÍ«Õ UTX8100 º¹ S-Board V2.0 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 144
ÃÙ»·Õè P12-2 áÊ´§Ë¹ ҵҢͧâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é à¾×Íè ·íÒ¡Ò÷´ÅͧáÅЪ×Íè ¢Í§à˵ءÒó ·ÕÊè à ҧ¢Ö¹é ¨Ò¡â»Ãá¡ÃÁ ÍÂÁÒÃÇÁ¡Ñ¹à» ¹â»Ãá¡ÃÁ·ÕÊè ÁºÙó 12.2 Êà ҧ¿Íà ÁáÅÐᡠ䢪×Íè ¤Í¹â·ÃŴѧÃÙ»·Õè P12-2 12.3 Êà ҧâ»Ãá¡ÃÁ ÍÂÊíÒËÃѺÊà ҧÊÑÒ³áŵ« ˹ ǧàÇÅÒáÅÐÊ §¢ ÍÁÙÅ 8 ºÔµ Private Sub Shift8Bit(ByVal Data As Byte) MSComm1.Output = Chr(Data) End Sub Private Sub LE() Delay MSComm1.RTSEnable = False MSComm1.RTSEnable = True End Sub
‘Set LE ‘Clear LE
Private Sub Delay() Dim a As Single a = Timer + 0.01 Do While Timer < a ‘DoEvents Loop End Sub
·Õèâ»Ãá¡ÃÁ ÍÂÊà ҧÊÑÒ³áŵ« ¨Ðµ ͧÁÕ¡ÒÃ˹ ǧàÇÅÒ¡ ͹¡ÒÃÊ §ÊÑÒ³áŵ« à¾×èÍÃÍãË UTX8100 ·íÒ¡ÒÃÊ §¢ ÍÁÙÅä»ÂѧªÔ¿µ Ã¨Õ ÊÔ àµÍà àÊÃ稡 ͹ áŠǨ֧·íÒ¡ÒÃÊ §ÊÑÒ³áŵ« ÍÍ¡ä» â´Â¤ Ò¡Òà ˹ ǧàÇÅҨе ͧà¾ÔèÁ¢Öé¹àÅ硹 ÍÂËÒ¡ºÍ´àõÁÕ¤ Ò¹ ÍÂŧ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 145
12.4 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdOut_Click cmdReset_Click cmdD_Click àËÁ×͹ ¡Ñº¡Ò÷´Åͧ·Õè 11 áÅÐà¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó Form_Load ´Ñ§¹Õé Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = “57600,n,8,1” MSComm1.PortOpen = True Shift8Bit 0 Shift8Bit 0 LE End Sub
¨ÐÊÑ§à¡µä´ ÇÒ â»Ãá¡ÃÁ¢Í§¡Ò÷´Åͧ¹Õ¨é ФŠÒ¡Ѻ¡Ò÷´Åͧ·Õè 11 ¨Ðµ Ò§¡Ñ¹ã¹Ê ǹ¢Í§ â»Ãá¡ÃÁ ÍÂÊíÒËÃѺÊà ҧÊÑÒ³ªÔ¿µ Ã¨Õ ÊÔ àµÍà à¹×Íè §¨Ò¡¡Ò÷íÒ§Ò¹¢Í§ UTX8100 ÁÕ¢¹Ñé µÍ¹ ¡Ò÷íÒ§Ò¹¡ÑºªÔ¿µ ÃÕ¨ÔÊàµÍà äÇ ÀÒÂ㹨֧äÁ µ ͧÊà ҧÊÑÒ³ªÔ¿µ ÃÕ¨ÔÊàµÍà àͧ·Ñé§ËÁ´ à¾Õ§ ¡íÒ˹´ÊÑÒ³áŵ« ¨Ò¡¤ÍÁ¾ÔÇàµÍà ෠ҹѹé
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 146
º··Õè 12
¾Íà µÍ¹Ø¡ÃÁ¡Ñº¡ÒÃÇÑ´ ÍسËÀÙÁ¼ Ô Ò ¹ÃкººÑÊ I2C DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ ¼Ù¼ ÅÔµ¤×Í Dallas Semiconductor à» ¹äÍ«ÕÇ´Ñ ÍسËÀÙÁ·Ô ãÕè ª ¡ÒõԴµ ͼ Ò¹ÃкººÑÊ I2C ã¹ ÃÙ»·Õè 12-1 áÊ´§¡ÒèѴ¢ÒáÅÐ˹ Ò·Õ¢è ͧᵠÅТҢͧäÍ«Õ DS1621 ÊíÒËÃѺ¤Ø³ÊÁºÑµ·Ô ÊÕè Òí ¤Ñ¢Í§ DS1621 ÁÕ´§Ñ ¹Õé ð ð ð l ÇÑ´ÍسËÀÙÁäÔ ´ µ§Ñé áµ -55 C ¶Ö§ +125 C ÁÕ¤ÇÒÁÅÐàÍÕ´㹡ÒÃÇÑ´ 0.5 C à·Õº໠¹Ë¹ Ç ¢Í§¿Òàùäε ä´ à· Ò¡Ñº -67ðF ¶Ö§ +257ðF ¤ÇÒÁÅÐàÍÕ´ 0.9ðF â´ÂäÁ µÍ §ãª Í»Ø ¡Ã³ ÀÒ¹͡ l ¤ÇÒÁÅÐàÍÕ´¢Í§¢ ÍÁÙÅÍسËÀÙÁ´ Ô ¨Ô µÔ ÍÅ 9 ºÔµ l 㪠ä¿àÅÕÂé §ä´ µ§Ñé áµ 2.7-5.5V l 㪠àÇÅÒ㹡ÒÃÇÑ´ÍسËÀÙÁá Ô Å Çá»Å§à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅ 1 ÇÔ¹Ò·Õ l ÊÒÁÒö·íҧҹ໠¹à·Íà âÁʵѵ (thermostat) ä´ ¾Ã ÍÁ¢ÒàÍÒµ ¾µ Ø 1 ¢Ò l µÑ§é ¤ ÒÍسËÀÙÁ· Ô µÕè Í §¡ÒÃàÁ×Íè ·íҧҹ໠¹à·Íà âÁÊµÑµä´ â´ÂµÔ´µ ͼ Ò¹ÃкººÑÊ I2C áÅÐ ¤ Ò·Õ¡è Òí ˹´¹Õ¨é Ф§ÍÂÙµ ÅÍ´ä» áÁ »Å´ä¿àÅÕÂé §áÅ Ç¡çµÒÁ l ÊÒÁÒöµ ; ǧ¡Ñ¹ä´ ʧ٠ÊØ´ 8 µÑÇ ¢Ò·Õè ª×Íè ¢Ò SDA
1
SCL
2
TOUT 3 GND 4
8 +Vcc ,5 $ Digital Tthermometer and thermostat
7
A0
6
A1
5
A2
˹ Ò·Õ/è ¡Ò÷íÒ§Ò¹
1
SDA
¢Ò¢ ÍÁÙÅ͹ءÃÁÊíÒËÃѺàª×Íè Áµ ͡ѺÃкººÑÊ I C
2
SCL
¢ÒÊÑÒ³¹ÒÌÔ¡ÒÊíÒËÃѺàª×Íè Áµ ͡ѺÃкººÑÊ I C
3
TOUT
"áÍ¡µÕ¿" àÁ×Íè ÍسËÀÙÁÊÔ §Ù ¶Ö§¨Ø´¡Ãеع ÊÙ§ (TH) "ÃÕ૵" àÁ×Íè ÍسËÀÙÁÅÔ ´Å§µíÒè ¡Ç Ò¨Ø´¡Ãеع µíÒè (TL)
4
GND
¢Òµ Í¡ÃÒÇ´ ¢Í§Ç§¨Ã
5-7
A2-A0 ¢Ò¡íÒ˹´áÍ´à´Ãʢͧ DS1621 ËÒ¡ÁÕµÇÑ à´ÕÂÇã¹Ãкº¤Çõ Íŧ¡ÃÒÇ´
8
+Vcc
¢Òµ Íä¿àÅÕÂé § +5V
ÃÙ»·Õè 12-1 ¡ÒèѴ¢ÒáÅСÒ÷íÒ§Ò¹¢Í§ DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 147
ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁáÅÐáÊ´§Ê¶Ò¹Ð SCL SDA
Ê Ç¹¡íÒ˹´ áÍ´à´ÃÊ áÅФǺ¤ØÁ ¢ÒÍÔ¹¾ØµàÍÒµ ¾Øµ
A0 A1 A2
µÑǵÃǨÇÑ´ÍسËÀÙÁÔ ¨Ø´·ÃÔ¡ÍسËÀÙÁÔÊÙ§ (TH) ¨Ø´·ÃÔ¡ÍسËÀÙÁÔµíèÒ (TL)
Ê Ç¹à»ÃÕºà·Õº¢ ÍÁÙÅ´Ô¨ÔµÍÅ
TOUT
ÃÙ»·Õè 12-2 ¼Ñ§¡Ò÷íÒ§Ò¹àº×Íé §µ ¹â´ÂÃÇÁ¢Í§ DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ
¡Ò÷íÒ§Ò¹¢Í§ DS1621 ã¹ÃÙ»·Õè 12-2 áÊ´§¼Ñ§¡Ò÷íÒ§Ò¹ÃÇÁ¢Í§ DS1621 ËÑÇã¨ÊíÒ¤ÑÍÂÙ· ÊÕè Ç ¹ÇÑ´ÍسËÀÙÁÔ àÁ×Íè DS1621 àÃÔÁè ·íÒ§Ò¹ ¨Ð·íÒ¡ÒÃÇÑ´ÍسËÀÙÁÔ â´ÂÀÒÂã¹äÍ«Õ¨ÐÁÕµÇÑ µÃǨ¨ÑºÍسËÀÙÁºÔ ÃèØÍÂÙ ¼Å¡Òà ÇÑ´¨ÐÊ §µ Íä»ÂÑ§Ê Ç¹¨Ñ´¡ÒÃáÍ´à´ÃÊáÅФǺ¤ØÁÍÔ¹¾ØµàÍÒµ ¾µØ ã¹Ê ǹ¹Õ¹é Òí ¢ ÍÁÙÅÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ Ê §µ Íä»ÂѧºÑʼ Ò¹·Ò§¢Ò SDA â´Âä´ ÃºÑ ¡ÒáíÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹¨Ò¡Ê ǹÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁáÅÐ áÊ´§Ê¶Ò¹Ð ËÒ¡ÁÕ¡ÒáíÒ˹´ãË ·Òí §Ò¹ã¹âËÁ´à·Íà âÁʵѵ ¢ ÍÁÙÅ¡ÒÃÇÑ´¶Ù¡Ê §ä»à»ÃÕºà·Õº¡Ñº ¨Ø´¡Ãеع ·Ò§ÊÙ§áÅеèÒí ·ÕÊè Ç ¹à»ÃÕºà·Õº¢ ÍÁÙÅ´Ô¨µÔ ÍÅ ¼Å¡ÒÃà»ÃÕºà·Õº¨ÐÊ §ÍÍ¡·Ò§¢Ò TOUT à¹×Íè §¨Ò¡ DS1621 ÁÕ¢Ò¡íÒ˹´áÍ´à´ÃÊ 3 ¢Ò¤×Í A2-A0 ¨Ö§·íÒãË ÊÒÁÒöµ ; ǧ DS1621 ä´ Ê§Ù ÊØ´ 8 µÑÇ â´Âáµ ÅеÑǵ ͧ¡íÒ˹´Ê¶Ò¹ÐÅͨԡ·Õ¢è ÒáÍ´à´Ãʷѧé ÊÒÁãË áµ¡µ Ò§¡Ñ¹ Ê Ç¹¨Ñ´¡Òà áÍ´à´ÃÊáÅФǺ¤ØÁÍÔ¹¾ØµàÍÒµ ¾µØ ¢Í§ DS1621 áµ ÅеÑǨÐà» ¹µÑǨѴ¡ÒÃÊ §¢ ÍÁÙŵÒÁ·ÕÍè »Ø ¡Ã³ ÁÒÊàµÍà à ͧ¢Í ¤ ҢͧÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ ¶¡Ù à¡çºÍÂÙà »Ù ¢Í§¢ ÍÁÙÅàÅ¢°Ò¹Êͧ¢¹Ò´ 9 ºÔµ ´Ñ§áÊ´§µÑÇÍ ҧ㹠µÒÃÒ§·Õè 12-1 ¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ ¨ÐẠ§à» ¹ 2 Ê Ç¹ 8 ºÔµº¹ËÃ×Í亵 ʧ٠¨Ðà» ¹¤ ÒÍسËÀÙÁ¨Ô Òí ¹Ç¹ àµçÁ â´ÂºÔµ MSB ¨Ðà» ¹µÑÇáÊ´§à¤Ã×Íè §ËÁÒÂÇ Ò ÍسËÀÙÁàÔ » ¹ºÇ¡ËÃ×Íź ËÒ¡ºÔµ MSB à» ¹ 1 áÊ´Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ Á¤Õ Ò à» ¹Åº ã¹¢³Ð·Õè 8 ºÔµÅ Ò§ËÃ×Í亵 ÅÒ §¨ÐÁÕ㪠§Ò¹à¾Õ§ºÔµà´ÕÂÇ ¨Ðà» ¹ºÔµáÊ´§¤ Ò¤ÇÒÁÅÐàÍÕ´ «Ö§è ෠ҡѺ 0.5ðC àÁ×Íè Êѧè ãË DS1621 Ê §¢ ÍÁÙÅÍسËÀÙÁÍÔ Í¡ÁÒ DS1621 ¨Ð㪠àÇÅÒäÁ à¡Ô¹ 1 ÇÔ¹Ò·Õ ¨Ö§¨ÐÊ § ¢ ÍÁÙÅÍÍ¡ÁÒ ´Ñ§¹Ñ¹é 㹡ÒäǺ¤ØÁ¡Ò÷íÒ§Ò¹¨Ö§µ ͧÁÕ¡ÒÃ˹ ǧàÇÅÒ à¾×Íè ÃÍãË DS1621 ÇÑ´áÅÐ á»Å§¤ ÒÍÍ¡ÁÒà» ¹¢ ÍÁÙÅãË àÃÕºà ÍÂàÊÕ¡ ͹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 148
¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ (àÅ¢°Ò¹Êͧ)
¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ (àÅ¢°Ò¹ÊԺˡ)
+125 C
01111101 00000000
7B00H
+25 C
00011001 00000000
1900H
+0.5 C
00000001 00000000
0080H
0 C
00000000 00000000
0000H
-0.5 C
11111111 10000000
FF80H
-25 C
11100111 00000000
E700H
-55 C
11001001 00000000
C900H
ÍسËÀÙÁÔ ð
ð
ð
ð
ð
ð ð
µÒÃÒ§·Õè 12-1 áÊ´§ÃٻẺ¢ ÍÁÙÅ´Ô¨ÔµÍÅ µÑÇÍ ҧ¢Í§ÍسËÀÙÁÔ·ÕèÇÑ´ä´ ¨Ò¡ DS1621 ¨ÐàËç¹ä´ ÇÒ ¢ ÍÁÙÅÍسËÀÙÁÍÔ ÂÙ· Õè 8 ºÔµº¹ Ê Ç¹ 8 ºÔµÅ Ò§áÊ´§¤ Ò¤ÇÒÁÅÐàÍÕ´
¡Ò÷íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ ¹Í¡¨Ò¡ÇÑ´ÍسËÀÙÁáÔ Å Ç DS1621 ÂѧÊÒÁÒö·íÒ§Ò¹ã¹áººà·Íà âÁʵѵËÃ×ÍãË àÍÒµ ¾µØ àÁ×Íè ÍسËÀÙÁµÔ Òèí ËÃ×ÍÊÙ§¶Ö§¨Ø´·Õ¡è Òí ˹´äÇ â´Â¼Ùã ª §Ò¹ÊÒÁÒöâ»Ãá¡ÃÁä´ µÒÁµ ͧ¡ÒÃáÅФ Ò·Õâè »Ãá¡ÃÁ ¹Õ¨é ÐÍÂÙµ Åʹ仨¹¡Ç Ò¨ÐÁÕ¡ÒÃá¡ ä¢áÁ ÇÒ ¨ÐµÑ´ä¿àÅÕÂé §ä»áÅ Ç¡çµÒÁ ¼Ùã ª §Ò¹µ ͧ¡íÒ˹´¤ Ңͧ¨Ø´ ·ÃÔ¡ÍسËÀÙÁÊÔ §Ù (high temperature trigger : TH) áÅÐ ¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí (low temperature trigger :TL) áÅÐàÅ×Í¡ÊÑÒ³áÍ¡µÕ¿Ç Ò àÁ×Íè ÍسËÀÙÁÊÔ §Ù ÁÒ¶Ö§¨Ø´·Õ¡è Òí ˹´¨ÐãË ¢ÒàÍÒµ ¾µØ TOUT Ê §ÊÑÒ³ÅͨԡẺã´ÍÍ¡ä» ÊÒÁÒöàÅ×Í¡ä´ 2 Ẻ¤×Í Åͨԡ 0 ËÃ×Í 1 àÁ×Íè ¡íÒ˹´¤ ÒàÃÕºà ÍÂáÅ Ç DS1621 ¨ÐÇÑ´ÍسËÀÙÁäÔ »àÃ×Íè Âæ ¨¹¡Ãзѧè àÁ×Íè ÍسËÀÙÁÊÔ §Ù ¨¹ ¶Ö§¨Ø´ TH ¢Ò TOUT ¡ç¨ÐáÍ¡µÕ¿·Ñ¹·Õ áÅÐáÍ¡µÕ¿¤ Ò§ÍÂÙà ª ¹¹Ñ¹é ¨¹¡Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ Å´µèÒí ŧ ¡Ç Ҩش TL ´Ñ§¹Ñ¹é ¡ÒáíÒ˹´¤ Ңͧ TH áÅÐ TL ¨Ö§ÊíÒ¤ÑÁÒ¡ ËÒ¡¡íÒ˹´äÇ á¤ºËÃ×ÍÁÕ¤ÇÒÁ ᵡµ Ò§¡Ñ¹¹ ÍÂà¡Ô¹ä» áÅÐÍسËÀÙÁ·Ô ÇÕè ´Ñ ¨ÃÔ§¹Ñ¹é ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ã¹ª ǧ᤺æ ËÃ×ͨÃÔ§æ áŠǤ ͹ ¢ Ò§¤§·Õè ¨Ð·íÒãË àÍÒµ ¾µØ ·Õ¢è Ò TOUT à¡Ô´ÊÑÒ³Åͨԡ·Õäè Á ¤§·Õè ¨¹¤Å Ò¡Ѻ໠¹ÊÑҳú¡Ç¹ Ê §¼ÅãË ¡ÒùíÒÊÑÒ³ä»ãª §Ò¹·íÒä´ äÁ ´Õ áµ ¶Ò ËÒ¡¡íÒ˹´äÇ ËÒ §ËÃ×ÍÁÕ¤ÇÒÁᵡµ Ò§ÁÒ¡à¡Ô¹ä» ÍÒ¨·íÒãË ÁÍ§ä´ ÇÒ Ç§¨Ãà·Íà âÁʵѵ¹ÕÁé ¤Õ ÇÒÁäÇ㹡Ò÷íÒ§Ò¹µèÒí à¾ÃÒÐ¡Ç Ò¨ÐµÑ´àÍÒµ ¾µØ µ ͧÃÍ ãË Í³ Ø ËÀÙÁÅÔ ´¤ ÒŧµèÒí ¡Ç Ò¨Ø´ TH ÁÒ¡æ «Ö§è ÍÒ¨Ê §¼ÅàÊÕÂËÒ¡¡ÒÃŴŧ¢Í§ÍسËÀÙÁ·Ô àÕè ¡Ô´¢Ö¹é ¨ÃÔ§ ŧäÁ ¶§Ö ¨Ø´ TL áµ Í»Ø ¡Ã³ ·µÕè Í §¡ÒùíÒÊÑÒ³¹Õäé »ãª Á¤Õ ÇÒÁÊÒÁÒö㹡Ò÷¹ÍسËÀÙÁãÔ ¹ª ǧÃÐ ËÇ Ò§ TH áÅÐ TL ä´ äÁ ¹Ò¹ ¡ç¨ÐÊ §¼ÅãË à¡Ô´¤ÇÒÁàÊÕÂËÒµ ÍÍØ»¡Ã³ ¹¹Ñé æ ä´ ã¹ÃÙ»·Õè 12-3 áÊ´§ÃٻẺ¡Ò÷íÒ§Ò¹¢Í§ DS1621 ã¹âËÁ´à·Íà âÁʵѵ¹Õé
ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹¢Í§ DS1621 㹡ÒáíÒ˹´¤ Ò TH áÅÐ TL ¢Í§ DS1621 µÅÍ´¨¹¡ÒÃàÅ×Í¡ÊÑÒ³áÍ¡µÕ¿ã¹âËÁ´ à·Íà âÁʵѵÊÒÁÒö¡ÃзíÒ¼ Ò¹ÃÕ¨ÔÊàµÍà µÑÇ˹Ö觷Õèª×èÍÇ Ò ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§ ʶҹР(Configuration/Status register) â´ÂÁѹÊÒÁÒö·íÒ˹ Ò·Õäè ´ 2 Í ҧ¤×Í ãª ÊÒí ËÃѺ¡íÒ˹´ ¾ÒÃÒÁÔàµÍà ÊÒí ¤ÑàÁ×Íè ¡íÒ˹´ãË DS1621 ·íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ áÅÐ㪠áÊ´§Ê¶Ò¹Ð¡ÒÃÇÑ´ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 149
TOUT "1" t
"0"
ÍسËÀÙÁÔ
¤ ÒÇÑ´ä´ ¨Ò¡ DS1621
TH
TL t1
t2
t3
ÍسËÀÙÁ¨Ô ÃÔ§à»ÅÕÂè ¹á»Å§ã¹ª ǧ 59-60ðC (ÍÒ¨¶×Íä´ ÇÒ ¤ ͹¢ Ò§¤§·Õ)è
t4
t5
,5 $ TH=60 TL=59.5 active "1"
ÍسËÀÙÁ¨Ô ÃÔ§àÃÔÁè µ ¹¨Ò¡ 0-60ðC áÅ ÇŴŧ¨Ò¡¹Ñ¹é ¨Ðà»ÅÕÂè ¹á»Å§ã¹ª ǧ 50-60ðC
t
t6
TOUT
,5 $ TH=59 TL=30 active "1"
TOUT
ÃÙ»·Õè 12-3 ÃٻẺ¡Ò÷íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ¢Í§ DS1621 áÅÐá»Å§¤ ÒÍسËÀÙÁÔ â´ÂÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹¹ÕÁé ¢Õ ¹Ò´ 8 ºÔµ ÊÒÁÒöࢠҶ֧´ Ç¡Ãкǹ ¡ÒõԴµ ͼ Ò¹ÃкººÑÊ I2C áµ ÅкԵ¢Í§ÃÕ¨ÊÕ àµÍà ÁÃÕ ÒÂÅÐàÍÕ´´Ñ§¹Õé
ºÔµ 7
DONE
ºÔµ 6 THF
ºÔµ 5 TLF
ºÔµ 4 NVB
ºÔµ 3 1
ºÔµ 2 0
ºÔµ 1 POL
ºÔµ 0
1SHOT
DONE (Conversion done - ºÔµ 7) : ºÔµáÊ´§Ê¶Ò¹Ð¢Í§¡ÒÃá»Å§¢ ÍÁÙÅÍسËÀÙÁÔ 0 - ÂѧÍÂÙã ¹ÃÐËÇ Ò§¡ÒÃá»Å§¢ ÍÁÙÅ 1 - ¡ÒÃá»Å§¢ ÍÁÙÅàÊÃç¨ÊÁºÙó áÅ Ç THF (Temperature High Flag - ºÔµ 6) : ºÔµá¿Å¡á¨ §Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ Ê§Ù ¡Ç Ҩش·ÃÔ¡ ÍسËÀÙÁÊÔ §Ù ËÃ×Í TH â´ÂàÁ×Íè à¡Ô´à˵ءÒó ¹¢Õé ¹Öé ºÔµ¹Õ¨é Ð૵໠¹ 1 áÅдíÒçʶҹйÕäé Ç ¨¹¡Ç Ò ¨ÐÁÕ¡ÒÃà¢Õ¹¢ ÍÁÙÅ 0 ÁÒÂѧºÔµ¹Õ´é Ç Â¡Ãкǹ¡Ò÷ҧ«Í¿µ áÇà ËÃ×Íà¤ÅÕÂà ´Ç ¡ÒûŴä¿àÅÕÂé § ÍÍ¡¨Ò¡ DS1621 »ÃÐ⪹ ¢Í§ºÔµ¹Õ¤é Í× ËÒ¡ºÔµ¹Õàé «µ·Ñ¹·Õ·¨Õè Ò Âä¿àÅÕÂé §ãËÁ ¼Ùã ª §Ò¹¡ç¨Ð·ÃÒº àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 150
ä´ ·¹Ñ ·Õàè ª ¹¡Ñ¹Ç Ò ¢³Ð¹ÕÍé ³ Ø ËÀÙÁ·Ô ÇÕè ´Ñ ä´ Á¤Õ Ò ÊÙ§¡Ç Ҩش·ÃÔ¡ÍسËÀÙÁÔ TH ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡ä´ ¡Í ¹ Ç Ò ¨Ðᡠ䢤 ÒÍسËÀÙÁԢͧ¨Ø´ TH ËÃ×ÍäÁ ËÃ×Íä»á¡ ä¢ã¹Ê ǹÍ×è¹á·¹ ´Ñ§¹Ñé¹àÁ×èÍàÃÔèÁµ ¹ãª §Ò¹ DS1621 ¨Ö§¤ÇÃÍ Ò¹ºÔµá¿Å¡¹Õ¡é Í ¹à¾×Íè µÃǨÊͺ à¾ÃÒкҧ·Õ¼ãÙ ª §Ò¹äÁ ·ÃÒºÁÒ¡ Í¹Ç Ò¤ Ò TH ¡ ͹˹ Ò¹Õ¢é ͧ DS1621 ¶Ù¡¡íÒ˹´äÇ à· Òã´ TLF (Temperature Low Flag - ºÔµ 5) : ºÔµá¿Å¡á¨ §Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ à· Ò¡ÑºËÃ×͵èÒí ¡Ç Ò ¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí ËÃ×Í TL àÁ×Íè à¡Ô´à˵ءÒó ¹¢Õé ¹Öé ºÔµ¹Õàé «µà» ¹ 1 áÅдíÒçʶҹйÕäé Ç ¨¹¡Ç Ò ¨ÐÁÕ¡ÒÃà¢Õ¹¢ ÍÁÙÅ 0 ÁÒÂѧºÔµ¹Õ´é Ç Â¡Ãкǹ¡Ò÷ҧ«Í¿µ áÇà ËÃ×Íà¤ÅÕÂà ´Ç ¡ÒûŴä¿àÅÕÂé § »ÃÐ⪹ ¢Í§ºÔµ¹Õ¤é Í× ËÒ¡ºÔµ¹Õàé «µ·Ñ¹·Õ·¨Õè Ò Âä¿àÅÕÂé §ãËÁ ¼Ùã ª §Ò¹¡ç¨Ð·ÃÒºÇ Ò ¢³Ð¹ÕÍé ³ Ø ËÀÙÁ·Ô Õè ÇÑ´ä´ Á¤Õ Ò à· ÒËÃ×͵èÒí ¡Ç Ò¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí TL ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡ä´ ÇÒ ¨Ðᡠ䢤 ÒÍسËÀÙÁ¢Ô ͧ¨Ø´ TL ËÃ×ÍäÁ ËÃ×Íä»á¡ ä¢ã¹Ê ǹÍ×¹è á·¹ ´Ñ§¹Ñ¹é àÁ×Íè àÃÔÁè µ ¹ãª §Ò¹ DS1621 ¨Ö§¤ÇÃÍ Ò¹ºÔµá¿Å¡¹Õé ¡ ͹à¾×Íè µÃǨÊͺ à¾ÃÒкҧ·Õ¼ãÙ ª §Ò¹äÁ ·ÃÒºÇ Ò¤ Ò TL ¡ ͹˹ Ò¹Õ¢é ͧ DS1621 à» ¹à· Òã´ NVB (Nonvolatile Memory Busy Flag - ºÔµ 4) : ºÔµá¿Å¡áÊ´§Ê¶Ò¹Ð¡ÒÃà¢Õ¹¢ ÍÁÙÅŧ ã¹Ë¹ ǤÇÒÁ¨íÒÍÕÍ¾Õ ÃÍÁÀÒÂã¹ DS1621 à¾×Íè à¡çº¤ Ò¾ÒÃÒÁÔàµÍà ·¨Õè Òí à» ¹ »¡µÔ¨Ð㪠àÇÅÒ»ÃÐ ÁÒ³ 10 ÁÔÅÅÔÇ¹Ô Ò·Õ 0 - ÂѧÍÂÙà ÐËÇ Ò§¡ÒÃà¢Õ¹¢ ÍÁÙÅ 1 - ¡ÒÃà¢Õ¹¢ ÍÁÙÅàÊÃç¨ÊÁºÙó ºÔµ 3 : äÁ 㪠§Ò¹ ¡íÒ˹´ãË à» ¹ 1 ºÔµ 2 : äÁ 㪠§Ò¹ ¡íÒ˹´ãË à» ¹ 0 POL (Output Polarity Bit - ºÔµ 1) : ºÔµàÅ×͡ʶҹÐàÍÒµ ¾µØ ¢Í§¢Ò TOUT àÁ×Íè ·íҧҹ㹠âËÁ´à·Íà âÁʵѵ àÁ×Íè àÅ×Í¡áŠǢ ÍÁÙŢͧºÔµ¹Õ¨é дíÒçÍÂÙä »µÅÍ´áÁ »Å´ä¿àÅÕÂé §¡çµÒÁ ËÃ×ÍàÃÕ¡ Ç Ò ¹Í¹âÇÅÒä·Å (non-volatile) 0 - áÍ¡µÕ¿´ ÇÂÅͨԡ 0 1 - áÍ¡µÕ¿´ ÇÂÅͨԡ 1 1SHOT (One Shot Mode - ºÔµ 0) : ºÔµàÅ×Í¡ÇÔ¸¡Õ ÒÃÇÑ´áÅÐá»Å§¤ ÒÍسËÀÙÁ¢Ô ͧ DS1621 àÁ×èÍàÅ×Í¡áŠǢ ÍÁÙŢͧºÔµ¹Õé¨Ð´íÒçÍÂ٠仵ÅÍ´áÁ »Å´ä¿àÅÕ駡çµÒÁ 0 - ¡íÒ˹´ãË DS1621 ·íÒ¡ÒÃÇÑ´áÅÐá»Å§¤ ÒÍ ҧµ Íà¹×Íè § 1 - ¡íÒ˹´ãË DS1621 àÃÔÁè ·íÒ¡ÒÃá»Å§¤ ÒÍسËÀÙÁàÔ Á×Íè ä´ ÃºÑ ÊÑÒ³àÃÔÁè µ ¹ â´Â»¡µÔáŠǤÇáíÒ˹´ãË DS1621 ·íÒ¡ÒÃÇÑ´áÅÐá»Å§¤ ÒÍسËÀÙÁÍÔ Â Ò§µ Íà¹×Íè § àÇ ¹áµ ÁÕ¤ÇÒÁµ ͧ¡ÒäǺ¤ØÁ¡ÒÃ㪠¾Åѧ§Ò¹¢Í§ DS1621 à¾ÃÒÐËÒ¡ DS1621 äÁ ä´ Ç´Ñ ÍسËÀÙÁáÔ ÅÐ á»Å§¤ Ò¨Ð㪠¾Åѧ§Ò¹ä¿¿ ÒŴŧ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 151
¤íÒÊѧè 㹡ÒÃ㪠§Ò¹ DS1621
¡ÒÃÍ Ò¹áÅÐà¢Õ¹¢ ÍÁÙšѺ DS1621 áÊ´§´Ñ§ÃÙ»·Õè 12-4 ÍØ»¡Ã³ ÁÒÊàµÍà (ã¹·Õè¹Õé¤×Í ¤ÍÁ¾ÔÇàµÍà ) ¨Ð¡íÒ˹´áÍ´à´Ãʢͧ DS1621 ·Õµè Í §¡ÒõԴµ ÍáŠǵÒÁ´ Ç¡ÒÃ૵ºÔµ R/W ¨Ò¡¹Ñ¹é ÃÍ¡ÒõͺÃѺ¨Ò¡ DS1621 àÁ×Íè µÍºÃѺáÅ Ç ÍØ»¡Ã³ ÁÒÊàµÍà ¨ÐàµÃÕÂÁÊ §¤íÒÊѧè à¾×Íè 㪠§Ò¹ DS1621 µ Íä» ·Ø¡¤ÃÑ駷ÕèÁÕ¡ÒÃà¢Õ¹¤íÒÊÑè§ä»Âѧ DS1621 µ ͧà¤ÅÕÂà ºÔµ R/W ´ ÇÂàÊÁÍ àÁ×èÍ DS1621 ä´ ÃºÑ ¤íÒÊÑ§è ¨Ò¡ÍØ»¡Ã³ ÁÒÊàµÍà ¡¨ç дíÒà¹Ô¹¡ÒõÒÁ·Õ¡è Òí ˹´ áÅзء¤ÃÑ§é ¨ÐÊ §ÊÑÒ³ ÃѺÃÙË Ã×͵ͺÃѺ¡ÅѺä»ÂѧÍØ»¡Ã³ ÁÒÊàµÍà ¤íÒÊÑ§è ·Ñ§é ËÁ´¢Í§ DS1621 ÁÕ´§Ñ ¹Õé
¤íÒÊѧè Í Ò¹ÍسËÀÙÁÔ (Read Temperature : ¢ ÍÁÙŤíÒÊѧè à» ¹ AAH)
à» ¹¤íÒÊѧè Í Ò¹¤ ÒÍسËÀÙÁÅÔ Ò ÊØ´·Õè DS1621 ·íÒ¡ÒÃá»Å§àÊÃç¨ÊÁºÙó â´Â DS1621 ¨ÐÊ § ¢ ÍÁÙÅ¢¹Ò´ 2 亵 ·áÕè ·¹¤ ÒÍسËÀÙÁ¡Ô ÅѺÁÒ (¨ÃÔ§æ áÅ Ç㪠à¾Õ§ 9 ºÔµ) à¢Õ¹¤íÒÊÑè§ã¹¡ÅØ Á·ÕèäÁ µ ͧ¡Òâ ÍÁÙŠઠ¹ ¤íÒÊÑè§àÃÔèÁµ ¹/ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ SCL SDA
S 1 0 0 1 ) ) ) W A +% +$ +# +" +! + + + A
áÍ´à´ÃÊ START
P
¤íÒÊѧè DS1621 ACK
STOP
DS1621 ACK
SCL SDA
S 1 0 0 1 ) ) ) W A +% +$ +# +" +! + + + A ,% ,$ ,# ," ,! , , , A
áÍ´à´ÃÊ START
¤íÒÊѧè DS1621 ACK
P
¢ ÍÁÙÅ DS1621 ACK
DS1621 ACK
STOP
à¢Õ¹¤íÒÊÑè§ã¹¡ÅØ Á·Õèµ Í§¡Òâ ÍÁÙÅ 2 亵 ઠ¹ ¤íÒÊÑè§à¢ Ò¶Ö§¤ Ò TH áÅÐ TL SCL SDA
S 1 0 0 1 ) ) ) W A +% +$ +# +" +! + + + A ,% ,$ ,# ," ,! , , , A ,% ,$ ,# ," ,! , , , A
áÍ´à´ÃÊ START
¤íÒÊѧè DS1621 ACK
¢ ÍÁÙÅ亵 ÊÙ§ DS1621 ACK
P
¢ ÍÁÙÅ亵 µÒèí DS1621 ACK
DS1621 ACK
STOP
Í Ò¹¢ ÍÁÙŨҡÃÕ¨ÔÊàµÍà ·ÕèÁÕ¢¹Ò´ 1 亵 ä´ á¡ ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð, µÑǹѺ áÅеÑǹѺÊâÅ» SCL SDA
S 1 0 0 1 ) ) ) W A +% +$ +# +" +! + + + A
áÍ´à´ÃÊ START
R
1 0
¤íÒÊѧè DS1621 ACK
0 1 ) ) ) 4@ A ,% ,$ ,# ," ,! , , , N
áÍ´à´ÃÊ DS1621 ACK Repeat START
P
¢ ÍÁÙÅ STOP MASTER NACK
DS1621 ACK
Í Ò¹¢ ÍÁÙŨҡÃÕ¨ÔÊàµÍà ·ÕèÁÕ¢¹Ò´ 2 亵 ä´ á¡ ¤ Ңͧ TH, TL áÅФ ÒÍسËÀÙÁÔ SCL SDA
S 1 0 0 1 ) ) ) W A +% +$ +# +" +! + + + A
áÍ´à´ÃÊ START
R
1 0
¤íÒÊѧè DS1621 ACK
0 1 ) ) ) 4@ A ,% ,$ ,# ," ,! , , , A ,% ,$ ,# ," ,! , , , N
áÍ´à´ÃÊ DS1621 ACK Repeat START
¢ ÍÁÙÅ DS1621 ACK
P
¢ ÍÁÙÅ MASTER ACK
STOP MASTER NACK
ÃÙ»·Õè 12-4 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§ÃٻẺ¡ÒõԴµ ͺ¹ÃкººÑÊ I2C ¢Í§ DS1621 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 152
¤íÒÊѧè ࢠҶ֧¤ Ò TH (Access TH : ¢ ÍÁÙŤíÒÊѧè à» ¹ A1H)
à» ¹¤íÒÊÑè§ÊíÒËÃѺࢠҶ֧ËÃ×͵Դµ ͡Ѻ¤ Ңͧ¨Ø´·ÃÔ¡ÍسËÀÙÁÔÊÙ§ËÃ×Í TH ¶ ÒËÒ¡ºÔµ R/W ¶Ù¡¡íÒ˹´ãË à» ¹ 0 à» ¹¡ÒÃÃкØÇÒ µ ͧ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 à¾×Íè ¡íÒ˹´¤ ÒËÃ×ÍµÑ§é ¤ Ò TH ãËÁ â´Â¢ ÍÁÙÅ·Õàè ¢Õ¹¹Ñ¹é ÁÕ¢¹Ò´ 2 亵 áµ ¶Ò ËÒ¡ºÔµ R/W à» ¹ 1 ¨Ðà» ¹¡ÒÃࢠҶ֧à¾×Íè Í Ò¹¤ Ò TH ã¹¢³Ð¹Ñ¹é ¢Í§ DS1621 á·¹
¤íÒÊѧè ࢠҶ֧¤ Ò TL (Access TL : ¢ ÍÁÙŤíÒÊѧè à» ¹ A2H)
à» ¹¤íÒÊÑè§ÊíÒËÃѺࢠҶ֧ËÃ×͵Դµ ͡Ѻ¤ Ңͧ¨Ø´·ÃÔ¡ÍسËÀÙÁÔµèíÒËÃ×Í TL ¶ ÒËÒ¡ºÔµ R/W ¶Ù¡¡íÒ˹´ãË à» ¹ 0 à» ¹¡ÒÃÃкØÇÒ µ ͧ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 à¾×Íè ¡íÒ˹´¤ ÒËÃ×ÍµÑ§é ¤ Ò TL ãËÁ â´Â¢ ÍÁÙÅ·Õàè ¢Õ¹¹Ñ¹é ÁÕ¢¹Ò´ 2 亵 áµ ¶Ò ËÒ¡ºÔµ R/W à» ¹ 1 ¨Ðà» ¹¡ÒÃࢠҶ֧à¾×Íè Í Ò¹¤ Ò TL ã¹¢³Ð¹Ñ¹é ¢Í§ DS1621 á·¹
¤íÒÊÑè§à¢ Ò¶Ö§ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð (Access Config : ¢ ÍÁÙŤíÒÊѧè à» ¹ ACH) à» ¹¤íÒÊѧè ÊíÒËÃѺࢠҶ֧ËÃ×͵Դµ ͡ѺÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð (Config) ¶ ÒËÒ¡ºÔµ R/W ¶Ù¡¡íÒ˹´ãË à» ¹ 0 à» ¹¡ÒÃÃкØÇÒ µ ͧ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà à¾×Íè ¡íÒ˹´ ÅѡɳСÒ÷íÒ§Ò¹¢Í§ DS1621 â´Â¢ ÍÁÙÅ·Õàè ¢Õ¹¹Ñ¹é ÁÕ¢¹Ò´ 1 亵 áµ ¶Ò ËÒ¡ºÔµ R/W à» ¹ 1 ¨Ðà» ¹¡ÒÃࢠҶ֧à¾×Íè Í Ò¹¤ ҢͧÃÕ¨ÊÔ àµÍà à¾×Íè µÃǨÊͺʶҹСÒ÷íÒ§Ò¹¢Í§ DS1621
¤íÒÊѧè Í Ò¹µÑǹѺ (Read Counter : ¢ ÍÁÙŤíÒÊѧè à» ¹ A8H)
à» ¹¤íÒÊѧè ÊíÒËÃÑºÍ Ò¹¤ ÒµÑǹѺ·Õãè ª 㹡ÒÃá»Å§¤ ÒÍسËÀÙÁ¢Ô ͧ DS1621 㹡ÒÃ㪠¤Òí ÊÑ§è µ ͧ ¡íÒ˹´ãË ºµÔ R/W à» ¹ 1 ෠ҹѹé
¤íÒÊѧè Í Ò¹¤ ÒµÑǹѺÅÐàÍÕ´ (Read Slope : ¢ ÍÁÙŤíÒÊѧè à» ¹ A9H)
à» ¹¤íÒÊѧè ÊíÒËÃÑºÍ Ò¹¤ ÒµÑǹѺÅÐàÍÕ´ 㹡óշµÕè Í §¡ÒÃãË áÊ´§ÃÒÂÅÐàÍÕ´¤ ҢͧÍسËÀÙÁÔ «Ö§è à¡çºÍÂÙã ¹µÑǹѺÅÐàÍÕ´ (slope counter) 㹡ÒÃ㪠§Ò¹¤íÒÊÑ§è ¹Õµé Í §¡íÒ˹´ãË ºµÔ R/W à» ¹ 1
¤íÒÊѧè àÃÔÁè µ ¹á»Å§¤ ÒÍسËÀÙÁÔ (Start Convert T : ¢ ÍÁÙŤíÒÊѧè à» ¹ EEH) à» ¹¤íÒÊÑ§è ·Õ¡è Òí ˹´ãË DS1621 àÃÔÁè µ ¹¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ
¤íÒÊѧè ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ (Stop Convert T : ¢ ÍÁÙŤíÒÊѧè à» ¹ 22H)
à» ¹¤íÒÊÑ§è ·Õ¡è Òí ˹´ãË DS1621 ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ ÁÑ¡¨Ð㪠àÁ×Íè µ ͧ¡ÒÃãË DS1621 ËÂØ´·íÒ¡ÒÃÇÑ´áÅÐá»Å§¤ ÒÍسËÀÙÁÍÔ Â Ò§µ Íà¹×Íè § ËÅѧ¨Ò¡·Õè DS1621 ¡ÃзíÒ¤íÒÊÑ§è ¹Õé ¤ ÒÍسËÀÙÁÔ ·Õáè »Å§ä´ ÅÒ ÊØ´¨ÐÂѧ¤§ÍÂÙ ¨¹¡Ç Ò¨ÐÁÕ¡ÒáíÒ˹´ãË DS1621 ¡ÅѺÁÒàÃÔÁè µ ¹á»Å§¤ ÒÍسËÀÙÁãÔ ËÁ ã¹µÒÃÒ§·Õè 12-2 à» ¹µÒÃÒ§ÊÃØ»¤íÒÊѧè 㪠§Ò¹ DS1621 àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 153
¤íÒÊѧè
¢ ÍÁÙŤíÒÊѧè
¡Ò÷íÒ§Ò¹ËÅÑ§Ê §¤íÒÊѧè ËÁÒÂà˵Ø
¤íÒÊÑè§à¡ÕèÂǡѺ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ Í Ò¹¤ ÒÍسËÀÙÁÔ AAH
Í Ò¹¢ ÍÁÙÅ 2 亵
Í Ò¹¤ ÒµÑǹѺ
A8H
Í Ò¹¢ ÍÁÙÅ 1 亵
Í Ò¹¤ ÒµÑǹѺÊâÅ» àÃÔÁè µ ¹á»Å§¤ ÒÍسËÀÙÁÔ
A9H EEH
Í Ò¹¢ ÍÁÙÅ 1 亵 ËÂØ´áÅÐàµÃÕÂÁ¾Ã ÍÁàÃÔÁè µ ¹
1
ËÂØ´á»Å§¤ ÒÍسËÀÙÁÔ
22H
ËÂØ´áÅÐàµÃÕÂÁ¾Ã ÍÁàÃÔÁè µ ¹
1
¤íÒÊÑè§ã¹âËÁ´à·Íà âÁʵѵ ࢠҶ֧ TH
A1H
à¢Õ¹¢ ÍÁÙÅ 1 亵
2
ࢠҶ֧ TL
A2H
à¢Õ¹¢ ÍÁÙÅ 1 亵
2
ࢠҶ֧ÃÕ¨ÊÔ àµÍà Config.
ACH
à¢Õ¹¢ ÍÁÙÅ 1 亵
2
ËÁÒÂà赯 1. ã¹âËÁ´¡ÒÃá»Å§¤ ÒÍ ҧµ Íà¹×Íè § àÁ×Íè DS1621 ¡ÃзíÒ¤íÒÊѧè ËÂØ´¡ÒÃá»Å§¤ Ò ¨Ðà» ¹¡ÒáàÅÔ¡¡Òà á»Å§¤ ÒÍ ҧµ Íà¹×Íè §·Ñ¹·Õ ËÒ¡µ ͧ¡ÒÃãË DS1621 á»Å§¤ ÒÍÕ¡¤ÃÑ§é µ ͧà¢Õ¹¤íÒÊѧè àÃÔÁè µ ¹¡ÒÃá»Å§¤ Ò ãË á¡ DS1621 ãËÁ 2. ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà DS1621 µ ͧ¡ÒÃàÇÅÒ 10 ÁÔÅÅÔÇ¹Ô Ò·Õà» ¹Í ҧ¹ ÍÂ㹡ÒÃà¢Õ¹¢ ÍÁÙÅãË ÊÁºÙó
µÒÃÒ§·Õè 12-2 µÒÃÒ§ÊÃØ»¤íÒÊѧè ÊíÒËÃѺ㪠§Ò¹ DS1621
¨Ñ§ËÇСÒ÷íÒ§Ò¹¢Í§ DS1621 à¾×Íè ãË ÊÒÁÒöࢠÒ㨶֧ÅíҴѺ¡Ò÷íÒ§Ò¹ÃÇÁ¶Ö§Ê¶Ò¹Ðµ Ò§æ ¢Í§ DS1621 ¨Ö§ä´ ·Òí ¡ÒÃÊÃØ» ʶҹТͧºÑÊ âËÁ´¡Ò÷íÒ§Ò¹¢Í§ DS1621 áÅЪ¹Ô´¢Í§¢ ÍÁÙÅ·Õ»è ÃÒ¡¯äÇ ã¹µÒÃÒ§·Õè 12-3
EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C ã¹ÃÙ»·Õè 12-5 áÊ´§Ç§¨ÃÊÁºÙó ¢Í§ EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ·Õ·è Òí §Ò¹ º¹ÃкººÑÊ I2C ËÑÇã¨ÊíҤѢͧºÍà ´¹Õ¤é Í× IC1001 àºÍà DS1621 «Ö§è à» ¹äÍ«ÕÇ´Ñ ÍسËÀÙÁ·Ô ãÕè ª ¡ÒõԴµ ͼ Ò¹ÃкººÑÊ I2C â´Â¢ÒÊÑÒ³ SDA áÅÐ SCL ¢Í§ IC1001 ¨Ðµ ÍࢠҡѺ K1001 áÅÐ K1002 «Ö§è à» ¹¨Ø´àª×Íè Áµ ÍÃкººÑÊ I2C ¡Ñº P-Board â´Â㪠ᨠ¡âÁ´ÙÅÒ Ã ·Òí ãË ¡ÒÃàª×Íè Áµ Í ÊÒÁÒö·íÒä´ §Ò ÂáÅÐÁÕ¤ÇÒÁá¢ç§áç JP1001-JP1003 㪠ÊÒí ËÃѺ¡íÒ˹´¤ ÒáÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ¢Í§ DS1621 ·íÒãË ÊÒÁÒöµ ; ǧºÍà ´ EX-10 ¹Õäé ´ ʧ٠ÊØ´ÃÇÁ 8 ºÍà ´ â´Â¡ÒáíÒ˹´Ê¶Ò¹Ð·Õè àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 154
âËÁ´¡Ò÷íÒ§Ò¹¢Í§ ÍØ»¡Ã³ ÁÒÊàµÍÃ
âËÁ´¡Ò÷íÒ§Ò¹¢Í§ DS1621
ÊÀÒÇÐáÅТ ÍÁÙÅ·Õè »ÃÒ¡¯º¹ºÑÊ
TX
RX
START
TX
RX
<ADDRESS,0>
ÃÒÂÅÐàÍÕ´ ¤ÍÁ¾ÔÇàµÍà ¡Òí ˹´ÊÀÒÇÐàÃÔÁè µ ¹ãË à¡Ô´¢Ö¹é º¹ºÑÊ ¤ÍÁ¾ÔÇàµÍà ʧ ¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0"
RX
TX
ACK
DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
ACH
RX
TX
ACK
¤ÍÁ¾ÔÇàµÍà ʧ ¤íÒÊѧè ࢠҶ֧ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹ DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
02H
¤ÍÁ¾ÔÇàµÍà ʧ ¢ ÍÁÙÅà¾×Íè ¡íÒ˹´ãË DS1621 á»Å§¤ ÒÍ ҧµ Í๠Íè× § áÅÐãË àÍÒµ ¾µØ à» ¹ÅͨԡÊÙ§àÁ×Íè ÍسËÀÙÁ·Ô ÇèÕ ´Ñ ÊÙ§¶Ö§¨Ø´ TH
RX
TX
ACK
DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
START
TX
RX
<address,0>
¤ÍÁ¾ÔÇàµÍà ¡Òí ˹´ÊÀÒÇÐàÃÔÁè µ ¹ãË à¡Ô´¢Ö¹é º¹ºÑÊÍÕ¡¤ÃÑ§é ¤ÍÁ¾ÔÇàµÍà ʧ ¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0"
RX
TX
ACK
DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
A1H
RX
TX
ACK
¤ÍÁ¾ÔÇàµÍà ʧ ¤íÒÊѧè ࢠҶ֧ TH DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
28H
¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 ʧ٠¢Í§¤ Ò TH (¡íÒ˹´ãË à· Ò¡Ñº +40 ðC)
RX
TX
ACK
DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 µÒèí ¢Í§¤ Ò TH DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
00H
RX
TX
ACK
TX
RX
START
TX
RX
<address,0>
RX
TX
ACK
TX
RX
A2H
RX
TX
ACK
TX
RX
0AH
RX
TX
ACK
TX
RX
00H
¤ÍÁ¾ÔÇàµÍà ¡Òí ˹´ÊÀÒÇÐàÃÔÁè µ ¹ãË à¡Ô´¢Ö¹é º¹ºÑÊÍÕ¡¤ÃÑ§é ¤ÍÁ¾ÔÇàµÍà ʧ ¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0" DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ ¤ÍÁ¾ÔÇàµÍà ʧ ¤íÒÊѧè ࢠҶ֧ TL DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 ʧ٠¢Í§¤ Ò TL (¡íÒ˹´ãË à· Ò¡Ñº +10 ðC) DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 µÒèí ¢Í§¤ Ò TL DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
RX
TX
ACK
TX
RX
START
TX
RX
<address,0>
RX
TX
ACK
¤ÍÁ¾ÔÇàµÍà ¡Òí ˹´ÊÀÒÇÐàÃÔÁè µ ¹ãË à¡Ô´¢Ö¹é º¹ºÑÊÍÕ¡¤ÃÑ§é ¤ÍÁ¾ÔÇàµÍà ʧ ¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0" DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
TX
RX
EEH
¤ÍÁ¾ÔÇàµÍà ʧ ¤íÒÊѧè àÃÔÁè µ ¹á»Å§¤ ÒÍسËÀÙÁÔ DS1621 Ê §ÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺ
RX
TX
ACK
TX
RX
STOP
¤ÍÁ¾ÔÇàµÍà ¡Òí ˹´ÊÀÒÇÐËÂØ´ãË à¡Ô´¢Ö¹é º¹ºÑÊ à¾×Íè ËÂØ´¡Ò÷íÒ§Ò¹
ËÁÒÂà赯 6: ËÁÒ¶֧ ·íÒ˹ Ò·Õèà» ¹µÑÇÊ §, 4: ËÁÒ¶֧ ·íÒ˹ Ò·Õèà» ¹µÑÇÃѺ, 0 ·ÕÍè ÂÙË Åѧ¢ ÍÁÙÅ㪠áÊ´§Ç Ò ¢ ÍÁÙŹѹé æ à» ¹¢ ÍÁÙÅàÅ¢°Ò¹ÊԺˡ
µÒÃÒ§·Õè 11-3 áÊ´§µÑÇÍ ҧÅíҴѺ¡Ò÷íÒ§Ò¹ âËÁ´¡Ò÷íÒ§Ò¹¢Í§ÍØ»¡Ã³ ÁÒÊàµÍà («Ö§è ã¹·Õ¹è ¤Õé Í× ¤ÍÁ¾ÔÇàµÍà ) áÅÐ DS1621 µÅÍ´¨¹Ê¶Ò¹Ð¢Í§ºÑÊã¹¢³ÐµÔ´µ Í ¢Ò A2-A0 ¢Í§ DS1621 ãË áµ¡µ Ò§¡Ñ¹´ ǨÑÁê à»Íà JP1001-JP1003 ÊíÒËÃѺàÍÒµ ¾µØ ¢Í§ DS1621 «Ö§è 㪠áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ãà·Íà âÁʵѵ¹Ñ¹é ¨Ðµ ÍࢠҡѺÍØ»¡Ã³ 2 Ẻ¤×Í ÅíÒ⾧ à» Ââ«ÊíÒËÃѺáÊ´§¼Å´ ÇÂàÊÕ§áÅÐǧ¨Ã¢ÑºÃÕàÅ à¾×Íè ãË ·Òí §Ò¹àËÁ×͹ÊÇÔµª µ´Ñ µ Í ¡ÒÃàÅ×Í¡ÍØ»¡Ã³ ·Õ¢è Ò TOUT ¢Í§ DS1621 ¹Ñ¹é µ ͧ¡ÃзíÒ¼ Ò¹ JP1004 áÅÐ JP1005 â´ÂÊÒÁÒöàÅ×Í¡ãË áÊ´§ ¼Å´ ÇÂàÊÕ§¾Ã ÍÁ¡ÑºÃÕàÅ ·íÒ§Ò¹¡çä´ ¹Í¡¨Ò¡¹Ñé¹ÂѧÁÕ¡ÒÃáÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§ DS1621 ã¹ àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 155
+5V BUS
+5V BUS K1001 I C BUS (RJ11-4)
R1001 15k
JP1001-JP1003 ADDRESS A1 A0
R1003 4.7
5
SCL
2 SCL 1 SDA
+5V BUS
SDA
Temperature Sensor
6 A1 IC1001 DS1621
A0 8 V,, 3 Tout
+12V.
K1003 EXTERNAL 12V. INPUT
LED1001 ACTIVE ZD1001 5V1
7
D1002 1N4001
C1001 0.1/50V
"0"
SDA
D1001 1N4001
GND
"1"
R1002 15k
A2
K1002 I C BUS (RJ11-4)
R1010 470 1/2W
A2
JP1004 SOUND
R1006 1k
JP1005 RELAY
R1004 10k Q1001 BC547
GND 4
SP1001 PIEZO SPEAKER
SCL
NC COM NO
Q1003 BC557
R1008 10k R1007 470k
R1005 10k
R1009 12
RY1001 RELAY 12V
K1004 RELAY CONTACT
Contact rating : 220V 5A
C1002 0.01/50V Q1004 BC547
Q1002 BC337
EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ¼ Ò¹ÃкººÑÊ I2C 㪠äÍ«Õ DS1621 ·ÕÇè ´Ñ ÍسËÀÙÁäÔ ´ µ§Ñé áµ -55ðC ¶Ö§ +125ðC ÊíÒËÃѺµÑǺÍà ´ÊÒÁÒö㪠§Ò¹ã¹ª ǧ 0-50 ðC l Ê §¢ ÍÁÙÅÍسËÀÙÁ¼ Ô Ò ¹ÃкººÑÊ I2C l µÑ§é ¤ Ҩش·ÃÔ¡ÍسËÀÙÁÊ Ô §Ù áÅеèÒí àÁ×Íè ·íÒ§Ò¹ã¹âËÁ´à·Íà âÁ ÊµÑµä´ l ÁÕàÍÒµ ¾ØµáÊ´§¼Å¡Ò÷íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ ¾Ã ÍÁ ǧ¨Ã¢Ñº LED, ÅíÒ⾧໠Ââ« áÅÐÃÕàÅ â´ÂàÅ×Í¡´ ǨÑÁê à»Íà l ÊÒÁÒöµ ; Ç§ä´ ÃÇÁ 8 ºÍà ´ l àª×Í è Áµ ͡Ѻ P-Board ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà I2C BUS l
ÃÙ»·Õè 12-5 ǧ¨Ã¢Í§ EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ¼ Ò¹ÃкººÑÊ I2C âËÁ´à·Íà âÁʵѵÍÕ¡ÍÂ Ò§Ë¹Ö§è ¤×Í áÊ´§¼Å´ ÇÂáʧ ¹Ñ¹è ¤×Í LED1001 ¨ÐµÔ´ÊÇ Ò§àÁ×Íè ¤ ÒÍسËÀÙÁÔ ·ÕÇè ´Ñ ÊÙ§¶Ö§¨Ø´ TH ÃÕàÅ RY1001 ·Õãè ª ä´ ¨´Ñ àµÃÕÂÁà·Íà Á¹Ô ÍźÅçÍ¡ÊíÒËÃѺµ ÍÊÒÂà¾×Íè àª×Íè Áµ ͡ѺÍØ»¡Ã³ ËÃ×Í ÊÑÒ³ÀÒ¹͡äÇ àÃÕºà Í â´ÂÁÕ¾¡Ô ´Ñ ¢Í§Ë¹ ÒÊÑÁ¼ÑÊÃÕàÅ ʧ٠Êش෠ҡѺ 220VAC 5A áÅÐËÒ¡ µ ͧ¡ÒÃãË ÃàÕ Å ·Òí §Ò¹ ¨Ðµ ͧ¨ ÒÂä¿àÅÕÂé § +12V ãË á¡ ºÍà ´ EX-10 á·¹¡ÒÃ㪠ä¿àÅÕÂé §¨Ò¡ I2C BUS ·ÕÁè Ò¨Ò¡¤Í¹à¹ç¡àµÍà K1001 ¹Ñ¹è ËÁÒ¤ÇÒÁÇ Ò ºÍà ´ EX-10 ÊÒÁÒö㪠ä¿àÅÕÂé §ä´ ¨Ò¡ 2 áËÅ §¤×Í ¨Ò¡¤Í¹à¹ç¡àµÍà K1001 «Ö§è ÁÒ¨Ò¡ I2C BUS ¢Í§ P-Board áÅШҡáËÅ §¨ ÒÂ俵çÀÒ¹͡·ÕÁè ¤Õ Ò äÁ à¡Ô¹ +12V àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 156
à¹×Íè §¨Ò¡º¹ºÍà ´ÁÕäͫդǺ¤ØÁáç´Ñ¹ä¿àÅÕÂé §¤§·Õ·è Õè +5V àºÍà 78L05 ÍÂÙ´ Ç Â ¨Ö§ÊÒÁÒöÊà ҧ ä¿àÅÕÂé § +5V à¾×Íè ¨ ÒÂãË á¡ DS1621 áÅÐÍØ»¡Ã³ ·§Ñé ËÁ´ä´ ËÒ¡äÁ 㪠ä¿àÅÕÂé § +12V ÀÒ¹͡ ¡ç¨ÐäÁ ÊÒÁÒö㪠§Ò¹ÃÕàÅÂ ä´ áÅШе ͧ»Å´¨ÑÁê à»Íà JP1005 ÍÍ¡´ ÇÂàÊÁÍ Ëҡ㪠ä¿àÅÕÂé §¨Ò¡ I2C BUS ËÃ×ÍàÁ×Íè äÁ µÍ §¡ÒÃ㪠§Ò¹ÃÕàÅ ·Ñ§é ¹Õàé ¾×Íè Å´»ÃÔÁÒ³¡ÃÐáÊä¿¿ Ò·Õãè ª ¢Í§ºÍà ´ EX-10 Í ҧäáçµÒÁ ÍØ»¡Ã³ àÍÒµ ¾Øµ·Ñé§ËÁ´äÁ Ç Ò¨Ðà» ¹áʧ¨Ò¡ LED àÊÕ§¨Ò¡ÅíÒ⾧໠Ââ« ËÃ×ÍÃÕàÅ ¨ÐÊÒÁÒöãË ¼Å¡Ò÷íÒ§Ò¹·Õ¶è ¡Ù µ ͧ¡çµÍ àÁ×Íè ¡íÒ˹´ãË DS1621 Ê §ÅͨԡÊÙ§ËÃ×ÍÅͨԡ 1 ÍÍ¡·Ò§¢Ò TOUT àÁ×Íè ÍسËÀÙÁÊÔ §Ù ¶Ö§¨Ø´ TH à· Ò¹Ñ¹é ¹Ñ¹è ¤×͵ ͧ૵ºÔµ POL ã¹ÃÕ¨ÊÔ àµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð¢Í§ DS1621 ãË à» ¹ 1
á¹Ç¡ÒûÃÐÂØ¡µ 㪠§Ò¹ ´ Ç¡ÒÃ㪠ºÍà ´ EX-10 ¨Ðª ÇÂãË ¤ÍÁ¾ÔÇàµÍà ÊÒÁÒö·íÒ§Ò¹ËÃ×Í»ÃÐÁÇżšѺ¢ ÍÁÙÅ·Õè à» ¹¤ ÒÍسËÀÙÁäÔ ´ §Ò Â¢Ö¹é ·Ñ§é ÂѧÊдǡà¹×Íè §¨Ò¡äÁ µÍ §ãª ǧ¨ÃËÃ×ÍÍØ»¡Ã³ µÃǨ¨Ñº·ÕÁè ¡Õ Ò÷íÒ§Ò¹«Ñº « ͹ ËÒ¡ÁÕ¤ÇÒÁÊÒÁÒö´ Ò¹°Ò¹¢ ÍÁÙÅ ¡ç¨ÐÊÒÁÒö»ÃÐÂØ¡µ 㪠P-Board à ÇÁ¡Ñº EX-10 㹡Òà Êà ҧÃкººÑ¹·Ö¡¢ ÍÁÙÅÍسËÀÙÁËÔ Ã×Í temperature logger Í ҧ§ ÒÂæ ä´ áÅж ÒËÒ¡ÊÒÁÒöÈÖ¡ÉÒ ¡Ò÷íÒ§Ò¹¢Í§ DS1621 ä´ Å¡Ö «Ö§é ÁÒ¡¢Ö¹é ¡ç¨ÐÊÒÁÒö¡íÒ˹´ãË DS1621 áÊ´§¤ ÒÍسËÀÙÁ·Ô ÁÕè Õ ¤ÇÒÁÅÐàÍÕ´ÁÒ¡¢Öé¹ä´ áÅд Ç¡ÒÃà¾ÔÁè àµÔÁǧ¨Ã¢ÑºÍØ»¡Ã³ àÍÒµ ¾µØ ãË á¡ DS1621 ·íÒãË ÊÒÁÒö»ÃÐÂØ¡µ 㪠§Ò¹ EX-10 ãË à» ¹à·Íà âÁʵѵ·Õ·è Òí §Ò¹â´ÂÅíҾѧẺâ»Ãá¡ÃÁä´ â´ÂàÁ×Íè µ ͧ¡ÒÃµÑ§é ¤ ÒÍسËÀÙÁãÔ Ë ·Òí ¡ÒÃàª×Íè Áµ Í EX-10 ࢠҡѺ P-Board áÅ Çà¢Õ¹â»Ãá¡ÃÁà¾×Íè µÑ§é ¤ Ò TH áÅÐ TL ¨Ò¡¹Ñ¹é »Å´ EX-10 ÍÍ¡¹íÒä»ãª §Ò¹ä´ ·¹Ñ ·Õ àÁ×Íè µ ͧ¡ÒÃà»ÅÕÂè ¹¤ Ò TH áÅÐ TL ¨Ö§¤ ͹íÒÁÒàª×Íè Áµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà ãËÁ ÍÕ¡á¹Ç·Ò§»ÃÐÂØ¡µ 㪠§Ò¹¤×Í Êà ҧ໠¹à¤Ã×Í¢ ÒÂÇÑ´¤ ÒÍسËÀÙÁÔ à¹×Íè §¨Ò¡ DS1621 ÊÒÁÒö µ ; ǧ¡Ñ¹ä´ ÃÇÁ 8 µÑÇ ¨Ö§·íÒãË ÊÒÁÒöµ ; ǧºÍà ´ EX-10 ä´ ÃÇÁ 8 ºÍà ´´ ÇÂઠ¹¡Ñ¹ ËÒ¡¹íÒ ºÍà ´ EX-10 仵ԴµÑ§é ã¹¾×¹é ·Õµè Ò §æ áŠǵ ÍÊÒÂàª×Íè Á⧡ѹµÒÁ¢ Í¡íÒ˹´¢Í§ºÑÊ I2C áÅ Çàª×Íè Á µ ͡Ѻ¤ÍÁ¾ÔÇàµÍà ¼Ò ¹ P-Board ¡ç¨Ð·íÒãË ÊÒÁÒöÊà ҧà¤Ã×Í¢ Ò¡ÒõÃǨÊͺáÅÐÇÑ´¤ ÒÍسËÀÙÁÔ ä´ ·Ñ§é ÂѧÊÒÁÒö¹íÒ¢ ÍÁÙÅä»»ÃÐÁÇżŵ Íä´ Í ҧÍÕ¡´ ÇÂ
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 157
¡Ò÷´Åͧ·Õè 13 ¾Íà µÍ¹Ø¡ÃÁ¡Ñº¡ÒÃÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ S-Board V2.0 ¾Ã ÍÁÊÒÂàª×Íè Áµ Í 1 á¼ ¹ 2. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 1 á¼ ¹ 3. EX-10 ºÍà ´Í Ò¹¤ ÒÍسËÀÙÁ¼Ô Ò ¹Ãкº I2C 1 àÊ ¹ 4. ÊÒÂàª×Íè Áµ Í I2C
¡Ò÷´ÅÍ§Í Ò¹¤ ÒÍسËÀÙÁáÔ ÅÐÍ Ò¹à¢Õ¹¤ ҤǺ¤ØÁŧã¹ÃÕ¨ÊÔ àµÍà Config ¢Í§ DS1621 á¹Ç¤Ô´áÅÐÇÔ¸Õ¡Òà ¡ Í¹Í Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature µ ͧÊѧè ãË DS1621 àÃÔÁè ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ (Start convert) «Ö§è ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ Start 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡à¢Õ¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 0 3. ÃÍÃѺÊÑÒ³µÍºÃѺ (ACK) ¨Ò¡ DS1621 4. Ê §¢ ÍÁÙŤíÒÊѧè &HEE à¾×Íè ¡íÒ˹´ãË DS1621 º¹ºÍà ´ EX-10 àÃÔÁè ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑÒ³ Stop ¶ Òµ ͧ¡ÒÃãË DS1621 ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ (Stop convert) ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ Start 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡à¢Õ¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 0 3. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 4. Ê §¢ ÍÁÙŤíÒÊѧè &H22 à¾×Íè ¡íÒ˹´ãË DS162 ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑÒ³ Stop àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 158
¡ÒÃÍ Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ Start 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡à¢Õ¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 0 3. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 4. Ê §¢ ÍÁÙŤíÒÊѧè &HAA à¾×Íè Í Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature ã¹ DS1621 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑÒ³ Start ÍÕ¡¤ÃÑé§ 7. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡Í Ò¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ ãË ºµÔ ÊØ´· ÒÂà» ¹ 1 8. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 9. Í Ò¹¤ Ò¨Ò¡ MSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature 10. Ê §ÊÑÒ³ Master ACK ãË DS1621 11. Í Ò¹¤ Ò¨Ò¡ LSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature 12. Ê §ÊÑÒ³ Master Not ACK ãË DS1621 13. Ê §ÊÑÒ³ Stop
¡Ò÷´Åͧ 13.1 ãÊ ¨ÁÑê à»Íà A2-A0 ¢Í§ºÍà ´ EX-10 äÇ ·Õè 000 áÅÐàª×Íè Áµ Í S-Board ¡Ñº EX-10 ´ ÇÂÊÒ I2C 13.2 Êà ҧ¿Íà ÁáÅÐà»ÅÕÂè ¹ª×Íè ¤Í¹â·Ãŵ Ò§æ´Ñ§ÃÙ»·Õè P13-1 ÃÙ»·Õè P13-1 áÊ´§¿Íà ÁáÅÐ ¤Í¹â·Ãŵ Ò§æ ·ÕèÊà ҧ¢Öé¹ à¾×èÍ·´Åͧ㪠¾Íà µÍ¹Ø¡ÃÁ 㹡ÒÃÇÑ´ÍسËÀÙÁÔ¼ Ò¹Ãкº ºÑÊ I2C àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 159
13.3 à»ÅÕÂè ¹¤Ø³ÊÁºÑµ¢Ô ͧ¤Í¹â·Ãŵ Ò§æ´Ñ§¹Õé Name
cmdRdTemp
Caption
Read Temp
Name
cmdStartConv
Caption
Start Convert
Name
cmdStopConv
Caption
Stop Convert
Name
txtTemp
Text
13.4 à¢Õ¹â»Ãá¡ÃÁãË ¡Ñºà˵ءÒó Form_Load à¾×èÍ·íÒ¡ÒÃà» ´¾Íà µÍ¹Ø¡ÃÁ¡ ͹·Õè㪠àÃÕ¡㪠â»Ãá¡ÃÁ ÍÂÊíÒËÃѺÊà ҧÊÑÒ³ I2C Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.PortOpen = True End Sub
13.5 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdStartConv_Click ´Ñ§¹Õé Private Sub cmdStartConvert_Click() I2CStart Send8BIT &H90 Ack Send8BIT &HEE ‘Start Convert Temperature Command Ack I2CStop End Sub
13.6 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdStopConv_Click ´Ñ§¹Õé Private Sub cmdStopConvert_Click() I2CStart Send8BIT &H90 Ack Send8BIT &H22 ‘Stop Convert Temperature Command Ack I2CStop End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 160
13.7 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdRdTemp_Click ´Ñ§¹Õé Private Sub cmdRdTemp_Click() Dim tmp As Double Dim datH As Integer Dim datL As Integer I2CStart Send8BIT &H90 Ack Send8BIT &HAA ‘Read Temperature Command Ack I2CStart Send8BIT &H90 + 1 Ack datH = Read8Bit ‘Read TH Register MAck datL = Read8Bit ‘Read TL Register MNAck I2CStop If (datL And &H80) = &H80 Then tmp = datH + 0.5 Else tmp = datH End If txtTemp.Text = tmp End Sub
13.8 ËÅѧ¨Ò¡ÊÔ¹é ÊØ´¡Ãкǹ¡ÒõԴµ ͡Ѻ DS1621 ¢ ÍÁÙÅ·Õäè ´ ¨Ðµ ͧ¹íÒÁÒ¤íҹdzà¾ÔÁè àµÔÁâ´Â µÃǨÊÍºÇ ÒºÔµ·Õè 7 ¢Í§ LSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature ÁÕ¤Ò à» ¹ 1 ËÃ×ÍäÁ ¶ ÒÁÕ¤Ò à» ¹ 1 ¹íÒ¤ Ò·Õäè ´ ¨Ò¡ MSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature ºÇ¡´ Ç 0.5 ¶ Òà» ¹ 0 ¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ MSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature ¤×ÍÍسËÀÙÁ·Ô ÍÕè Ò ¹ä´ 13.9 Ãѹâ»Ãá¡ÃÁáÅ Ç·´Åͧ¤ÅÔ¡é »ØÁ Read Temp ¨ÐàËç¹Ç Ò¤ Ò·ÕÍè Ò ¹ä´ à» ¹ 0 à¹×Íè §¨Ò¡Âѧ äÁ Á¡Õ ÒÃàÃÔÁè µ ¹¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ ¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature ¨Ö§à» ¹ 0 13.10 ¤ÅÔ¡é »ØÁ Start Convert à¾×Íè àÃÔÁè ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ ¨Ò¡¹Ñ¹é ¤ÅÔ¡é ·Õ»è ÁØ Read Temp ÍÕ¡ ¤ÃÑ駨ÐÊÒÁÒÃ¶Í Ò¹¤ ÒÍسËÀÙÁÔä´ 13.11 ·´Åͧ㪠¹ÇÔé ËÃ×ÍÍØ»¡Ã³ ͹×è áµÐ·Õµè ÇÑ DS1621 ãË Í³ Ø ËÀÙÁàÔ »ÅÕÂè ¹ ¨Ò¡¹Ñ¹é ¤ÅÔ¡é »ØÁ Read Temp ÍÕ¡¤ÃÑ§é ¶ ÒäÁ Á¡Õ ÒÃà»ÅÕÂè ¹á»Å§ ÁÕÊÒà˵ؤÍ× µÑÇ DS1621 äÁ ·Òí ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ Í ҧµ Íà¹×èͧ à¾ÃÒзÕèÃÕ¨ÔÊàµÍà Config ºÔµ 1Shot ÁÕ¤ Òà» ¹ 1 «Öè§à» ¹âËÁ´á»Å§¤ Ò ÍسËÀÙÁÔà¾Õ§¤ÃÑé§à´ÕÂÇàÁ×èÍä´ ÃѺÊÑÒ³ Start Convert áÅÐËÂØ´¡Ò÷íÒ§Ò¹Íѵâ¹ÁÑµÔ ¶ Òà¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò¢Ö¹é áÊ´§Ç Ò ·Õºè µÔ 1Shot ÁÕ¤Ò à» ¹ 0 «Ö§è à» ¹âËÁ´á»Å§¤ Òµ Í à¹×Íè §àÁ×Íè ä´ ÃºÑ ÊÑÒ³ Start Convert â»Ãá¡ÃÁ㹡Ò÷´Åͧ¹Õ·é §Ñé ËÁ´ÊÒÁÒö´ÙáÅÐ㪠§Ò¹ä´ ¨Ò¡ä¿Å lab13a.vbp àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 161
¡ÒÃࢠҶ֧ÃÕ¨ÊÔ àµÍà Config ¡ÒÃࢠҶ֧ÃÕ¨ÊÔ àµÍà Config à¾×Íè Í Ò¹¢ ÍÁÙÅâ´Â㪠¢Í ÁÙŤíÒÊѧè &HAC ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ Start 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡à¢Õ¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 0 3. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 4. Ê §¢ ÍÁÙŤíÒÊѧè &HAC ä»Âѧ DS1621 à¾×Íè ࢠҶ֧ÃÕ¨ÊÔ àµÍà Config 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑÒ³ Start 7. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡Í Ò¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 1 8. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 9. ÃѺ¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Config 10. Ê §ÊÑÒ³ Master Not ACK ãË DS1621 11. Ê §ÊÑÒ³ Stop Ê Ç¹¡ÒÃࢠҶ֧ÃÕ¨ÊÔ àµÍà Config à¾×Íè à¢Õ¹¢ ÍÁÙÅâ´Â㪠¢Í ÁÙŤíÒÊѧè &HAC ÁÕ¢¹Ñé µÍ¹¤×Í 1. Ê §ÊÑÒ³ Start 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡à¢Õ¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 0 3. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 4. Ê §¢ ÍÁÙŤíÒÊѧè &HAC ä»Âѧ DS1621 à¾×Íè ࢠҶ֧ÃÕ¨ÊÔ àµÍà Config 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 6. Ê §¢ ÍÁÙÅÊíÒËÃѺÃÕ¨ÊÔ àµÍà Config ä»·Õè DS1621 7. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 8. Ê §ÊÑÒ³ Stop
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 162
ÃÙ»·Õè P13-2 áÊ´§¿Íà ÁáÅÐ ¤Í¹â·Ãŵ Ò§æ ·ÕèÊà ҧ¢Öé¹ à¾×è Í ·´ÅÍ§à¢ Ò ¶Ö § ÃÕ ¨Ô Ê àµÍà Config ã¹ DS1621
¡Ò÷´Åͧ ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ·´Åͧà¾×Íè à¾ÔÁè ¡ÒÃࢠҶ֧ÃÕ¨ÊÔ àµÍà Config ä´ ´§Ñ µ Í仹Õé 13.12 ¨Ò¡â»Ãá¡ÃÁ㹡Ò÷´Åͧ¡ ͹˹ Ò¹Õé ãË ·Òí ¡ÒÃÊà ҧ»ØÁ 2 »ØÁ áÅÐ TextBox ÍÕ¡ 1 ªØ´à¾ÔÁè àµÔÁ ¨Ò¡¹Ñ¹é à»ÅÕÂè ¹ª×Íè ´Ñ§ã¹ÃÙ»·Õè P13-2 13.13 à»ÅÕÂè ¹¤Ø³ÊÁºÑµ¢Ô ͧ¤Í¹â·Ãŵ Ò§æ´Ñ§¹Õé Name
cmdRdConfig
Caption
Read Config
Name
cmdWrConfig
Caption
Write Config
Name
txtConfig
Text
13.14 à¢Õ¹â»Ãá¡ÃÁ·Õèà˵ءÒó cmdRdConfig_Click à¾×èÍÍ Ò¹¢ ÍÁÙŨҡÃÕ¨ÔÊàµÍà Config ä´ ´Ñ§¹Õé Private Sub cmdRdConfig_Click() I2CStart Send8BIT &H90 Ack Send8BIT &HAC Ack I2CStart Send8BIT &H91 Ack txtConfig.Text = Hex(Read8Bit) MNAck I2CStop End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 163
13.15 à¢Õ¹â»Ãá¡ÃÁ·Õàè ˵ءÒó cmdWrConfig_Click à¾×Íè à¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà Config Private Sub cmdWrConfig_Click() I2CStart Send8BIT &H90 Ack Send8BIT &HAC Ack Send8BIT CByte(“&H” & txtConfig.Text) Ack I2CStop End Sub
13.16 ·´ÅͧµÑ§é ¤ ÒºÔµ 1Shot ã¹ÃÕ¨ÊÔ àµÍà Config ãË à» ¹ 0 à¾×Íè ࢠÒÊÙâ ËÁ´á»Å§¤ Òµ Íà¹×Íè § â´Â¾ÔÁ¾ àÅ¢ 8 ã¹ txtConfig ¨Ò¡¹Ñ鹤ÅÔé¡»Ø Á Write Config áŠǤÅÔé¡»Ø Á Stop Convert (ãË DS1621 ËÂØ´¡Ò÷íÒ§Ò¹ à¾×èÍà»ÅÕè¹âËÁ´¡ÒÃá»Å§¤ Ò ) ¤ÅÔé¡»Ø Á Start Convert à¾×èÍàÃÔèÁÍ Ò¹ ÍسËÀÙÁÍÔ ¡Õ ¤Ãѧé ã¹âËÁ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁµÔ Í à¹×Íè § â»Ãá¡ÃÁ㹡Ò÷´Åͧ¹Õ·é §Ñé ËÁ´ÊÒÁÒö´ÙáÅÐ㪠§Ò¹ä´ ¨Ò¡ä¿Å lab13b.vbp
¡Ò÷´Åͧ㪠DS1621 ·íҧҹ໠¹à·Íà âÁʵѵ Ê Ç¹ÊíҤѢͧ¡Ò÷íÒ§Ò¹ã¹âËÁ´¹Õ¤é Í× ¡ÒÃà¢Õ¹áÅÐÍ Ò¹¢ ÍÁÙšѺÃÕ¨ÊÔ àµÍà TH áÅÐ TL ·Õè㪠㹡ÒáíÒ˹´¨Ø´·ÃÔ¡ÍسËÀÙÁÔÊÙ§áÅеèíÒ ÁÕ¢Ñ鹵͹àËÁ×͹¡Ñº¡ÒõԴµ Í¡ÑºÍ Ò¹ÃÕ¨ÔÊàµÍà Temperature áµ ¢Í ÁÙŤíÒÊѧè ᵡµ Ò§¡Ñ¹¤×Í ¡ÒÃÍ Ò¹ÃÕ¨ÊÔ àµÍà TH 㪠&HA1 Ê Ç¹ TL 㪠&HA2 ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà ·§Ñé ÊͧÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑÒ³ Start 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 àÅ×Í¡à¢Õ¹¢ ÍÁÙšѺ DS1621 â´Â¡íÒ˹´ãË ºÔµÊØ´· ÒÂà» ¹ 0 3. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 4. Ê §¢ ÍÁÙŤíÒÊѧè &HA1 à¾×Íè ࢠҶ֧ÃÕ¨ÊÔ àµÍà TH ËÃ×Í &HA2 ÊíÒËÃѺ TL 5. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 6. Ê §¢ ÍÁÙÅ MSB ¢Í§ ÃÕ¨ÊÔ àµÍà TH / TL ä»·Õè DS1621 7. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 8. Ê §¢ ÍÁÙÅ LSB ¢Í§ ÃÕ¨ÊÔ àµÍà TH / TL ä»·Õè DS1621 9. ÃÍÃѺÊÑÒ³ ACK ¨Ò¡ DS1621 10. Ê §ÊÑÒ³ Stop àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 164
¡Ò÷´Åͧ ¨Ò¡â»Ãá¡ÃÁ·´ÅÍ§Í Ò¹/à¢Õ¹¤ ҡѺÃÕ¨ÔÊàµÍà Config ã¹ËÑÇ¢ Í·Õè¼ Ò¹ÁÒ ·íÒ¡ÒÃà¾ÔèÁ â»Ãá¡ÃÁÊíÒËÃѺµÔ´µ ͡ѺÃÕ¨ÊÔ àµÍà TH áÅÐ TL ´Ñ§¹Õé 13.16 à¾ÔÁè ¤Í¹â·ÃÅáÅÐà»ÅÕÂè ¹ª×Íè ´Ñ§ÃÙ»·Õè P13-3
ÃÙ»·Õè P13-3 áÊ´§¿Íà ÁáÅÐ ¤Í¹â·Ãŵ Ò§æ ·ÕèÊà ҧ¢Öé¹à¾×èÍ ·´Åͧ㪠§Ò¹ DS1621 ã¹âËÁ´ à·Íà âÁʵѵ 13.17 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdRdTH_Click ´Ñ§¹Õé Private Sub cmdRdTH_Click() Dim tmp As Double Dim datH As Integer Dim datL As Integer I2CStart Send8BIT &H90 Ack Send8BIT &HA1 ‘Access TH Register Command Ack I2CStart Send8BIT &H91 Ack datH = Read8Bit ‘Read MSB TH Register MAck datL = Read8Bit ‘Read LSB TH Register MNAck I2CStop If (datL And &H80) = &H80 Then tmp = datH + 0.5 Else tmp = datH End If txtTH.Text = tmp End Sub
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 165
¨ÐàËç¹ä´ ÇÒ â»Ãá¡ÃÁ¢Í§à˵ءÒó cmdRdTL_Click ¨Ð¤Å Ò¡Ѻ cmdRdTH_Click à¾Õ§ à»ÅÕÂè ¹ Command à» ¹ &HA2 áÅÐà¡çº¤ Òŧ㹠txtTL.Text 13.18 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdWrTH_Click ´Ñ§¹Õé Private Sub cmdWrTH_Click() Dim tmp As Double Dim datH As Byte Dim datL As Byte datH = Fix(txtTH.Text) tmp = Val(txtTH.Text) - datH If tmp <> 0 Then datL = &H80 I2CStart Send8BIT &H90 Ack Send8BIT &HA1 Ack Send8BIT datH Ack Send8BIT datL Ack I2CStop End Sub
‘Access TH Register Command
ã¹·íҹͧà´ÕÂǡѹà˵ءÒó cmdWrTL_Click á¡ ä¢â»Ãá¡ÃÁãË ÃѺ¤ Ò¨Ò¡ txtTL.Text áÅÐ㪠Command &HA2 13.19 Ãѹâ»Ãá¡ÃÁáÅ Çà¢Õ¹¤ Ò Config ãË à» ¹ A ¤ÅÔ¡é »ØÁ Write Config à¾×Íè ¡íÒ˹´âËÁ´¡Òà á»Å§¤ Òµ Íà¹×Íè § áÅÐãË Thermostat ·íÒ§Ò¹âËÁ´ Active High 13.20 ãÊ ¤Ò 30 㹪 ͧ TH áÅÐ 28 㹪 ͧ TL ¤ÅÔ¡é »ØÁ Write ¢Í§ TH áÅÐ TL 13.21 ¤ÅÔ¡é »ØÁ Start Convert ãË DS1621 àÃÔÁè á»Å§¤ ÒÍسËÀÙÁÔ ãª ¹ÇÔé ËÃ×ÍÇѵ¶Ø͹×è áµÐãË DS1621 à»ÅÕè¹ÍسËÀÙÁÔ ¤ÅÔé¡»Ø Á Read Temp ÊѧࡵÍسËÀÙÁÔ·ÕèÍ Ò¹ä´ ¶ ÒÁÕ¤ ÒÁÒ¡¡Ç Ò 30 LED º¹ºÍà ´ EX-10 ¨ÐµÔ´¾Ã ÍÁ¡ÑºÁÕàÊÕ§áÅÐÃÕàÅ ·Òí §Ò¹µÒÁ¨ÑÁ¾ à»Íà ·µÕè §Ñé äÇ àÁ×Íè Í Ò¹¤ Ò ¨Ò¡ Config ¨ÐÁÕ¤Ò à» ¹ 2A à¾ÃÒкԵ THF ÁÕ¤Ò à» ¹ 1 à¹×Íè §¨Ò¡ÍسËÀÙÁÁÔ ¤Õ Ò ÁÒ¡¡Ç Ò TH ·Õµè §Ñé äÇé â»Ãá¡ÃÁ㹡Ò÷´Åͧ¹Õ·é §Ñé ËÁ´ÊÒÁÒö´ÙáÅÐ㪠§Ò¹ä´ ¨Ò¡ä¿Å lab13c.vbp
àÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ 166
..