เรียนรู้และปฏิบัติการเชื่อมต่อคอมพิวเตอร์ผ่านพอร์ตขนาน

Page 1

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ Í ¤ÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡ ¼ Ò¹¾Íà µ¢¹Ò¹ PC-Parallel port Interfacing text-lab manual 2nd edition àÃÕºàÃÕ§â´Â ÍÃö¾Å ºØ­ÂÐâÀ¤Ò ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ

(C) Innovative Experiment Co.,Ltd. àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 1


PC-Parallel port Interfacing text-lab manual (2nd edition)

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ (©ºÑº»ÃѺ»Ãا¤ÃÑ§é ·Õè 2) ISBN 974 - 90348 - 8 - 0

àÃÕºàÃÕ§â´Â ÍÃö¾Å ºØ­ÂÐâÀ¤Ò ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ ã¤Ã¤ÇÃ㪠˹ѧÊ×ÍàÅ Á¹Õé 1. ¹Ñ¡àÃÕ¹ ¹ÔÊµÔ ¹Ñ¡ÈÖ¡ÉÒ áÅкؤ¤Å·ÑÇè ä»·ÕÁè ¤Õ ÇÒÁʹã¨ã¹¡ÒÃàÃÕ¹ÃÙ¡ ÒùíÒ¤ÍÁ¾ÔÇàµÍà ÊÇ ¹ºØ¤¤Åàª×Íè Á µ ͡ѺÍØ»¡Ã³ ÀÒ¹͡à¾×Íè ·íÒ¡ÒÃáÅ¡à»ÅÕÂè ¹¢ ÍÁÙÅËÃ×ͤǺ¤ØÁ¡Ò÷íÒ§Ò¹ 2. ʶҺѹ¡ÒÃÈÖ¡ÉÒ âçàÃÕ¹ ÇÔ·ÂÒÅÑ ÁËÒÇÔ·ÂÒÅÑ ·ÕÁè ¡Õ ÒÃà» ´¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒÍÔàÅç¡·ÃÍ¹Ô¡Ê ËÃ×Í ÀÒ¤ÇÔªÒÇÔÈÇ¡ÃÃÁÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍà 3. ¤³Ò¨Òà·ÁÕè ¤Õ ÇÒÁµ ͧ¡ÒÃÈÖ¡ÉÒ áÅÐàµÃÕÂÁ¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒ¡ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ ¹Í¡ (Computer Interfacing) 4. ˹ ǧҹàÍ¡ª¹·ÕÁè ¡Õ ÒþѲ¹Ò¼ÅÔµÀѳ± ´Ò ¹ÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍà ´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾ áÅШíÒ˹ ÒÂâ´Â ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ 3133/53 «.ÊØ¢ÁØ ÇÔ· 101/2 ¶.ÊØ¢ÁØ ÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005

ÃÒÂÅÐàÍÕ´·Õ»è ÃÒ¡¯ã¹Ë¹Ñ§Ê×ÍàÃÕ¹ÃÙá Åл¯ÔºµÑ ¡Ô ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ (©ºÑº»ÃѺ»Ãا¤ÃÑ§é ·Õè 2) ä´ ¼Ò ¹¡ÒõÃǨ·Ò¹Í ҧÅÐàÍÕ´áÅж ǹ¶Õè à¾×Íè ãË Á¤Õ ÇÒÁÊÁºÙó áÅж١µ ͧÁÒ¡ ·ÕèÊØ´ ÀÒÂãµ à§×è͹ä¢áÅÐàÇÅÒ·Õè¾Ö§ÁÕ¡ ͹¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ¤ÇÒÁàÊÕÂËÒÂÍѹÍÒ¨à¡Ô´¨Ò¡¡ÒùíÒ¢ ÍÁÙÅ㹠˹ѧÊ×ÍàÅ Á¹Õäé »ãª ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÁÔä´ ÁÀÕ ÒÃÐ㹡ÒÃÃѺ¼Ô´ªÍºáµ »ÃСÒÃã´ ¤ÇÒÁ ¼Ô´¾ÅÒ´¤ÅÒ´à¤Å×Íè ¹·ÕÍè Ò¨ÁÕáÅÐä´ ÃºÑ ¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ÍÍ¡ä»¹Ñ¹é ·Ò§ºÃÔÉ·Ñ Ï ¨Ð¾ÂÒÂÒÁªÕáé ¨§áÅÐá¡ ä¢ ã¹¡ÒèѴ¾ÔÁ¾ ¤ÃÑ§é µ Íä» àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 2


¤í Ò ¹í Ò ¡ÒÃ㪠§Ò¹¤ÍÁ¾ÔÇàµÍà ã¹Çѹ¹ÕéäÁ ä´ ÁÕà¾Õ§¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×èÍ»ÃÐÁÇżÅã¹àÃ×èͧ¢Í§°Ò¹¢ ÍÁÙÅ (database) ¡ÒùíÒàʹͼŧҹ (presentation) ËÃ×ͧҹ´ Ò¹¡ÒÃÍ͡Ẻ¡ÃÒ¿ ¡ (graphic design) ÁÕ¼¤Ù ¹ ¨íҹǹÁÒ¡ÁÒ·յè Í §¡ÒùíÒ¤ÍÁ¾ÔÇàµÍà ä»ãª §Ò¹ã¹ÍÕ¡´ Ò¹Ë¹Ö§è ·ÕÊè ÒÁÒöàª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡·Õäè Á 㪠à¤Ã×Íè §¾ÔÁ¾ ËÃ×ÍÊ᡹à¹Íà ËÒ¡à» ¹¡ÒùíÒ¤ÍÁ¾ÔÇàµÍà 令Ǻ¤ØÁÃкº à» ´» ´ÍØ»¡Ã³ ÃѺÊÑ­­Ò³ä¿¿ Ò·Õäè ´ ÁÒ¨Ò¡¡ÒÃá»Å§»ÃÔÁÒ³·Ò§¿ Ê¡Ô Ê äÁ ÇÒ ¨Ðà» ¹áç´Ñ¹ä¿¿ Ò ÍسËÀÙÁÔ à» ¹µ ¹ ¾Íà µ¢¹Ò¹ (parallel port) à» ¹ª ͧ·Ò§Ë¹Ö§è ·ÕÊè ÒÁÒö¹íÒÍØ»¡Ã³ ÀÒ¹͡ÁÒµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà à¾×Íè ÃÑºÊ §¢ ÍÁÙšѹ á·¹·Õ¨è Ð㪠§Ò¹¾Íà µ¢¹Ò¹à¾Õ§¡Òõ Íà¤Ã×Íè §¾ÔÁ¾ ¼Ùã ª §Ò¹ÊÒÁÒö㪠§Ò¹¾Íà µ¢¹Ò¹¹Õãé ¹¡Òà ¤Çº¤ØÁÃкºËÃ×ÍÃѺÊѭҳ俿 Ò¨Ò¡ÀÒÂ¹Í¡ä´ ´ ÇÂÇÔ¸¡Õ Ò÷Õäè Á ÂÒ¡ áÅЫѺ« ͹Í ҧ·ÕËè ÅÒÂæ ¤¹à¢ Ò㨠´ Ç ¢ ÍÁÙÅ·ÕÁè ¡Õ ÒÃà¼Âá¾Ã Í ҧÁÒ¡ÁÒ ´ ÇÂâÁ´ÙÅ·Ò§«Í¿µ áÇà ·©Õè ÅÒ´ áÅд Ç¡ÒþѲ¹Ò´ Ò¹ÀÒÉҢͧâ»Ãá¡ÃÁ ·íÒãË ¡ÒÃ㪠§Ò¹¤ÍÁ¾ÔÇàµÍà à¾×Íè àª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡ ·íÒä´ §Ò ¢ֹé ÁÕû٠Ẻ·ÕÊè ǧÒÁ áÅЪ ÇÂãË ãª §Ò¹ ä´ §Ò ¢ֹé ã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õé·íÒ˹ Ò·Õè㹡ÒÃàʹ͢ ÍÁÙÅ㹡ÒÃ㪠§Ò¹¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà à¾×èÍàª×èÍÁµ ͡Ѻ ÍØ»¡Ã³ ÀÒ¹͡«Öè§ÁÕ´ Ç¡ѹËÅÒ¡ËÅÒÂÃٻẺ àÃÔèÁµ ¹¨Ò¡¢ÑºËÅÍ´ä¿áÊ´§¼Å ÃѺ¢ ÍÁÙÅ´Ô¨ÔµÍÅÍ ҧ§ ÒÂæ ¨Ò¡ÊÇÔµª ¡ÒÃÊ §¢ ÍÁÙÅà¾×Íè ¢ÑºâËÅ´¡ÃÐáÊÊÙ§¼ Ò¹ÃÕàÅ ¢ÑºÊàµç»à»Íà ÁÍàµÍà ¢ÑºµÑÇàÅ¢áÊ´§¼Å ¢Ñº¨ÍáÊ´§ ¼ÅẺ´ÍµàÁµÃÔ¡« à¾×èÍáÊ´§¢ ͤÇÒÁ «Öè§ÍØ»¡Ã³ ·Õè¡Å ÒÇÁÒ¹Õé ÊÒÁÒö·íÒ¤ÇÒÁࢠÒã¨ä´ äÁ ÂÒ¡¨Ò¡â»Ãá¡ÃÁ µÑÇÍ ҧ·Õàè ¢Õ¹¢Ö¹é ¨Ò¡ Visual BASIC Íѹ໠¹â»Ãá¡ÃÁ¾Ñ²¹Ò·Õäè ´ ÃºÑ ¤ÇÒÁ¹ÔÂÁÊÙ§ áÅмÙã ª §Ò¹ÊÒÁÒöËÒ¢ ÍÁÙÅ à¾×Íè ¾Ñ²¹Òâ»Ãá¡ÃÁä´ äÁ ÂÒ¡ ËÅѧ¨Ò¡¹Ñ¹é ¨Ðà¾ÔÁè ¤ÇÒÁ«Ñº« ͹¢Ö¹é ´ Ç¡ÒâÂÒ¤ÇÒÁÊÒÁÒö¢Í§¾Íà µ¢¹Ò¹ ¼ Ò¹ÃкººÑʾÔàÈÉ·Õàè ÃÕÂ¡Ç Ò ºÑÊ I2C Íѹ¨Ð·íÒãË ÊÒÁÒö㪠§Ò¹¾Íà µ¢¹Ò¹ã¹¡ÒõԴµ ͡ѺÍØ»¡Ã³ ·ÁÕè ¤Õ ÇÒÁ ËÅÒ¡ËÅÒÂÁÒ¡¢Öé¹ äÁ Ç Ò¨Ðà» ¹¡ÒâÂÒ¨íҹǹ¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ ¡ÒÃÃѺÊÑ­­Ò³ä¿¿ Ò·Õèà» ¹ÍйÒÅÍ¡ áÅСÒÃÇÑͳ Ø ËÀÙÁÔ á¹ ¹Í¹Ç Ò·Ø¡µÑÇÍ ҧ¡ÒÃ㪠§Ò¹¨ÐÁÕ·§Ñé µÑÇÍ ҧǧ¨Ã ÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ áÅÐá¹Ð¹íÒ à¤Ã×Íè §Á×ͪ ÇÂ㹡Ò÷´ÅͧÍ ҧÊÁºÙó ˹ѧÊ×ÍàÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹àÅ Á¹Õé ÍÒ¨ ¡Å ÒÇä´ Ç Òà» ¹àÊÁ×͹˹Ö觤٠Á×Í੾ÒзҧÊíÒËÃѺ¹Ñ¡·´Åͧ·Ò§ÎÒà ´áÇà ÊíÒËÃѺÎÒà ´áÇà ·ÕèÍ Ò§¶Ö§¹Õéà» ¹ªØ´ ·´ÅͧÃع NX-2000 ¢Í§ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ·íÒãË Á¹Ñè ã¨ä´ ÇÒ ¼Ùà ÃÕ¹¨ÐÊÒÁÒö·íÒ¤ÇÒÁà¢ Ò ã¨ã¹à·¤â¹âÅÂÕ´Ò ¹¹Õäé ´ Í ҧ¤Ãº¶ ǹÊÁºÙó ¼ÙÊ ¹ã¨ÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ ´Òµ ÒªÕµ¢ ÍÁÙÅÍØ»¡Ã³ ¾Ã ÍÁ·Ñ§é âÁ´ÙÅ«Í¿µ áÇÃ ä´ ¨Ò¡á¼ ¹ «Õ´ÕÃÍÁ·Õè¨Ñ´ÁҾà ÍÁ¡ÑºË¹Ñ§Ê×ÍàÅ Á¹Õé ËÃ×ÍÊÒÁÒö´Òǹ âËÅ´«Í¿µ áÇà ã¹àÇÍà ªÑè¹ãËÁ ·ÕèÍÒ¨ÁÕä´ ¨Ò¡ http:// inex.ipfox.com ¢ÍãË ¹Ñ¡·´Åͧ·Ø¡· ҹʹء¡Ñº¡ÒÃàÃÕ¹ÃÙ à¾×è͹íÒ¤ÍÁ¾ÔÇàµÍà ä»ãª §Ò¹ã¹ÍÕ¡á¹Ç·Ò§Ë¹Ö觷ÕèÍÒ¨à¤Â Áͧ¢ ÒÁËÃ×Í¤Ô´Ç ÒÁѹÂÒ¡à¡Ô¹ä» ÍÃö¾Å ºØ­ÂÐâÀ¤Ò ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 3


ÊÒÃºÑ ­ º··Õè 1 ¤ÇÒÁÃÙà º×Íé §µ ¹à¡ÕÂè ǡѺ¾Íà µ¢¹Ò¹ ......................................................................7 º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁµÔ´µ ͡Ѻ¾Íà µ¢¹Ò¹ ...............................................................17 º··Õè 3 ¡ÒõԴµ ÍÃÐËÇ Ò§¾Íà µ¢¹Ò¹¡ÑºÍØ»¡Ã³ Í¹Ô ¾ØµàÍÒµ ¾µØ Í ҧ§ Ò ....................23 P-Board : ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ ................................................. 24 EX-01 : ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ .............................................. 26 EX-03 : ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ ................................................................ 27 ¡Ò÷´Åͧ·Õè 1 ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ·Ò§¾Íà µ Data .............. 29 ¡Ò÷´Åͧ·Õè 2 ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ·Ò§¾Íà µ Control .......... 31 ¡Ò÷´Åͧ·Õè 3 ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ÍÔ¹¾Øµ¼ Ò¹¾Íà µ Status .......... 33 º··Õè 4 ¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ¡ÃÐáÊÊÙ§¼ Ò¹¾Íà µ¢¹Ò¹ ............................................... 37 ¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà ¢ºÑ ..................................................................... 37 ¡ÒÃ㪠äÍ«Õ¢ºÑ ................................................................................... 39 ¡ÒâѺâËÅ´â´Â㪠Íͻⵠ¤»Ñ à»ÅÍà .................................................. 39 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¢ÑºÃÕàÅ Í ҧ§ Ò´ Ç Visual BASIC................ 43 EX-06 : ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ ............................................................ 43 ¡Ò÷´Åͧ·Õè 4 ¢ÑºÃÕàÅ ´Ç ºÍà ´ EX-06 .................................. 45 º··Õè 5 ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ´Ç ¾Íà µ¢¹Ò¹ .......................................................... 49 Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ...................................................... 49 ¡ÒáÃеع áÅФǺ¤ØÁ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà .......................50 EX-05 : ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ...................................................52 ¡Ò÷´Åͧ·Õè 5 ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ˹֧è à¿Ê ............ 53 ¡Ò÷´Åͧ·Õè 6 ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÊͧà¿Ê ............ 56 ¡Ò÷´Åͧ·Õè 7 ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç» ....... 58 º··Õè 6 LED µÑÇàÅ¢ 7 Ê Ç¹áÅСÒâѺẺÁÑŵÔà¾Åç¡« ................................................. 61 ¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹áººËÅÑ¡à´ÕÂè Ç ..........................................62 ¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« .......................................64 ¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹â´Â㪠ºÍà ´ EX-02 ................................... 65 ¡Ò÷´Åͧ·Õè 8 ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹áººà´ÕÂè Ç ..................67 ¡Ò÷´Åͧ·Õè 9 ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« .......69 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 4


º··Õè 7 ¡ÒâѺ LED Ẻ´ÍµàÁµÃÔ¡« ¼Ò ¹¾Íà µ¢¹Ò¹ .................................................. 73 EX-04A : ºÍà ´ LED Ẻ´ÍµàÁµÃÔ¡« 20x7 ¨Ø´ ............................. 76 ¡Ò÷´Åͧ·Õè 10 ¢Ñº LED ´ÍµàÁµÃÔ¡« 20x7 ¨Ø´ .................. 80 º··Õè 8 ¡ÒâÂÒ¤ÇÒÁÊÒÁÒö¢Í§¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C ................................. 91 ¤Ø³ÊÁºÑµâÔ ´Â·ÑÇè 仢ͧºÑÊ I2C ........................................................ 91 ËÅÑ¡¡ÒâͧºÑÊ I2C ......................................................................... 92 ¡Ò÷íÒ§Ò¹¢Í§ºÑÊ I2C ...................................................................... 94 ¡Òõ ÍÍØ»¡Ã³ ÃкººÑÊ I2C ¡Ñº¾Íà µ¢¹Ò¹¼ Ò¹ P-Board .................. 96 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè Êà ҧÊÑ­­Ò³µ Ò§æ ÊíÒËÃѺºÑÊ I2C ................. 97 ¡ÒâÂÒ¨íҹǹ¾Íà µ´ Ç PCF8574A ............................................ 99 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁ PCF8574A ´ Ç Visual BASIC ............... 101 EX-07 : ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 16 ºÔµ¼ Ò¹ÃкººÑÊ I2C ...... 102 ¡Ò÷´Åͧ·Õè 11 ¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾Øµ¢Í§¾Íà µ¢¹Ò¹ ¼ Ò¹ÃкººÑÊ I2C ...........................................104 º··Õè 9 ¡ÒÃàª×Íè Áµ ͡ѺÊÑ­­Ò³ÍйÒÅÍ¡¢Í§¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C ...............107 ¢ ÍÁÙÅàº×Íé §µ ¹¢Í§ PCF8591 ........................................................... 107 ÃÒÂÅÐàÍÕ´¿ §¡ ª¹Ñè µ Ò§æ ¢Í§ PCF8591 ........................................... 109 EX-08 : ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C ...................................... 112 ¡Ò÷´Åͧ·Õè 12 ¡ÒûÃÐÁÇżÅÊÑ­­Ò³ÍйÒÅÍ¡¢Í§ ¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C ....................... 113 º··Õè 10 ¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ ¼ Ò¹¡ÒÃÊ×Íè ÊÒÃ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ........................121 ËÅÑ¡¡ÒÃàº×Íé §µ ¹ ...............................................................................121 EX-09 : ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ Ẻ«Ô§â¤Ã¹ÑÊ .................................124 ¡Ò÷´Åͧ·Õè 13 ¢ÂÒ¾Íà µàÍÒµ ¾µØ ãË á¡ ¾Íà µ¢¹Ò¹ .........125 ¡Ò÷´Åͧ·Õè 14 ¢ÑºÊàµç»à»Íà ÁÍàµÍà ¼Ò ¹ºÍà ´ EX-09 ........128 º··Õè 11 ¾Íà µ¢¹Ò¹¡Ñº¡ÒÃÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C .............................................133 DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ ................................................ 135 EX-10 : ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ¼ Ò¹ÃкººÑÊ I2C ................142 ¡Ò÷´Åͧ·Õè 15 ¾Íà µ¢¹Ò¹¡Ñº¡ÒÃÇÑ´ÍسËÀÙÁÔ¼ Ò¹ÃкººÑÊ I2C...146 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 5


àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 6


º··Õè 1 ¤ÇÒÁÃÙ àº×éͧµ ¹à¡ÕèÂǡѺ ¾Íà µ¢¹Ò¹ ¡ÒûÃÐÁÇżŢ ÍÁÙÅà¾×Íè §Ò¹¤Çº¤ØÁ¹Ñ¹é ÊÔ§è áá¨Ðµ ͧÁÕÊÇ ¹¢Í§ÊÑ­­Ò³ÍÔ¹¾Øµ «Ö§è ÍÒ¨¨Ð ÁÒ¨Ò¡µÑǵÃǨ¨Ñºµ Ò§ æ ¼ ҹǧ¨ÃÀҤ˹ Òà¾×Íè à»ÅÕÂè ¹ÃٻẺÊÑ­­Ò³ÍÔ¹¾ØµãË àËÁÒÐÊÁ¡Ñº¡Òà àª×èÍÁµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà àÁ×èÍ¢ ÍÁÙÅÍÔ¹¾Øµ¶Ù¡Ê §à¢ ÒÊÙ ¤ÍÁ¾ÔÇàµÍà áÅ Ç ¤ÍÁ¾ÔÇàµÍà ¨Ð·íÒ¡Òà »ÃÐÁÇżŢ ÍÁÙÅ·Õèä´ ÁÒàËÅ Ò¹Ñé¹ãË ÍÂÙ ã¹ÃٻẺ·ÕèàËÁÒÐÊÁ¡ ͹·Õè¨ÐÊ §ÍÍ¡ä»ÂѧÀÒ¹͡¼ Ò¹ ÍØ»¡Ã³ àÍÒµ ¾µØ «Ö§è ÍÒ¨¨Ðà» ¹¡ÒÃÊ §ÍÍ¡ä»Âѧ¨ÍÀÒ¾ ËÃ×ÍÊ §ÍÍ¡ä»Âѧ¨Ø´àª×Íè Áµ ÍÍ×¹è æ à¾×Íè ¤Çº ¤ØÁÍØ»¡Ã³ àÍÒµ ¾µØ µ Íä» ¡ÒÃàª×Íè Áµ ÍÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡·Ñ§é Ê Ç¹¢Í§ÀÒ¤ÍÔ¹¾ØµáÅÐÀÒ¤àÍÒµ ¾Øµ ÊÒÁÒö·íÒä´ ËÅÒÂÇÔ¸´Õ §Ñ ¹Õé l àª×Í è Áµ ͼ Ò¹·Ò§¡Òà ´ÍÔ¹¾ØµàÍÒµ ¾µØ «Ö§è ãª Ç¸Ô ¡Õ ÒÃàÊÕºËÃ×͵ԴµÑ§é ¡Òà ´Å§ã¹ÊÅç͵ÀÒ ã¹à¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà l àª×Í è Áµ ͼ Ò¹·Ò§¾Íà µÍ¹Ø¡ÃÁ l àª×Í è Áµ ͼ Ò¹·Ò§¾Íà µ¢¹Ò¹ l àª×Í è Áµ ͼ Ò¹ÃкºÁҵðҹÍ×¹è æ ઠ¹ ¾Íà µ USB (Universal Serial Bus), ¾Íà µ SCSI ËÃ×;Íà µ GAME à» ¹µ ¹

·íÒäÁ¶Ö§àÅ×͡㪠§Ò¹¾Íà µ¢¹Ò¹ àÁ×èÍà·Õº¡Ñº¡ÒÃ㪠§Ò¹¡Òà ´ÍÔ¹¾ØµàÍÒµ ¾Øµ·Õèµ Í§µÔ´µÑé§ÍÂÙ ÀÒÂã¹à¤Ã×èͧ¤ÍÁ¾ÔÇàµÍà áÅ Ç ¾Íà µ¢¹Ò¹ÁÕ¢Í ä´ à»ÃÕºÍÂÙË ÅÒ»ÃСÒôѧ¹Õé ã¹´ Ò¹¤ÇÒÁ»ÅÍ´ÀÑ ¡Ò÷յè Í §¶Í´½Òà¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà ÍÍ¡ÁÒà¾×Íè àÊÕº¡Òà ´àª×Íè Á µ Íŧã¹ÊÅç͵¢Í§¤ÍÁ¾ÔÇàµÍà ÍÒ¨¨Ð·íÒãË à¡Ô´¤ÇÒÁàÊÕÂËÒÂ¡ÑºÊ Ç¹Í×¹è æ ¢Í§¤ÍÁ¾ÔÇàµÍÃ ä´ ¶ Ò¼Ù ·Õè㪠§Ò¹äÁ ÁÕ¤ÇÒÁªíÒ¹Ò­ËÃ×Íà¡Ô´¡Òõ Íǧ¨Ã·Õè¼Ô´¾ÅÒ´ ã¹´ Ò¹¡ÒÃà¢ Ò¡Ñ¹ä´ ¡ºÑ ¤ÍÁ¾ÔÇàµÍà ÊÇ ¹ãË­ ¡ÒÃàª×Íè Áµ Íâ´Â㪠¡Òà ´·Õàè ÊÕºŧã¹ÊÅç͵ äÁ ÊÒÁÒö㪠¡ºÑ ¤ÍÁ¾ÔÇàµÍà 㹻 ¨¨Øº¹Ñ ä´ ·¡Ø Ãع ¡µÑÇÍ ҧ ¤ÍÁ¾ÔÇàµÍà ⹠µºØ¡ ¨ÐäÁ ÁÊÕ Åç͵àÊÕº áµ ¨ÐÁÕ·àÕè ÊÕº¡Òà ´ PCMCIA á·¹ ã¹¢³Ð·Õ¾è Íà µ¢¹Ò¹¨ÐÁÕµ´Ô µÑ§é ÍÂÙã ¹¤ÍÁ¾ÔÇàµÍà ·¡Ø à¤Ã×Íè § ·Ñ§é ¹Õàé ¾×Íè 㪠㹡ÒõԴµ ͡Ѻà¤Ã×Íè §¾ÔÁ¾ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 7


¢ ͨíÒ¡Ñ´´ Ò¹¾×¹é ·Õè ¤ÍÁ¾ÔÇàµÍà ºÒ§à¤Ã×Íè §ÁÕ¡ÒÃàÊÕº¡Òà ´àª×Íè Áµ ͵ÑÇÍ×¹è æ ÍÂÙá Å Ç ÍÒ·Ô ¡Òà ´àÊÕ§ ¡Òà ´âÁà´çÁ à» ¹µ ¹ ¨¹äÁ ÁÊÕ Åç͵àËÅ×;ÍÊíÒËÃѺ¡ÒÃàÊÕº¡Òà ´àª×Íè Áµ Íà¾ÔÁè àµÔÁ ¤ÇÒÁÊдǡ㹡ÒÃ㪠§Ò¹ ¡ÒÃàª×èÍÁµ Í·Ò§¾Íà µ¢¹Ò¹ÊÒÁÒö·íÒä´ § ÒÂæ à¾Õ§µ ÍÊÒ ÊíÒËÃѺàª×Íè Áµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà DB-25 ¢Í§¾Íà µ¢¹Ò¹ ¨íҹǹª ͧÊÑ­­Ò³ÍÔ¹¾ØµàÍÒµ ¾µØ ¾Íà µ¢¹Ò¹ÁÕ¨Òí ¹Ç¹¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ÁÒ¡à¾Õ§¾Í ·Õ¨è йíÒä»ãª §Ò¹µ Ò§ æ áÅÐÂѧÊÒÁÒö¢ÂÒÂãË Á¨Õ Òí ¹Ç¹¾Íà µà¾ÔÁè ¢Ö¹é ä´ â´Â¾Íà µ¢¹Ò¹»¡µÔÁÕ ¨íҹǹ¢ÒàÍÒµ ¾µØ 12 ¢Ò áÅТÒÍÔ¹¾Øµ 5 ¢Ò ¤ÇÒÁàÃçÇ㹡ÒÃÊ×Íè ÊÒâ ÍÁÙšѺ¾Íà µ¢¹Ò¹ ÁÕ¤ÇÒÁàÃçÇ෠ҡѺ¡ÒõԴµ ͡ѺÃкººÑÊâ´Â µÃ§ áÅÐÁÕ¤ÇÒÁàÃçÇÁÒ¡¡Ç Ò¡ÒõԴµ ͼ Ò¹·Ò§¾Íà µÍ¹Ø¡ÃÁ ÍÐäËÅ áÅЪԹé Ê Ç¹»ÃСͺ ¤Í¹à¹ç¡àµÍà áÅÐÊÒÂàª×èÍÁµ ͵ Ò§æ ¢Í§¡ÒÃàª×èÍÁµ ͼ Ò¹ ·Ò§¾Íà µ¢¹Ò¹ ËÒä´ §Ò ÂáÅÐÃÒ¤ÒäÁ ᾧ ËÃ×ͨÐÊà ҧ¢Ö¹é àͧ¡çÊÒÁÒö·íÒä´ Í ҧ§ Ò´Ò ¨Ò¡¤Ø³ÊÁºÑµÔ´Ñ§·Õèä´ ¡Å ÒÇÁÒáŠǹÑé¹·íÒãË ¾Íà µ¢¹Ò¹àËÁÒÐÍ ҧÂÔ觷Õè¨Ð¹íÒÁÒ㪠㹠¡ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡à¾×Íè ¤Çº¤ØÁËÃ×ÍÃѺÊÑ­­Ò³¢ ÍÁÙÅ ¹Í¡¨Ò¡¹Ñ¹é ËÒ¡ ¹íҤسÊÁºÑµ¢Ô ͧ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ§ ÒÂæ ¼ Ò¹Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ ´Ç Ââ»Ãá¡ÃÁ Visual BASIC ¡ç¨ÐÊÒÁÒöÊà ҧÃкº¡ÒÃàª×èÍÁµ Í·ÕèÊÁºÙó áÅÐ㪠§Ò¹§ ÒÂä´ äÁ ÂÒ¡

¤ÇÒÁÃÙ àº×éͧµ ¹¢Í§¾Íà µ¢¹Ò¹ ¾Íà µ¢¹Ò¹ (Parallel port) ÊÒà˵طÁÕè ªÕ Í×è ¹Õé à¹×Íè §¨Ò¡¡Òö Ò·ʹ¢ ÍÁÙŢͧ¾Íà µ¹Õàé » ¹ Ẻ¢¹Ò¹ ÊíÒËÃѺª×Íè àÃÕ¡ÍÕ¡ª×Íè ¢Í§¾Íà µ¢¹Ò¹¤×Í ¾Íà µà¤Ã×Íè §¾ÔÁ¾ (Printer port) à¹×Íè §¨Ò¡ ¾Íà µ¹Õãé ª ÊÒí ËÃѺµ Íà¤Ã×Íè §¾ÔÁ¾ ¹¹Ñè àͧ ´ Ç¡Òö Ò·ʹ¢ ÍÁÙÅẺ¢¹Ò¹¹Õàé ͧ ·íÒãË ¾Íà µ¢¹Ò¹ÁÕ굄 ÃÒ¡Òö Ò·ʹ¢ ÍÁÙÅÊÙ§¡Ç Ò ¡Òö Ò·ʹ¢ ÍÁÙÅẺ͹ءÃÁ»ÃÐÁÒ³ 8-10 à· Ò áÅСÒûÃÐÁÇżŢ ÍÁÙÅÊ Ç¹ãË­ ¨ÐÁÕ¢¹Ò´ 8 ºÔµ ´Ñ§¹Ñ¹é ¾Íà µ¢¹Ò¹¨Ö§ÊÒÁÒöÃͧÃѺ¡Òö Ò·ʹ¢ ÍÁÙÅ 8 ºÔµä´ â´ÂäÁ µÍ §µ ÍÊ Ç¹à¾ÔÁè àµÔÁ ã´æ

Åѡɳзҧ¡ÒÂÀÒ¾¢Í§¾Íà µ¢¹Ò¹ à¾×Íè ãË à¢ Ò㨶֧¡ÒùíÒàÍÒ¾Íà µ¢¹Ò¹ä»ãª §Ò¹ ¡ ͹Í×¹è µ ͧÁÒ·íÒ¤ÇÒÁࢠÒ㨡 Í¹Ç Ò »¡µÔ¹¹Ñé ¡ÒÃÊÑ觾ÔÁ¾ §Ò¹¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»Âѧ¾Íà µ¢¹Ò¹¹Ñé¹ÁÕÃٻẺ¡Ò÷íÒ§Ò¹ÀÒÂã¹Í ҧäà ã¹ÃÙ»·Õè 1-1 áÊ´§ä´ÍÐá¡ÃÁàÇÅҢͧµÔ´µ ÍÃÐËÇ Ò§¾Íà µ¢¹Ò¹¡Ñºà¤Ã×Íè §¾ÔÁ¾ «Ö§è ¨ÐàËç¹ä´ ÇÒ ÁÕÊ­ Ñ ­Ò³ ·Õè㪠§Ò¹¨ÃÔ§æ ÁÕäÁ ÁÒ¡ àÃÔèÁ¨Ò¡ÊÑ­­Ò³¾Íà µ Data ¶Ù¡Ê §ÍÍ¡ä»Âѧà¤Ã×èͧ¾ÔÁ¾ ¾Ã ÍÁ·Ñé§Ê § àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 8


Strobe Ack Busy Data

ä´ ÃºÑ ¢ ÍÁÙÅ

ÃÙ»·Õè 1-1 áÊ´§ä´ÍÐá¡ÃÁàÇÅҢͧ¡ÒÃÊ §¢ ÍÁÙÅä»Âѧà¤Ã×Íè §¾ÔÁ¾ ÊÑ­­Ò³ Strobe ÍÍ¡ä»´ Ç à¾×Íè ãË à¤Ã×Íè §¾ÔÁ¾ ÃºÑ ÃÙÇ Ò ÁÕ¡ÒÃÊ §¢ ÍÁÙÅãËÁ ÁÒ·Õ¢è Ò Data áÅ Ç ¨Ò¡¹Ñ¹é ¤ÍÁ¾ÔÇàµÍà ¨Ðµ ͧÃÍ¡Òõͺ¡ÅѺ¨Ò¡à¤Ã×Íè §¾ÔÁ¾ ¹Ñ¹è ¤×Íà¤Ã×Íè §¾ÔÁ¾ ¨ÐÊà ҧÊÑ­­Ò³ Busy ËÃ×Í à¾×Íè ºÍ¡Ç Òà¤Ã×Íè §¾ÔÁ¾ 处 äÁ ¾Ã ÍÁ·Õ¨è ÐÃѺ¢ ÍÁÙÅãËÁ ¨¹¡Ãзѧè àÁ×Íè à¤Ã×Íè §¾ÔÁ¾ ¾Ã ÍÁ à¤Ã×Íè §¾ÔÁ¾ ¨ÐÊà ҧÊÑ­­Ò¹ ACK Ê §ä»Âѧ¤ÍÁ¾ÔÇàµÍà à¾×Íè ᨠ§Ç Ò ¾Ã ÍÁ·Õ¨è ÐÃѺ¢ ÍÁÙÅãËÁ áÅ Ç ÊÑ­­Ò³¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµ, ÊÑ­­Ò³ Strobe áÅÐÊÑ­­Ò³ ACK (acknowledge) à» ¹ ÊÑ­­Ò³·ÕÊè Òí ¤Ñ­ã¹¡ÒÃÊ §¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ä»Âѧà¤Ã×Íè §¾ÔÁ¾ ¹Í¡¨Ò¡ÊÑ­­Ò³·Ñ§é ÊÒÁáÅ Ç Ê Ç¹ãË­ ¡ÒõԴµ ͡Ѻà¤Ã×èͧ¾ÔÁ¾ Âѧµ ͧÁÕÊÑ­­Ò³Í×è¹æ à ÇÁ´ Ç à¹×èͧ¨Ò¡à¤Ã×èͧ¾ÔÁ¾ µ ͧ·íÒ Ë¹ Ò·Õ¶è §Ö 3 Í ҧ´ Ç¡ѹ¤×Í ÃѺ¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà , ¾ÔÁ¾ ¢Í ÁÙÅ·ÕÃè ºÑ à¢ ÒÁÒ áÅеͺʹͧµ Í ¡ÒÃ㪠§Ò¹¢Í§¼Ùã ª ઠ¹ ¡ÒÃà»ÅÕÂè ¹¿Í¹µ à» ¹µ ¹ ºÒ§¤Ãѧé ÍÒ¨à¡Ô´à˵ءÒó ·äÕè Á »¡µÔ ઠ¹ ºÑ¿à¿Íà ÊíÒËÃѺÃѺ¢ ÍÁÙÅàµçÁ (à¹×Íè §¨Ò¡à¤Ã×Íè §¾ÔÁ¾ à» ¹ÍØ»¡Ã³ ··Õè Òí §Ò¹·Ò§¡Å ÍÁ·íÒ§Ò¹ä´ ªÒ ¡Ç Ò¡ÒÃÊ § ¢ ÍÁÙŢͧ¤ÍÁ¾ÔÇàµÍà ) à¤Ã×Íè §¾ÔÁ¾ ¨Ðµ ͧᨠ§ä»Âѧ¤ÍÁ¾ÔÇàµÍà ÇÒ ãË ËÂØ´Ê §¢ ÍÁÙŪÑÇè ¤ÃÒÇ à¹×Íè § ¨Ò¡äÁ ÊÒÁÒöÃѺ¢ ÍÁÙÅÁÒ¡¡Ç Ò¹Õéä´ áÅ Ç ÊÑ­­Ò³·ÕèÊ §¨Ò¡à¤Ã×èͧ¾ÔÁ¾ ä»Âѧ¤ÍÁ¾ÔÇàµÍà ¤×Í ÊÑ­­Ò³ Busy áÅÐàÁ×Íè à¤Ã×Íè §¾ÔÁ¾ à¡Ô´¢ ͼԴ¾ÅÒ´ ઠ¹ ¡ÃдÒɵԴ à¤Ã×Íè §¾ÔÁ¾ ¨Ðµ ͧᨠ§ä»Âѧ ¤ÍÁ¾ÔÇàµÍà ઠ¹¡Ñ¹ â´ÂÊÑ­­Ò³·Õáè ¨ §ä»Âѧ¤ÍÁ¾ÔÇàµÍà àÃÕÂ¡Ç ÒÊÑ­­Ò³ Error ¹Í¡¨Ò¡¹Õàé Á×Íè ¤ÍÁ¾ÔÇàµÍà µÍ §¡ÒÃÃÕ૵à¤Ã×Íè §¾ÔÁ¾ ¤ÍÁ¾ÔÇàµÍà ¨Ðµ Í§Ê §ÊÑ­­Ò³ Reset ä»Âѧà¤Ã×Íè §¾ÔÁ¾ à¾×Íè ÃÕ૵à¤Ã×Íè §¾ÔÁ¾ ´Ç  ÊÒÁÒöÊÃØ»¢ÒÊÑ­­Ò³·Õ¨è Òí à» ¹ÊíÒËÃѺ¡ÒõԴµ ʹѧ㹵ÒÃÒ§·Õè 1-1 ¨Ò¡µÒÃÒ§·Õè 1-1 ¨ÐàËç¹ä´ ÇÒ ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍÃ Â§Ñ á¡ ÍÂÍÍ¡à» ¹ÍÕ¡ 3 ¾Íà µ ä´ á¡ ¾Íà µàÍÒµ ¾Øµ·Õè·íÒ˹ Ò·ÕèÊ §¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ä»Âѧà¤Ã×èͧ¾ÔÁ¾ ¾Íà µàÍÒµ ¾Øµ ÊíÒËÃѺÊÑ­­Ò³ Strobe áÅÐ Reset ¾Íà µÍÔ¹¾ØµÊíÒËÃѺ¡ÒÃÍ Ò¹¤ ÒÊÑ­­Ò³ Acknowledge, Busy áÅÐÊÑ­­Ò³ Error ¨Ò¡à¤Ã×Íè §¾ÔÁ¾ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 9


ÊÑ­­Ò³ ¢ ÍÁÙÅ 8 ºÔµ Strobe

˹ Ò·Õ¡è Ò÷íÒ§Ò¹ ¢ ÍÁÙÅ·ÕèÊ §¨Ò¡¤ÍÁ¾ÔÇàµÍà ä»Âѧà¤Ã×èͧ¾ÔÁ¾ ᨠ§à¤Ã×èͧ¾ÔÁ¾ ¶Ö§¢ ÍÁÙÅ·ÕèÊ §ÁÒãËÁ

·ÔÈ·Ò§ ¤ÍÁ¾ÔÇàµÍà ¤ÍÁ¾ÔÇàµÍÃ

Acknowledge à¤Ã×èͧ¾ÔÁ¾ ᨠ§ÁÒÂѧ¤ÍÁ¾ÔÇàµÍÃ Ç Òä´ ÃѺ¢ ÍÁÙÅáÅ Ç Busy ᨠ§Ê¶Ò¹ÐÇ Òà¤Ã×èͧ¾ÔÁ¾ äÁ Ç Ò§·Õè¨ÐÃѺ¢ ÍÁÙÅãËÁ

à¤Ã×èͧ¾ÔÁ¾ à¤Ã×èͧ¾ÔÁ¾

Error

ᨠ§Ê¶Ò¹ÐÇ Òà¤Ã×èͧ¾ÔÁ¾ à¡Ô´¢ ͼԴ¾ÅÒ´

à¤Ã×èͧ¾ÔÁ¾

Reset

ÃÕ૵à¤Ã×èͧ¾ÔÁ¾

¤ÍÁ¾ÔÇàµÍÃ

µÒÃÒ§·Õè 1-1 ÊÑ­­Ò³ÊíÒ¤Ñ­æ ¢Í§¾Íà µ¢¹Ò¹·Õãè ª µ´Ô µ ͡Ѻà¤Ã×Íè §¾ÔÁ¾ â´Â»¡µÔ¾Íà µ¢¹Ò¹Í͡ẺÁÒãË ÁÊÕ ÒÂÊÑ­­Ò³ÍÂÙ· §Ñé ËÁ´ 17 àÊ ¹ ÊÒÂÊÑ­­Ò³àËÅ Ò¹Ñ¹é ¨ÐÁÕÃ¨Õ ÊÔ àµÍà 3 µÑǤǺ¤ØÁ¡Ò÷íÒ§Ò¹´Ñ§¹Õé 1. ¾Íà µàÍÒµ ¾µØ ÊíÒËÃѺÊÑ­­Ò³¢ ÍÁÙÅ 8 àÊ ¹ ÁÕÃ¨Õ ÊÔ àµÍà Data ¤Çº¤ØÁ 2. ¾Íà µÍÔ¹¾ØµÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Òʶҹе Ò§æ ¨Ò¡ÀÒ¹͡ÁÕÍÂÙ´ Ç Â¡Ñ¹ 5 àÊ ¹ ãª Ã¨Õ ÊÔ àµÍà Status 㹡ÒäǺ¤ØÁ 3. ¾Íà µàÍÒµ ¾µØ ÊíÒËÃÑºÊ §ÊÑ­­Ò³¤Çº¤ØÁä»ÂѧÍØ»¡Ã³ ÀÒ¹͡ ÁÕÍÂÙ´ Ç Â¡Ñ¹ 4 àÊ ¹ 㪠ÃÕ¨ÊÔ àµÍà Control 㹡ÒäǺ¤ØÁ ºÅçÍ¡ä´ÍÐá¡ÃÁã¹ÃÙ»·Õè 1-2 áÊ´§ÃкººÑʢͧ¤ÍÁ¾ÔÇàµÍà ÊÒí ËÃѺ¡ÒõԴµ ͡Ѻ¾Íà µ ¢¹Ò¹ ÊÑ­­Ò³àÍÒµ ¾Øµ¨Ò¡¾Íà µ¢¹Ò¹¨Ð¶Ù¡Ê §ä»Âѧ¤Í¹à¹ç¡àµÍà Ẻ DB-25 ÊíÒËÃѺ ¤ÍÁ¾ÔÇàµÍà ÊÇ ¹ãË­ ã¹» ¨¨Øº¹Ñ ¾Íà µ¢¹Ò¹¨ÐÁÕÁҾà ÍÁ¡ÑºàÁ¹ºÍà ´ äÁ ¨Òí à» ¹µ ͧ㪠¡Òà ´àÊÕº à¾ÔÁè àµÔÁàËÁ×͹ã¹Í´Õµ ¾Ã ÍÁ·Ñ§é ÁÕ¿§ ¡ ª¹Ñ ¡Ò÷íÒ§Ò¹·Õ«è ºÑ « ͹¢Ö¹é áµ Â§Ñ ¤§Ê¹ÑºÊ¹Ø¹¡Ò÷íÒ§Ò¹¢Í§ ¾Íà µ¢¹Ò¹ã¹ÃٻẺÁҵðҹ (SPP) ÍÂÙ àÁ×Íè ´Ù¨Ò¡ÃÙ»·Õè 1-1 à·Õº¡Ò÷íÒ§Ò¹â´Â·ÑÇè 仡Ѻ¡ÒÃàª×Íè Áµ ͼ Ò¹¡Òà ´·Õàè ÊÕºŧã¹ÊÅç͵¢Í§ ¤ÍÁ¾ÔÇàµÍà áÅ Ç ¾Íà µ¢¹Ò¹¨ÐÁÕÅ¡Ñ É³Ðã¡Å à¤Õ§¡Ñ¹ â´Â¡ÒõԴµ ͡Ѻ¾Íà µ¢¹Ò¹¨Ðµ ͧÁÕ¡ÒÃ Í Ò§áÍ´à´ÃÊ µíÒá˹ §áÍ´à´ÃÊ·Õãè ª ÍÒ §¶Ö§¨Ðà» ¹µíÒá˹ § A0-A9 áÅÐ㪠¢Ò IOR áÅÐ IOW ÊíÒËÃѺ à» ¹µÑÇàÅ×Í¡Ç Òµ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹ÃÕ¨ÊÔ àµÍà µÇÑ ã´ ¨Ò¡¡ÒôÕ⤠´áÍ´à´ÃÊ A0-A9 ¹Õàé ͧ·íÒãË ä´ ÊÑ­­Ò³ÍÍ¡ÁÒà¾×Íè 令Ǻ¤ØÁËÃ×ÍàÍç¹àÍàºÔÅǧ¨ÃºÑ¿à¿Íà µÒ §æ ´Ñ§¹Õé DataWrite ÊÑ­­Ò³àÍç¹àÍàºÔÅÊíÒËÃѺ¹íÒ¢ ÍÁÙÅ·ÕÍè ÂÙã ¹ºÑÊ Data ä»ÍÍ¡·Õ¢è Ò Data ¢Í§¾Íà µ ¢¹Ò¹ DataRead ÊÑ­­Ò³àÍç¹àÍàºÔÅÊíÒËÃÑºÍ Ò¹¢ ÍÁÙŨҡ¢Ò Data ¢Í§¾Íà µ¢¹Ò¹ÁÒà¡çºäÇ ã¹ ºÑÊ Data àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 10


¤Í¹à¹ç¡àµÍà DB25 ´Õ⤠´ ¤íÒÊѧè

ºÑ¿à¿Íà 1

áŵª 1

ºÔµ Data

¾Íà µ Data (8 ºÔµ)

OE

ºÔµ Control

IOR*,IOW*

´Õ⤠´ ¤íÒÊѧè Data Write Data Read Control Write

áŵª 2

ÍÕ¹ÒàºÔÅ IRQ

ä´ÃàÇÍà ¤ÍÅàÅç¡àµÍà ໠´

¾Íà µ Control (4 ºÔµ)

Control Read ºÔµ Address

A0 ¶Ö§ A9

Status Read

ºÑ¿à¿Íà 2 OE

IRQ5/IRQ7 ÃкººÑʢͧ ¤ÍÁ¾ÔÇàµÍÃ

ºÑ¿à¿Íà 3

¾Íà µ Status (5 ºÔµ)

ºÑ¿à¿Íà ÊÒÁʶҹРOE

ÃÙ»·Õè 1-2 áÊ´§ÃкººÑÊÀÒÂ㹢ͧ¾Íà µ¢¹Ò¹ ControlWrite ÊÑ­­Ò³àÍç¹àÍàºÔÅÊíÒËÃѺ¹íÒ¢ ÍÁÙÅ·ÕèÍÂ٠㹺ÑÊ Data ä»ÍÍ¡·Õè¢Ò Control ¢Í§¾Íà µ¢¹Ò¹ ÊíÒËÃѺ¾Íà µ¹Õé¹Í¡¨Ò¡¨ÐÊ §¢ ÍÁÙÅÍÍ¡ä»Âѧ¾Íà µ¢¹Ò¹áÅ Ç Âѧ·íÒ˹ Ò·ÕèÍÕ¹ÒàºÔÅ¡ÒÃÍÔ¹àµÍÃ Ã»Ñ µ ¢Í§¡ÒÃà»ÅÕÂè ¹á»Å§ÊÑ­­Ò³·Õ¾è Íà µ Status ÍÕ¡´ Ç ControlRead ÊÑ­­Ò³àÍç¹àÍàºÔÅÊíÒËÃÑºÍ Ò¹¤ Ò¢ ÍÁÙŨҡ¢Ò Control ÁÒà¡çºäÇ ã¹ºÑÊ Data StatusRead ÊÑ­­Ò³àÍç¹àÍàºÔÅÊíÒËÃÑºÍ Ò¹¤ Ò¢ ÍÁÙŨҡ¢Ò¾Íà µ Status ÁÒà¡çºäÇ ã¹ºÑÊ Data µÒÃÒ§·Õè 1-2 áÊ´§ª×Íè áÅÐ˹ Ò·Õ¡è Ò÷íÒ§Ò¹¢Í§µíÒá˹ §¢Òµ Ò§æ º¹¾Íà µ¢¹Ò¹ Ê Ç¹ã¹ µÒÃÒ§·Õè 1-3 áÊ´§áÍ´à´Ãʢͧ¾Íà µ¢¹Ò¹ «Ö§è ¡íÒ˹´äÇ 3 µíÒá˹ §¤×Í LPT1, LPT2 áÅÐ LPT3

¾Íà µ´Òµ Ò (Data Port) ¨Ò¡ÃÙ»·Õè 1-3 áÊ´§ãË àËç¹Ç Ò¾Íà µ Data »ÃСͺ仴 Ǻѿà¿Íà 1 µÑÇáÅÐäÍ«Õáŵª Í¡Õ 1 µÑÇ àÁ×Íè ¤ÍÁ¾ÔÇàµÍà µÍ §¡ÒÃÊ §¢ ÍÁÙÅä»Âѧà¤Ã×Íè §¾ÔÁ¾ ¤ÍÁ¾ÔÇàµÍà ¨Ðà¢Õ¹¢ ÍÁÙÅä»ÂѧäÍ«Õ áŵª 1 ·Ñ§é 8 ºÔµ àÍÒµ ¾µØ ¢Í§äÍ«Õáŵª 1 ¤×Í D0-D7 «Ö§è àÍÒµ ¾µØ ¹Õ¨é Ðä»»ÃÒ¡¯ÍÂÙ· ¾Õè Íà µ ¢¹Ò¹ã¹µíÒá˹ §¢Ò 2 ¶Ö§¢Ò 9 áÅзբè ÒàÍÒµ ¾µØ ¹ÕÊé ­ Ñ ­Ò³ Data ¨ÐÊ §¡ÅѺä»à» ¹ÍÔ¹¾Øµ¢Í§ ºÑ¿à¿Íà 1 ´ Ç ·íÒãË ¤ÍÁ¾ÔÇàµÍà ÊÒÁÒÃ¶Í Ò¹¤ Òʶҹл ¨¨Øº¹Ñ ·Õàè ¡Ô´¢Ö¹é ¡Ñº¾Íà µ Data ä´ àÁ×èͤÍÁ¾ÔÇàµÍÃ Ê §¢ ÍÁÙÅ ¢ ÍÁÙÅ¨Ð¶Ù¡Ê §ÁÒ¨Ò¡ºÑÊ¢ ÍÁÙŢͧ¤ÍÁ¾ÔÇàµÍà ¼ Ò¹ä»ãË ¡Ñº äÍ«Õ 74LS374 «Ö§è à» ¹äÍ«Õáŵª ¢Í ÁÙÅ áÅÐàÁ×Íè µ ͧ¡ÒÃãË ¢Í ÁÙÅ»ÃÒ¡¯·Õàè ÍÒµ ¾µØ ¤ÍÁ¾ÔÇàµÍà ¨ÐÊ §ÊÑ­­Ò³ DataWrite ÍÍ¡ä»·Õ¢è Ò CLK ¢Í§ 74LS374 àÍÒµ ¾µØ ¨Ò¡ 74LS374 ¨Ð¶Ù¡¡Ãͧ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 11


´ ÇÂǧ¨Ã RC «Ö§è »ÃСͺ´ ǵÑǵ Ò¹·Ò¹¤ Ò 27Ω áÅеÑÇà¡çº»ÃÐ¨Ø 0.0022µF à¾×Íè ãË ªÇ §àÇÅÒ·Õè à»ÅÕÂè ¹¨Ò¡Åͨԡ 0 à» ¹Åͨԡ 1 ËÃ×ͨҡÅͨԡ 1 à» ¹Åͨԡ 0 à» ¹ä»Í ҧª Òæ à¹×Íè § ¨Ò¡¡ÒÃà»ÅÕÂè ¹áç´Ñ¹·ÕÃè Ç´àÃçÇ·íÒãË à¡Ô´ÊÑ­­Ò³Ãº¡Ç¹à˹ÕÂè ǹíÒ¢ ÒÁä»Âѧ¢ ÍÁÙźԵÍ×¹è æ ä´ ·íÒãË ¢ ÍÁÙÅ·ÕÊè § ÍÍ¡ä»ÁÕ¢Í ¼Ô´¾ÅÒ´ ¨Ò¡¤ ÒµÑǵ Ò¹·Ò¹áÅеÑÇà¡çº»ÃШØã¹Ç§¨Ã·íÒãË à¡Ô´¡ÒÃ˹ ǧàÇÅÒ ä»»ÃÐÁÒ³ 60 ¹Òâ¹ÇÔ¹Ò·Õ ¨Ò¡Ç§¨Ãã¹ÃÙ»·Õè 1-3 ·íÒãË àÍÒµ ¾µØ ¢Í§¾Íà µ Data ÁÕ¤³ Ø ÊÁºÑµ´Ô §Ñ ¹Õé l ¡ÃÐáÊ«Ô§¡ ʧ٠ÊØ´ 24mA l ¡ÃÐáÊ«Íà ÊÊÙ§ÊØ´ 2.6mA l ÃдѺáç´Ñ¹¢Í§Åͨԡ 1 µèÒí Êش෠ҡѺ 2.4V l ÃдѺáç´Ñ¹ÊÙ§ÊØ´ÊíÒËÃѺÅͨԡ 0 ෠ҡѺ 0.5V ÊíÒËÃѺºÑ¿à¿Íà ÊíÒËÃѺ¡ÒÃÍ Ò¹¢ ÍÁÙÅ¡ÅÑºä´ á¡ àºÍà 74LS244 «Öè§àÁ×è͵ ͧ¡ÒÃÍ Ò¹¤ Ò ¤ÍÁ¾ÔÇàµÍà ¨ÐÊ §ÊÑ­­Ò³ DataRead ÍÍ¡ÁÒà¾×Íè àÍç¹àÍàºÔÅäÍ«Õ 74LS244 ÊíÒËÃѺ¾Íà µ¢¹Ò¹ ẺÁҵðҹ (Standard Parallel Port : SPP ) ¾Íà µ Data ¨Ðµ ͧ㪠à¾×Íè ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ෠ҹѹé áµ ÊÒí ËÃѺ¾Íà µ¢¹Ò¹·ÕÁè ¡Õ ÒÃÊ×Íè ÊÒÃÊͧ·ÔÈ·Ò§ (Bidirectional Parallel Port ) ÊÒÁÒö Í Ò¹¤ Ò¨Ò¡¾Íà µ Data ä´ ´Ç  ᵠ¡Í ¹·Õ¨è ÐÍ Ò¹¤ Òµ ͧ¨íÒäÇ àÊÁÍÇ Ò¨Ðµ ͧ» ͹¤ ÒàÍÒµ ¾µØ ãË ÁÕ¤Ò Åͨԡ 1 ·Ñ§é ËÁ´¡ ͹ ¢Ò¢Í§¾Íà µ¢¹Ò¹ ÃÕ¨ÊÔ àµÍÃ

·ÔÈ·Ò§

µíÒá˹ §ºÔµ ª×Íè ¢ÒÊÑ­­Ò³

˹ Ò·Õ¡è Ò÷íÒ§Ò¹

1

Control

Out

C0

STROBE

áÍ¡µÕ¿ "0" Ê §¤ ÒÍÍ¡ä»à¾×èÍºÍ¡Ç Ò ·Õè¢Ò´Òµ ÒÁÕ¢ ÍÁÙÅáÅ Ç

2-9

Data

Out

D0-D7

DATA0-DATA7

ÊíÒËÃѺ¾Íà µ¢¹Ò¹Áҵðҹà´ÔÁ¢Ò¹Õé ·íÒ˹ Ò·Õèà» ¹¢ÒÊ §¢ ÍÁÙÅàÍÒµ ¾Øµà· Ò¹Ñé¹ ÊíÒËÃѺ㹻 ¨¨ØºÑ¹¢Ò¹ÕéÃѺ¢ ÍÁÙÅÍÔ¹¾Øµä´ ´ ÇÂ

10

Status

In

S6

nACK

à» ¹¾ÑÅÊ Åͨԡ "0" ·ÕèÊ §ÁÒ¨Ò¡à¤Ã×èͧ¾ÔÁ¾ à¾×èÍºÍ¡Ç Òä´ ÃѺ¢ ÍÁÙÅ·ÕèÊ §ä»áÅ Ç

11

Status

In

S7

BUSY

à» ¹ÊÑ­­Ò³á¨ §ÁÒ¨Ò¡à¤Ã×èͧ¾ÔÁ¾ Ç Ò ÂѧäÁ ¾Ã ÍÁÃѺ¢ ÍÁÙÅ

12

Status

In

S5

PE

ᨠ§¡ÃдÒÉËÁ´

13

Status

In

S4

SELECT

ᨠ§Ç Òà¤Ã×èͧ¾ÔÁ¾ µ ÍÍÂÙ

14

Control

Out

C1

AUTO FEED

ÊÑè§à¤Ã×èͧ¾ÔÁ¾ ãË àÅ×è͹ºÑ¹·Ñ´

15

Status

In

S3

ERROR

ÊÑ­­Ò³¨Ò¡à¤Ã×èͧ¾ÔÁ¾ ÁÒÂѧ¤ÍÁ¾ÔÇàµÍà à¾×èÍáÊ´§¢ ͼԴ¾ÅÒ´¨Ò¡¡ÒþÔÁ¾

16

Control

Out

C2

INIT

ÃÕ૵à¤Ã×èͧ¾ÔÁ¾ â´ÂãË Åͨԡ "0"

17

Control

Out

C3

SELECT-IN

Ê §ÊÑ­­Ò³ä»Âѧà¤Ã×èͧ¾ÔÁ¾ à¾×èÍᨠ§Ç Ò µ ͧ¡ÒÃàÅ×Í¡à¤Ã×èͧ¾ÔÁ¾ à¤Ã×èͧ¹Õé

GND

¡ÃÒÇ´

18-25

µÒÃÒ§·Õè 1-2 áÊ´§ÊÑ­­Ò³·Ñ§é ËÁ´·ÕÍè ÂÙº ¹¾Íà µ¢¹Ò¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 12


¢Ò¢Í§¾Íà µ¢¹Ò¹ ºÑÊ Data ¢Í§ ¤ÍÁ¾ÔÇàµÍÃ

D0

74LS374

OE Clock

27Ω x 8

2

D1

3

D2

4

D3

5

D4

6

D5

7

D6

8

D7

9

Data Write

74LS244

OE

0.0022/50V x8

Data Read

ÃÙ»·Õè 1-3 ǧ¨ÃÀÒÂ㹢ͧ¾Íà µ Data

¾Íà µ Control

¾Íà µ Control 㪠ÊÒí ËÃѺ¤ÍÁ¾ÔÇàµÍà ¤Çº¤ØÁà¤Ã×Íè §¾ÔÁ¾ ¨Ò¡µÒÃÒ§·Õè 1-2 ¨ÐàËç¹Ç Ò¾Íà µ Control »ÃСͺ仴 ǺԵàÍÒµ ¾µØ 4 ºÔµ·Õµè Í ÍÍ¡ä»Âѧà¤Ã×Íè §¾ÔÁ¾ Ê Ç¹ºÔµàÍç¹àÍàºÔÅÍÔ¹àµÍà ÃÑ»µ äÁ ä´ ¶¡Ù µ ÍÍÍ¡ä» ÃÙ»·Õè 1-4 áÊ´§ºÅçÍ¡ä´ÍÐá¡ÃÁ¢Í§¾Íà µ Control ¨ÐàËç¹Ç ÒàÍÒµ ¾µØ ¢Í§ ¾Íà µ Control ÁÕÍ¹Ô àÇÍà àµÍà Ẻ¤ÍÅàÅç¡àµÍà ໠´µ Íà ÇÁÍÂÙ â´ÂàÍÒµ ¾µØ àËÅ Ò¹Õ¨é ж١¾ÙÅÍÑ» äÇ ´Ç µÑǵ Ò¹·Ò¹¤ Ò 4.7kΩ ÊíÒËÃѺºÔµ C2 ¨Ð¼ Ò¹ÍÔ¹àÇÍà àµÍà ¶§Ö ÊͧµÑÇ·íÒãË ·àÕè ÍÒµ ¾µØ ¢Í§ ºÔµ C2 äÁ Á¡Õ ÒáÅѺʶҹÐÅͨԡ ʶҹТͧ¾Íà µ Control ÊÒÁÒÃ¶Í Ò¹¡ÅÑºä´ áÅд Ç¡ÒÃ㪠º¿Ñ à¿Íà àºÍà 74LS240 «Ö§è ·Õàè ÍÒµ ¾µØ ÁÕÍ¹Ô àÇÍà àµÍà µÍ ÍÂÙÀ ÒÂã¹ ·íÒãË ¤Ò ·ÕÍè Ò ¹ä´ µÃ§¡Ñº¤ Ò·ÕÊè § ÍÍ¡ä» ¡ÒäǺ¤ØÁ¡ÒÃÍ Ò¹ áÅÐà¢Õ¹¢ ÍÁÙšѺ¾Íà µ Control ¤ÍÁ¾ÔÇàµÍà ¨ÐÊ §¢ ÍÁÙÅÁÒ·Õ¢è Ò Control Write áÅÐ Control Read à¹×Íè §¨Ò¡àÍÒµ ¾µØ ¢Í§¾Íà µ Control à» ¹áºº¤ÍÅàÅç¡àµÍà ໠´ ´Ñ§¹Ñ¹é ¼Ùã ª §Ò¹ÊÒÁÒö㪠¾Íà µ¹Õãé ¹¡ÒÃÍ Ò¹¤ ÒÊÑ­­Ò³ÍÔ¹¾Øµ¨Ò¡ÀÒÂ¹Í¡ä´ â´Â¡ ͹·Õ¨è ÐÍ Ò¹¤ Ҩе ͧ·íÒãË ¢Ò¾Íà µ·Õµè Í § ¡ÒÃÍ Ò¹¤ ÒÁÕÅͨԡ 1 àÊÕ¡ ͹

¾Íà µáÊ´§Ê¶Ò¹ÐËÃ×;Íà µ Status

¾Íà µ Status à» ¹¾Íà µ·Õ¤è ÍÁ¾ÔÇàµÍà 㪠ÊÒí ËÃѺ¡ÒÃÍ Ò¹¤ ÒʶҹШҡà¤Ã×Íè §¾ÔÁ¾ ÃÙ»·Õè 1-5 áÊ´§ÃÒÂÅÐàÍÕ´ÀÒÂ㹢ͧ¾Íà µ Status ¨ÐÊÑ§à¡µä´ ÇÒ ÁÕ¢ÒÊÑ­­Ò³ÍÂÙ· §Ñé ËÁ´ 5 ÊÑ­­Ò³ ´ Ç¡ѹáÅШÐàÃÕ¡ª×Íè à» ¹ S3,S4,S5,S6 áÅÐ S7 «Ö§è µÑÇàÅ¢¹Ñ¹é ËÁÒ¶֧µíÒá˹ §ºÔµ¢Í§¢ÒàËÅ Ò¹Õé àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 13


+5V

¢Ò¢Í§¾Íà µ¢¹Ò¹ 4.7k x 4

0.0022/50V

27

D1

C1

OC

D2

ÃкººÑʢͧ¤ÍÁ¾ÔÇàµÍÃ

C0

OC

D0

C2

OC

74LS174

D3

C3

OC

ÍÕ¹ÒàºÔÅÍÔ¹àµÍà ÃÑ»µ

D4 CLOCK

D0 D1

74LS240

D2 D3

OE

D4

74LS126

Control Write Control Read

´Õ⤠´¤íÒÊѧè

ÃÙ»·Õè 1-4 ǧ¨ÃÀÒÂ㹢ͧ¾Íà µ Control ¢Ò¢Í§¾Íà µ¢¹Ò¹ S7

ÃкººÑʢͧ¤ÍÁ¾ÔÇàµÍÃ

D0

S6

D1 D2

S5

74LS240

S4

D3

S3 OE

74LS126

D4

¨Ò¡¾Íà µ CONTROL ºÔµ 4 IRQ5 or IRQ7 56)675 4A=@

´Õ⤠´¤íÒÊÑè§

ÃÙ»·Õè 1-5 áÊ´§Ç§¨ÃÀÒÂ㹢ͧ¾Íà µáÊ´§Ê¶Ò¹Ð àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 14

BUSY ACK PE SELECT ERROR


ÀÒÂã¹ÃÕ¨ÊÔ àµÍà Status ¹Ñ¹è àͧ ÊíÒËÃѺºÔµ S7 ¨ÐÁÕ¢Í áµ¡µ Ò§¨Ò¡ºÔµÍ×¹è æ ·Õàè Á×Íè ÊÑ­­Ò³¨Ò¡ ÀÒÂ¹Í¡Ê §à¢ ÒÁÒáŠǨÐäÁ ¼ Ò¹ÍÔ¹àÇÍà àµÍà 㹢³Ð·Õè¢ÒÍ×è¹æ ¼ Ò¹ÍÔ¹àÇÍà àµÍà ·Ñé§ËÁ´ ´Ñ§¹Ñé¹ àÁ×Íè ¢ ÍÁÙż Ò¹¨Ò¡¢ÒÍÔ¹¾Øµä»Âѧ 74LS240 «Ö§è àÍÒµ ¾µØ ÁÕ¡ÒáÅѺʶҹзíÒãË ºµÔ S7 à» ¹ºÔµà´ÕÂÇ ·ÕèÁÕ¡ÒáÅѺʶҹР¹Í¡¨Ò¡¹Õé㹡ÒÃ㪠§Ò¹¶ Òµ ͧ¡ÒÃãË ÁÕ¡ÒÃÊà ҧÊÑ­­Ò³ÍÔ¹àµÍà ÃÑ»µ ¨Ò¡ ¢Íº¢Ò¢Ö¹é ¢Í§¢Ò S6 ÊÒÁÒö¡íÒ˹´¤ Òä´ ¨Ò¡¾Íà µ Control ºÔµ 4

¡ÒùíÒ¾Íà µ¢¹Ò¹ä»ãª §Ò¹ ÊíÒËÃѺ¾Íà µ¢¹Ò¹áººÁҵðҹ ¼Ùã ª §Ò¹ÊÒÁÒö¹íÒ¾Íà µÍÔ¹¾Øµ 5 ºÔµ (¾Íà µ Status) ¾Íà µàÍÒµ ¾µØ 4 ºÔµ (¾Íà µ Control) áÅоÍà µàÍÒµ ¾µØ ÍÕ¡ 8 ºÔµ (¾Íà µ Data) ä»ãª §Ò¹ä´ â´ÂµÃ§ â´Â·Õè 4 ºÔµ¢Í§¾Íà µàÍÒµ ¾ØµËÃ×;Íà µ Control ¹Ñé¹ÊÒÁÒö´Ñ´á»Å§ãË ãª §Ò¹à» ¹ ¾Íà µÍÔ¹¾Øµ¢¹Ò´ 4 ºÔµä´ ´Ç ´ѧ¹Ñ¹é ¼Ùã ª §Ò¹¨Ö§ÊÒÁÒö¹íÒÊÑ­­Ò³¨Ò¡¾Íà µ¢¹Ò¹·ÕÁè ÁÕ Ò¡¶Ö§ 17 àÊ ¹ä»ãª §Ò¹ã¹¡ÒäǺ¤ØÁâ´Â㪠ÃдѺÊÑ­­Ò³ TTL

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 15


àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 16


º··Õè 2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ µÔ´µ ͡Ѻ¾Íà µ¢¹Ò¹ ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà ¨ÐÁÕÅ¡Ñ É³Ðઠ¹à´ÕÂǡѺÍØ»¡Ã³ Í¹Ô ¾ØµàÍÒµ ¾µØ µÑÇÍ×¹è æ ¤×Í àÁ×Íè µ ͧ¡ÒõԴµ ͨе ͧ¡íÒ˹´áÍ´à´ÃÊ·Õµè Í §¡ÒõԴµ Í´ Ç µÒÃÒ§·Õè 2-1 áÊ´§áÍ´à´Ãʢͧ¾Íà µ ¢¹Ò¹ â´ÂẠ§ÍÍ¡à» ¹ 3 µíÒá˹ §¤×Í áÍ´à´ÃʢͧÃÕ¨ÔÊàµÍà Data , ÃÕ¨ÔÊàµÍà Status áÅÐ ÃÕ¨ÊÔ àµÍà Control â´ÂáÍ´à´Ãʹըé ÐÁÕÍÂÙ· §Ñé ËÁ´ 3 ªØ´ ÊíÒËÃѺ¾Íà µ¢¹Ò¹ 3 ªØ´¤×Í LPT1, LPT2 áÅÐ LPT3 àÁ×è͵ ͧ¡ÒõԴµ ͡Ѻ¾Íà µ¢¹Ò¹ã¹µíÒá˹ §ã´ ¡çãË Ê §¤ Ò¢ ÍÁÙÅÍÍ¡ä»·Õè¾Íà µ¢¹Ò¹ã¹ µíÒá˹ §¹Ñ¹é æ ¡µÑÇÍ ҧ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ Ç QBASIC à¾×èÍÊ §¤ ÒÅͨԡ 1 ÍÍ¡ä»·Ø¡ºÔµ ¢Í§¾Íà µ Data ¢Í§ LPT1 ¨Ðµ ͧà¢Õ¹â»Ãá¡ÃÁ´Ñ§¹Õé OUT

&H378,&HFF

â´Â·Õè à¤Ã×Íè §ËÁÒ &H ·Õáè Ê´§¹Ñ¹é ËÁÒ¶֧µÑÇàÅ¢°Ò¹ÊԺˡ ¤íÒÊѧè

OUT

à» ¹¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡àÍÒµ ¾µØ ¢Í§¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ

¤ Ò 378 à» ¹áÍ´à´ÃʢͧÃÕ¨ÊÔ àµÍà Data ÊíÒËÃѺ LPT1 ¤ Ò¢ ÍÁÙÅ FF à» ¹¢ ÍÁÙÅàÅ¢°Ò¹ÊԺˡ «Öè§ËÁÒ¶֧¡ÒÃãË ºÔµ·Ø¡ºÔµ¢Í§ÃÕ¨ÔÊàµÍà Data ÁÕ Åͨԡ໠¹ 1 ¹Ñ¹è àͧ Ê Ç¹¡ÒÃÍ Ò¹¤ Ò¨Ò¡¾Íà µ¢¹Ò¹ÁÒÂѧ¤ÍÁ¾ÔÇàµÍà ¼ Ò¹·Ò§¾Íà µ Status ¢Í§ LPT1 ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ´ Ç QBASIC ä´ ´§Ñ ¹Õé ª×Íè ¾Íà µ

LPT1

LPT2

LPT3

°Ò¹ÊÔº

°Ò¹ÊԺˡ

°Ò¹ÊÔº

°Ò¹ÊԺˡ

°Ò¹ÊÔº

°Ò¹ÊԺˡ

DATA

888

378H

956

3BCH

632

278H

STATUS

889

379H

957

3BDH

633

279H

CONTROL

890

37AH

958

3BEH

634

27AH

µÒÃÒ§·Õè 2-1 áÊ´§áÍ´à´Ãʢͧ¾Íà µ¢¹Ò¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 17


Temp =

â´Â·Õè ¤íÒÊѧè

INP(&H379)

INP(_)

à» ¹¤íÒÊѧè ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅ

¤ Ò 379 à» ¹µíÒá˹ §áÍ´à´ÃʢͧÃÕ¨ÊÔ àµÍà STATUS ÊíÒËÃѺ LPT1 ã¹µÑÇàÅ¢°Ò¹ÊԺˡ µÑÇá»Ã

Temp

à» ¹µÑÇá»Ã·Õãè ª à¡çº¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ ¨Ò¡¾Íà µ¢¹Ò¹

ÊíÒËÃѺâ»Ãá¡ÃÁÍ×¹è æ ઠ¹ áÍÊà«ÁºÅÕ,é à·Íà ⺻ÒʤÒÅ ËÃ×Íà·ÍÃ âº«Õ ¨ÐÁÕû٠Ẻ¡Òà à¢Õ¹â»Ãá¡ÃÁ·Õèᵡµ Ò§¡Ñ¹º Ò§´Ñ§¹Õé

áÍÊà«ÁºÅÕé ¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»Âѧ¾Íà µ¢¹Ò¹ mov dx,378h mov al,ffh out dx,al

¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ¾Íà µ¢¹Ò¹ mov dx,379h in al,dx

à·Íà ⺻ÒʤÒÅ ¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»Âѧ¾Íà µ¢¹Ò¹ Port[378H] := FFH

¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ¾Íà µ¢¹Ò¹ Temp := Port[379H]

à·ÍÃ âº«Õ ¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»Âѧ¾Íà µ¢¹Ò¹ outportb

(0x378,0xff)

¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡ¾Íà µ¢¹Ò¹ temp = inportb(0x379)

Í ҧäáçµÒÁâ»Ãá¡ÃÁ·Ø¡µÑǵ Ò§¡çãª Ç¸Ô ¡Õ ÒÃà´ÕÂǡѹ¤×Í ¡íÒ˹´áÍ´à´ÃÊ·Õ¨è зíÒ¡ÒõԴµ Í ¨Ò¡¹Ñ¹é ¨Ö§µÔ´µ ͡ѺáÍ´à´ÃÊàËÅ Ò¹Ñ¹é ´ ǤíÒÊѧè ÊíÒËÃѺ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 18


¡ÒÃà¢Õ¹â»Ãá¡ÃÁµÔ´µ ͡Ѻ¾Íà µ¢¹Ò¹´ Ç Visual BASIC ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ Ç Visual BASIC ªØ´¤íÒÊѧè Ê Ç¹ãË­ ¨ÐÁÕû٠Ẻã¡Å à¤Õ§¡Ñº QBASIC áµ Visual BASIC ¨ÐäÁ Á¤Õ Òí Êѧè ÊíÒËÃѺ¡ÒõԴµ ͡Ѻ¾Íà µâ´ÂµÃ§¤×Í ¤íÒÊѧè Inp() áÅФíÒÊѧè OUT àËÁ×͹¡Ñº QBASIC ´Ñ§¹Ñ¹ é à¾×Íè ãË ÊÒÁÒöµÔ´µ ͡Ѻ¾Íà µ¢¹Ò¹ä´ ¨§Ö ¨íÒà» ¹µ ͧà¾ÔÁè â»Ãá¡ÃÁ ºÒ§µÑÇࢠÒä» â´Ââ»Ãá¡ÃÁ·Õàè ¾ÔÁè ࢠÒ仹ըé ÐÍÂÙã ¹ÃÙ»¢Í§ DLL (Dynamic Linked Library) ä¿Å DLL ¹Õ·é ¹Õè Òí ÁÒá¹Ð¹íÒã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õ¤é Í× io.dll â´ÂÊÒÁÒÃ¶ãª ä´ ¡ºÑ Ãкº»¯ÔºµÑ ¡Ô Òà ·Õàè » ¹ 32 ºÔµ«Ö§è ¡ç¤Í× ÇÔ¹â´ÇÊ 95 ¢Ö¹é ä» «Ö§è ¡ç¤Í× ÇÔ¹â´ÇÊ 95/98/ME/2000/NT/XP ÊíÒËÃѺµíÒá˹ §·Õãè ª à¡çºä¿Å io.dll ¹Ñ¹é ¨Ðµ ͧà¡çºäÇ ·äÕè ´àáµÍÃÕè SYSTEM «Ö§è ÍÂÙÀ Ò ã¹ä´àáµÍÃÕ·è àÕè ¡çºâ»Ãá¡ÃÁÇÔ¹â´ÇÊ â´ÂÊ Ç¹ãË­ ¨ÐÁÕªÍ×è à» ¹ Windows ¡ÒáíÒ˹´¤ Òã¹â»Ãá¡ÃÁà¾×Íè àÃÕ¡㪠§Ò¹ä¿Å DLL ÁÕû٠Ẻ¡ÒáíÒ˹´¤ Ҵѧ¹Õé Public Declare Function Inp Lib “io.dll” _ Alias “PortIn” (ByVal PortAddress As Integer) As Byte Public Declare Sub Out Lib “io.dll” _ Alias “PortOut” (ByVal PortAddress As Integer, ByVal Value As Byte)

àÁ×Íè ÁÒ¶Ö§µÃ§¹Õé ÍÒ¨à¡Ô´¤íÒ¶ÒÁ¢Ö¹é Ç Ò ·íÒäÁäÁâ¤Ã«Í¿µ ¼¾Ù ² Ñ ¹Ò«Í¿µ áÇà Visual BASIC ¨Ö§äÁ ÃÇÁ¤íÒÊѧè Inp áÅФíÒÊѧè Out äÇ ã¹â»Ãá¡ÃÁ Visual BASIC à¹×Íè §¨Ò¡Ç Ò¡ÒÃà¢Õ¹áÅÐÍ Ò¹ ¢ ÍÁÙÅä»Âѧ¾Íà µËÃ×Í˹ ǤÇÒÁ¨íÒâ´ÂµÃ§¹Ñ¹é ÍÒ¨·íÒãË à¡Ô´ÁÕ»­ ËÒáΧ¡ ËÃ×Í·íÒ§Ò¹¼Ô´¾ÅÒ´ä´ áÅÐ Visual BASIC à» ¹Ãкº»¯ÔºµÑ ¡Ô Ò÷շè Òí §Ò¹º¹ÇÔ¹â´ÇÊ «§Öè ÁÕ¡Ò÷íҧҹẺÁÑŵԷÒà ʡԧé (multitasking) ÁÕâ»Ãá¡ÃÁËÅÒÂæ µÑÇ·íÒ§Ò¹ÍÂÙ¾ à ÍÁ¡Ñ¹ ´Ñ§¹Ñ¹é àÁ×Íè à¡Ô´¤ÇÒÁàÊÕÂËÒ¡Ѻâ»Ãá¡ÃÁµÑÇË¹Ö§è ¡çÍÒ¨¨ÐÊ §¼ÅãË â»Ãá¡ÃÁ·Õ·è Òí §Ò¹ÍÂÙ· §Ñé ËÁ´àÊÕÂËÒÂä´ ¹Í¡¨Ò¡¹Õ¡é ÒÃà¢Õ¹¢ ÍÁÙÅâ´ÂµÃ§ä»Âѧ ¾Íà µ ÍÒ¨¨Ð价Ѻ« ͹¡Ñºâ»Ãá¡ÃÁÍ×è¹æ ·ÕèÁÕ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ¾Íà µàª ¹à´ÕÂǡѹ Ê §¼ÅãË â»Ãá¡ÃÁ·íÒ§Ò¹¼Ô´¾ÅÒ´ ÊíÒËÃѺÃкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ 95 ¢Ö¹é ä» ¹Í¡¨Ò¡¨ÐÊÒÁÒö㪠§Ò¹ DLL 㹡ÒõԴµ Í ¡Ñº¾Íà µâ´ÂµÃ§áÅ Ç ÂѧÊÒÁÒö㪠§Ò¹â»Ãá¡ÃÁ»ÃÐàÀ· Visual Device Driver (Vxd) 㹡Òà µÔ´µ ͡ѺÍØ»¡Ã³ Í¹Ô ¾ØµàÍÒµ ¾µØ â´Â Vxd ¨ÐµÑ´» ­ËÒàÃ×Íè §¡ÒÃࢠҶ֧¾Íà µ¾Ã ÍÁ¡Ñ¹¢Í§â»Ãá¡ÃÁ ËÅÒÂæ µÑÇä´ áµ ÊÒí ËÃѺâ»Ãá¡ÃÁÊѹé æ ઠ¹ â»Ãá¡ÃÁÍ Ò¹¤ ÒÍسËÀÙÁÔ â»Ãá¡ÃÁ¤Çº¤ØÁÍØ»¡Ã³ ÍÔ¹¾ØµàÍÒµ ¾µØ »¡µÔ«§Öè äÁ Á¡Õ ÒõԴµ ͡Ѻ¾Íà µÍÂÙµ ÅÍ´àÇÅÒ ¤íÒÊѧè Inp áÅÐ Out ã¹ DLL ¡ç处 ·íÒ§Ò¹ä´ ´ÕáÅÐÁÕÃٻẺ¡ÒÃ㪠§Ò¹·Õè§ ÒÂ¡Ç Ò

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 19


ÃÒÂÅÐàÍÕ´à¾ÔÁè àµÔÁà¡ÕÂè ǡѺ io.dll io.dll ¾Ñ²¹Ò¢Ö¹é â´Ââ»Ãá¡ÃÁàÁÍà ¹ÃÔ ¹ÒÁ·Õãè ª ªÍ×è Ç Ò Fred «Ö§è ÁÕ¤ÇÒÁàªÕÂè Ǫҭ´ Ò¹¡ÒþѲ¹Ò Ãкº¡ÒÃàª×Íè Áµ ͤÍÁ¾ÔÇàµÍà ¡ºÑ ÍØ»¡Ã³ ÀÒ¹͡ â´Âä¿Å io.dll ¹Õ¼é àÙ ¢Õ¹â»Ãá¡ÃÁà¼Âá¾Ã â´Â äÁ ¤´Ô ÁÙŤ Ò «Ö§è ¼ÙÊ ¹ã¨ÊÒÁÒö´Òǹ âËÅ´àÇÍà ª¹Ñè ãËÁ ·ÍÕè Ò¨ÁÕä´ ·Õè http://www.geekhideout.com ä¿Å dll µÑǹÕÁé »Õ ÃÐ⪹ Í ҧÁÒ¡ÊíÒËÃѺ¹Ñ¡¾Ñ²¹Ò·Õµè Í §¡ÒõԴµ ͡Ѻ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¢Í§¤ÍÁ¾ÔÇàµÍà â´Â੾ÒÐÍ ҧÂÔ§è ¡Ñº¾Íà µ¢¹Ò¹ã¹Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ «Ö§è ã¹» ¨¨Øº¹Ñ ¡Òà µÔ´µ ;Íà µ¡ÃзíÒä´ ÂÒ¡¢Ö¹é áµ ´Ç ¡ÒÃ㪠ä¿Å dll µÑǹըé Ъ ÇÂãË ÊÒÁÒöࢠҶ֧áÅФǺ¤ØÁä´ §Ò  áÅзç»ÃÐÊÔ·¸ÔÀÒ¾ io.dll ÊÒÁÒö㪠§Ò¹ä´ ¡ÑºÃкº»¯ÔºÑµÔ¡ÒÃÇÔ¹â´ÇÊ 95/98/2000/NT ËÃ×Í¡ÃзÑè§ XP ¨Ö§ª ÇÂÅ´àÇÅÒáÅÐ¢Ñ¹é µÍ¹ã¹¡ÒþѲ¹Òâ»Ãá¡ÃÁµÔ´µ ;Íà µ·ÕÃè ¹Ñ º¹ÇÔ¹â´ÇÊ ä´ Í ҧÁÒ¡

¿ §¡ ª¹Ñè ·ÕÁè ÍÕ ÂÙã ¹ io.dll 㪠ʧ ¢ ÍÁÙÅ¢¹Ò´ 1 亵 ä»Âѧ¾Íà µ·Õ¡è Òí ˹´ PortWordOut 㪠ʧ ¢ ÍÁÙÅ 1 àÇÔô (16 ºÔµ) ä»Âѧ¾Íà µ·Õ¡è Òí ˹´ PortDWordOut 㪠ʧ ¢ ÍÁÙŴѺàºÔÅàÇÔô (32 ºÔµ) ä»Âѧ¾Íà µ·Õ¡è Òí ˹´ PortIn 㪠ÍÒ ¹¢ ÍÁÙÅ¢¹Ò´ 1 亵 ¨Ò¡¾Íà µ·Õ¡è Òí ˹´ PortWordIn 㪠ÍÒ ¹¢ ÍÁÙÅ 1 àÇÔô (16 ºÔµ) ¨Ò¡¾Íà µ·Õ¡è Òí ˹´ PortDWordIn 㪠ÍÒ ¹¢ ÍÁÙŴѺàºÔÅàÇÔô (32 ºÔµ) ¨Ò¡¾Íà µ·Õ¡è Òí ˹´ SetPortBit 㪠૵¢ ÍÁÙÅã¹ÃдѺºÔµ¢Í§¾Íà µ·Õ¡è Òí ˹´ ClrPortBit 㪠à¤ÅÕÂà ¢Í ÁÙÅã¹ÃдѺºÔµ¢Í§¾Íà µ·Õ¡è Òí ˹´ NotPortBit 㪠¡ÅѺ¢ ÍÁÙÅã¹ÃдѺºÔµ¢Í§¾Íà µ·Õ¡è Òí ˹´ GetPortBit 㪠ÍÒ ¹Ê¶Ò¹Ð¢Í§ºÔµ·Õ¡è Òí ˹´ RightPortShift 㪠àÅ×Í è ¹¢ ÍÁÙŢͧ¾Íà µä»·Ò§¢ÇÒ ¨Ðä´ ¤Ò ¢Í§ºÔµ LSB ¡ÅѺÁÒ LeftPortShift 㪠àÅ×Í è ¹¢ ÍÁÙŢͧ¾Íà µä»·Ò§« Ò ¨Ðä´ ¤Ò ¢Í§ºÔµ MSB ¡ÅѺÁÒ IsDriverInstalled 㪠µÃǨÊͺ¡ÒõԴµÑ§é ä¿Å io.dll â´Â¶ ÒËÒ¡ÁÕ¡ÒõԴµÑ§é ä¿Å ¨Ðä´ ¤Ò 1 ËÃ×Í non-zero ¡ÅѺÁÒ PortOut

µÑÇÍ ҧ¡ÒÃ㪠ä¿Å io.dll 㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒµ Ò§æ ÁÕ´§Ñ ¹Õé

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 20


¡ÒÃ㪠§Ò¹ã¹ÀÒÉÒ C void PortOut(short int Port, char Data); void PortWordOut(short int Port, short int Data); void PortDWordOut(short int Port, int Data); char PortIn(short int Port); short int PortWordIn(short int Port); int PortDWordIn(short int Port); void SetPortBit(short int Port, char Bit); void ClrPortBit(short int Port, char Bit); void NotPortBit(short int Port, char Bit); short int GetPortBit(short int Port, char Bit); short int RightPortShift(short int Port, short int Val); short int LeftPortShift(short int Port, short int Val); short int IsDriverInstalled();

¡ÒÃ㪠§Ò¹ã¹ Delphi procedure PortOut(Port : Word; Data : Byte); procedure PortWordOut(Port : Word; Data : Word); procedure PortDWordOut(Port : Word; Data : DWord); function PortIn(Port : Word) : Byte; function PortWordIn(Port : Word) : Word; function PortDWordIn(Port : Word) : DWord; procedure SetPortBit(Port : Word; Bit : Byte); procedure ClrPortBit(Port : Word; Bit : Byte); procedure NotPortBit(Port : Word; Bit : Byte); function GetPortBit(Port : Word; Bit : Byte) : WordBool; function RightPortShift(Port : Word; Val : WordBool) : WordBool; function LeftPortShift(Port : Word; Val : WordBool) : WordBool; function IsDriverInstalled : Boolean;

¡ÒÃ㪠§Ò¹ã¹ Visual BASIC Private Declare Sub PortOut Lib “IO.DLL” (ByVal Port As Integer, ByVal Data As Byte) Private Declare Sub PortWordOut Lib “IO.DLL” (ByVal Port As Integer, ByVal Data As Integer) Private Declare Sub PortDWordOut Lib “IO.DLL” (ByVal Port As Integer, ByVal Data As Long)

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 21


Private Declare Function PortIn Lib “IO.DLL” (ByVal Port As Integer) As Byte Private Declare Function PortWordIn Lib “IO.DLL” (ByVal Port As Integer) As Integer Private Declare Function PortDWordIn Lib “IO.DLL” (ByVal Port As Integer) As Long Private Declare Sub SetPortBit Lib “IO.DLL” (ByVal Port As Integer, ByVal Bit As Byte) Private Declare Sub ClrPortBit Lib “IO.DLL” (ByVal Port As Integer, ByVal Bit As Byte) Private Declare Sub NotPortBit Lib “IO.DLL” (ByVal Port As Integer, ByVal Bit As Byte) Private Declare Function GetPortBit Lib “IO.DLL” (ByVal Port As Integer, ByVal Bit As Byte) As Boolean Private Declare Function RightPortShift Lib “IO.DLL” (ByVal Port As Integer, ByVal Val As Boolean) As Boolean Private Declare Function LeftPortShift Lib “IO.DLL” (ByVal Port As Integer, ByVal Val As Boolean) As Boolean Private Declare Function IsDriverInstalled Lib “IO.DLL” As Boolean

ÊíÒËÃѺä¿Å io.dll ¨ÐºÃèØÍÂÙ㠹ἠ¹«Õ´ÃÕ ÍÁ PC interface : Parallel port experiment «Ö§è ¨Ñ´ÁҾà ÍÁ¡ÑºË¹Ñ§Ê×ÍàÅ Á¹Õé â´ÂºÃèØÍÂÙã ¹ä´àÃ硵ÍÃÕè Software\Dll 㹺·µ Í仨ÐàÃÔèÁµ ¹¡ÒÃ㪠§Ò¹¤ÍÁ¾ÔÇàµÍà 㹡ÒÃàª×èÍÁµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹·Ò§ ¾Íà µ¢¹Ò¹ â´Â㪠ª´Ø ·´Åͧ NX-2000 «Ö§è »ÃСͺ´ ǺÍà ´·´Åͧ ÍÂÁÒ¡ÁÒ â´Â¨Ð·ÂÍ ¡Å ÒǶ֧àÁ×Íè ÁÕ¡ÒÃàÃÕ¹ÃÙá Åз´Åͧ Ê Ç¹â»Ãá¡ÃÁ·Õãè ª ÍÒ §Íԧ㹡Ò÷´Åͧ¹Ñ¹é ¼Ùà ÃÕ¹µ ͧà¢Õ¹¢Ö¹é àͧ â´Â㪠â»Ãá¡ÃÁ Visual BASIC â´Âã¹áµ ÅСÒ÷´ÅÍ§ä´ àµÃÕÂÁâ»Ãá¡ÃÁµÑÇÍ ҧäÇ ãË à¾×Íè ãË ¼àÙ ÃÕÂ¹ä´ È¡Ö ÉÒáÅзíÒ¡Ò÷´ÅÍ§ã¹¢Ñ¹é µ ¹¡ ͹ ¨Ò¡¹Ñ¹é ¨Ö§àÃÔÁè à¢Õ¹â»Ãá¡ÃÁ´ ǵ¹àͧ¨Ò¡ § ÒÂ仨¹¶Ö§â»Ãá¡ÃÁ·ÕÁè ¤Õ ÇÒÁ«Ñº« ͹à¾ÔÁè ÁÒ¡¢Ö¹é ¹Í¡¨Ò¡¹Ñ¹é ¼Ùà ÃÕ¹ÂÑ§ä´ ÃºÑ ¢ ÍÁÙŤÇÒÁÃÙà ¡ÕÂè Ç ¡ÑºÍØ»¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ·ãÕè ª ã¹áµ ÅСÒ÷´Åͧà¾ÔÁè àµÔÁä»´ ÇÂ㹤ÃÒÇà´ÕÂǡѹ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 22


º··Õè 3 ¡ÒõԴµ ÍÃÐËÇ Ò§¾Íà µ¢¹Ò¹ ¡ÑºÍØ»¡Ã³ Í¹Ô ¾ØµàÍÒµ ¾µØ Í ҧ§ Ò ¨Ò¡·ÄÉ®Õ㹺··Õè 1 ÊÒÁÒöẠ§ÃÕ¨ÊÔ àµÍà ¢Í§¾Íà µ¢¹Ò¹ÍÍ¡ä´ à» ¹ 3 ÃÕ¨ÊÔ àµÍà ¤×Í 1. ÃÕ¨ÊÔ àµÍà Data ·íÒ˹ Ò·Õàè » ¹àÍÒµ ¾µØ 2. ÃÕ¨ÊÔ àµÍà Status ·íÒ˹ Ò·Õàè » ¹ÍÔ¹¾Øµ 3. ÃÕ¨ÊÔ àµÍà Control ·íÒ˹ Ò·Õàè » ¹àÍÒµ ¾µØ ´Ñ§¹Ñ¹é ¶ Ò¼Ùã ª §Ò¹µ ͧ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ¡ç¨Ðµ Í§ãª Ã¨Õ ÊÔ àµÍà Data ËÃ×ÍÃÕ¨ÊÔ àµÍà Control Ê Ç¹¶ Òµ ͧ¡ÒÃÃѺ¤ Ò¨Ò¡ÍÔ¹¾Øµ ¼Ùã ª §Ò¹µ Í§ãª Ã¨Õ ÊÔ àµÍà Status 㹡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ ¡ÒèÐÍ Ò§¶Ö§ ÃÕ¨ÊÔ àµÍà ᵠÅеÑÇ¹Ñ¹é ¼Ùã ª §Ò¹¨Ðµ ͧ㪠µÒí á˹ §áÍ´à´ÃÊà» ¹µÑÇÍ Ò§ ´Ñ§ÁÕÃÒÂÅÐàÍÕ´áÊ´§ã¹µÒÃÒ§ ·Õè3-1 â´Â»¡µÔáÅ Ç Visual BASIC äÁ Á¤Õ Òí Êѧè OUT àËÁ×͹¡Ñº QBASIC ´Ñ§¹Ñ¹é à¾×Íè ãË Visual BASIC ÊÒÁÒö㪠¤íÒÊÑ觹Õéä´ ¨íÒà» ¹µ ͧà¾ÔèÁä¿Å inpout32.bas ࢠÒä»ã¹¼Ñ§§Ò¹ËÃ×Íâ»Ãà¨ç¡µ (Project) ¢Í§ Visual BASIC ·Õ¡è Òí Åѧ㪠§Ò¹ÍÂÙ â´Âµ ͧ·íÒµÒÁ¢Ñ¹é µÍ¹´Ñ§¹Õé 1. ä»·Õàè Á¹Ù Project àÃÕ¡¤íÒÊѧè Add File áÅ Çà¾ÔÁè ä¿Å inpout32.bas ŧä»ã¹ Project ·ÕËè ¹ Òµ Ò§ Project ¨Ð»ÃÒ¡¯ä¿Å inpout32.bas ´Ñ§áÊ´§ã¹ÃÙ»·Õè 3-1 2. àÁ×Íè àÅ×Í¡ªÕ·é äÕè ¿Å inpout32.bas áÅ Ç㪠¤Òí Êѧè View Code à¾×Íè ´ÙÃÒÂÅÐàÍÕ´ÀÒÂã¹ ¢Í§ä¿Å inpout32.bas ´Ñ§ã¹ÃÙ»·Õè 3-2 ÃÕ¨ÊÔ àµÍà DATA STATUS CONTROL

LPT1 378H 379H 37AH

LPT2 3BCH 3BDH 3BEH

LPT3 278H 279H 27AH

µÒÃÒ§·Õè 3-1 áÊ´§áÍ´à´ÃÊÃÕ¨ÊÔ àµÍà ¢Í§ ¾Íà µ¢¹Ò¹ ÃÙ»·Õè 3-1 ¡ÒÃàÃÕ¡ä¿Å inpout32.bas àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 23


ÃÙ»·Õè 3-2 ÃÒÂÅÐàÍÕ´¢Í§ä¿Å inpout32.bas 3. ÊíÒËÃѺä¿Å inpout32.bas ¹Ñ¹é ¨Ð仡íÒ˹´¤íÒÊѧè INP áÅÐ OUT ãË ¡ºÑ Visual BASIC â´Â¨Ðµ ͧÁÕä¿Å io.dll ºÃèØÍÂÙã ¹ä´àáµÍÃÕè SYSTEM ÍÂÙ¡ Í ¹ «Ö§è ä´ ¡Å ÒÇäÇ áÅ Ç㹺··Õè 2 4. àÁ×Íè ¶Ö§¢Ñ¹é µÍ¹¹Õ¼é ãÙ ª §Ò¹ÊÒÁÒö㪠¤Òí Êѧè INP áÅÐ ¤íÒÊѧè OUT ã¹â»Ãá¡ÃÁà¾×Íè ÃѺáÅÐ Ê §¤ ҡѺ¾Íà µ¢¹Ò¹ä´ áÅ Ç ã¹¡Ò÷´Åͧà¾×èÍÃѺáÅÐÊ §¤ Ò¼ Ò¹¾Íà µ¢¹Ò¹¨Ð㪠à¤Ã×èͧÁ×Í·Õèä´ ÃѺ¡ÒÃÍ͡ẺÁÒà¾×èÍ ÍíҹǤÇÒÁÊдǡ㹡ÒÃàÃÕ¹ÃÙá Åз´Åͧ ¹Ñ¹è ¤×ͪش·´Åͧ NX-2000 â´Â㪠ºÍà ´àª×Íè Áµ ;Íà µ ¢¹Ò¹ËÃ×Í P-Board à» ¹ºÍà ´ËÅÑ¡ áÅкÍà ´ EX series ÊíÒËÃѺ໠¹µ ; ǧà¾×Íè ·´Åͧã¹àÃ×Íè § µ Ò§æ «Ö§è ¨Ðä´ ·ÂÍÂá¹Ð¹íÒàÁ×Íè ¶Ö§àÇÅÒ㪠§Ò¹ ÊíÒËÃѺ㹺·¹Õ¢é Íá¹Ð¹íÒ 3 ºÍà ´áá¡ ͹¤×Í P-Board ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹, EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ áÅÐ EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ

P-Board ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ ǧ¨Ã¢Í§ P-Board áÊ´§ã¹ÃÙ»·Õè 3-3 â´ÂàÃÔÁè ¨Ò¡¤Í¹à¹ç¡àµÍà K002 Ẻ DB-25 µÑÇàÁÕ Íѹ໠¹¨Ø´·Õãè ª µÍ àª×Íè Á¡Ñº¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà «Ö§è ä´ ÃºÑ ¡ÒèѴÊÃÃÍÍ¡à» ¹ 3 Ê Ç¹¤×Í 1. ¾Íà µ Data ÁÕµÒí á˹ §ÍÂÙ· ¢Õè Ò 2 ¶Ö§¢Ò 9 㪠·Òí ˹ Ò·Õàè » ¹¢ÒàÍÒµ ¾µØ ÊÑ­­Ò³¢ ÍÁÙŨР¶Ù¡Ê §à¢ ÒÊÙä Í«Õº¿Ñ à¿Íà àºÍà 74HC541 à¾×Íè ¢ÂÒ¡ÃÐáÊãË ¡ºÑ ¢ÒàÍÒµ ¾µØ D0-D7 ·Ñ§é 8 ¢Ò ¹Í¡ ¨Ò¡¹Ñ¹é Âѧ·íÒ˹ Ò·Õàè » ¹µÑÇ» ͧ¡Ñ¹¤ÇÒÁàÊÕÂËÒ·ÕÍè Ò¨¨Ðà¡Ô´¡Ñº¾Íà µ¢¹Ò¹ÍÕ¡´ Ç àÍÒµ ¾µØ ¨Ò¡äÍ«Õ 74HC541 ¨ÐÊ §ÍÍ¡ä»Âѧ¤Í¹à¹ç¡àµÍà DATA BUS «Ö§è ÁÕ¡ÒèѴ¢ÒµÒÁÁҵðҹ UIC-10 áÅÐ Ê §ÍÍ¡ä»ÃÇÁ¡Ñº¤Í¹à¹ç¡àµÍà P-BUS â´Â¤Í¹à¹ç¡àµÍà DATA BUS áÅÐ P-BUS ¨Ð㪠㹡Òà àª×Íè Áµ ͡ѺºÍà ´ EX-series «Ö§è à» ¹ºÍà ´ÊíÒËÃѺ·´Åͧ¡ÒÃàª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡ 2. ¾Íà µ Control 㪠µÒí á˹ §¢Ò 1, 14, 16 áÅÐ 17 â´Âµ ÍࢠҡѺäÍ«Õ 74HC541 à¾×Íè ¢ÂÒ¡ÃÐáÊáÅл Í §¡Ñ ¹ ¤ÇÒÁàÊÕ Â ËÒ·Õè ¨ Ðà¡Ô ´ ¡Ñ º ¾Íà µ ¢¹Ò¹ áÅ Ç µ Í ä»à¢ Ò ¤Í¹à¹ç ¡ àµÍà CONTROL ¨ÐàËç¹Ç Ò㪠੾ÒÐ¢Ò C0-C3 ¾Ã ÍÁ¡Ñ¹¹Ñ¹é Âѧä»ÃÇÁ¡Ñ¹·Õ¤è ͹à¹ç¡àµÍà P-BUS ´ Ç ¹Í¡¨Ò¡¹Õ¾é Íà µ Control Âѧ¶Ù¡ãª §Ò¹à¾×Íè à» ¹¢ÒàÍÒµ ¾µØ ÊíÒËÃѺ¡ÒõԴµ ÍÊ×Íè ÊÒô Ç ÃкººÑÊẺ I2C ´ Ç â´Â¨Ð㪠¢Ò C1 㹡ÒÃÊà ҧÊÑ­­Ò³ SCL (ÊÑ­­Ò³¹ÒÌ ¡Ò) áÅÐ¢Ò C0 㹡ÒÃÊà ҧÊÑ­­Ò³ SDA (Ê §¢ ÍÁÙÅ) â´Â㪠¢Ò S7 «Ö§è ÍÂÙã ¹Ê Ç¹¢Í§¾Íà µ Status ÃѺ¢ ÍÁÙÅ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 24


D001-D004 1N4001x4

IC001 7805

K001 DC 9-12V

+5V C004 0.1/50

C002 0.1/50V

K002 PARALLEL PORT (DB-25)

C001 220/16V

C003 10/50

+5V

16 17 18

2

9

3

8

4

7

5

6 D4 5 D3 4 D2 3 D1 2 D0

6

19

7

20

8

21

9

22

10

23

11

24 25

12

+5V

LED001 POWER

K004 DATA BUS (UIC-10)

20

1

14 15

C005 0.1/50V

R001 220

D7

Q7

D6

Q6

D5

Q5

13

14 Q4 15 Q3 16 Q2 17 Q1 18 Q0

D0 D2 D4 D6

D1 D3 D5 D7

+5V

13

C006 0.1/50V

20 2 3 4 5

D0

Q0

D1

Q1

D2

Q2

D3

Q3

+5V

D0 D2 D4 D6 C0 C2 S4 S6

1 10 19

IC002 74HC541

18 17

VR001 10k Brightness

+5V

11 12

K003 P-BUS

(IDC-20)

C3 C0

D1 D3 D5 D7 C1 C3 S3 S5 S7

LCD connector

K005 CONTROL +5V

+5V

C0 C2

C1 C3

16 15

S001 I2C SELECT

R003 2k7

(DIP SW-3)

R002

IC003 74HC541 1 10 19

10k C007 0.1/50V

R004 3k3

+5V

Q3 14 Q4 13 Q5 12 Q6 11 Q7

D3

Q001 BC547

5

6 D4 7 D5 8 D6 9 D7

S4 S6

IC004 74HC541 1 10 19

+5V

S3 S5 S7

K007 I2C BUS (RJ11-4)

R005 10k

K006 STATUS

+5V SDA SCL

+5V

20 15

R/W RS D4 D5 D6 D7

R007 3k3

R006 2k7

Q002 BC547

ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ËÃ×Í P-Board

àª×Íè Áµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà ·Ò§¾Íà µ¢¹Ò¹ l ÁÕǧ¨ÃºÑ¿à¿Íà »Í §¡Ñ¹¾Íà µ¢¹Ò¹ l ÁÕǧ¨Ãá»Å§ÊÑ­­Ò³à» ¹ÃкººÑÊ I2C l ¤Í¹à¹ç¡àµÍà ÊÒí ËÃѺ¢ÂÒÂÃкºáº §à» ¹ÍÔ¹¾Øµ, àÍÒµ ¾µ Ø , DATA BUS áÅÐ P-BUS ÊíÒËÃѺàª×Íè Áµ ͺÍà ´ EX-Series l 㪠ä¿àÅÕÂ é § 9-16V ¼ Ò¹·Ò§á¨ ¡ÍÐá´»àµÍà º¹ºÍà ´ÁÕ Ç§¨Ã¤Çº¤ØÁä¿àÅÕÂé §¤§·Õ·è Õè +5V l

ÃÙ»·Õè 3-3 ǧ¨ÃÊÁºÙó ¢Í§ P-Board ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 25


¨Ò¡ SDA ¡ÒÃ㪠§Ò¹ÃкººÑÊ I2C ¨ÐàÅ×Í¡¼ Ò¹´Ô»ÊÇÔµª à¹×Íè §¨Ò¡µ ͧ¡ÒÃãË ÊÒÁÒö㪠§Ò¹¢Ò ¾Íà µ Control áÅоÍà µ Status 㹧ҹ»¡µÔä´ àÁ×Íè äÁ Á¡Õ ÒÃ㪠§Ò¹ÃкººÑÊ I2C ǧ¨Ã¢Í§Ê ǹàª×Íè Áµ ÍÃкººÑÊ I2C ¢Í§ P-board ¨Ð㪠·ÃÒ¹«ÔÊàµÍà 2 µÑǵ Íã¹ÅѡɳР¤ÍÅàÅç¡àµÍà ໠´ «Ö§è 㹪 ǧ·Õäè Á ä´ »Í ¹Åͨԡ 1 ãË ·ÃÒ¹«ÔÊàµÍà ¨ÐäÁ ·Òí §Ò¹ áÅÐàÍÒµ ¾µØ ¢Í§¢Ò SDA áÅÐ SCL ¨ÐÁÕÅͨԡ 1 ¨Ò¡µÑǵ Ò¹·Ò¹¾ÙÅÍÑ»¤ Ò 2.7kΩ ·Õµè Í àÍÒäÇ «Ö§è ¨ÐàÃÕ¡ÊÀÒÇйÕé Ç Ò ºÑÊÇ Ò§ áÅÐàÁ×Íè µ ͧ¡ÒõԴµ ͡ѺºÑÊ I2C ¨Ðµ ͧ» ͹Åͨԡ 1 ãË ·ÃÒ¹«ÔÊàµÍà ·Òí §Ò¹ áÅÐ ãË àÍÒµ ¾Øµ¢Í§ºÑÊ I2C ÍÍ¡ÁÒà» ¹ 0 à¹×èͧ¨Ò¡·ÃÒ¹«ÔÊàµÍà ¨Ð·íÒ¡ÒÃÅѴǧ¨Ã¢ÒàÍÒµ ¾ØµÅ§ ¡ÃÒÇ´ ÊíÒËÃѺÃÒÂÅÐàÍÕ´¡ÒÃ㪠§Ò¹Ãкº ºÑÊ I2C ¨Ð¡Å ÒǶ֧ÍÕ¡¤Ãѧé ã¹ÀÒÂËÅѧ 3. ¾Íà µ Status 㪠µÒí á˹ §¢Ò 15,13,12,10 áÅÐ 11 ¢Í§¾Íà µ¢¹Ò¹ â´Â¢ÒàËÅ Ò¹Õàé » ¹ ¢ÒÍÔ¹¾Øµ ´Ñ§¹Ñ¹é äÍ«Õº¿Ñ à¿Íà ·¹Õè Òí ÁÒµ Í´ ǨÐà» ¹¡ÒÃÃѺÊÑ­­Ò³ÍÔ¹¾Øµ¨Ò¡ÀÒ¹͡áÅÐÊ §ÊÑ­­Ò³ ä»ãË ¡ºÑ ¾Íà µ¢¹Ò¹ «Ö§è µÃ§¢ ÒÁ¡Ñº 2 ¾Íà µáá äÍ«Õº¿Ñ à¿Íà ·ãÕè ª Â§Ñ à» ¹àºÍà 74HC541 Ê Ç¹ ÍÔ¹¾Øµ¢Í§¾Íà µ Status ¨Ðµ Íàª×Íè Á¡Ñº¤Í¹à¹ç¡àµÍà STATUS ·Õ¨è ´Ñ ¢ÒµÒÁÁҵðҹ UIC-10 ઠ¹ ¡Ñ¹ â´Â㪠§Ò¹à¾Õ§ 5 µíÒá˹ §à· Ò¹Ñ¹é ¤×Í S3, S4, S5, S6 áÅÐ S7 â´Â¢Ò S7 à» ¹¢ÒÍÔ¹¾ØµãË ¡ºÑ ºÑÊ I2C ´ Ç ¢Ò¾Íà µ Status ·Ñ§é ËÁ´ËÅѧ¨Ò¡¼ Ò¹ºÑ¿à¿Íà ¨Ðä»ÃÇÁ¡Ñ¹·Õ¤è ͹à¹ç¡àµÍà P-BUS ¹Í¡¨Ò¡¹Õé P-Board ä´ àµÃÕÂÁ¤Í¹à¹ç¡àµÍà ÊÒí ËÃѺàª×Íè Áµ ͡ѺâÁ´ÙÅ LCD ẺÍÑ¡¢ÃÐ ¢¹Ò´ 16 µÑÇÍÑ¡Éà 1 ËÃ×Í 2 ºÃ÷ѴàÍÒäÇ â´Â¡íÒ˹´âËÁ´¡ÒõԴµ ͡ѺâÁ´ÙÅ LCD à» ¹áºº 4 ºÔµ «Ö§è 㪠ÊÒÂÊÑ­­Ò³ D4-D7 ¨Ò¡¾Íà µ Data ¨Ðµ ÍࢠҡѺ¢Ò D4-D7 ¢Í§âÁ´ÙÅ LCD Ê Ç¹¢Ò C0 ¢Í§¾Íà µ Control ¨Ðµ ÍࢠҡѺ¢Ò E ¢Í§âÁ´ÙÅ LCD ¢Ò C3 ¢Í§¾Íà µ Control ¨Ðµ ÍࢠҡѺ¢Ò RS ¢Í§âÁ´ÙÅ LCD áÅÐà¹×Íè §¨Ò¡¡ÒõԴµ ͡ѺâÁ´ÙÅ LCD ¨Ðà» ¹¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Í ҧà´ÕÂÇ ´Ñ§¹Ñ¹é ¢Ò R/W ¢Í§âÁ´ÙÅ LCD ¨Ö§äÁ µÍ §ãª §Ò¹¢Ò¹Õé ãË µÍ ŧ¡ÃÒÇ´ P-Board 㪠ä¿àÅÕ駨ҡÀÒ¹͡» ͹ࢠÒÁҷҧᨠ¡ÍÐá´»àµÍà ¼ Ò¹ä´âÍ´«Ö觵 ͡ѹ㹠ÅѡɳкÃÔ´¨ à¾×Íè ¨Ñ´¢ÑÇé ¢Í§ä¿àÅÕÂé §º¹ P-Board ãËÁ ¨Ò¡¹Ñ¹é ¨ÐÊ §¼ Ò¹ä»Âѧǧ¨ÃàáÙàÅàµÍà à¾×Íè á»Å§ áç´Ñ¹ãË à· Ò¡Ñº +5V ÊíÒËÃѺ໠¹ä¿àÅÕÂé §ÍØ»¡Ã³ º¹ºÍà ´ áÅÐà» ¹ä¿àÅÕÂé §ãË ¡ºÑ ǧ¨Ãµ ; ǧ µ Ò§æ ·Õàè ª×Íè Áµ ͡ѹ¼ Ò¹¤Í¹à¹ç¡àµÍà P-BUS , DATA BUS áÅкÑÊ I2C

EX-01 : ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ ºÍà ´ EX-01 áÊ´§Ç§¨Ã´Ñ§ã¹ÃÙ»·Õè 3-4 ÊÒÁÒöàª×Íè Áµ ͡Ѻ P-Board ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà P-BUS áÅÐ DATA BUS º¹ºÍà ´ÁÕ LED ÍÂÙ· §Ñé ËÁ´ 16 ´Ç§ Ạ§ÍÍ¡à» ¹ 2 ªØ´ ªØ´ÅÐ 8 ´Ç§ ¢ÑºãË ·Òí §Ò¹¼ Ò¹·Ò§äÍ«Õº¿Ñ à¿Íà àºÍà 74HC541 â´Âä´ ÃºÑ ä¿àÅÕÂé §ÁÒ¨Ò¡ÃкººÑÊ ÊíÒËÃѺ»ÃÐ⪹ ¢Í§ºÍà ´ EX-01 ¤×Í㪠áÊ´§¼ÅàÍÒµ ¾µØ µ Ò§æ ¢Í§ P-Board àÁ×Íè ä´ ÃºÑ ¡Òà ÊÑ§è §Ò¹¨Ò¡¤ÍÁ¾ÔÇàµÍà â´Â¡ÒÃàª×Íè Áµ ÍÃÐËÇ Ò§ºÍà ´ EX-01 ¡Ñº P-Board ¨Ð㪠ÊÒ 2 ÃٻẺ ¤×Í ÊÒÂàª×Íè Áµ ÍẺ IDC-10 áÅÐÊÒÂàª×Íè Áµ ÍẺ IDC-20 ¢Ö¹é ÍÂÙ¡ ºÑ Ç Òµ ͧ¡ÒÃàª×Íè Áµ ͡ѺºÍà ´ EX-01 ã¹ÃٻẺ㴠àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 26


K102

K103

DATA BUS #1

DATA BUS #2

(UIC-10)

EX-01 LED display board

(UIC-10)

+5V D0 D2 D4 D6

+5V D0 D2 D4 D6

D1 D3 D5 D7

D1 D3 D5 D7

K101

P-BUS (IDC-20)

,% 3%

10

3$ 3# 3" 3! 3

R108

2 3 4 5 6 7 8 9

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

9

3$ 3# 3" 3! 3

C101 0.1/50V

2 3 4 5 6 7 8 ,$ ,# ," ,! ,

D1 D3 D5 D7 C1 C3

20

3 3

D0 D2 D4 D6 C0 C2

+5V

, ,

+5V

R116

R109

LED108

D0 D1 D2 D3 D4 D5 D6 D7

IC102 74HC541

18 17 16 15 14 13 12 11

R101-R108 220 x8 LED101

1 19

R109-R116 220 x8 LED109

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

ÃÙ»·Õè 3-4 ǧ¨ÃÊÁºÙó ¢Í§ EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ

EX-03 : ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ ºÍà ´ EX-03 ÁÕǧ¨ÃáÊ´§´Ñ§ÃÙ»·Õè 2-5 º¹ºÍà ´ EX-03 ÁÕÊÇÔµª ¡´µÔ´»Å Í´ѺáÅдԻ ÊÇÔµª Í ҧÅÐ 8 ¨Ø´ ã¹ÊÀÒÇл¡µÔ·äÕè Á ä´ ¡´ÊÇÔµª ËÃ×ÍàÅ×Íè ¹´Ô»ÊÇÔµª ãË ON Åͨԡ·Õàè ÍÒµ ¾µØ ¢Í§ ÊÇÔµª ¨Ðà» ¹Åͨԡ 1 à¹×Íè §¨Ò¡µ ͵Ñǵ Ò¹·Ò¹¤ Ò 10kΩ ¾ÙÅÍÑ»àÍÒäÇ àÁ×Íè ÁÕ¡Òá´ÊÇÔµª ¨Ðà» ¹ ¡Òõ ͢ҢͧÊÇÔµª ŧ¡ÃÒÇ´ ·íÒãË ÁÊÕ ¶Ò¹ÐÅͨԡàÁ×Íè ¡´ÊÇÔµª ෠ҡѺ 0 ºÍà ´ EX-03 Í͡ẺÁÒãË ãª ÊÒí ËÃѺÊà ҧÊÑ­­Ò³´Ô¨µÔ ÍÅÍÔ¹¾Øµà¾×Íè Ê §à¢ Òä»Âѧ¾Íà µ ¢Í§¤ÍÁ¾ÔÇàµÍà â´ÂÅѡɳТͧÊÑ­­Ò³ÍÔ¹¾ØµÁÕ 2 ÅѡɳФ×Í à» ¹ÊÑ­­Ò³¢ ÍÁÙŤ§·Õáè ÅÐà» ¹ ÊÑ­­Ò³¾ÑÅÊ â´Â´Ô»ÊÇÔµª º¹ºÍà ´ EX-03 ¨Ð·íÒ˹ Ò·ÕÊè à ҧ¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµ·Õ¤è §·Õè ¨¹¡Ç Ò¨ÐÁÕ ¡ÒÃà»ÅÕÂè ¹á»Å§ ã¹¢³Ð·ÕÊè ÇÔµª ¡´µÔ´»Å Í´Ѻ¨ÐãË Ê­ Ñ ­Ò³ÍÔ¹¾Øµà» ¹áºº¾ÑÅÊ ¡Å ÒǤ×Í àÁ×Íè ¡´áÅлŠÍÂÊÇÔµª ¨Ðà¡Ô´¾ÑÅÊ 1 ÅÙ¡ Ê §ÍÍ¡ä»ÂѧàÍÒµ ¾µØ ¢Í§ºÍà ´µ Íä» àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 27


S301 D0 S302 D1 S303 D2 S304 D3 S305 D4 S306 D5 S307 D6

R301 10k*8

+5V K301 DATA BUS

S309 DIP SW.-8

(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 Switch input board

EX-03 ºÍà ´ÊÇÔµª 16 ª ͧ

´Ô»ÊÇÔµª 8 ª ͧ ¾Ã ÍÁµÑǵ Ò¹·Ò¹¾ÙÅÍÑ» l ÊÇÔµª ¡´µÔ´»Å Í´Ѻ 8 ª ͧ¾Ã ÍÁµÑǵ Ò¹·Ò¹¾ÙÅÍÑ» l ¤Í¹à¹ç¡àµÍà DATA BUS ÊíÒËÃѺàª×Í è Áµ ͡Ѻ PBoard áÅÐ S-Board l

ÃÙ»·Õè 3-5 ǧ¨Ã¢Í§ EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ ºÍà ´ EX-03 Áդ͹à¹ç¡àµÍà ÊÒí ËÃÑºÊ §ÊÑ­­Ò³ÍÍ¡ 2 ªØ´ ¨Ñ´¢ÒãË à¢ Ò¡Ñº¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ P-Board áÅкÍà ´Í×¹è æ 㹪ش·´Åͧ NX-2000 ºÍà ´ EX-03 ¨Ð¶Ù¡¹íÒÁÒ㪠㹠¡Ò÷´Åͧ·Õè 3 àÃ×Íè §¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ´ ǤíÒÊѧè INP

ÊÃØ»

¡ÒõԴµ ͡Ѻ¾Íà µ¢¹Ò¹àº×Íé §µ ¹¹Ñ¹é ¼Ùã ª §Ò¹ÊÒÁÒö㪠¤Òí ÊÑ§è ¾×¹é °Ò¹ã¹ Visual BASIC ÁÒ ª ÇÂ㹡ÒõԴµ Íä´ áÅÐà¾×Íè ãË ÊÒÁÒö㪠§Ò¹ä´ Í ҧÁÕ»ÃÐÊÔ·¸ÔÀÒ¾ ¤íÒÊÑ§è ¡Ò÷íÒ§Ò¹·Ò§ÅͨԡÁÕ »ÃÐ⪹ Í ҧÁҡ㹡ÒáíÒ˹´¢ ÍÁÙÅã¹ÃдѺºÔµ à¾×Íè ãË ä´ ¼ÅÅѾ¸ µÒÁµ ͧ¡ÒÃ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 28


¡Ò÷´Åͧ·Õè 1 ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ·Ò§¾Íà µ Data ´ ǤíÒÊѧè OUT ¨Ò¡ Visual BASIC ¼ Ò¹·Ò§ P-Board à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹

¡Ò÷´Åͧ 1.1 㪠ÊÒÂàª×Íè Áµ ͨҡ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà ࢠҡѺ P-Board 1.2 㪠ÊÒ IDC-10 àª×Íè Áµ Í DATA BUS ¢Í§ P-Board ࢠҡѺ DATA BUS ¢Í§ºÍà ´ EX-01 1.3 à» ´â»Ãá¡ÃÁ Visual BASIC ¢Ö¹é ÁÒ㪠§Ò¹ 1.4 ä»·Õàè Á¹Ù Project àÃÕ¡¤íÒÊѧè Add File áÅ Çà¾ÔÁè ä¿Å INPOUT32.BAS «Ö§è ÍÂÙ㠹ἠ¹«Õ´ÃÕ ÍÁ PC interface : Parallel port Experiment ŧä»ã¹ Project ·ÕËè ¹ Òµ Ò§ Project ¨Ð»ÃÒ¡¯ä¿Å INPOUT32.BAS 1.5 ·Õâè »Ãá¡ÃÁ Visual BASIC ãË ÇÒ§ Command Button ŧ价Õè Form1 2 µíÒá˹ § ´Ñ§áÊ´§ ã¹ÃÙ»·Õè P1-1 1.6 ´ÑºàºÔéŤÅÔé¡·Õè Command1 à¾×èÍࢠÒÊÙ àÁ¹Ù View Code áÅ Çà¢Õ¹â»Ãá¡ÃÁãË ¡Ñºà˵ءÒó Command1_Click ´Ñ§¹Õé Private Sub Command1_Click() Out &H378, &HFF End Sub

1.7 ´ÑºàºÔÅé ¤ÅÔ¡é ·Õè Command2 áÅ Çà¢Õ¹«ÍÃ Ê â»Ãá¡ÃÁãË ¡Ñºà˵ءÒó Command2_Click ´Ñ§¹Õé

ÃÙ»·Õè P1-1 ¡ÒÃÇÒ§ Command Button

Private Sub Command2_Click() Out &H378, 0 End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 29


ÃÙ»·Õè P1-2 ˹ Òµ Ò§ Device Manager ÊíÒËÃѺ ÃÙ»·Õè P1-3 ˹ Òµ Ò§ Resource áÊ´§áÍ´µÃǨÊͺÎÒà ´áÇà à´Ãʢͧ¾Íà µ¢¹Ò¹ 1.8 ·íÒ¡Òè ÒÂä¿ãË ¡ºÑ P-Board 1.9 Ãѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ¨Ò¡¹Ñ¹é ·íÒ¡Òá´»ØÁ Command1 ÊѧࡵؼšÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ·Õè LED º¹ºÍà ´ EX-01 ¶ Òâ»Ãá¡ÃÁ·íÒ§Ò¹¶Ù¡µ ͧ LED ·Ñ§é 8 ´Ç§¨ÐµÔ´ÊÇ Ò§·Ñ§é ËÁ´ 1.10 ·íÒ¡Òá´»ØÁ Command2 Êѧࡵ¼Å¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ·Õè LED ¶ Òâ»Ãá¡ÃÁ·íÒ§Ò¹ ¶Ù¡µ ͧ LED ¨Ð´Ñº·Ñ§é ËÁ´ 1.11 ¶ Òâ»Ãá¡ÃÁ·íÒ§Ò¹äÁ ¶¡Ù µ ͧãË µÃǨÊͺ´ÙÇÒ ¾Íà µ¢¹Ò¹·Õãè ª ÍÂÙ¹ ¹Ñé ÁÕµÒí á˹ §áÍ´à´ÃÊÍÂÙ· Õè 378H ઠ¹à´ÕÂǡѺµÑÇÍ ҧ¹ÕËé Ã×ÍäÁ â´Â㪠àÁÒÊ ¤ÅÔ¡é ·Õè My Computer ¨Ò¡¹Ñ¹é ¤ÅÔ¡é àÁÒÊ ¢ÇÒáÅ Ç àÅ×Í¡ Property áÅÐàÅ×Í¡ä»·Õáè ·ç» Device Manager ¨Ð»ÃÒ¡®Ë¹ Òµ Ò§´Ñ§áÊ´§ã¹ÃÙ»·Õè P1-2 àÅ×Í¡·Õè Printer Port áŠǤÅÔé¡·Õè»Ø Á Property àÅ×Í¡á·ç»ä»·Õè Resource ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§´Ñ§ áÊ´§ã¹ÃÙ»·Õè P1-3 1.12 ã¹Ë¹ Òµ Ò§¹Õ¨é ÐáÊ´§µíÒá˹ §áÍ´à´Ãʢͧ¾Íà µ¢¹Ò¹·Õãè ª §Ò¹ÍÂÙã ¹¢³Ð¹Ñ¹é µíÒá˹ §áÍ´ à´ÃʵÑÇàÅ¢´ ҹ˹ ÒÊØ´ (0378) à» ¹µíÒá˹ §áÍ´à´Ãʢͧ¾Íà µ DATA «Ö§è ¶ ÒµíÒá˹ §áÍ´à´ÃÊ ¢Í§¼Ùã ª à» ¹µíÒá˹ §Í×¹è æ àÇÅÒà¢Õ¹â»Ãá¡ÃÁ¨Ðµ ͧÃкصÒí á˹ §áÍ´à´ÃÊàËŠҹѹé ãË µÃ§´ Ç ¨Ö§¨ÐÊÒÁÒöàË繡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é ·Õè LED º¹ºÍà ´ Ex-01 ä´ 1.13 ¶ Òâ»Ãá¡ÃÁáÊ´§¢ ͼԴ¾ÅÒ´´Ñ§ã¹ÃÙ»·Õè P1-4 ¹Ñè¹ËÁÒ¤ÇÒÁÇ Ò¼Ù ãª §Ò¹ÂѧäÁ ä´ ·íÒ¡Òà ¤Ñ´ÅÍ¡ä¿Å io.dll ¨Ò¡á¼ ¹«Õ´ÃÕ ÍÁ PC interface : Parallel port Experiment ä»äÇ ã¹â¿Åà´Íà SYSTEM ¢Í§ÇÔ¹â´ÇÊ «Ö§è ·íÒãË â»Ãá¡ÃÁËÒä¿Å ¹äÕé Á ¾ºáÅÐàÃÕ¡㪠§Ò¹¤íÒÊѧè OUT äÁ ä´ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 30


ÃÙ»·Õè P1-4 ˹ Òµ Ò§áÊ´§¤ÇÒÁ ¼Ô´¾ÅÒ´àÁ×Íè ¤ ¹ËÒä¿Å io.dll äÁ ¾º 1.14 ¶ Òâ»Ãá¡ÃÁ·íÒ§Ò¹»¡µÔ ãË ¼ãÙ ª §Ò¹·´ÅÍ§Ê §¤ ÒÍ×¹è æ Í͡仺 Ò§ ઠ¹ Ê §¤ Ò &H55 ÍÍ¡ä» (OUT &H378,&H55 ) ¨ÐàËç¹ LED µÔ´áÅдѺÊÅѺ¡Ñ¹ à¹×Íè §¨Ò¡¤ ÒµÑÇàÅ¢°Ò¹Êͧ¢Í§ 55H ¤×Í 01010101 «Ö§è ¡ÒÃÊ §¤ Ò 1 Í͡仡çà» ¹¡Ò÷íÒãË LED µÔ´ÊÇ Ò§¹Ñ¹è àͧ Ê Ç¹¤ Ò 0 ¡çà» ¹ ¡Ò÷íÒãË LED ´Ñº ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ·ÕÊè ÁºÙó ´äÙ ´ ¨Ò¡ä¿Å LAB01.VBP

¡Ò÷´Åͧ·Õè 2 ¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ ·Ò§¾Íà µ Control à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹

·ÄÉ®Õ ¡ÒÃÊ §¤ ÒÍÍ¡·Õ¾è Íà µ Control ÁÕÅ¡Ñ É³Ð¤Å Ò¡Ѻ¡ÒÃÊ §¤ ÒÍÍ¡·Õ¾è Íà µ Data ᵡµ Ò§¡Ñ¹ ·Õ¾è Íà µ Control ÁÕáÍ´à´ÃÊÍÂÙË Ò §¨Ò¡áÍ´à´Ãʢͧ¾Íà µ Data 2 µíÒá˹ § ¶ Ò¾Íà µ Data ÁÕ áÍ´à´ÃÊ෠ҡѺ 378H ¾Íà µ Control ¨ÐÁÕáÍ´à´ÃÊÍÂÙ· Õè 37AH ¢ Íᵡµ Ò§ÍÕ¡»ÃСÒÃË¹Ö§è ¤×Í ¾Íà µ Control ÁÕ¢ÒÊíÒËÃѺµÔ´µ Íà¾Õ§ 4 ¢Ò ᵡµ Ò§¡Ñº¾Íà µ Data ·ÕÁè ¶Õ §Ö 8 ¢Ò â´Â¢Ò¢Í§¾Íà µ Control ¨ÐÍÂÙ· Õè 4 ºÔµÅ Ò§ àÃÕ¡ºÔµàËÅ Ò¹ÕÇé Ò ºÔµ C0,C1,C2 áÅÐ C3 àÁ×Íè ¹íÒ ºÍà ´ EX-01 ÁÒµ Í àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 31


ࢠҡѺ¾Íà µ Control ¨ÐÁÕ¡ÒÃáÊ´§¼Åà¾Õ§ 4 ºÔµÅ Ò§à· Ò¹Ñ¹é ¹Í¡¨Ò¡¹Õºé µÔ C0,C1 áÅÐ C3 Âѧ ÁÕ¡ÒáÅѺʶҹд Ç ·íÒãË àÁ×Íè ÁÕ¡Òû ͹ 1 ÍÍ¡ä»·Õºè µÔ àËÅ Ò¹Õ¤é Ò ·Õáè Ê´§¨Ðà» ¹¤ ҵç¡Ñ¹¢ ÒÁ ¤×Í LED ¨Ð´Ñºá·¹ áµ àÁ×Íè » ͹ 0 ÍÍ¡ä» LED ¨Ö§µÔ´ Ê Ç¹ºÔµ C2 ¹Ñ¹é äÁ Á¡Õ ÒáÅѺʶҹÐã´ æ

¡Ò÷´Åͧ 2.1 àª×èÍÁµ ͤ͹à¹ç¡àµÍà CONTROL BUS ¢Í§ P-BOARD ¡Ñº¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ºÍà ´ EX-01 ´ ÇÂÊÒÂàª×Íè Áµ Í IDC-10 2.2 á¡ ä¢â»Ãá¡ÃÁ¢Í§ Command1_Click à» ¹ Private Sub Command1_Click() Out &H37A, &HF4 End Sub

2.3 á¡ ä¢â»Ãá¡ÃÁ¢Í§ Command2_Click à» ¹ Private Sub Command1_Click() Out &H37A, &HB End Sub

2.4 Ãѹâ»Ãá¡ÃÁ ·´Åͧ¡´»ØÁ Command1 áÅÐ Command2 áÅ ÇÊѧࡵ¼Å¡Ò÷íÒ§Ò¹ àÁ×èÍ ¡´»ØÁ Command2 ¨ÐàËç¹ LED º¹ºÍà ´ EX-01 ´Ñº·Ø¡´Ç§ ·Ñ§é ·Õ»è Í ¹¤ Ò 0BH ·Ñ§é ¹Õàé ¹×Íè §¨Ò¡ ÁÕ¡ÒáÅѺʶҹТͧºÔµ C0, C1 áÅÐ C3 ÍÂÙ áÅÐ àÁ×Íè ¡´·Õè Command1 LED ¨ÐµÔ´à¾Õ§ 4 ´Ç§à· ҹѹé à¹×Íè §¨Ò¡¢Ò·Õµè Í ãª §Ò¹¢Í§¾Íà µ Control ÁÕà¾Õ§ 4 µíÒá˹ § ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ·ÕÊè ÁºÙó ´äÙ ´ ¨Ò¡ä¿Å LAB02.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 32


¡Ò÷´Åͧ·Õè 3 ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ÍÔ¹¾Øµ¼ Ò¹¾Íà µ Status ´ ǤíÒÊѧè INP º¹ Visual BASIC à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board

1 á¼ ¹

2. EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ

1 á¼ ¹

3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-10

1 àÊ ¹

¡Ò÷´Åͧ 3.1 àª×Íè Áµ ÍÊÒ IDC10 ¨Ò¡ P-Board ã¹Ê ǹ¢Í§ STATUS BUS ä»Âѧ¤Í¹à¹ç¡àµÍà DATA BUS º¹ºÍà ´ EX-03 â´Âµ ÍࢠҡѺ´ Ò¹¢Í§´Ô»ÊÇÔµª 3.2 ã¹â»Ãá¡ÃÁ Visual BASIC ãË ·íÒ¡ÒÃÊà ҧ Form áÅÐÇÒ§»Ø Á Command áÅÐ Textbox ´Ñ§áÊ´§ã¹ÃÙ»·Õè P3-1 «Ö§è Text1 ¹Ñ¹é ¨ÐäÇ ãª ÊÒí ËÃѺ¡ÒÃáÊ´§¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ÊÇÔµª 3.3 ·íÒ¡ÒÃà¾ÔÁè ä¿Å INPOUT32.BAS ࢠÒä»ã¹â»Ãá¡ÃÁà¾×Íè ãË ÊÒÁÒö㪠§Ò¹¤íÒÊѧè Inp áÅФíÒ Êѧè Out ä´ 3.4 ·íÒ¡ÒÃà¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command1 ´Ñ§¹Õé Text1.Text = Inp(&H379)

3.5 ·´ÅͧÃѹâ»Ãá¡ÃÁãË ·Òí §Ò¹´Ù¤Ò ¡ÒÃà»ÅÕÂè ¹á»Å§·Õè Text1

ÃÙ»·Õè P3-1 ÇÒ§»ØÁ Command áÅÐ Textbox

3.6 ¨ÐÊÑ§à¡µä´ ÇÒ àÁ×Íè ·íÒ¡ÒÃà»ÅÕÂè ¹á»Å§ ÊÇÔµª ã¹µíÒá˹ §µÑ§é áµ 3-7 ¤ ÒµÑÇàÅ¢·ÕÍè Ò ¹ ä´ ¨ÐÁÕ¡ÒÃà»ÅÕè¹á»Å§ ÊíÒËÃѺµíÒá˹ § ÊÇÔµª µíÒá˹ § 0-2 ¹Ñé¹äÁ ÁÕ¡ÒÃà»ÅÕè¹á»Å§ à¹×èͧ¨Ò¡·Õè¾Íà µ Status äÁ ÁÕµíÒá˹ §¾Íà µ ¢Í§ºÔµàËÅ Ò¹ÕÍé ÂÙ ·Ñ§é ¹Õàé ¹×Íè §¨Ò¡¾Íà µ Status ÁÕºµÔ 㪠§Ò¹à¾Õ§ 5 ºÔµ¤×Í ºÔµ S3-S7 ෠ҹѹé â´Â·Õºè µÔ S7 ¨ÐÁÕ¡ÒáÅѺʶҹÐÍÂÙ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 33


3.7 ¡ÒÃÍ Ò¹¤ Òâ´Â㪠¤Òí Êѧè Text1.Text = Inp(&H379) ¹Ñ¹é ÍÒ¨·íÒãË ¤Ò ·ÕÍè Ò ¹ä´ ·Òí ¤ÇÒÁࢠÒã¨ ä´ ÂÒ¡à¹×Íè §¨Ò¡¤ Ò·ÕÍè Ò ¹ä´ à» ¹µÑÇàÅ¢°Ò¹ÊÔº à¾×Íè ãË ÍÒ ¹à¢ Òã¨ä´ §Ò µÑÇàÅ¢·ÕÍè Ò ¹¤ÇÃà» ¹µÑÇàÅ¢ °Ò¹ÊԺˡ ´Ñ§¹Ñ¹é ãË ·Òí ¡ÒÃá¡ ä¢â»Ãá¡ÃÁâ´Âà¾ÔÁè ¤íÒÊѧè Hex$ ࢠÒä»â´ÂãË ·Òí ¡ÒÃá¡ ä¢â»Ãá¡ÃÁ ´Ñ§¹Õé Text1.Text = Hex$(Inp(&H379))

3.8 ¤ Ò·ÕÍè Ò ¹ä´ ËÅѧ¨Ò¡·Õáè ¡ ä¢â»Ãá¡ÃÁä»áŠǨÐà» ¹àÅ¢°Ò¹ÊԺˡ áµ Í ҧäáçµÒÁ¤ ÒµÑÇàÅ¢ ·ÕÍè Ò ¹ä´ ¡Âç §Ñ ÁÕºµÔ ·Õäè Á ä´ ãª §Ò¹¤×ͺԵ S2,S1,S0 ¼ÊÁÍÂÙ´ Ç Â ã¹¡ÒÃÍ Ò¹¤ Òáµ ÅФÃÑ§é ·íÒãË ¤Ò ·Õè Í Ò¹ä´ äÁ ¶¡Ù µ ͧµÒÁ¤ÇÒÁà» ¹¨ÃÔ§ ´Ñ§¹Ñ¹é ãË ·Òí ¡ÒÃá¡ ä¢â»Ãá¡ÃÁÍÕ¡¤Ãѧé â´Â㪠¤Òí ÊÑ§è ·Ò§Åͨԡ ࢠÒÁÒª Ç â´Â·íÒ¡ÒÃá¡ ä¢â»Ãá¡ÃÁ´Ñ§¹Õé Text1.Text = Hex$(Inp(&H379) And &HF8 )

3.9 ¨Ò¡¡ÒÃá¡ ä¢â»Ãá¡ÃÁ ·íÒãË ¤Ò ·ÕÍè ÂÙã ¹ºÔµ S2,S1,S0 ÁÕ¤Ò à» ¹ 0 ·Ñ§é ËÁ´à¹×Íè §¨Ò¡¡Òà AND ºÔµàËÅ Ò¹Õ´é Ç Â 0 ¹Ñ¹è àͧ â´Â¤ Ò F8 àÁ×Íè à»ÅÕÂè ¹à» ¹àÅ¢°Ò¹Êͧ¡ç¤Í× 11111000 ¹Ñ¹è àͧ ·íÒãË ¤Ò ·Õáè Ê´§·Õè Text1 ¨Ö§à» ¹¤ Ò·Õäè ´ ¨Ò¡¡Òá´ÊÇÔµª ¨ÃÔ§ æ 3.10 ËÅѧ¨Ò¡·Õ·è Òí ¡ÒÃá¡ ä¢áÅ Ç ¨ÐÊѧࡵàËç¹Ç Ò·Õºè µÔ S7 ÂѧÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§·Õäè Á ¶¡Ù µ ͧ à¹×Íè §¨Ò¡ºÔµ S7 ¹Ñ¹é ¶Ù¡¡ÅѺʶҹÐäÇ ¶ Òµ ͧ¡ÒÃãË ÍÒ ¹¤ Òä´ ¶¡Ù µ ͧÁÒ¡¡Ç Ò¹Õ¨é е ͧ¡ÃзíÒ ¡Ò÷ҧÅͨԡÍÕ¡¤Ãѧé â´Âá¡ ä¢â»Ãá¡ÃÁ´Ñ§¹Õé Text1.Text = Hex$(Inp(&H379) And &HF8 Xor &H80)

3.11 àÁ×Íè ·íÒ¡ÒÃá¡ ä¢â»Ãá¡ÃÁáÅ Ç ºÔµ S7 ¨Ð¶Ù¡¡ÅѺʶҹÐãË ÁÊÕ ¶Ò¹ÐµÃ§¡Ñ¹¢ ÒÁà¹×Íè §¨Ò¡ ¤íÒÊѧè Xor â´Â¶ Òà» ¹¡Òà Xor ¤ Òã´ æ ¡Ñº¤ Ò·Õàè » ¹ 1 ¤ ҢͧµÑÇàÅ¢·Õºè µÔ ¹Ñ¹é ¨ÐÍ Ò¹¤ ÒÍÍ¡ÁÒ ä´ à» ¹¤ ҵç¡Ñ¹¢ ÒÁ 3.12 ãË ·Òí ¡Ò÷´Åͧà»ÅÕÂè ¹á»Å§¤ Ò·Õ´è »Ô ÊÇÔµª à¾×Íè ´ÙÇÒ ¤ Ò·ÕÍè Ò ¹ä´ ¹¹Ñé ¶Ù¡µ ͧËÃ×ÍäÁ ËÅѧ¨Ò¡ à»ÅÕÂè ¹á»Å§¤ ÒÍÒ¨¨Ð¾ºÇ Ò µ ͧ¡´ÊÇÔµª Command1 ·Ø¡æ ¤Ãѧé à¾×Íè Í Ò¹¤ Ò «Ö§è äÁ Êдǡ¹Ñ¡ ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ·ÕÊè ÁºÙó ¢Í§¡Ò÷´Åͧ¢ Í·Õè 3.1-3.12 ´Ùä´ ¨Ò¡ ä¿Å LAB03A.VBP 3.13 ÁÕÇ¸Ô ·Õ ¨Õè зíÒãË â»Ãá¡ÃÁÍ Ò¹¤ ÒÍ ҧµ Íà¹×Íè §ä´ ¤Í× ãª ä·àÁÍà ÁÒª ÇÂ㹡ÒÃÍ Ò¹¤ Ò â´Â ãË ¼ãÙ ª §Ò¹à¾ÔÁè ä·àÁÍà ࢠÒä»ã¹â»Ãá¡ÃÁ´Ñ§ÃÙ»·Õè P3-2 3.14 ¨Ò¡¹Ñ¹é à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ ä·àÁÍà ´§Ñ ¹Õé Private Sub Timer1_Timer() Text1.Text = Hex$(Inp(&H379) And &HF8 Xor &H80) End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 34


ÃÙ»·Õè P3-2 à¾ÔÁè ä·àÁÍà à¾×Íè ª ÇÂãË ÊÒÁÒö ÃÙ»·Õè P3-3 ᡠ䢤 Ò Interval ã¹ Timer1 à¾×Íè ·íÒ§Ò¹ä´ Í ҧµ Íà¹×Íè § ¡íÒ˹´¤ÇÒÁàÃçÇ㹡Òõͺʹͧµ Í¡Òà à»ÅÕÂè ¹á»Å§¢Í§ÍÔ¹¾Øµ 3.15 ¨Ò¡¹Ñ¹é ·íÒ¡ÒÃᡠ䢤 Ò Interval ¢Í§ Timer1 ã¹Ê ǹ Property ãË Á¤Õ Ò à· Ò¡Ñº 500 ´Ñ§áÊ´§ ã¹ÃÙ»·Õè P3-3 «Ö§è ËÁÒ¶֧ àÁ×Íè â»Ãá¡ÃÁ·íÒ§Ò¹ä»ä´ 0.5 ÇÔ¹Ò·Õ ¨Ð¡ÃÐâ´´ÁÒ·íÒ§Ò¹·Õâè »Ãá¡ÃÁ  Í Timer1_Timer() áÅзíÒ¡ÒÃÍ Ò¹¤ ÒÊÇÔµª Í¹Ô ¾Øµ ¶Ö§µÍ¹¹Õ¶é Ò ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò·ÕÊè ÇÔµª ÍÔ¹¾Øµ ·ÕËè ¹ Ҩͧ͢¤ÍÁ¾ÔÇàµÍà ¡¨ç Ðà»ÅÕÂè ¹á»Å§¤ ÒµÑÇàÅ¢µÒÁ·Ñ¹·Õ ¶ Òµ ͧ¡ÒÃãË ¡ÒÃà»ÅÕÂè ¹ á»Å§·íÒä´ àÃçÇ¡Ç Ò¹Õé ÊÒÁÒö·íÒä´ â´Âà»ÅÕÂè ¹¤ Ò Interval ¢Í§ä·àÁÍà ãË ¹Í Âŧ 3.16 ¡ÒÃÍ Ò¹¤ Òâ´Â㪠¤Òí Êѧè Inp ¹Ñ¹é ÊÒÁÒö㪠§Ò¹¡Ñº¾Íà µ Data áÅоÍà µ Control ä´ ´Ç  ¶ Ò¼Ùã ª §Ò¹¡íÒ˹´âËÁ´¡ÒÃàª×Íè Áµ ͧ͢¾Íà µ¢¹Ò¹äÇ à» ¹áºº 2 ·ÔÈ·Ò§ (â´Â¾Íà µ¢¹Ò¹¢Í§ ¤ÍÁ¾ÔÇàµÍà ¨Ðµ ͧ໠¹áºº EPP ´ ÇÂ) áµ ¡ÒÃ㪠§Ò¹ã¹ÅѡɳйÕäé Á ¢Íá¹Ð¹íÒ à¹×Íè §¨Ò¡äÁ »ÅÍ´Àѵ ;Íà µ¢¹Ò¹àͧ à¹×Íè §¨Ò¡ºÒ§¤ÃÑ§é ¶ Ò¡íÒ˹´ãË ¾Íà µ Data ËÃ×;Íà µ Control à» ¹ àÍÒµ ¾µØ ÍÂÙ áÅ ÇÊ §¤ ÒÍÍ¡ÁÒà» ¹Åͨԡ 0 ã¹¢³Ðà´ÕÂǡѹÁÕ¡Òû ͹áç´Ñ¹Åͨԡ 1 ࢠҷվè Íà µ ¹Õàé ¾×Íè µ ͧ¡ÒáíÒ˹´ãË à» ¹ÍÔ¹¾Øµ ¨Ð·íÒãË ÀÒ¤ä´ÃàÇÍà ¢Í§¾Íà µ¢¹Ò¹àÊÕÂËÒÂä´ ´Ñ§¹Ñ¹é 㹡Òà Í͡Ẻ¡ÒÃàª×èÍÁµ ;Íà µ¢¹Ò¹¡ÑºÍØ»¡Ã³ ÀÒ¹͡µ ͧ¤íÒ¹Ö§¶Ö§Ê ǹ¹Õé´ Ç ÊíÒËÃѺ P-Board ·Õãè ª 㹡Ò÷´Åͧ¹Ñ¹é ¨Ð¡íÒ˹´ãË ¾Íà µ Data áÅоÍà µ Control ·íÒ˹ Ò·Õàè » ¹àÍÒµ ¾µØ à· Ò¹Ñ¹é ¶ Òµ ͧ¡ÒÃ㪠§Ò¹ÍÔ¹¾Øµµ ͧ㪠¾Íà µ Status ÁÒª Ç ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ·ÕÊè ÁºÙó ¢Í§¡Ò÷´Åͧ¢ Í·Õè 3.13-3.16 ´Ùä´ ¨Ò¡ ä¿Å LAB03B.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 35


..


º··Õè 4 ¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ¡ÃÐáÊÊÙ§ ¼ Ò¹¾Íà µ¢¹Ò¹ â´Â¤ÇÒÁÊÒÁÒö¾×é ¹ °Ò¹¢Í§¾Íà µ ¢¹Ò¹áÅ Ç äÁ Ê ÒÁÒö¹í Ò ä»¢Ñ º ÍØ » ¡Ã³ à ÍÒµ ¾Ø µ â´ÂµÃ§ä´ à¹×èͧ¨Ò¡¢ ͨíÒ¡Ñ´´ Ò¹¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊ ´Ñ§¹Ñ鹶 Òµ ͧ¡ÒùíÒàÍÒ¾Íà µ ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà 仢ѺÍØ»¡Ã³ ÀÒ¹͡¨Ðµ ͧÁÕǧ¨ÃºÑ¿à¿Íà ·Òí ˹ Ò·Õ¨è Ò Â¡ÃÐáÊãË à¾Õ§¾Í á¡ ¤ÇÒÁµ ͧ¡ÒâͧÍØ»¡Ã³ àÍÒµ ¾Øµ¹Ñé¹ Í ҧäáçµÒÁã¹Ê ǹ¢Í§Ç§¨ÃºÑ¿à¿Íà ¹Ñ鹡çÁÕ¢Õ´¤ÇÒÁ ÊÒÁÒö㹡Òè Ò¡ÃÐáÊä´ ÃдѺ˹֧è à· Ò¹Ñ¹é ¡Ã³Õ·µÕè Í §¡Òè Ò¾Åѧ§Ò¹ÊÙ§¨Ðµ ͧÁÕÍ»Ø ¡Ã³ ··Õè Òí ˹ Ò·Õè¨ ÒÂáç´Ñ¹áÅСÃÐáÊÊÙ§â´Â੾ÒÐ àÃÕ¡ÍØ»¡Ã³ àËÅ Ò¹ÕéÇ Ò ÍØ»¡Ã³ ¢Ñº ËÃ×Í ä´ÃàÇÍà (driver) «Ö§è ã¹·Õ¹è ¹Õé Òí ÁÒ͸ԺÒ·ѧé ÊÔ¹é 3 ÃٻẺ¤×Í ãª ·ÃÒ¹«ÔÊàµÍà ¢ºÑ , 㪠äÍ«Õ¢ºÑ áÅÐãª Í»Ø ¡Ã³ àª×Íè Á⧷ҧáʧËÃ×ÍÍͻⵠ¤»Ñ à»Íà (opto-coupler) ÊíÒËÃѺâËÅ´·Õµè Í §¡ÒáÃÐáÊÊÙ§ÁÒ¡æ ·íÒãË µ ͧÁÕ¡ÒÃá¡Ãкº¡ÃÒÇ´ ¢Í§Ãкº¤ÍÁ¾ÔÇàµÍà ÍÍ¡¨Ò¡Ç§¨ÃàÍÒµ ¾Øµ à¾×èÍÅ´ÊÑ­­Ò³Ãº¡Ç¹ áÅл ͧ¡Ñ¹¡Òà͹¡ÅѺ¢Í§áç´Ñ¹áÅСÃÐáÊÊÙ§·ÕèÍҨࢠÒÁÒ·íÒ¤ÇÒÁàÊÕÂËÒÂá¡ ¾Íà µ¢¹Ò¹

¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà ¢Ñº ÁÕ´Ç Â¡Ñ¹ 3 ÃٻẺ¤×Í ãª ¢ºÑ Ẻà´ÕÂè Ç, Ẻ¤ÒÊऴ áÅÐẺ´ÒÃ Å§Ô µÑ¹

¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà ¢ºÑ Ẻà´ÕÂè Ç ¡ÒâѺâ´ÂÇÔ¸¹Õ àÕé ËÁÒÐÊÁÊíÒËÃѺâËÅ´·ÕÁè ¤Õ ÇÒÁµ ͧ¡ÒáÃÐáʻҹ¡ÅÒ§ µÑ§é áµ 30-200 mA ÍÒ·Ô ÃÕàÅ ¡Òí ÅѧµèÒí 仨¹¶Ö§»Ò¹¡ÅÒ§·ÕÁè ¤Õ Ò ¤ÇÒÁµ Ò¹·Ò¹¢Í§¢´ÅÇ´ÀÒÂã¹ÃÕàÅ äÁ µÒèí ¡Ç Ò 100 Ω, ËÅÍ´ä¿¡íÒÅѧµèÒí áÅÐÁÍàµÍà 俵碹ҴàÅç¡ ÁÕǧ¨ÃµÑÇÍ ҧµÒÁÃÙ»·Õè 4-1 ã¹ÃÙ»·Õè 4-1 à» ¹¡Òõ Í·ÃÒ¹«ÔÊàµÍà ࢠҡѺ¢Ò¾Íà µ Data ºÔµ D0 â´ÂÁÕµÇÑ µ Ò¹·Ò¹ R1 ·íÒ˹ Ò·Õ¨è Òí ¡Ñ´¡ÃÐáÊ·Õäè ËÅࢠҢÒàºÊ¢Í§·ÃÒ¹«ÔÊàµÍà Q1 «Ö§è ¨Ð·íÒ§Ò¹¡çµÍ àÁ×Íè ºÔµ D0 ÁÕʶҹРÅͨԡ໠¹ 1 àÁ×Íè Q1 ·íÒ§Ò¹ ¡ç¨Ðà¡Ô´¡ÃÐáÊäËż Ò¹ RL «Ö§è à» ¹âËÅ´µ ÍÍÂÙ· Ò§àÍÒµ ¾µØ ·Õ¢è Ò ¤ÍÅàÅç¡àµÍà ¢Í§ Q1 ¡ÃÐáÊâËÅ´ÊÙ§ÊØ´ (ILmax) ÁÕ¤Ò à· Ò¡Ñº 12V/300Ω = 40mA ¶Ö§áÁ ÇÒ Q1 àºÍà 2N3904 ÁÕ¤Ò ¡ÃÐáʤÍÅàÅç¡àµÍà ʧ٠ÊØ´¶Ö§ 100 mA áµ ã¹·Ò§»¯ÔºµÑ ¨Ô ÃÔ§äÁ ¤ÇÃÍ͡Ẻ ãË ·ÃÒ¹«ÔÊàµÍà ·íÒ§Ò¹¶Ö§¾Ô¡Ñ´ÊÙ§ÊØ´  ҹ»ÅÍ´ÀÑ¢ͧ·ÃÒ¹«ÔÊàµÍà ¤ÇÃÍÂÙ äÁ à¡Ô¹¤ÃÖè§Ë¹Ö觢ͧ ÍѵÃÒ¡Ò÷¹ä´ ʧ٠ÊØ´ ´ Ç¡ÒèѴǧ¨ÃµÒÁÃÙ»·Õè 4-1 ÊÒÁÒö㪠ʭ Ñ ­Ò³¨Ò¡Ç§¨ÃºÑ¿à¿Íà ÀÒÂã¹ ¾Íà µ¢¹Ò¹¡Ãеع ãË ·ÃÒ¹«ÔÊàµÍà ·Òí §Ò¹à¾×Íè ¢ÑºÃÕàÅ ¢¹Ò´àÅç¡ä´ Í ҧ»ÅÍ´ÀÑ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 37


+12V

+12V

RL 300Ω (min)

R1 1k

IC 40mA (max)

D0 Q1 2N3904

+12V RL 120Ω (min)

RL 300Ω R1 1k D0 Q1 2N3904

Q2 TIP31

IC 600mA (max)

ÃÙ»·Õè 4-1 ¡ÒâѺâËÅ´â´Â㪠·ÃÒ¹«ÔÊàµÍà ÃÙ»·Õè 4-2 ¡ÒâѺâËÅ´â´Â㪠·ÃÒ¹«ÔÊàµÍà µÑÇà´ÕÂÇ µ ͡ѹẺ¤ÒÊऴ

¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà ¢ºÑ Ẻ¤ÒÊऴ à¹×Íè §¨Ò¡¢ ͨíÒ¡Ñ´¢Í§·ÃÒ¹«ÔÊàµÍà ¢¹Ò´àÅç¡ ·íÒãË äÁ ÊÒÁÒö¢ÑºâËÅ´·Õµè Í §¡ÒáÃÐáÊÊÙ§ä´ ¨Ö§µ ͧ㪠·ÃÒ¹«ÔÊàµÍà ·ÕèÁÕÍѵÃÒ¡Ò÷¹¡ÃÐáʤÍÅàÅç¡àµÍà ·ÕèÊÙ§¢Öé¹ÁÒ㪠¢Ñº áµ ·ÃÒ¹«ÔÊàµÍà ·Õè ÊÒÁÒö¢ÑºâËÅ´¡íÒÅѧ»Ò¹¡Åҧ仨¹¶Ö§¡íÒÅѧÊÙ§ ¨ÐÁÕ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹ª Ò¡Ç Ò·ÃÒ¹«ÔÊàµÍà ¡íÒÅѧµèÒí ã¹Ãкº¤ÍÁ¾ÔÇàµÍà ·ÁÕè ¤Õ ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹ÊÙ§àÁ×Íè µ ͧ¡ÒùíÒÁҢѺâËÅ´¡íÒÅѧ»Ò¹¡ÅÒ§ ¨Ö§µ ͧ㪠¡ÒâѺẺ¤ÒÊऴ â´ÂãË ¤ÍÁ¾ÔÇàµÍà ¡ÃÐµØ ¹·ÃÒ¹«ÔÊàµÍà ¡íÒÅѧµèíÒ·íÒ§Ò¹à¾×èÍ仢Ѻ ·ÃÒ¹«ÔÊàµÍà ¡Òí Åѧ§Ò¹»Ò¹¡ÅÒ§µ Íä» ´Ñ§áÊ´§Ç§¨Ãã¹ÃÙ»·Õè 4-2 ¨Ò¡Ç§¨ÃàÁ×èÍ·ÃÒ¹«ÔÊàµÍà Q1 ·íÒ§Ò¹´ Ç¡Òû ͹Åͨԡ 1 ÍÍ¡·Ò§ºÔµ D0 ¢Í§ ¾Íà µ Data ¨Ðà¡Ô´¡ÃÐáÊäËż Ò¹ R2 ä»à¢ ÒÂѧàºÊ¢Í§·ÃÒ¹«ÔÊàµÍà Q2 à¾×Íè ¡Ãеع ãË Q2 ·íÒ§Ò¹ à¡Ô´¡ÃÐáÊäËż Ò¹âËÅ´ RL ÁÕ¤ Ò෠ҡѺ 600mA ·íÒãË ÊÒÁÒö¹íÒ仢ѺÁÍàµÍà 俵çËÃ×Í Êàµç»à»Íà ÁÍàµÍà ¢¹Ò´àÅç¡ä´ +12V RL 16Ω (min)

¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà Ẻ´ÒÃ Å§Ô µÑ¹ ¢ÑºâËÅ´¡ÃÐáÊÊÙ§

¨Ò¡¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà µÍ ¡Ñ¹áºº¤ÒÊR1 ऴà¾×Íè à¾ÔÁè ¤ÇÒÁÊÒÁÒö㹡ÒâѺ¡ÃÐáÊãË Ê§Ù 1k IC ¢Öé¹ ¹íÒÁÒÊÙ ¡ÒÃ㪠·ÃÒ¹«ÔÊàµÍà ÍաẺ˹Ö觷Õè D0 750mA ºÃèطÃÒ¹«ÔÊàµÍà 2 µÑǵ ͡ѹẺ´Òà ÅÔ§µÑ¹ (max) Q1 ÀÒÂãµ µÑǶѧà´ÕÂǡѹ ·íÒãË ÊÒÁÒö¢Ñº¡ÃÐáÊ 2N6387 àÍÒµ ¾µØ ä´ Ê§Ù áÅÐÁÕ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹ÊÙ§´ Ç â´Â㪠ÍØ»¡Ã³ à¾Õ§µÑÇà´ÕÂÇ Ê §¼ÅãË ¢¹Ò´¢Í§ ÃÙ»·Õè 4-3 ¡ÒâѺâËÅ´â´Â㪠·ÃÒ¹«ÔÊàµÍà ǧ¨ÃàÅç¡Å§ ´Ñ§áÊ´§Ç§¨ÃµÒÁÃÙ»·Õè 4-3 Ẻ´ÒÃ Å§Ô µÑ¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 38


VL(max) +50V

+5V 9 D6 D5 D4 D3 D2

ULN2003

7

10

6

11

5

12

4

13

3

14

2

15

1

16

Q6

IL(max) 500mA

Q5 Q4 Q3 Q2

¨Ò¡Ç§¨Ã Q1 «Ö§è à» ¹·ÃÒ¹«ÔÊàµÍà Ẻ ´Òà ÅÔ§µÑ¹ÊÒÁÒö¢Ñº¡ÃÐáÊàÍÒµ ¾Øµä´ ÊÙ§¶Ö§ 750mA ´ Ç¡Òõ ÍࢠҡѺ¢Ò¾Íà µ¢¹Ò¹â´Â ¼ Ò¹µÑǵ Ò¹·Ò¹¨íÒ¡Ñ´¡ÃÐáÊà¾Õ§µÑÇà´ÕÂÇáÅÐäÁ µ ͧµ Í·ÃÒ¹«ÔÊàµÍà Ẻ¤ÒÊऴ ·íÒãË Á¤Õ ÇÒÁ àÃçÇ㹡Ò÷íÒ§Ò¹ÊÙ§ µÅÍ´¨¹ÊÒÁÒö¢Ñº¡ÃÐáÊ àÍÒµ ¾Øµä´ ÊÙ§¾ÍÊÁ¤ÇÃ

¡ÒÃ㪠äͫբѺ

äÍ«Õ·Õè㪠㹡ÒâѺâËÅ´¡ÃÐáÊÊÙ§ÁÑ¡¨Ð D0 Q1 ÁÕǧ¨Ã·Ò§àÍÒµ ¾Øµà» ¹áºº¤ÍÅàÅç¡àµÍà ໠´ ·íÒãË ÊÒÁÒö㪠¡ºÑ áç´Ñ¹ÊÙ§ ÊíÒËÃѺäÍ«Õ¢ºÑ ËÃ×Í 8 äÍ«Õä´ÃàÇÍà ·ÂÕè ¡ÁÒ͸ԺÒ¤×ÍàºÍà ULN2003 à» ¹äÍ«Õ·ÕèÀÒÂ㹺ÃèØÍÔ¹àÇÍà àµÍà ࡵ 7 µÑÇ ÃÙ»·Õè 4-4 ¡ÒèѴ¢Ò¢Í§äÍ«ÕàºÍà ULN2003 ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§ ULN2003 ÁÕ´§Ñ ¹Õé ULN2003 ÁÕÃٻẺ¡ÒèѴ¢ÒáÅÐǧ¨ÃÀÒÂã¹áÊ´§ã¹ÃÙ»·Õè 4-4 ÀÒÂã¹ ULN2003 ºÃèØÍ¹Ô àÇÍà àµÍà ࡵẺ¤ÍÅàÅç¡àµÍà ໠´ 7 µÑÇ ãª ¡ºÑ áç´Ñ¹ä´ ʧ٠ÊØ´ +50V ¡ÃÐáÊàÍÒµ ¾µØ ÊÙ§ÊØ´ã¹áµ ÅТÒ෠ҡѺ 500mA ·Ñ§é ¹Õ¢é ¹Öé ÍÂÙ¡ ºÑ ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáʢͧáËÅ §¨ ÒÂä¿´ Ç ¹Í¡¨Ò¡¹Ñ¹é Âѧµ Íä´âÍ´» ͧ¡Ñ¹áç´Ñ¹Â ͹¡ÅѺ¨Ò¡ÍØ»¡Ã³ àÍÒµ ¾µØ ·ÕÁè âÕ ¤Ã§Êà ҧ໠¹¢´ÅÇ´äÇ ·Õè ·Ø¡¢ÒàÍÒµ ¾µØ ·íÒãË ÊÒÁÒö¢ÑºâËÅ´·Õàè » ¹¢´ÅÇ´ ÍÒ·Ô ÃÕàÅ ËÃ×ÍÁÍàµÍà 俵碹ҴàÅ硶֧¢¹Ò´ ¡Å񤊫 ·¹Ñ ·Õä´ ·¹Ñ ·Õ «Ö§è 㹪ش·´Åͧ NX-2000 â´ÂºÍà ´ EX-06 «Ö§è à» ¹ºÍà ´¢ÑºÃÕàÅ ¨Ð㪠äÍ«Õ àºÍà ULN2003 µÑǹÕàé » ¹ÍØ»¡Ã³ ËÅÑ¡ D1

Q1

¡ÒâѺâËÅ´â´Â㪠Íͻⵠ¤»Ñ à»ÅÍà 㹧ҹ·Õµè Í §ãª ¤ÍÁ¾ÔÇàµÍà ¤Çº¤ØÁâËÅ´·Õµè Í §¡ÒÃáç´Ñ¹áÅСÃÐáÊä¿¿ ÒÊÙ§ÁÒ¡æ ËÃ×Í à» ¹âËÅ´·Ò§ä¿ÊÅѺ Ëҡ㪠¾Íà µ¢¹Ò¹à¢ Ò令Ǻ¤ØÁâ´ÂµÃ§ÍÒ¨Ê §¼ÅàÊÕµ ÍÃкº¤ÍÁ¾ÔÇàµÍÃ ä´ à¹×Íè §¨Ò¡·Õâè ËÅ´¡íÒÅѧ俿 ÒÊÙ§¹Ñ¹é àÁ×Íè àÃÔÁè µ ¹ËÃ×ÍÊÔ¹é ÊØ´¡Ò÷íÒ§Ò¹¨Ðà¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§ ÃдѺáç´Ñ¹áÅСÃÐáÊä¿¿ ÒÍ ҧÁÒ¡ÁÒ¡áÅÐÃÇ´àÃçÇ «Ö§è ÍÒ¨·íÒÍѹµÃÒµ ÍÃкº¤ÍÁ¾ÔÇàµÍÃ ä´ ·íÒãË ¡ÒâѺâËÅ´àËÅ Ò¹Õ¨é §Ö µ ͧÍÒÈÑÂÍØ»¡Ã³ ¢ºÑ ÍÕ¡áººË¹Ö§è ·ÕÊè ÒÁÒöá¡Ãкº¡ÃÒÇ´ ·Ò§ä¿¿ Ò ¢Í§¤ÍÁ¾ÔÇàµÍà ÍÍ¡¨Ò¡âËÅ´ä´ ·íÒãË ¤ÍÁ¾ÔÇàµÍà »ÅÍ´ÀѨҡ俿 Ò¡ÃЪҡËÃ×Í·ÃÒ¹à«Õ¹µ (transient) áÅÐâËÅ´·Õäè ǵ ÍÊÑ­­Ò³ÃºÃǹ¡çÊÒÁÒö·íҧҹà ÇÁ¡Ñº¤ÍÁ¾ÔÇàµÍÃ ä´ ÍØ»¡Ã³ ¢ºÑ µÑÇ ¹Õ¤é Í× ÍØ»¡Ã³ àª×Íè Á⧷ҧáʧ ËÃ×Í Íͻⵠ¤»Ñ à»ÅÍà (opto-coupler) àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 39


(¢) Íͻⵠ¤»Ñ à»ÅÍà Ẻ (¡) Íͻⵠ¤»Ñ à»ÅÍà Ẻ àÍÒµ ¾µØ à» ¹â¿âµ ´ÒÃ Å§Ô µÑ¹ àÍÒµ ¾µØ à» ¹â¿âµ ·ÃÒ¹«ÔÊàµÍà ·ÃÒ¹«ÔÊàµÍÃ

(§) Íͻⵠ¤»Ñ à»ÅÍà Ẻ àÍÒµ ¾µØ à» ¹â¿âµ àÍÊ«ÕÍÒÃ

(¤) Íͻⵠ¤»Ñ à»ÅÍà Ẻ àÍÒµ ¾µØ à» ¹â¿âµ ä´áÍ¡

(¨) Íͻⵠ¤»Ñ à»ÅÍà Ẻ àÍÒµ ¾µØ à» ¹â¿âµ Åͨԡࡵ

ÃÙ»·Õè 4-5 ÊÑ­Åѡɳ ¢Í§Íͻⵠ¤»Ñ à»ÅÍà ã¹áººµ Ò§æ Íͻⵠ¤»Ñ à»ÅÍà ໠¹ÍØ»¡Ã³ ·ÁÕè ¡Õ ÒÃẠ§Ê ǹÍÔ¹¾ØµáÅÐàÍÒµ ¾µØ ÍÍ¡¨Ò¡¡Ñ¹·Ò§ä¿¿ ÒÍ ҧ ÊÔ¹é àªÔ§ ¡Òö Ò·ʹÊÑ­­Ò³ÃÐËÇ Ò§Ê Ç¹ÍÔ¹¾ØµáÅÐàÍÒµ ¾µØ ¨Ð㪠¡ÒÃàª×Íè Á⧷ҧáÊ§à· Ò¹Ñ¹é ·íÒãË ¡ÃÒÇ´ ¢Í§ÍÔ¹¾ØµáÅÐàÍÒµ ¾µØ äÁ àª×Íè Áµ ͡ѹ ´Ñ§¹Ñ¹é ¨Ö§ÊÒÁÒö¡íÒ˹´ãË ·Ò§ÍÔ¹¾Øµà» ¹Ç§¨Ãä¿¿ Ò ¡ÃÐáʵç áÅÐǧ¨Ã·Ò§àÍÒµ ¾µØ à» ¹Ç§¨Ãä¿¿ Ò¡ÃÐáÊÊÅÑºä´ ÀÒ¤ÍÔ¹¾Øµ¢Í§Íͻⵠ¤»Ñ à»ÅÍà â´ÂÊ Ç¹ãË­ ¨Ðà» ¹ LED ÍÔ¹¿ÃÒàô Ê Ç¹ÀÒ¤àÍÒµ ¾µØ ¨Ðà» ¹ÍØ»¡Ã³ ÊÒÃ¡Ö§è µÑǹíÒ·Õ·è Òí §Ò¹àÁ×Íè ä´ àÁ×Íè ÁÕáʧÁÒµ¡¡Ãзº ઠ¹ â¿âµ ·ÃÒ¹«ÔÊàµÍà , â¿âµ ´Òà ÅÔ§µÑ¹, â¿âµ Åͨԡ áÅÐâ¿âµ ä´áÍ¡ËÃ×Íâ¿âµ ä·ÃÔÊàµÍà ´Ñ§áÊ´§ÊÑ­Åѡɳ ¢Í§Íͻⵠ¤Ñ»à»ÅÍà Ẻµ Ò§æ ã¹ÃÙ»·Õè 4-5 ¡Ò÷íÒ§Ò¹¨ÐàÃÔèÁµ ¹´ Ç¡Òè ÒÂáç´Ñ¹äºáÍʵçãË á¡ LED ÍÔ¹¿ÃÒàôÀÒÂã¹Íͻⵠ¤Ñ»à»ÅÍà àÁ×èÍ LED ¹íÒ¡ÃÐáÊ ¡ç¨Ð¡íÒà¹Ô´áʧÍÔ¹¿ÃÒàÃ´Ê Í§ä»µ¡¡Ãзº·Õè¢ÒàºÊ¢Í§â¿âµ ·ÃÒ¹«ÔÊàµÍà (㹡óշÕèÀÒ¤àÍÒµ ¾Øµà» ¹â¿âµ ·ÃÒ¹«ÔÊàµÍà ËÃ×Íâ¿âµ ´Òà ÅÔ§µÑ¹) ·íÒãË â¿âµ ·ÃÒ¹«ÔÊàµÍà ¹Òí ¡ÃÐáÊà¡Ô´¡ÃÐáÊäËż Ò¹¨Ò¡¢Ò¤ÍÅàÅç¡àµÍà ÁÒÂѧÍÔÁµÔ àµÍà â´ÂáËÅ §¨ ÒÂáç ´Ñ¹·Ò§àÍÒµ ¾µØ ÊÒÁÒö·Õ¨è Ð㪠ᡡѺ·Ò§ÍÔ¹¾Øµä´ Í ҧÍÔÊÃÐ äÁ µÍ §µ Í¡ÃÒÇ´ ¶§Ö ¡Ñ¹ ¨Ö§ÊÒÁÒö µ ͡ѺáËÅ §¡íÒà¹Ô´áç´Ñ¹ÊÙ§ËÃ×ÍáËÅ §¡íÒà¹Ô´ä¿ÊÅÑºä´ â´ÂäÁ Á¡Õ ÒÃú¡Ç¹Â ͹¡ÅѺÁÒ·Ò§ÍÔ¹¾Øµ Í ҧà´ç´¢Ò´ áÅÐÂѧÊÒÁÒö» ͧ¡Ñ¹¡ÒÃú¡Ç¹¨Ò¡ÍÔ¹¾Øµâ´Â¼ Ò¹·Ò§ÊÒ¡ÃÒÇ´ ä´ ´Ç  àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 40


+12V

+12V

R1 330 D0

R2 10k 1

D1 1N4001

4

Q1 2N3904

(¡)

R2 10k

R1 330 D0

5

IC1 4N25 2

RY1 RELAY12V

1

5

2

4

IC1 4N25 +5V

RY1 RELAY12V

D1 1N4001

Q1 2N3904

(¢)

ÃÙ»·Õè 4-6 (¡) ¡ÒÃ㪠Íͻⵠ¤»Ñ à»ÅÍà ¢ºÑ âËÅ´´ ÇÂÅͨԡ ]1^ (¢) ¡ÒÃ㪠Íͻⵠ¤»Ñ à»ÅÍà ¢ºÑ âËÅ´´ ÇÂÅͨԡ ]0^ ã¹ÃÙ»·Õè 4-6 à» ¹Ç§¨ÃµÑÇÍ ҧ¢Í§¡ÒùíÒ¾Íà µ¢¹Ò¹¢ÑºÍͻⵠ¤»Ñ à»ÅÍà à¾×Íè ·íÒ¡ÒâѺâËÅ´ ÃÕàÅ ¡Òí Åѧ俿 ÒÊÙ§ ¨ÐàËç¹ä´ ÇÒ ¡ÒÃ㪠¤ÍÁ¾ÔÇàµÍà ¡Ãеع ãË Íͻⵠ¤»Ñ à»ÅÍà ·Òí §Ò¹ÊÒÁÒö·íÒ ä´ 2 ÃٻẺ¤×Í ãª Åͨԡ 1 ´Ñ§áÊ´§ã¹ÃÙ»·Õè 4-6 (¡) áÅÐ㪠Åͨԡ 0 ´Ñ§ã¹ÃÙ»·Õè 4-6 (¢) ¢ ͤÇèíÒ㹡ÒÃ㪠¾Íà µ¢¹Ò¹Ã ÇÁ¡ÑºÍͻⵠ¤Ñ»à»ÅÍà ¨Ðµ ͧµ ͵Ñǵ Ò¹·Ò¹à¾×èͨíÒ¡Ñ´ ¡ÃÐáÊä¿¿ Ò·Õäè Ëż Ò¹ LED ·Ò§Ê ǹÍÔ¹¾Øµ¢Í§Íͻⵠ¤»Ñ à»ÅÍà ´Ç ÂàÊÁÍ ¡ÃÐáÊ·Ò§ÍÔ¹¾ØµÊÙ§ ÊØ´äÁ ¤ÇÃÁÒ¡¡Ç Ò 15mA

µÑÇÍ ҧ¡ÒÃ㪠§Ò¹ÍØ»¡Ã³ ä´ÃàÇÍà ¤Çº¤ØÁÃÕàÅ â´Â㪠·ÃÒ¹«ÔÊàµÍà ÃÕàÅ ໠¹ÍØ»¡Ã³ áÁ àËÅç¡ä¿¿ ÒáººË¹Ö§è ·Õãè ª 㹡ÒõѴµ Íǧ¨Ã ÁÕÊ­ Ñ Åѡɳ áÊ´§µÒÁÃÙ»·Õè 4-7 àÁ×Íè ¢´ÅÇ´ÃÕàÅ Á¡Õ ÃÐáÊä¿¿ ÒäËż Ò¹ ¨Ðà¡Ô´Ê¹ÒÁáÁ àËÅç¡¢Ö¹é ·íÒãË Ë¹ ÒÊÑÁ¼ÑÊâÅËÐ·Õ»è ¡µÔ à» ´Ç§¨Ãᡨҡ¡Ñ¹ÍÂÙ ¶Ù¡´Ù´µÔ´¡Ñ¹ à¡Ô´¡Òõ Íǧ¨Ã¢Ö¹é Ê Ç¹Ë¹ ÒÊÑÁ¼ÑÊ·Õ»è ¡µÔµÍ ǧ¨ÃÍÂÙ¡ ¨ç Ðá¡ ÍÍ¡¨Ò¡¡Ñ¹ à¡Ô´¡ÒÃà» ´Ç§¨Ã¢Ö¹é á·¹ ÃÕàÅ â´Â·ÑÇè 仨ÐÁÕ˹ ÒÊÑÁ¼ÑÊ·Ò§àÍÒµ ¾µØ 2 Ẻ·ÕÁè ¤Õ ÇÒÁà¡ÕÂè Ç¢ ͧ¡Ñ¹¤×Í Ë¹ ÒÊÑÁ¼ÑÊ»¡µÔ µ Íǧ¨ÃËÃ×Í NC (Normaly Closed) áÅÐ˹ ÒÊÑÁ¼ÑÊ»¡µÔà» ´Ç§¨ÃËÃ×Í NO (Normally Opened) 㹡óբͧ˹ ÒÊÑÁ¼ÑÊ»¡µÔµÍ ǧ¨Ã àÁ×Íè ÃÕàÅ ·Òí §Ò¹ ˹ ÒÊÑÁ¼Ñʪش¹Õ¨é Ðᡨҡ¡Ñ¹ ¡ÅÒÂà» ¹à» ´ ǧ¨Ã ˹ ÒÊÑÁ¼Ñʪش¹Õ¨é §Ö 㪠¡µç Í àÁ×Íè ÁÕ¨´Ø »ÃÐʧ¤ ãË ÃàÕ Å ·Òí ¡ÒõѴǧ¨ÃàÁ×Íè ·íÒ§Ò¹ Ê Ç¹Ë¹ ÒÊÑÁ¼ÑÊ »¡µÔà» ´Ç§¨ÃàÁ×Íè ÃÕàÅ ·Òí §Ò¹ ˹ ÒÊÑÁ¼Ñʪش¹Õ¨é е ͡ѹ ¡ÅÒÂà» ¹» ´Ç§¨Ã ´Ñ§¹Ñ¹é ¨Ö§ãª ˹ ÒÊÑÁ¼ÑÊ ªØ´¹Õ¡é µç Í àÁ×Íè µ ͧ¡ÒÃãË ÃàÕ Å µÍ ǧ¨ÃàÁ×Íè ·íÒ§Ò¹ ´Ñ§¹Ñ¹é ˹ ÒÊÑÁ¼ÑÊÃÕàÅ 1 ªØ´¨Ö§àÊÁ×͹¡ÑºÊÇÔµª 2 ·Ò§ËÃ×Í DPST (Double Pole Single Throw) àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 41


NC C NO

ÃÙ»·Õè 4-7 ÊÑ­Åѡɳ ¢Í§ÃÕàÅÂ

ÃÕàÅ ·ÁÕè ¨Õ Òí ˹ ÒÂÍÂÙ· ÇÑè ä»ÁÕ¢´ÅÇ´ 1 ªØ´ ã¹¢³Ð ·ÕËè ¹ ÒÊÑÁ¼ÑÊÁÕµ§Ñé áµ 1 ªØ´ (˹ ÒÊÑÁ¼ÑÊ 1 ªØ´ »ÃСͺ ´ ÇÂ¢Ò NO : Normally Open ËÃ×Í¢Ò»¡µÔà» ´Ç§¨Ã áÅÐ ¢Ò NC : Normally Close ËÃ×Í¢Ò»¡µÔµÍ ǧ¨Ã) ¨íҹǹ 5 ¢Ò 仨¹¶Ö§ 4 ªØ´ 14 ¢Ò Ê Ç¹ÍѵÃÒ¡Ò÷¹¡íÒÅѧ俿 Ò ¢Í§Ë¹ ÒÊÑÁ¼ÑÊÁÕãË àÅ×Í¡ÁÒ¡ÁÒ ¶ Òà» ¹¢¹Ò´¢Í§áç ´Ñ¹¨ÐÁÕµÑé§áµ 30V ¢Öé¹ä»¨¹¶Ö§ 1,000 V Ê Ç¹¢¹Ò´ ¢Í§¡ÃÐáÊÁÕµ§Ñé áµ äÁ ¡áÕè ÍÁ» 仨¹¶Ö§ËÅÒÂæ ÊÔºáÍÁ»

ǧ¨Ã¢ÑºÃÕàÅ â´Â㪠·ÃÒ¹«ÔÊàµÍà ÊÒÁÒö¹íÒǧ¨Ã¢Ñºã¹ÃÙ»·Õè 4-2 ÁÒãª ä´ â´Âµ Í¢Ò¾Íà µ Data ºÔµ D0 ࢠҡѺ¢ÒàºÊ¢Í§·ÃÒ¹«ÔÊàµÍà ·ãÕè ª ¢ºÑ ÃÕàÅ ¼Ò ¹µÑǵ Ò¹·Ò¹«Ö§è ·íÒ˹ Ò·Õ¨è Òí ¡Ñ´¡ÃÐáÊ àºÊãË á¡ ·ÃÒ¹«ÔÊàµÍà ¢´ÅÇ´ÃÕàÅ ¨Ðµ Íࢠҷդè ÍÅàÅç¡àµÍà â´ÂÁÕä´âÍ´µ ͤà ÍÁ¢´ÅÇ´ÃÕàÅ à¾×Íè » ͧ¡Ñ¹¡ÃÐáÊäËÅ ͹¡ÅѺ¨Ò¢´ÅÇ´ÃÕàÅ ÁÒࢠҷÃÒ¹«ÔÊàµÍà àÁ×Íè ÃÕàÅ ËÂØ´·íÒ§Ò¹ àÁ×Íè µ ͧ¡ÒÃãË ÃàÕ Å ·Òí §Ò¹ µ ͧà¢Õ¹â»Ãá¡ÃÁÊ §Åͨԡ 1 ÍÍ¡ä»·Ò§¢Ò D0 ·ÃÒ¹«ÔÊàµÍà ¨Ð¹íÒ¡ÃÐáÊ ·íÒãË à¡Ô´¡ÃÐáÊäËż Ò¹¢´ÅÇ´ÃÕàÅ ÃÕàÅ ¨§Ö ·íÒ§Ò¹ àÁ×Íè µ ͧ¡ÒäǺ¤ØÁãË ÃàÕ Å ËÂØ´ ·íÒ§Ò¹ ·íÒä´ â´Â¡ÒÃà¢Õ¹¢ ÍÁÙÅ 0 ÍÍ¡ä»·Ò§¢Ò D0 ÍÕ¡¤ÃÑ§é ·ÃÒ¹«ÔÊàµÍà ¡ç¨ÐËÂØ´¹íÒ¡ÃÐáÊ ·íÒãË ÃÕàÅ ËÂØ´·íÒ§Ò¹

¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¢ÑºÃÕàÅ Í ҧ§ Ò´ Ç Visual BASIC

ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ´ Ç Visual BASIC ãË ¡ºÑ »ØÁ Command1 à¾×Íè 㪠㹡ÒáÃеع ãË ÃÕàÅ ·íÒ§Ò¹ä´ ´Ñ§¹Õé Private Sub Command1_Click() Out &H378, 1 End Sub

ÊíÒËÃѺâ»Ãá¡ÃÁµÑÇÍ ҧà¾×Íè ËÂØ´¡Ò÷íÒ§Ò¹¢Í§ÃÕàÅ â´Â㪠»ÁØ Command2 ÁÕ´§Ñ ¹Õé Private Sub Command2_Click() Out &H378, 0 End Sub

¨Ò¡â»Ãá¡ÃÁµÑÇÍ ҧ¨ÐàËç¹Ç Òµ ͧ㪠Command ¶Ö§ 2 µÑÇ㹡ÒäǺ¤ØÁÃÕàÅ à¾Õ§µÑÇà´ÕÂÇ áÅСÒÃà¢Õ¹â»Ãá¡ÃÁã¹Åѡɳйշé Òí ãË ºµÔ ·Õäè Á à¡ÕÂè Ç¢ ͧÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ä»´ Ç «Ö§è ºÒ§¤Ãѧé ã¹ §Ò¹¤Çº¤ØÁäÁ µ ͧ¡ÒÃãË ºÔµ·ÕèäÁ à¡ÕèÂÇ¢ ͧàËÅ Ò¹Ñé¹à¡Ô´¡ÒÃà»ÅÕè¹á»Å§ ¼Ù 㪠§Ò¹ÊÒÁÒÃ¶á¡ ä¢ â»Ãá¡ÃÁãË Á¤Õ ÇÒÁ¡ÃЪѺ¢Ö¹é â´Â㪠¡ÒÃÍ Ò¹¤ Ò¡ÅѺáÅÐ㪠¤Òí Êѧè XOR ࢠÒÁÒª ÇÂä´ ´§Ñ ¹Õé Private Sub Command1_Click() Out &H378, Inp(&H378) Xor &H1 End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 42


¨Ò¡â»Ãá¡ÃÁµÑ Ç ÍÂ Ò §¢ Ò §µ ¹ ¹Õé ¨Ð㪠Command1 à¾Õ  §µÑ Ç à´Õ  Ç㹡ÒäǺ¤Ø Á ¡Òà ·íÒ§Ò¹¢Í§ÃÕàÅ â´Â¨Ð·íÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅà´ÔÁ·Õàè ÍÒµ ¾µØ ¢Í§¾Íà µ Data ÍÍ¡ÁÒ¡ ͹ ¨Ò¡¹Ñ¹é 㪠¤íÒÊѧè XOR 㹡ÒÃÊÅѺºÔµ â´Â¨Ð·íÒ¡ÒÃÊÅѺ੾ÒкԵ D0 à¾Õ§ºÔµà´ÕÂÇ෠ҹѹé

¤Çº¤ØÁÃÕàÅ â´Â㪠ULN2003 ÊÒÁÒö·íÒä´ Í ҧ§ ÒÂæ ´Ñ§áÊ´§Ç§¨Ãã¹ÃÙ»·Õè 4-8 µ Í¢Ò¾Íà µ Data ºÔµã´ºÔµË¹Ö§è ÁÒà¢ Ò ·Õ¢è ÒÍÔ¹¾Øµ¢Í§ ULN2003 «Ö§è ¨Ò¡Ç§¨Ãµ Í¢Ò D0 Ê Ç¹·Õàè ÍÒµ ¾µØ ¢Í§ ULN2003 ãË µÍ ࢠҡѺ¢Ò ¢´ÅÇ´¢Í§ÃÕàÅ ¢Òã´¢Ò˹֧è Ê Ç¹ÍÕ¡¢Ò·Õàè ËÅ×ÍãË µÍ ¡Ñºä¿àÅÕÂé §¢´ÅÇ´ÃÕàÅ à˵ؼŷյè Í §µ ÍẺ ¹Õàé ¹×Íè §¨Ò¡ËÒ¡µ ͧ¡ÒâѺÃÕàÅ ãË ·Òí §Ò¹â´ÂäÁ Êà ҧÀÒÃÐãË á¡ Ç§¨Ã¨ ÒÂä¿àÅÕÂé §¢Í§¾Íà µ¢¹Ò¹¤Çà µ ÍáËÅ §¨ ÒÂä¿ÊíÒËÃѺÃÕàŠᡵ Ò§ËÒ¡ àÁ×èÍà» ¹àª ¹¹Õé¨Ö§µ ͧ¡íÒ˹´ãË ULN2003 ·íÒ¡Òà ¨ Ò¡ÃÐáÊã¹ÅѡɳСÃÐáÊ«Ô§¡ (sink current) ¡Íû¡ÑºÀÒÂã¹ ULN2003 à» ¹ÍÔ¹àÇÍà àµÍà ËÃ×͹͵ࡵ àÁ×Íè µ ͧ¡ÒÃÊѧè ãË ÃàÕ Å ·Òí §Ò¹µ Í§Ê §¢ ÍÁÙÅ 1 ÁÒ·ÕÍè ¹Ô ¾Øµ¢Í§ ULN2003 ¡ç¨Ðà¡Ô´ ¡ÒáÅѺÅͨԡ໠¹ 0 ·íÒãË à¡Ô´¡Òäú§¨Ã ÁÕ¡ÃÐáÊä¿¿ÒäËŨҡáËÅ §¨ ÒÂ俢ͧÃÕàÅ ¼Ò ¹¢´ ÅÇ´ÃÕàÅ ÁҤúǧ¨Ã·Õ¢è ÒàÍÒµ ¾µØ ¢Í§ ULN2003 «Ö§è ã¹¢³Ð¹Õàé » ¹Åͨԡ 0 ÊÒÁÒöà·Õº໠¹ ¡ÃÒÇ´ ä´ àÁ×Íè à¡Ô´¡ÃÐáÊä¿¿ ÒäËż Ò¹¢´ÅÇ´ÃÕàÅÂ ä´ ÃÕàÅ ¡¨ç зíÒ§Ò¹

+V

RY1 RELAY 12V

NO C NC

9 D0

1 2

D0

Q0

D1

Q1

3 D2 4 D3 5 D4 6 D5 7 D6 8

Q2

16 15 14 13

Q3 12 Q4 11 Q5 10 Q6 IC1 ULN2003

ÃÙ»·Õè 4-8 ǧ¨Ã¢ÑºÃÕàÅ 12V Í ҧ§ ÒÂâ´Â㪠äÍ«Õ¢ºÑ àºÍà ULN2003 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 43


EX-06 7 Channel Relay board

+V

RY601 RELAY 12V

K602 RELAY OUT #1

K601

NO C NC

DATA BUS (UIC-10)

+5V D0 D2 D4 D6

JP601

D1 D3 D5 D7 JP607

9 1 2 3 4 5

D0 D1

D2 D3 D4 6 D5 7 D6 8

16 Q0 15 Q1 14 Q2 13 Q3 12 Q4 11 Q5 10 Q6

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

ÃÙ»·Õè 4-9 ǧ¨ÃÊÁºÙó ¢Í§ EX-06 ºÍà ´ÃÕàÅ 7 ª ͧ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 44


EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ ÊíÒËÃѺ㹪ش·´Åͧ NX-2000 ÁÕºÍà ´µ ; ǧÊíÒËÃѺ·´Åͧ¡ÒâѺÃÕàÅ ÍÂÙ¤ Í× EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ â´Âº¹ºÍà ´¨ÐÁÕÃàÕ Å ãË ãª §Ò¹ÁÒ¡¶Ö§ 7 µÑÇ ãª äÍ«Õ ULN2003 㹡ÒâѺ â´Âǧ¨Ã¢Í§ºÍà ´ EX-06 áÊ´§ã¹ÃÙ»·Õè 4-9 ·íÒ˹ Ò·Õàè » ¹Ç§¨Ã¢Ñº â´Â¶ Ò¼Ùã ª §Ò¹µ ͧ¡ÒÃ㪠§Ò¹ ÃÕàÅ µÇÑ ã´¡çãË ãª ¨ÁÑê à»Íà µÍ ã¹µíÒá˹ §¹Ñ¹é ¡ÒäǺ¤ØÁÃÕàÅ ãË ·Òí §Ò¹ÊÒÁÒö㪠¾Íà µ Data ËÃ×Í ¾Íà µ Control ¡çä´ ¶ Ò㪠§Ò¹¾Íà µ Data ¢Ò·Õãè ª 㹡ÒäǺ¤ØÁ¨Ð㪠¢ Ò D0-D6 à¹×Íè §¨Ò¡Ç ÒÁÕÃàÕ Å ·Ñ§é ËÁ´ 7 µÑÇ ÊíÒËÃѺ¾Íà µ Control ·ÕÁè ¢Õ ÒàÍÒµ ¾µØ 4 ¢Ò¡çÊÒÁÒö¢ÑºÃÕàÅÂ ä´ à¾Õ§ 4 µÑÇà· Ò¹Ñ¹é ¤×Í ÃÕàÅ µÇÑ ·Õè 1-4 â´Âµ ͧ¾Ô¨ÒóҶ֧¡ÒáÅѺʶҹÐÅͨԡ¢Í§ºÔµµ Ò§æ ÀÒÂã¹¾Íà µ Control ´ Ç ËÑÇ㨢ͧºÍà ´¹Õ¤é Í× ULN2003 «Ö§è à» ¹äÍ«ÕÍ¹Ô àÇÍà àµÍà ä´ÃàÇÍà 7 µÑÇ ¢ÒÍÔ¹¾Øµ·Ñ§é ËÁ´ µ ͡Ѻ¨ÑêÁà»Íà JP601-JP607 à¾×èÍ㪠㹡ÒÃàÅ×Í¡Ç Òµ ͧ¡ÒäǺ¤ØÁÃÕàÅ µÑÇã´ â´Â JP601 㪠àÅ×Í¡µÔ´µ ͡ѺÃÕàÅ RY601 ËÃ×ÍÃÕàÅ µÇÑ ·Õè 1 àÃÕ§ÅíҴѺ仨¹¶Ö§ JP607 㣠àÅ×Í¡¡ÒõԴµ ͡Ѻ RY607 ËÃ×ÍÃÕàÅ µÇÑ ·Õè 7 ÍÕ¡´ Ò¹Ë¹Ö§è ¢Í§¨ÑÁê à»Íà ¨Ðµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS à¾×Íè àª×Íè Áµ ͡Ѻ P-Board à¾×Íè ·íÒ¡ÒäǺ¤ØÁµ Íä»

ÊÃØ» µÑÇÍ ҧ¡ÒùíÒ¾Íà µ¢¹Ò¹ÁҤǺ¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ÃÕàÅ ¹Õé ª ÇÂãË ¼Ù 㪠§Ò¹ÊÒÁÒö¹íÒä» »ÃÐÂØ¡µ 㪠¤ÍÁ¾ÔÇàµÍà ¤Çº¤ØÁÍØ»¡Ã³ ä¿¿ Ò¡ÃÐáÊÊÅѺµ Ò§æ ä´ â´Â§ Ò ¡µÑÇÍ ҧ ÊÒÁÒö¹íÒ ËÅÑ¡¡ÒùÕÊé à ҧÃкºº Ò¹Íѵâ¹ÁѵÁÔ ¡Õ Òû ´à» ´Ãкºä¿¿ ÒÀÒÂ㹺 Ò¹àͧµÒÁàÇÅÒ·Õ¡è Òí ˹´ à» ¹ µ ¹ â´ÂÍÒ¨ÁÕ¡ÒÃà¾ÔÁè àµÔÁÍØ»¡Ã³ ÎÒà ´áÇÃ Í¡Õ à¾Õ§àÅ硹 ÍÂ෠ҹѹé

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 45


¡Ò÷´Åͧ·Õè 4 ¢ÑºÃÕàÅ ´Ç ºÍà ´ EX-06 à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-06 ºÍà ´¢ÑºÃÕàÅ 7 ª ͧ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. áËÅ §¨ ÒÂ俵ç +12V 1A ÊíÒËÃѺºÍà ´ EX-06 5. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹

ËÅÑ¡¡Òà ÇÔ¸Õ¡Ò÷Õè§ Ò·ÕèÊش㹡ÒâѺ¡ç¤×Í¡ÒÃ㪠¾Íà µ Data à¹×èͧ¨Ò¡Ç ÒäÁ µ ͧÁÕ¡ÒáÅÑºÊ¶Ò¹Ð ã´ æ ¡ÒäǺ¤ØÁãË ·Òí §Ò¹¹Ñ¹é ¡ç¨ÐàËÁ×͹¡Ñº¡ÒâѺ´ Ç·ÃÒ¹«ÔÊàµÍà ¤×Í» ͹Åͨԡ 1 ÍÍ¡ä» ·ÃÒ¹«ÔÊàµÍà ¨Ð·íÒ§Ò¹áÅе ÍÃÕàÅ ŧ¡ÃÒÇ´ ·íÒãË ÃàÕ Å ·Òí §Ò¹ ¡ÒâѺÃÕàÅ ËÅÒÂæ µÑÇ ãË ·Òí §Ò¹¹Ñ¹é ¨Ð㪠»ÁØ Command ෠ҡѺ¨íҹǹÃÕàÅ áÅÐà¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command µ Ò§ æ ´Ñ§¹Õé Private Sub Command1_Click() Out &H378,Inp(&H378) Xor &H1 End Sub Private Sub Command2_Click() Out &H378,Inp(&H378) Xor &H2 End Sub Private Sub Command3_Click() Out &H378,Inp(&H378) Xor &H4 End Sub Private Sub Command4_Click() Out &H378,Inp(&H378) Xor &H8 End Sub Private Sub Command5_Click() Out &H378,Inp(&H378) Xor &H10 End Sub Private Sub Command6_Click() Out &H378,Inp(&H378) Xor &H20 End Sub Private Sub Command7_Click() Out &H378,Inp(&H378) Xor &H40 End Sub

¨ÐàËç¹Ç Ò¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ Íµ Ò§ æ àËÅ Ò¹Õ·é Òí §Ò¹àËÁ×͹¡Ñ¹ ᵡµ Ò§¡Ñ¹·Õºè µÔ ·Õ¨è Ð ·íÒ¡ÒÃÊÅѺ¤ Òà· Ò¹Ñé¹ â´Â¼Ù 㪠§Ò¹ÊÒÁÒö´Ñ´á»Å§â»Ãá¡ÃÁãË ÊÑé¹Å§ä´ â´Â¡ÒÃ㪠Array ËÃ×Í Index ÁÒª Ç ´Ñ§áÊ´§ã¹¡Ò÷´Åͧ¹Õé àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 46


ÃÙ»·Õè P4-1 áÊ´§Ë¹ Òµ Ò§Êͺ¶ÒÁ¡ÒÃÊà ҧ ARRAY ¢Í§ Command1 ·Ñº¢Í§à´ÔÁ

¡Ò÷´Åͧ 4.1 ·íÒ¡ÒÃź»ØÁ Command ·Ñ§é ËÁ´·Ô§é áÅ ÇÊà ҧ»ØÁ Command ¢Ö¹é ÁÒãËÁ µÑ§é ª×Íè Ç Ò Com-mand1 ¨Ò¡¹Ñ¹é 㪠àÁÒÊ àÅ×Í¡·Õè Command1 áÅ Ç㪠¤Òí Êѧè Edit -> Copy à¾×Íè ¤Ñ´ÅÍ¡ Command1 ä»äÇ ·¤Õè ÅÔ»ºÍà ´ ¨Ò¡¹Ñ¹é 㪠¤Òí Êѧè Edit -> Paste à¾×Íè ¤Ñ´ÅÍ¡ Command1 ¨Ò¡¤ÅÔ»ºÍà ´ÁÒÇÒ§º¹ Form1 4.2 â»Ãá¡ÃÁ¨Ðᨠ§Ç Òª×Íè Command1 à» ¹ª×Íè «éÒí µ ͧ ¡ÒèШÐÊà ҧ ARRAY ¢Í§ Command1 ËÃ×ÍäÁ ãË µÍº YES à¾×èÍÊà ҧ ARRAY ´Ñ§áÊ´§ã¹ÃÙ»·Õè P4-1 ¨Ò¡¹Ñ¹é 㪠¤Òí Êѧè Paste «éÒí à¾×Íè Êà ҧ ARRAY ãË ¤Ãº 7 »Ø Á 4.3 ¨ÐàËç¹Ç Ò»ØÁ ·Ñ§é ËÁ´¨ÐÁÕªÍ×è à» ¹ COMMAND1 áµ ãË Ê§Ñ à¡µ·ÕÊè Ç ¹ PROPERTY ¢Í§ COMMAND áµ ÅÐ µÑ Ç ¨ÐàËç ¹ Ç Ò COMMAND1 áµ Å ÐµÑ Ç ¨ÐÁÕ Ç §àÅç º (INDEX) ÍÂÙ ´ Ò ¹ËÅÑ § ã¹Ç§àÅç º ¢Í§ COMMAND1 COMMAND1 áµ ÅеÑǨÐÁÕ¤ Ò INDEX ·ÕèäÁ ෠ҡѹ´Ñ§ áÊ´§ã¹ÃÙ»·Õè P4-2 â´Â COMMAND1 µÑÇáá¨ÐÁÕ INDEX à» ¹ 0 ¶Ñ´ÁÒà» ¹ 1 仨¹¶Ö§µÑÇÊØ´· ÒÂà» ¹ 6 àÁ×Íè ´ÑºàºÔéŤÅÔé¡·Õè COMMAND1 µÑÇã´µÑÇ˹Öè§à¾×èÍà¢Õ¹ â»Ãá¡ÃÁ¨Ðà» ¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ COMMAND1 ·Ñé§ËÁ´ 4.4 ·ÕËè ÇÑ ¢Í§â»Ãá¡ÃÁ Í¨ÐÍ Ò§¶Ö§µÑÇá»Ã INDEX àÍÒ äÇ ´ ÇÂà¾×èÍ¡íÒ˹´Ç Òµ ͧ¡ÒÃÍ Ò§¶Ö§ COMMAND1 µÑÇã´ â´Â¼Ù 㪠§Ò¹ÊÒÁÒö¹íÒàÍҤسÊÁºÑµÔ¹ÕéÁÒ㪠㹠¡ÒÃà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé ÃÙ»·Õè P4-2 áÊ´§¤ Ò INDEX ¢Í§ COMMAND1

Private Sub Command1_Click(Index As Integer) Out &H378, Inp(&H378) Xor 2 ^ Index End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 47


4.5 ¨ÐàËç¹Ç Ò¡ÒäǺ¤ØÁÃÕàÅ ·§Ñé 7 µÑǹѹé 㪠¤Òí Êѧè à¾Õ§ ºÃ÷Ѵà´ÕÂÇ෠ҹѹé â´Â 2^Index ¹Ñ¹é ËÁÒ¶֧ºÔµ·Õµè Í § ¡ÒèРON ËÃ×Í OFF â´Â·Õè 2^Index ¨ÐãË ¤Ò ¡íÒÅѧ¢Í§ áµ ÅкԵ¢Í§¾Íà µ Data «Ö觶 ÒÁÕ¡Òá´»Ø Á Com-mand1 ã¹µíÒá˹ §·ÕÁè ¤Õ Ò Index ෠ҡѺ 0 ¤ Ò 2^Index ¨ÐÁÕ¤Ò à· Ò¡Ñº 1 ËÁÒ¤ÇÒÁÇ ÒÁÕ¡ÒáÅÑºÊ¶Ò¹Ð·Õºè µÔ 0 ¶ ÒÁÕ¡Òá´»ØÁ Command1 ã¹µíÒá˹ §·ÕÁè ¤Õ Ò Index ෠ҡѺ 6 ¤ Ò 2^Index ¨ÐÁÕ෠ҡѺ 40 (°Ò¹ÊԺˡ) «Ö§è ¡ç¨ÐËÁÒ¶֧¡ÒáÅÑºÊ¶Ò¹Ð·Õºè µÔ D6 ¹Ñ¹è àͧ 4.6 㹡óշµÕè Í §¡Ò÷ÃҺʶҹСÒ÷íÒ§Ò¹¢Í§ÃÕàÅ ÍÒ¨¨Ðãª Ç¸Ô àÕ »ÅÕÂè ¹¤ Ò Caption ¢Í§ Command1 ¡çä´ â´ÂãË à¢Õ¹â»Ãá¡ÃÁà¾ÔÁè àµÔÁ´Ñ§¹Õé

ÃÙ»·Õè P4-3 àÁ×Íè ¡íÒ˹´ Caption ¢Í§ COMMAND1 ¤Ãº·Ñ§é 7 »ØÁ

Private Sub Command1_Click(Index As Integer) Out &H378, Inp(&H378) Xor 2 ^ Index If (Inp(&H378) And 2 ^ Index) = 2 ^ Index Then Command1(Index).Caption = “ON” Else Command1(Index).Caption = “OFF” End If End Sub

4.7 ¡ÒÃ㪠¤Òí Êѧè IF THEN à¾×Íè µÃǨÊͺ¤ ҢͧÅͨԡ¢Í§ºÔµáµ ÅÐºÔµÇ ÒÁÕ¤Ò à» ¹ 1 ËÃ×ÍäÁ ¶ ÒÁÕ¤ Òà» ¹ 1 ¡çãË ¢ ͤÇÒÁ·Õè»Ø Á Command1 áÊ´§¤íÒÇ Ò ON áµ ¶ ÒºÔµ¹Ñé¹ÁÕÅͨԡ໠¹ 0 ¢ ͤÇÒÁ·Õè Command1 ã¹µíÒá˹ §·Õ¡è Òí ˹´¨ÐáÊ´§¤íÒÇ Ò OFF 4.8 ¹Í¡¨Ò¡¹Õ¡é Í ¹¡ÒÃÃѹâ»Ãá¡ÃÁãË ·Òí §Ò¹ µ ͧ¡íÒ˹´¤ ÒÃÕàÅ ãË OFF ·Ñ§é ËÁ´¡ ͹â´Â¡Òà ÃкؤÒí Êѧè ŧ㹠Form1 ´Ñ§¹Õé Private Sub Form_Load() Out &H378, 0 End Sub

4.9 ·Õè Caption ¢Í§ Command1 ·Ø¡ æ µÑÇãË ¡Òí ˹´à» ¹ OFF àÍÒäÇ à¾×Íè Ç Òã¹¢³ÐàÃÔÁè µ ¹â»Ãá¡ÃÁ ¨Ðä´ à» ¹ OFF àËÁ×͹¡Ñ¹·Ñ§é ËÁ´ ´Ñ§áÊ´§ã¹ÃÙ»·Õè P4-3 ÃÒÂÅÐàÍÕ´·Ñ§é ËÁ´¢Í§â»Ãá¡ÃÁ·´Åͧ¹ÕÊé ÒÁÒö´Ùä´ ¨Ò¡ä¿Å LAB04.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 48


º··Õè 5 ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ´ ǾÍà µ¢¹Ò¹ Êàµç»à»Íà ÁÍàµÍà (stepper motor) à» ¹ÁÍàµÍà ·ÕèÁÕÅѡɳСÒ÷íҧҹᵡµ Ò§¨Ò¡ ÁÍàµÍà ·ÇÑè ä» à¾ÃÒШе ͧ» ͹ÊÑ­­Ò³à» ¹¾ÑÅÊ ãË á¡ ¢´ÅÇ´¢Í§ÁÍàµÍà ໠¹¨Ñ§ËÇÐÍ ҧàËÁÒÐ ÊÁ áÅСÒÃËÁع¢Í§ÁÍàµÍà ª¹Ô´¹Õ¨é ÐËÁع໠¹¨Ñ§ËÇеÒÁ¾ÑÅÊ ·»Õè Í ¹à¢ ÒÁÒ äÁ ËÁعµ Íà¹×Íè §àËÁ×͹ ¡ÑºÁÍàµÍà ¸ÃÃÁ´Ò ·íÒãË ¼¤Ù Ǻ¤ØÁÊÒÁÒöàÅ×Í¡µíÒá˹ §·Õµè Í §¡ÒÃãË ÁÍàµÍà ËÂØ´ËÁØ¹ä´ ¨Ñ§ËÇÐ ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà àÃÕÂ¡Ç Ò Êàµç» (step) ¤ÇÒÁÅÐàÍÕ´¢Í§ÁÍàµÍà ¡Òí ˹´à» ¹Í§ÈÒ ·ÕËè Áعä»ã¹Ë¹Ö§è Êàµç» ËÒ¡ÁÍàµÍà Á¨Õ Òí ¹Ç¹Í§ÈÒµ ÍÊàµç»ÁÒ¡ ËÁÒ¤ÇÒÁÇ Ò ÁÍàµÍà µÇÑ ¹ÕÁé ¤Õ ÇÒÁ ÅÐàÍÕ´¢Í§¡ÒÃËÁعµèÒí ¡µÑÇÍ ҧ ¡ÒÃËÁع¤Ãº 1 Ãͺ෠ҡѺ 360 ͧÈÒ ËÒ¡ÁÍàµÍà ÁÊÕ àµç» ¡ÒÃËÁع෠ҡѺ 7.5 ͧÈÒµ ÍÊàµç» ÁÍàµÍà µÇÑ ¹ÕÁé ¤Õ ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع෠ҡѺ 48 µíÒá˹ § áµ ¶Ò ËÒ¡ÁÕÊàµç»¡ÒÃËÁع¡Ñº 1.8 ͧÈÒµ ÍÊàµç» ¤ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع෠ҡѺ 200 ¨ÐàËç¹ ä´ ÇÒ ÁÍàµÍà µÇÑ ËÅѧÁÕ¤ÇÒÁÅÐàÍÕ´ÊÙ§¡Ç ÒµÑÇááÁÒ¡ ·íÒãË ¹Òí ÁÒ㪠㹧ҹ·Õµè Í §¡ÒáíÒ˹´µíÒá˹ § ä´ ´¡Õ Ç Ò áÁ ¹ÂíÒ¡Ç Ò ¼¹Ç¡à¢ ҡѺǧ¨Ã¢Ñºáºº¤ÃÖ§è Êàµç» («Ö§è ¨Ð¡Å ÒǶ֧µ Íä») ¤ÇÒÁÅÐàÍÕ´¢Í§ ¡ÒÃËÁع¨Ðà¾ÔÁè ¢Ö¹é ÍÕ¡ 2 à· Ò ·íÒãË Á¤Õ ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع¡ÅÒÂà» ¹ 400 µíÒá˹ § ¢¹Ò´¢Í§Êàµç»à»Íà ÁÍàµÍà ·ÁÕè ¡Õ ÒüÅÔµáÅШíÒ˹ ÒÂã¹· ͧµÅÒ´ ÁÕµ§Ñé áµ ¢¹Ò´áç´Ñ¹µèÒí 3 V 仨¹¶Ö§ 24 V Ê Ç¹¢¹Ò´¢Í§¡ÃÐáÊÁÕµ§Ñé áµ äÁ ¡ÊÕè ºÔ ÁÔÅÅÔáÍÁ» Í¹Ñ à» ¹Êàµç»à»Íà ÁÍàµÍà µÇÑ àÅç¡ä»¨¹¶Ö§à» ¹ÊÔºáÍÁ» «Ö§è á¹ ¹Í¹¢¹Ò´¢Í§ÁÍàµÍà ÂÍ Áµ ͧãË­ âµ¢Ö¹é µÒÁÅíҴѺ ÃÒ¤ÒÍÂÙã ¹ ËÅÑ¡à» ¹Ã ͺҷ¢Ö¹é ä»ÊíÒËÃѺ¢Í§ãËÁ

Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹Ôâ¾Å Òà Êàµç»à»Íà ÁÍàµÍÃ ä´ ÃѺ¡ÒþѲ¹ÒÁÒÍ ҧµ Íà¹×èͧ ¨¹ã¹» ¨¨ØºÑ¹Êàµç»à»Íà ÁÍàµÍà ·Õè ¹ÔÂÁ㪠Í ҧá¾Ã ËÅÒÂÁÒ¡·ÕèÊØ´áÅÐËÒä´ § Ò¤×Í Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà (uni-polar stepper motor) ÁÕÅ¡Ñ É³Ð¡Òþѹ¢´ÅÇ´¢Í§ÁÍàµÍà áÊ´§ã¹ÃÙ»·Õè 5-1 Êàµç»à»Íà ÁÍàµÍà Ẻ¹ÕÁé ¡Õ Òþѹ¢´ÅÇ´ 2 ¢´º¹áµ ÅТÑÇé áÁ àËÅ硢ͧÊàµàµÍà ᵠÅТ´ Ạ§à» ¹ 2 à¿Ê ÃÇÁÁÍàµÍà ·§Ñé µÑǨÐÁÕ 4 à¿Ê¤×Í à¿Ê 1,2,3 áÅÐ 4 ÁÕ¡Òõ ÍÊÒÂÍÍ¡ÁÒ¨Ò¡¢´ ÅÇ´áµ ÅТ´à¾×Íè ¨ ÒÂä¿àÅÕÂé § ·íÒãË Êàµç»à»Íà ÁÍàµÍà Ẻ¹ÕÁé ·Õ §Ñé Ẻ 5 ÊÒÂáÅÐ 6 ÊÒ ¶ Òà» ¹ Ẻ 5 ÊÒ ¨Ðà» ¹¡ÒùíÒÊÒÂä¿àÅÕÂé §¢Í§¢´ÅÇ´·Ñ§é ÊͧÁÒµ ÍÃÇÁ¡Ñ¹à» ¹ÊÒÂà´ÕÂÇ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 49


P1

¡ÒáÃеع à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍÃ

P1

ÊÒÁÒö·íÒä´ â´Â¡Òè Ò¾Åѧ§Ò¹ä¿¿ Ò ä»Âѧ¢´ÅÇ´áµ ÅТ´º¹á¡¹áÁ àËÅ硤§·Õè «Öè§ +V µ ͧ» ͹໠¹ÅíҴѺµÒÁÃٻẺ·Õè¶Ù¡µ ͧ â´Â +V P3 P4 P3 P4 ÊÒÁÒöẠ§ä´ 3 ÃٻẺ¤×Í ¿ÙÅÊàµç» 1 à¿Ê Ẻ 5 ÊÒ 4 à¿Ê Ẻ 6 ÊÒ 4 à¿Ê (full-step 1 phase), ¿ÙÅÊàµç» 2 à¿Ê (full-step ÃÙ»·Õè 5-1 â¤Ã§Êà ҧ¾×¹é °Ò¹¢Í§Êàµç»à»Íà 2 phase) áÅÐÎÒÅ ¿Êàµç» (half step) ÁÍàµÍà ª¹Ô´ÂÙ¹âÔ ¾Å Òà ·§Ñé Ẻ 5 áÅÐ 6 ÊÒ Ẻ¿ÙÅÊàµç» 1 à¿Ê à» ¹¡ÒáÃÐµØ ¹ +V

P2

P2

·Õ§è Ò Â·ÕÊè ´Ø â´Â¡Ãеع ¢´ÅÇ´·ÕÅТ´äÅ àÃÕ§¡Ñ¹ ä» àª ¹ àÃÔÁè µ ¹·Õ¢è ´·Õè 1, 2, 3, 4 áÅ Çǹ¡ÅѺÁÒ ¢´·Õè 1 ËÃ×ÍàÃÔÁè ·Õ¢è ´·Õè 1 áÅ Ç ͹ä»Âѧ¢´·Õè 4, 3, 2 áÅ Ç¡ÅѺÁÒÂѧ¢´·Õè 1 ÍÕ¡¤ÃÑ§é ·íÒãË ·ÈÔ ·Ò§ ¡ÒÃËÁعÊǹ¡Ñ¹ 㹡ÒáÃеع Ẻ¹Õ¨é §Ö ÁÕ¢´ÅÇ´ µÒÃÒ§·Õè 5-1 áÊ´§ÃٻẺ¡ÒâѺÊàµç»à»Íà à¾Õ§¢´à´ÕÂÇã¹àÇÅÒ˹Ö觷Õè¶Ù¡¡ÃÐµØ ¹à· Ò¹Ñé¹ ÁÍàµÍà Ẻ¿ÙÅÊàµç» 1 à¿Ê ¡ÒáÃеع Ẻ¹ÕÁé ÃÕ Ò¤Ò¶Ù¡áÅЧ Ò ÊÃØ»¢Ñ¹é µÍ¹ ¡Ò÷íÒ§Ò¹áÊ´§´Ñ§ã¹µÒÃÒ§·Õè 5-1 Êàµç»·Õè à¿Ê·Õè 1 à¿Ê·Õè 2 à¿Ê·Õè 3 à¿Ê·Õè 4 Ẻ¿ÙÅÊàµç» 2 à¿Ê ¨Ð¡Ãеع â´Â¨ Ò 1 ·íÒ§Ò¹ ·íÒ§Ò¹ áç´Ñ¹ä»·Õ¢è ´ÅÇ´ 2 ¢´·ÕÍè ÂÙã ¡Å ¡¹Ñ ã¹àÇÅÒà´ÕÂÇ 2 ·íÒ§Ò¹ ·íÒ§Ò¹ 3 ·íÒ§Ò¹ ·íÒ§Ò¹ ¡Ñ¹áÅÐàÃÕ§¶Ñ´¡Ñ¹ä» ¢´ÅÇ´ªØ´áá·Õ¶è ¡Ù ¡Ãеع 4 ·íÒ§Ò¹ ·íÒ§Ò¹ ¨Ðà» ¹¢´·Õè 1 áÅÐ 2 µÒÁ´ Ç¡ÒáÃеع ¢´·Õè µÒÃÒ§·Õè 5-2 áÊ´§ÃٻẺ¡ÒâѺÊàµç»à»Íà 2 áÅÐ 3 µ Íä»à» ¹¢´·Õè 3 áÅÐ 4 ¶Ñ´ä»à» ¹¢´ ·Õè 4 áÅÐ 1 áÅ Ç¡ÅѺÁÒ·Õ¢è ´·Õè 1 áÅÐ 2 Ç¹ä» ÁÍàµÍà Ẻ¿ÙÅÊàµç» 2 à¿Ê µÒÁÅíҴѺઠ¹¹Õé ËÃ×ÍàÃÔÁè ·Õ¢è ´ 1 áÅÐ 4 µÒÁ´ Ç Êàµç»·Õè à¿Ê·Õè 1 à¿Ê·Õè 2 à¿Ê·Õè 3 à¿Ê·Õè 4 ¢´·Õè 4 áÅÐ 3 ¶Ñ´ä»à» ¹¢´·Õè 3 áÅÐ 2 µ Íä» 1 ·íÒ§Ò¹ à» ¹¢´·Õè 2 áÅÐ 1 áÅ Çǹ¡ÅѺÁÒ·Õ¢è ´·Õè 1 áÅÐ 2 ·íÒ§Ò¹ ·íÒ§Ò¹ 4 ·ÔÈ·Ò§¡ÒÃËÁع¨ÐÊǹ¡Ñ¹ ´Ñ§áÊ´§¢Ñ¹é µÍ¹ 3 ·íÒ§Ò¹ ¡ÒáÃÐµØ ¹ã¹µÒÃÒ§·Õè 5-2 ¡ÒáÃÐµØ ¹áºº¹Õé 4 ·íÒ§Ò¹ ·íÒ§Ò¹ ÊÒÁÒöà¾ÔÁè áçºÔ´ä´ ÁÒ¡¡Ç ÒẺ 1 à¿Ê ᡹ 5 ·íÒ§Ò¹ 6 ·íÒ§Ò¹ ·íÒ§Ò¹ áÁ àËÅç¡à¤Å×Íè ¹·ÕÀè ÒÂã¹ÁÍàµÍà ¨Ðà¤Å×Íè ¹·Õ´è Ç Â 7 ·íÒ§Ò¹ áç´Ö§Í ҧàµçÁáç¨Ò¡ 2 ¢´ÅÇ´·Õè¶Ù¡¡ÃÐµØ ¹ 8 ·íÒ§Ò¹ ·íÒ§Ò¹ ¾Ã ÍÁ¡Ñ¹ áÅÐËÁعµ Íä»´ ÇÂáç´Ö§¨Ò¡ÍÕ¡ 2 µÒÃÒ§·Õè 5-3 áÊ´§ÃٻẺ¡ÒâѺÊàµç»à»Íà ¢´ÅÇ´¶Ñ´ä» ÊíÒËÃѺ¢ ÍàÊÕ¤×Í µ ͧ㪠¡Òí ÅÑ§ä¿ ¿ ÒÁÒ¡¢Ö¹é ÁÍàµÍà ẺÎÒÅ ¿Êàµç» Êàµç»·Õè 1 2 3 4

à¿Ê·Õè 1 ·íÒ§Ò¹ -

à¿Ê·Õè 2 ·íÒ§Ò¹ -

à¿Ê·Õè 3 ·íÒ§Ò¹ -

à¿Ê·Õè 4 ·íÒ§Ò¹

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 50


+V

R501 510 1

5

2

4

IC501 4N25

K501 DATA BUS (UIC-10)

D0 D2

D501 1N4001 R506 1k

Q501 BD139

R505 1k

+5V D1 D3

+V

R502 510 1

5

IC502 4N25 2

4

D502 1N4001 +V

R508 1k

Q502 BD139

R507 1k

P3 P4 K502

+V

R503 510 1

5

2

4

IC503 4N25

P1 P2

STEPPER MOTOR D503 1N4001

R510 1k

Q503 BD139

R509 1k

+V

R504 510 1

5

2

4

IC504 4N25

EX-05 Stepper motor driver board

D504 1N4001 R512 1k

Q504 BD139

R511 1k

EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà l ¢Ñ º Êàµç » à»Íà Á ÍàµÍÃ á ººÂÙ ¹Ô â ¾Å Ò Ã

ä´ µ§Ñé áµ 5-24V ¡ÃÐáÊÊÙ§ÊØ´ 1.5A l 㪠á ËÅ § ¨ Ò Âä¿Êí Ò ËÃÑ º ÁÍàµÍà á ¡ µ Ò§ËÒ¡ â´ÂÁÕ¡ÒÃá¡¡ÃÒÇ´ ¢Í§ÊÑ­­Ò³ ¤Çº¤ØÁ¡Ñºä¿àÅÕÂé §ÁÍàµÍà ÍÍ¡¨Ò¡¡Ñ¹´ Ç Íͻⵠ¤»Ñ à»ÅÍà l ¤Í¹à¹ç¡àµÍà DATA BUS ÊíÒËÃѺàª×Í èÁ µ ͡Ѻ P-Board áÅÐ S-Board

ÃÙ»·Õè 5-2 ǧ¨ÃÊÁºÙó ¢Í§ EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 51


ẺÎÒÅ ¿Êàµç» à» ¹ÃٻẺ·Õ¼è ÊÁ¼ÊÒ¹ÃÐËÇ Ò§¡ÒáÃеع Ẻ 1 áÅÐ 2 à¿Ê à¾×Íè à¾ÔÁè ¨íҹǹ¢Í§Êàµç»µ ÍÃͺÍÕ¡à· ÒµÑÇ˹֧è ã¹Ãкº¹Õ¨é СÃеع ¢´ÅÇ´àÃÕ§¡Ñ¹ä»à» ¹ÅíҴѺ´Ñ§¹Õé àÃÔÁè ¨Ò¡ ¢´ÅÇ´·Õè 1, 1 áÅÐ 2, 2, 2 áÅÐ 3, 3, 3 áÅÐ 4, 4, 4 áÅÐ 1 áÅ Çǹ¡ÅѺÁÒÂѧ¢´ÅÇ´·Õè 1 ´Ñ§áÊ´§ã¹µÒÃÒ§·Õè 5-3 áçºÔ´·Õäè ´ ¨Ò¡¡ÒáÃеع Ẻ¹Õ¨é Ðà¾ÔÁè ÁÒ¡¢Ö¹é à¹×Íè §¨Ò¡ª ǧ¢Í§¡ÒÃà¤Å×Íè ¹ ·Õãè ¹áµ ÅÐÊàµç»ÁÕÃÐÂÐÊѹé ŧ áµ ÅÐÊàµç»à¡Ô´áç´Ö§¨Ò¡¢´ÅÇ´ 2 ¢´·Õ¶è ¡Ù ¡Ãеع ¾Ã ÍÁ¡Ñ¹ ¤ÇÒÁ ¶Ù¡µ ͧ¢Í§µíÒá˹ §ÁÕà¾ÔÁè ÁÒ¡¢Ö¹é áµ µÍ §¾Ö§ÃÐÇÑ§Ç Ò àÁ×Íè ¡Ãеع ãË ·Òí §Ò¹ã¹ÃٻẺ¹Õ¨é е ͧËÁع ¶Ö§ 2 Êàµç» ¨Ö§¨Ðä´ à· Ò¡ÑºÃÐÂÐ෠ҡѺ¡ÒáÃеع Ẻ¿ÙÅÊàµç» 1 Êàµç» ÊíÒËÃѺáËÅ §¨ Ò¡íÒÅѧ ä¿¿ Òµ ͧ㪠¢¹Ò´à· ҡѺẺ 2 à¿Êà» ¹Í ҧ¹ Í ¨Ö§¨Ðà¾Õ§¾Í

EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ¡Ò÷´Åͧ㹺·¹Õ¨é Ð㪠EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà »ÃСͺ㹡Òà ·´Åͧà¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà ¼Ò ¹·Ò§¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà â´ÂºÍà ´ EX-05 ÁÕ¡ÒÃá¡ ¡ÃÒÇ´ ·Ò§ä¿¿ Ò¢Í§Ê Ç¹ÍÔ¹¾Øµ·Õàè ª×Íè Áµ ͡Ѻ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà áÅÐàÍÒµ ¾µØ ·Õàè ª×Íè Áµ ͡Ѻ Êàµç»à»Íà ÁÍàµÍà ÍÍ¡¨Ò¡¡Ñ¹ áÅ Ç㪠¡ÒÃàª×Íè Áµ Í·Ò§áʧâ´ÂÍØ»¡Ã³ ·àÕè ÃÕÂ¡Ç Ò Íͻⵠ¤»Ñ à»ÅÍà 㹡Òö Ò·ʹÊÑ­­Ò³¤Çº¤ØÁ ǧ¨Ã¢Í§ºÍà ´ EX-05 áÊ´§ã¹ÃÙ»·Õè 5-2 ÊÑ­­Ò³ÍÔ¹¾ØµÁÒ¨Ò¡ ¤Í¹à¹ç¡àµÍà DATA BUS «Ö§è àª×Íè Áµ ÍࢠҡѺ P-Board áÅ ÇÊ §ä»¢Ñº LED ÍÔ¹¿ÃÒàô«Ö§è ÍÂÙÀ Ò ã¹Íͻⵠ¤»Ñ à»ÅÍà IC501-IC504 â´Â¼ Ò¹µÑǵ Ò¹·Ò¹ R501-R504 à¾×Íè ¨íÒ¡Ñ´¡ÃÐáÊãË ¡ºÑ LED ã¹¢³Ð·Õàè ÍÒµ ¾µØ ¢Í§Íͻⵠ¤»Ñ à»ÅÍà ¨Ðµ ÍࢠҡѺ·ÃÒ¹«ÔÊàµÍà Q501-Q504 àºÍà BD139 à¾×Íè ¢ÑºÁÍàµÍà µÍ ä» àÁ×Íè » ͹Åͨԡ 1 ãË ¡ºÑ Íͻⵠ¤»Ñ à»ÅÍà ¨Ð·íÒãË LED ÀÒÂã¹Íͻⵠ¤»Ñ à»ÅÍà ·íÒ§Ò¹ ¡Ãеع ãË â¿âµ ·ÃÒ¹«ÔÊàµÍà ÀÒÂã¹Íͻⵠ¤»Ñ à»ÅÍà ·Òí §Ò¹ à¡Ô´áç´Ñ¹¼ Ò¹µÑǵ Ò¹·Ò¹» ͹ ࢠҷբè ÒàºÊ¢Í§·ÃÒ¹«ÔÊàµÍà ·íÒãË ·ÃÒ¹«ÔÊàµÍà BD139 ¹íÒ¡ÃÐáÊ àÊÁ×Í¹Ç Ò¢´ÅÇ´´ Ò¹Ë¹Ö§è ¶Ù¡ µ Íŧ¡ÃÒÇ´ ¨Ö§à¡Ô´¡ÃÐáÊäËż Ò¹¢´ÅÇ´ ·íÒãË à¡Ô´¡ÒÃËÁع¢Ö¹é ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà ¨Ðà» ¹Í ҧäà ¢Ö¹é ÍÂÙ¡ ºÑ ¢ ÍÁÙÅ·Õ»è Í ¹ãË á¡ Ç§¨Ã¢Ñºº¹ºÍà ´ EX-05 ¹Õé ÊíÒËÃѺä¿àÅÕ駢ͧÊàµç»à»Íà ÁÍàµÍà ¨Ðá¡ÍÍ¡¨Ò¡Ç§¨ÃÍÔ¹¾Øµ·Õèàª×èÍÁµ ͡Ѻ P-Board â´Âµ ͧ» ͹áç´Ñ¹µÒÁ¾Ô¡´Ñ ¢Í§ÁÍàµÍà ·µÕè Í §¡ÒâѺ áµ Á¢Õ Í ¨íÒ¡Ñ´Ç Òµ ͧÁÕ¤Ò äÁ à¡Ô¹ 30V ¡ÃÐ áÊä¿¿ Ò»ÃÐÁÒ³ 1A ºÍà ´ EX-05 à» ¹ºÍà ´µÑÇÍ ҧ·Õãè ª ªÇ Â㹡ÒùíÒ¤ÍÁ¾ÔÇàµÍà 仢ѺÊàµç»à»Íà ÁÍàµÍà ¶ Ҽ٠㪠§Ò¹µ ͧ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ËÅÒÂæ µÑÇ㹤ÃÒÇà´ÕÂÇ¡çÊÒÁÒö·íÒä´ â´Â¹íÒ¢Ò¾Íà µ Data ·Ñ§é 8 ºÔµÁÒ㪠·íÒãË ÊÒÁÒö¢ÑºÊàµç»à»Íà ÁÍàµÍÃ ä´ 2 µÑÇáÅж Ò㪠¾Íà µ Control ÁÒª Ç¡ç¨ÐÊÒ ÁÒö¢ÑºÊàµç»à»Íà ÁÍàµÍÃ ä´ ã¹¤ÃÒÇà´ÕÂǶ֧ 3 µÑÇ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 52


¡Ò÷´Åͧ·Õè 5 ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. áËÅ §¨ ÒÂ俵ç +12V 2A ËÃ×ÍÁÒ¡¡Ç Ò 1 à¤Ã×Íè § 5. Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ¢¹Ò´ 12V 100Ω 7.5 ͧÈÒµ ÍÊàµç» ËÃ×Í´Õ¡Ç Ò 1 µÑÇ 6. ÊÒÂàª×Íè Áµ Í IDC-10

1 àÊ ¹

¡Ò÷´Åͧ ÃٻẺ¡ÒâѺẺ 1 à¿Ê¨Ò¡ã¹µÒÃÒ§·Õè 5-1 ¢Í§Ê ǹ·ÄÉ®Õ àÁ×Íè á»Å§à» ¹¡Òû ͹Åͨԡ ¡Òû ͹¤ Ò¨Ðà» ¹ 1,2,4,8 ÊíÒËÃѺ¡ÒÃËÁع·Ç¹à¢çÁ¹ÒÌ ¡ÒËÃ×ÍËÁع« ÒÂáÅл ͹ 8,4,2,1 ÊíÒËÃѺ ¡ÒÃËÁعµÒÁà¢çÁ¹ÒÌ ¡ÒËÃ×ÍËÁع¢ÇÒ â´ÂÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁÍ ҧ§ ÒÂä´ ´§Ñ ¹Õé 5.1 ÊíÒËÃѺ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ Visual BASIC à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà ´Ç ºÍà ´ EX-05 ãË ËÁع ·Ò§´ Ò¹« Ò¨Ð㪠»ÁØ Command1 «Ö§è à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ Command1 ä´ ´§Ñ ¹Õé Private Sub Command1_Click() Lefts = False Rights = True Do DoEvents Out &H378, 1 Call delay Out &H378, 2 Call delay Out &H378, 4 Call delay Out &H378, 8 Call delay Loop Until Lefts = True End Sub

5.2 àª×Íè Áµ Í P-Board ¡ÑººÍà ´ EX-05 ´ ÇÂÊÒ IDC-10 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà DATA BUS áÅÐ µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҡѺºÍà ´ EX-05 â´Âµ ͧÊѧࡵà¿Ê¢Í§ÁÍàµÍà ãË ¶¡Ù µ ͧ´ Ç 5.3 ¨ ÒÂä¿ãË P-Board áÅÐ EX-05 ¨Ò¡¹Ñ¹é Ãѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ã¹¢ Í 5.1 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 53


5.4 ¡´»ØÁ Command1 â»Ãá¡ÃÁ¨ÐÊ §¤ Ò 1,2,4,8 â´Â¨Ð¤Ñ¹è ´ ÇÂâ»Ãá¡ÃÁ ÍÂ˹ ǧàÇÅÒ (delay) áÅÐǹÅÙ»ä»àÃ×Íè  æ â´Â 㪠¤Òí Êѧè Do...... Loop Until «Ö§è ¨Ð¤ÍµÃǨÊ꼂 ÒÁÕ¡Òá´ Command2 ËÃ×ÍäÁ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§Êàµç»à»Íà ÁÍàµÍà 5.5 ÊíÒËÃѺâ»Ãá¡ÃÁ˹ ǧàÇÅÒ ÁÕÇ¸Ô ¡Õ ÒÃà¢ÕÂ¹ä´ ËÅÒÂÇÔ¸Õ ÇÔ¸áÕ Ã¡¤×Í ¡ÒÃ㪠Timer «Ö§è à» ¹°Ò¹ àÇÅÒ㹤ÍÁ¾ÔÇàµÍà ÊíÒËÃѺÇÔ¸¹Õ äÕé Á ÇÒ ¨Ð㪠¤ÍÁ¾ÔÇàµÍÃ Ã¹Ø ã´ã¹¡Ò÷´Åͧ ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹ ¢Í§â»Ãá¡ÃÁ˹ ǧàÇÅҢͧ¤ÍÁ¾ÔÇàµÍà ᵠÅÐà¤Ã×Íè §¡ç处 ¤§à· Òà´ÔÁ áµ ¢Í àÊÕ¤×Í ¤ÇÒÁàÃçÇÊÙ§ÊØ´ ·Õâè »Ãá¡ÃÁ·íÒä´ ÍÒ¨äÁ à¾Õ§¾Íµ ͤÇÒÁµ ͧ¡Òà à¹×Íè §¨Ò¡¤ ÒµèÒí ÊØ´¢Í§¡ÒùѺÁÕ¤Ò à· Ò¡Ñº 0.01 ÇÔ¹Ò·Õ෠ҹѹé ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Sub delay() Times = Timer Do DoEvents Loop Until Timer >= Times + 0.01 End Sub

â»Ãá¡ÃÁ¹Õ¨é зíÒ¡ÒõÃǨÊÍºÇ Ò¤ Ò Timer «Ö§è à» ¹¤ ÒµÑÇàÅ¢àÇÅÒÀÒÂã¹à¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà ¹Ñ¹é ÁÕ¤Ò ÁÒ¡¡Ç Ò ¤ Ò Times +0.01 «Ö§è à» ¹¤ ÒµÑÇá»Ã·ÕÁè ¡Õ ÒáíÒ˹´äÇ ¡Í ¹Ç¹ÅÙ»ËÃ×ÍÂѧ ¶ ÒàÇÅÒ à´Ô¹ä»¨¹ÁÕ¤Ò ÁÒ¡¡Ç ÒËÃ×Í෠ҡѺ Times +0.01 áÅ Ç â»Ãá¡ÃÁ¨ÐÍÍ¡¨Ò¡ÅÙ»¡ÒÃ˹ ǧàÇÅÒ â´Â·Õè ¤íÒÊѧè Doevents à» ¹¤íÒÊÑ§è ·Õªè Ç ÂãË â»Ãá¡ÃÁÊÒÁÒö·íÒ§Ò¹ã¹â»Ãá¡ÃÁÊ Ç¹Í×¹è æ 仾à ÍÁ¡Ñ¹ ä´ àª ¹ ÊÒÁÒö¡´»ØÁ Command2 ã¹¢³Ð·Õ¡è ÒÃÅѧǹÍÂÙã ¹ÅÙ»ä´ à» ¹µ ¹ ¼Ùã ª §Ò¹ÍÒ¨·´Åͧ äÁ ãÊ ¤Òí Êѧè Doevents à»ÃÕºà·Õº¡Ñº¡ÒÃãÊ ¤Òí ÊÑ§è ¹Õäé Ç ã¹â»Ãá¡ÃÁáÅ Ç Êѧࡵ´Ù¤ÇÒÁᵡµ Ò§ 5.6 ¨Ò¡â»Ãá¡ÃÁ˹ ǧàÇÅÒã¹ÃٻẺáá㹡Ò÷´Åͧ¢ Í 5.5 ÍÒ¨ãË ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹äÁ ÁÒ¡¹Ñ¡ ´Ñ§¹Ñ¹é â»Ãá¡ÃÁ˹ ǧàÇÅÒã¹ÃٻẺ·Õè 2 ¨ÐãË ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹·ÕÁè Ò¡¡Ç Ò â´Âã¹ ÃٻẺ¹Õé ¤ÇÒÁàÃçǨТֹé ÍÂÙ¡ ºÑ ¤ÇÒÁàÃçǢͧ¤ÍÁ¾ÔÇàµÍà â´ÂÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Sub delay() For i = 1 To HScroll1.Value DoEvents Next i End Sub

¡ÒÃà¢Õ¹â»Ãá¡ÃÁã¹ÃٻẺ¹Õé¨Ð㪠¤íÒÊÑè§ For...Next áÅÐ㪠ᶺàÅ×è͹ Hscroll 㹡Òà »ÃѺ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹ áÅÐ㹡óշÕèÁÕ¡ÒÃǹÅÙ»·ÕèÂÒǹҹáÅÐäÁ µ ͧ¡ÒÃãË â»Ãá¡ÃÁ ËÂØ´¤ Ò§ ¡çµÍ §á·Ã¡¤íÒÊѧè Doevents ࢠÒä»ÃÐËÇ Ò§ÅÙ» 5.7 ÊíÒËÃѺ¡ÒÃËÁع价ҧ´ Ò¹¢ÇÒ ¨Ðµ ͧÊà ҧ»ØÁ Command2 ¢Ö¹é â´Â¡ ͹·Õ¨è ÐÊѧè ãË Êàµç»à»Íà ÁÍàµÍà ËÂØ´¡ÒÃËÁع¡ ͹ â´Â㹡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ð㪠µÇÑ á»Ã Lefts áÅÐ Rights ´Ñ§â»Ãá¡ÃÁ µÑÇÍ ҧµ Í仹Õé àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 54


Private Sub Command2_Click() Lefts = True Rights = False Do DoEvents Out &H378, 8 Call delay Out &H378, 4 Call delay Out &H378, 2 Call delay Out &H378, 1 Call delay Loop Until Rights = True End Sub

¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¨ÐàËÁ×͹¡Ñº¡ÒÃËÁع« Ò ᵠ¨Ðᵡµ Ò§¡Ñ¹·ÕÃè »Ù áºº¢Í§¢ ÍÁÙÅ¡Òà ËÁع¨Ðà» ¹ 8,4,2,1 á·¹ â´ÂàÁ×Íè Ãѹâ»Ãá¡ÃÁµÑÇÍ ҧ¨Ð»ÃÒ¡¯ÃٻẺ¢Í§Ë¹ ҨʹѧÃÙ»·Õè P5-1 Í ҧäáçµÒÁÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´·Ñé§ËÁ´¢Í§â»Ãá¡ÃÁáÅз´Åͧ㪠§Ò¹ä´ ¨Ò¡ä¿Å LAB05.VBP

ÃÙ»·Õè P5-1 ˹ Ҩͧ͢â»Ãá¡ÃÁ·Õè à¢Õ¹¢Öé¹ã¹¡Ò÷´Åͧ·Õè 5 ¹Õé 㪠ÊíÒËÃѺ»ÃѺ¤ÇÒÁàÃçÇáÅзÔÈ·Ò§ ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍÃ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 55


¡Ò÷´Åͧ·Õè 6 ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÊͧà¿Ê à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. áËÅ §¨ ÒÂ俵ç +12V 2A ËÃ×ÍÁÒ¡¡Ç Ò 1 à¤Ã×Íè § 5. Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ¢¹Ò´ 12V 100Ω 7.5 ͧÈÒµ ÍÊàµç» ËÃ×Í´Õ¡Ç Ò 1 µÑÇ 6. ÊÒÂàª×Íè Áµ Í IDC-10

1 àÊ ¹

¡Ò÷´Åͧ 6.1 ¡ÒäǺ¤ØÁÊàµç»à»Íà ÁÍàµÍà ãË ·Òí §Ò¹à» ¹áºº 2 à¿Ê¹Ñ¹é ÁÕû٠Ẻ¡ÒâѺáÊ´§ã¹µÒÃÒ§·Õè 4-2 ã¹Ê ǹ¢Í§·ÄÉ®Õ â´Â¨Ðµ ͧ» ͹¤ Ò 9,3,6,12 ÊíÒËÃѺ¡ÒÃËÁع´ Ò¹« ÒÂáÅÐ 12,6,3,9 ÊíÒËÃѺ ¡ÒÃËÁع·Ò§´ Ò¹¢ÇÒã¹â»Ãá¡ÃÁ â´ÂÊÒÁÒÃ¶á¡ ä¢ Command1 áÅÐ Command2 ¨Ò¡â»Ãá¡ÃÁ 㹡Ò÷´Åͧ·Õè 5 ä´ ´§Ñ ¹Õé Dim i As Integer Dim Lefts, Rights As Boolean Private Sub Command1_Click() Lefts = False Rights = True Do DoEvents Out &H378, 9 Call delay Out &H378, 3 Call delay Out &H378, 6 Call delay Out &H378, 12 Call delay Loop Until Lefts = True End Sub Private Sub Command2_Click() Lefts = True Rights = False

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 56


Do DoEvents Out &H378, 12 Call delay Out &H378, 6 Call delay ut &H378, 3 Call delay Out &H378, 9 Call delay Loop Until Rights = True End Sub

6.2 àª×Íè Áµ Í P-Board ¡ÑººÍà ´ EX-05 ´ ÇÂÊÒ IDC-10 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà DATA BUS áÅÐ µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҡѺºÍà ´ EX-05 â´Âµ ͧÊѧࡵà¿Ê¢Í§ÁÍàµÍà ãË ¶¡Ù µ ͧ´ Ç 6.3 ¨ ÒÂä¿ãË P-Board áÅÐ EX-05 ¨Ò¡¹Ñ¹é Ãѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ã¹¢ Í 6.1 6.4 ÊÑ § ࡵ¡ÒÃËÁØ ¹ ¢Í§Êàµç » à»Íà Á ÍàµÍÃ à »ÃÕ Â ºà·Õ  º¡Ñ º 㹡Ò÷´Åͧ·Õè 5 ¨Ð¾ºÇ Ò ¡ÒâѺãË Êàµç»à»Íà ÁÍàµÍà ËÁعã¹áººÊͧà¿Ê¨ÐãË áçºÔ´·ÕèÁÒ¡¡Ç Ò áµ ¡ç¨Ð¡Ô¹ ¡íÒÅѧ§Ò¹ÁÒ¡¡Ç ÒẺ˹֧è à¿Êà» ¹ 2 à· Ò´ ÇÂઠ¹¡Ñ¹ ÊíÒËÃѺÃÒÂÅÐàÍÕ´·Ñé§ËÁ´¢Í§â»Ãá¡ÃÁ·´Åͧ¹ÕéÊÒÁÒö´ÙáÅз´Åͧ㪠§Ò¹ä´ ¨Ò¡ä¿Å LAB06.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 57


¡Ò÷´Åͧ·Õè 7 ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç» à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. áËÅ §¨ ÒÂ俵ç +12V 2A ËÃ×ÍÁÒ¡¡Ç Ò 1 à¤Ã×Íè § 5. Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ¢¹Ò´ 12V 100Ω 7.5 ͧÈÒµ ÍÊàµç» ËÃ×Í´Õ¡Ç Ò 1 µÑÇ 6. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹

¡Ò÷´Åͧ 7.1 ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ã¹ÃٻẺ¹Õé ¨ÐãË ¤ÇÒÁÅÐàÍÕ´㹡ÒâѺ໠¹ 2 ෠ҢͧẺ¿ÙÅ Êàµç»¨Ò¡¡Ò÷´Åͧ·Õè 5 áÅÐ 6 ´Ñ§¹Ñ¹é ¡Òû ͹¤ Ò¨Ö§µ ͧ» ͹´ Ǥ Ò·Õáè µ¡µ Ò§¡Ñ¹¶Ö§ 8 ¤ Ò´ Ç ¡Ñ¹¤×Í ¨Ð» ͹¢ ÍÁÙÅẺ 1 à¿ÊÊÅѺ¡ÑºáººÊͧà¿Ê ÊíÒËÃѺ¡ÒÃËÁع« Ò¨е ͧ» ͹¤ Ò෠ҡѺ 9,1,3,2,6,4,12,8 Ê Ç¹¡ÒÃËÁع¢ÇÒµ ͧ» ͹¤ Ò෠ҡѺ 8,12,4,6,2,3,1,9 «Öè§ÊÒÁÒöà¢Õ¹ â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Private Sub Command1_Click() Lefts = True Rights = False Do DoEvents Out &H378, 9 Call delay Out &H378, 1 Call delay Out &H378, 3 Call delay Out &H378, 2 Call delay Out &H378, 6 Call delay Out &H378, 4 Call delay Out &H378, 12 Call delay Out &H378, 8

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 58


Call delay Out &H378, 0 Call delay Loop Until Rights = True End Sub Private Sub Command2_Click() Lefts = False Rights = True Do DoEvents Out &H378, 8 Call delay Out &H378, 12 Call delay Out &H378, 4 Call delay Out &H378, 6 Call delay Out &H378, 2 Call delay Out &H378, 3 Call delay Out &H378, 1 Call delay Out &H378, 9 Call delay Out &H378, 0 Call delay Loop Until Lefts = True End Sub

7.2 àª×Íè Áµ Í P-Board ¡ÑººÍà ´ EX-05 ´ ÇÂÊÒ IDC-10 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà DATA BUS áÅÐ µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҡѺºÍà ´ EX-05 â´Âµ ͧÊѧࡵà¿Ê¢Í§ÁÍàµÍà ãË ¶¡Ù µ ͧ´ Ç 7.3 ¨ ÒÂä¿ãË P-Board áÅÐ EX-05 ¨Ò¡¹Ñ¹é Ãѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ã¹¢ Í 7.1 7.4 Êѧࡵ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà ¨Ð¾ºÇ Ò Êàµç»à»Íà ÁÍàµÍà ¨ÐËÁعª Ò¡Ç Ò¡Òà ÊÑ§è §Ò¹ã¹¡Ò÷´Åͧ·Õè 5 áÅÐ 6 áµ ãË ¤ÇÒÁÅÐàÍÕ´㹡Ò÷íÒ§Ò¹ÁÒ¡¡Ç Ò «Ö§è ¡ç¢¹Öé ÍÂÙ¡ ºÑ ¼Ù 㪠§Ò¹Ç Òµ ͧ¡ÒÃ㪠§Ò¹¤Çº¤ØÁã¹ÃٻẺ㴡çÊÒÁÒö¹íÒÃٻẺ¹Ñé¹ä»ãª 㹡ÒäǺ¤ØÁä´ ÊíÒËÃѺâ»Ãá¡ÃÁµÑÇÍ ҧ¼Ù 㪠§Ò¹ÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´áÅз´Åͧ㪠§Ò¹ä´ ¨Ò¡ä¿Å LAB07.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 59


..


º··Õè 6 ¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹ ´ ǾÍà µ¢¹Ò¹ LED µÑÇàÅ¢ 7 Ê Ç¹»ÃСͺ¢Ö¹é ¨Ò¡ LED ¨íҹǹ 7 µÑÇ·Õºè ÃèØÍÂÙã ¹µÑǶѧà´ÕÂǡѹáÅÐä´ ÃѺ¡ÒèѴàÃÕ§໠¹ÃÙ»µÑÇàÅ¢ LED áµ ÅеÑǨж١àÃÕÂ¡Ç Ò Ê Ç¹ ËÃ×Í à«¡àÁ¹µ (segment) áµ ÅÐ Ê Ç¹ËÃ×Íà«¡àÁ¹µ ÁªÕ Í×è àÃÕ¡ᵡµ Ò§¡Ñ¹µÒÁµíÒá˹ §·Õäè ´ ÃºÑ ¡ÒèѴÇÒ§¤×Í a, b, c, d, e, f áÅÐ g ´Ñ§áÊ´§ã¹ÃÙ»·Õè 6-1 Ê Ç¹ dp à» ¹ LED ÍÕ¡ 1 µÑÇ·Õºè ÃèØÍÂÙã ¹ LED µÑÇàÅ¢ 7 Ê Ç¹¹Õãé ª à» ¹µÑÇáÊ´§ ¨Ø´·È¹ÔÂÁ㹡óշÁÕè ¡Õ ÒÃáÊ´§¼Åã¹ÅѡɳÐàÅ¢·ÕÁè ·Õ È¹ÔÂÁ LED ·Ø¡µÑÇ·Õºè ÃèØÍÂÙã ¹ LED µÑÇàÅ¢ 7 Ê Ç¹¹ÕÁé ¢Õ Òµ Íà ÇÁ¡Ñ¹ «Ö§è ¡çÁ·Õ §Ñé Ẻµ Í¢Òá¤â·´ à ÇÁ¡Ñ¹àÃÕÂ¡Ç Ò áººá¤â·´Ã ÇÁ (common cathode) ´Ñ§áÊ´§ã¹ÃÙ»·Õè 6-2 (¡) áÅÐẺµ Í¢Ò áÍâ¹´Ã ÇÁ¡Ñ¹àÃÕÂ¡Ç Ò áººáÍâ¹´Ã ÇÁ (common anode) ´Ñ§áÊ´§ã¹ÃÙ»·Õè 6-2 (¢) ¡ÒâѺãË LED µÑÇàÅ¢ 7 Ê Ç¹áººá¤â·´Ã ÇÁÊÇ Ò§¨Ðµ ͧ¨ ÒÂä¿Åºà¢ Ò·Õ¢è Òà ÇÁ áŠǨ ÒÂ俺ǡࢠҷբè ÒáÍ â¹´ «Ö§è ¡ç¤Í× ¢Ò¢Í§áµ ÅÐà«¡àÁ¹µ ¹¹Ñè àͧ ã¹¢³Ð·Õè LED µÑÇàÅ¢ 7 Ê Ç¹áººáÍâ¹´Ã ÇÁ¨Ðµ ͧ¨ Ò 俺ǡࢠҷբè Òà ÇÁ áŠǨ ÒÂä¿Åºà¢ Ò·Õ¢è Òá¤â·´ «Ö§è à» ¹¢Ò¢Í§áµ ÅÐà«¡àÁ¹µ C

=

B

> ?

A

@F @

b

a b

c d e

c d e

f g dp

f g dp

a

common (¡) á¤â·´Ã ÇÁ

common (¢) áÍâ¹´Ã ÇÁ

ÃÙ»·Õè 6-1 ¡ÒáíÒ˹´ª×Íè ¢Í§áµ ÅÐà«¡àÁ¹µ ÃÙ»·Õè 6-2 â¤Ã§Êà ҧ¾×¹é °Ò¹¢Í§ LED µÑÇàÅ¢ ¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ 7 Ê Ç¹·Ñ§é Ẻá¤â·´Ã ÇÁáÅÐáÍâ¹´Ã ÇÁ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 61


LED µÑÇàÅ¢ 7 Ê Ç¹ÁÕ¨Òí ˹ Ò·ѧé ẺµÑÇ à´ÕÂè Ç, µÑǤ٠áÅÐẺ·ÕÁè ÁÕ Ò¡¡Ç Ò 2 ËÅÑ¡ áµ ·Õè ¹ÔÂÁ㪠§Ò¹ÁÕ 2 Ẻ¤×Í áººµÑÇà´ÕÂè ÇáÅÐẺ µÑǤ٠â´ÂÁÕ¡ÒèѴ¢Ò´Ñ§ã¹ÃÙ»·Õè 6-3 LED µÑÇàÅ¢ 7 Ê Ç¹áººµÑÇà´ÕÂè ÇÁÕ¢Òµ Í㪠§Ò¹ 10 ¢Ò¤×Í ¢Ò a, b, c, d, e, f, g, dp áÅТÒà ÇÁ (common) 2 ¢Ò ¶ Òà» ¹áººµÑǤÙÁ ¢Õ Òµ Í㪠§Ò¹ 20 ¢Ò Ạ§à» ¹ ¢Ò a, b, c, d, e, f, g áÅÐ dp Í ҧÅÐ 2 ¢ÒÃÇÁ (¡) (¢) 16 ¢Ò áÅТÒà ÇÁÍÕ¡ËÅÑ¡ÅÐ 2 ¢Ò ¡Òõ Í¢Òà ÇÁ ÃÙ»·Õè 6-3 ¡ÒèѴ¢Ò¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ ¢Í§áµ ÅÐËÅÑ¡ÊÒÁÒöµ Íà¾Õ§¢Òà´ÕÂÇä´ à¹×Íè § (¡) ẺµÑÇà´ÕÂè Ç (¢) ẺµÑǤ٠¨Ò¡ã¹â¤Ã§Êà ҧÀÒÂã¹¢Òà ÇÁ¹Õµé Í ¶Ö§¡Ñ¹ÍÂÙá Å Ç g

f com a

b

e

d com c dp

f2 g2 com2 a2

b2 f1 g1 com1 a1 b1

e2 d2 com2 c2 dp2 e1 d1 com1 c1 dp1

¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹áººËÅÑ¡à´ÕÂè Ç µ ͧµ Í¢Ò¾Íà µàÍÒµ ¾Øµ«Öè§ã¹·Õè¹Õé¤×;Íà µ Data ࢠҡѺ¢Òà«¡àÁ¹µ ¢Í§ LED â´Â¼ Ò¹ äÍ«Õº¿Ñ à¿Íà à¾×Íè ª ÇÂã¹àÃ×Íè §¡Òè Ò¡ÃÐáÊ áÅе ͧµ ͵Ñǵ Ò¹·Ò¹Í¹Ø¡ÃÁࢠÒä»à¾×Íè ¨íÒ¡Ñ´¡ÃÐáÊ ãË á¡ LED ´Ñ§ã¹ÃÙ»·Õè 6-4 ÊíÒËÃѺ¢Òà ÇÁÍҨ㪠¢Ò¾Íà µ Control ¢Òã´¢Ò˹֧è ÁÒª ÇÂËÃ×͵ Íŧ ¡ÃÒÇ´ ¡äç ´ (㹡óÕ㪠LED Ẻá¤â·´Ã ÇÁ) ¡ÒáíÒ˹´ãË LED áÊ´§¢ ÍÁÙÅà» ¹µÑÇàÅ¢ËÃ×Í à» ¹ÊÑ­Åѡɳ ã´æ ¡çµÒÁ µ ͧ¡íÒ˹´ÃٻẺ¡ÒÃáÊ´§¼Å¢Í§µÑÇàÅ¢ãË ¡Ñºà«¡àÁ¹µ µ Ò§æ ´ Ç ¢ ÍÁÙÅáµ ÅкԵ¢Í§¾Íà µ¢¹Ò¹ ´Ñ§ÊÃØ»äÇ ã¹µÒÃÒ§·Õè 6-1 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¢Ñº LED µÑÇàÅ¢ ¨Ð¡íÒ˹´¤ Òã¹µÒÃÒ§ä»à¡çºäÇ ã¹µÑÇá»ÃẺÍÒàà(array) «Ö§è àÁ×Íè Í Ò§¶Ö§µÑÇàÅ¢µÑÇã´¡çÊÒÁÒö¹íÒ àÍÒ¢ ÍÁÙÅã¹ÍÒà๹Ñé ÁÒãª ä´ ·¹Ñ ·Õ

¨Ò¡¾Íà µ Data ¢Í§¾Íà µ¢¹Ò¹

+5V

C1 0.1/50V

20 D0 D1 D2 D3 D4 D5 D6 D7

2 3

D0

Q0

D1

Q1

4 D2 5 D3 6 D4 7 D5 8 D6 9 D7

Q2

a b c d e f g dp

18 17 16

15 Q3 14 Q4 13 Q5 12 Q6 11 Q7

IC1 74HC541 1 10 19

DSP1

R1-R8 100x8

common

C0

¨Ò¡¾Íà µ Control ¢Í§¾Íà µ¢¹Ò¹

ÃÙ»·Õè 6-4 ǧ¨Ã¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹µÑÇà´ÕÂè Çâ´Â㪠¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 62


¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ ÊíÒËÃѺ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹ ¢ ÍÁÙÅáÊ´§¼Å¢Í§ ¤ ÒµÑÇàÅ¢·Õáè Ê´§ ·Õè LED µÑÇàÅ¢ LED µÑ Ç àÅ¢ 7 Ê Ç ¹ ,% ,$ ,# ," ,! , , , 7 Ê Ç¹

0!.

0 $

0#*

0".

0$$

0$,

0%,

0 %

0%.

0$.

0%%

0%+

0!'

0#-

0%'

0%

0..

&Hxx 㹪 ͧ¤ Ò¢ ÍÁÙÅáÊ´§¼Å ÁÕ¤ÇÒÁËÁÒÂÇ Ò ¢ ÍÁÙÅ·Õµè Í ËÅѧ &H ¹Õàé » ¹¢ ÍÁÙÅàÅ¢°Ò¹ÊԺˡ

µÒÃÒ§·Õè 6-1 µÒÃÒ§¢ ÍÁÙÅ¡ÒÃáÊ´§¼Å¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ àÁ×Íè 㪠Ẻá¤â·´Ã ÇÁ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 63


DSP4

DSP3

DSP2

DSP1

a b c d e f g dp

D0 D1 D2 D3 D4 D5 D6 D7 R1-R8 100x8

common

common

common

common

C3 C2 C1 C0

ÃÙ»·Õè 6-5 ǧ¨Ã¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« 4 ËÅÑ¡â´Â㪠¾Íà µ¢¹Ò¹¢Í§ ¤ÍÁ¾ÔÇàµÍà ·ÕÊè Ò D0-D7 ¤Çõ ÍäÍ«Õº¿ Ñ à¿Íà ´Ç Âà¾×Íè à¾ÔÁè ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊ

¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« 㹡óշµÕè Í §¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹ÁÒ¡¡Ç Ò 1 ËÅÑ¡â´Â㪠¨Òí ¹Ç¹ÊÒ¢ ÍÁÙÅ·Õ¨è Òí ¡Ñ´ ¹Ñ¹é ·íÒä´ â´Â㪠¡ÒâѺẺÁÑŵÔà¾Åç¡« «Ö§è ¹Í¡¨Ò¡¨Ð»ÃÐËÂÑ´ÊÒÂÊÑ­­Ò³áÅ ÇÂѧ»ÃÐËÂÑ´¾Åѧ§Ò¹ 㹡ÒâѺ LED µÑÇàÅ¢ÍÕ¡´ Ç à¹×Íè §¨Ò¡¡ÒâѺẺÁÑŵÔà¾Åç¡« LED ¨ÐµÔ´·ÕÅÐËÅÑ¡´ ÇÂÍѵÃÒàÃçÇ ·Õµè ҢͧÁ¹ØÉ äÁ ÊÒÁÒöµÃǨ¨Ñºä´ ·¹Ñ ¨Ö§´ÙàËÁ×Í¹Ç Ò LED ·Ø¡ËÅÑ¡µÔ´ÊÇ Ò§ã¹àÇÅÒà´ÕÂǡѹ ¡ÒÃáÊ´§¼ÅẺÁÑŵÔà¾Åç¡« ¹ÁÕé »Õ ÃÐ⪹ ´§Ñ ¹Õé 1. Å´¾Åѧ§Ò¹ä¿¿ Ò·Õãè ª ·íÒãË ¢¹Ò´¢Í§Ãкºâ´ÂÃÇÁàÅç¡Å§´ Ç 2. 㪠¨Òí ¹Ç¹ÊÒÂÊÑ­­Ò³¹ Í â´Â·Õ¶è Ò ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹ 1 ËÅÑ¡¨Ð㪠ÊÒÂÊÑ­­Ò³ 8 àÊ ¹¶ ҢѺ 2 ËÅÑ¡à¾ÔÁè à» ¹ 9 àÊ ¹ËÃ×Ͷ ҢѺ 4 ËÅÑ¡¡ç㪠ÊÒÂÊÑ­­Ò³à¾Õ§ᤠ11 àÊ ¹ 3. Å´¨íҹǹµÑǵ Ò¹·Ò¹·Õãè ª 㹡ÒèíÒ¡Ñ´¡ÃÐáʢͧ LED ã¹áµ ÅÐà«¡àÁ¹µ ¡µÑÇÍ ҧ LED µÑÇàÅ¢ 7 Ê Ç¹Ë¹Ö§è ËÅÑ¡µ ͧ㪠µÇÑ µ Ò¹·Ò¹¨íÒ¡Ñ´¡ÃÐáÊ 8 µÑÇ ¶ ÒËÒ¡¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡â´ÂµÃ§ µ ͧ㪠µÇÑ µ Ò¹·Ò¹ÁÒ¡¶Ö§ 32 µÑÇ ã¹¢³Ð·ÕËè ҡ㪠¡ÒÃáÊ´§¼ÅẺÁÑŵÔà¾Åç¡« Âѧ ¤§ãª µÇÑ µ Ò¹·Ò¹à¾×Íè ¨íÒ¡Ñ´¡ÃÐáÊã¹áµ ÅÐà«¡àÁ¹µ à¾Õ§ 8 µÑÇäÁ ÇÒ ¨Ð¢Ñº LED µÑÇàÅ¢¡ÕËè ÅÑ¡¡çµÒÁ ÊíÒËÃѺ¢ ÍàÊÕÂ㹡ÒÃ㪠§Ò¹ LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« º¹¤ÍÁ¾ÔÇàµÍà ¤Í× 1. µ ͧ¤ÍµԴµ Íà¾×Íè Ê §¢ ÍÁÙÅãË á¡ LED ÍÂÙµ ÅÍ´àÇÅÒ à¾×Íè ãË à¡Ô´¡ÒÃáÊ´§¼ÅÍ ҧµ Í à¹×Íè § ·íÒãË ¡Ò÷íÒ§Ò¹ã¹Ê ǹÍ×¹è æ ·íÒä´ ªÒ 2. ¡Ò÷íÒ§Ò¹º¹ÇÔ¹â´ÇÊ ¹¹Ñé à» ¹¡Ò÷íҧҹẺÁÑŵԷÒÊ¡Ô§é «Ö§è ¨Ðµ ͧ·íÒ§Ò¹¡Ñºâ»Ãá¡ÃÁ Í×¹è æ ¤Çº¤Ùä »´ Ç ·íÒãË ªÇ §àÇÅÒ㹡ÒÃÊ᡹¨Ðà¡Ô´µÔ´¢Ñ´ã¹ºÒ§¤Ãѧé áÅÐàË繡ÒáоÃÔº¢Í§ LED àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 64


¡ÒâѺ LED µÑÇàŢẺÁÑŵÔà¾Åç¡« ¨Ðµ ͢ҢͧᵠÅÐà«¡àÁ¹µ à ÇÁ¡Ñ¹¤×Í à«¡àÁ¹µ a ¢Í§·Ø¡ËÅÑ¡¨Ðµ Ͷ֧¡Ñ¹äÅ àÃÕ§仨¹¶Ö§à«¡àÁ¹µ g 㹺ҧ§Ò¹·Õµè Í §ãª ¨´Ø dp ¡çµÍ §µ ͢Ңͧ¨Ø´ dp ÃÇÁ¡Ñ¹´ ÇÂ Ê Ç¹¢Òà ÇÁ¢Í§áµ ËÅÑ¡ãË µÍ ࢠҡѺ¢Ò¾Íà µ Control ´Ñ§áÊ´§ã¹ÃÙ»·Õè 6-5 Í ҧäà ¡çµÒÁ·Õ¢è Òà«¡àÁ¹µ ¢Í§ LED ¤Çõ ͼ Ò¹äÍ«Õº¿Ñ à¿Íà áÅеÑǵ Ò¹·Ò¹¨íÒ¡Ñ´¡ÃÐáÊ àËÁ×͹¡Ñº¡Òà ¢Ñº LED µÑÇà´ÕÂè Ç ¡ÒäǺ¤ØÁãË LED µÑÇàÅ¢ 7 Ê Ç¹ËÅÑ¡ã´µÔ´ÊÇ Ò§ ·íÒä´ â´Â¡Òè ÒÂä¿à¢ Ò·Õ¢è Òà ÇÁ¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ËÅÑ¡¹Ñ¹é æ ¡µÑÇÍ ҧËÒ¡ LED µÑÇàÅ¢ 7 Ê Ç¹·Õãè ª à» ¹áººá¤â·´Ã ÇÁ ËÒ¡µ ͧ¡Òà ãË LED µÑÇàÅ¢ 7 Ê Ç¹ËÅÑ¡·Õè 3 µÔ´ÊÇ Ò§¡çãË µÍ ¢Òà ÇÁ¢Í§ËÅÑ¡·Õè 3 ŧ¡ÃÒÇ´ ËÃ×ͨ ÒÂä¿Åº LED µÑÇàÅ¢ 7 Ê Ç¹ËÅÑ¡·Õè 3 ¡ç¨ÐµÔ´ÊÇ Ò§µÒÁ¢ ÍÁÙÅ·ÕÊè § ࢠÒÁÒÂѧ¢Ò¢Í§áµ ÅÐà«¡àÁ¹µ

¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹â´Â㪠ºÍà ´ EX-02 㹡Ò÷´Åͧà¾×Íè ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« â´Â㪠¾Íà µ¢¹Ò¹ ¨Ð㪠P-Board ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹Ã ÇÁ¡Ñº EX-02 ºÍà ´ LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡ â´Âǧ¨Ã¢Í§ºÍà ´ EX-02 áÊ´§ã¹ÃÙ»·Õè 5-4 LED µÑÇàÅ¢ 7 Ê Ç¹·Ñ§é 4 ËÅÑ¡¨Ðµ Í¢Òà«¡àÁ¹µ ¢Í§áµ ÅÐËÅѡࢠҴ Ç¡ѹ +5V +5V

D1 D3 D5 D7 C1 C3

D0 D2 D4 D6 C0 C2

20 2 3 4

D0

Q0

D1

Q1

D2

Q2

5 D3 6 D4 7 D5 8 D6 9 D7

DSP204

DSP203

DSP202

DSP201

a b c d e f g dp

18 17 16

15 Q3 14 Q4 13 Q5 12 Q6 11 Q7

IC201 74HC541 1 10 19

DSP201-DSP204 : LED 7 SEGMENTS COMMON CATHODE

C201 0.1/50V

R201-R208 100x8

common

common

common

common

K201

P-BUS

EX-02 ºÍà ´ LED µÑÇàÅ¢ 7 Ê Ç¹

l LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡µ ÍẺ

ÁÑŵÔà¾Åç¡« l ÁÕǧ¨ÃºÑ¿à¿Íà ¾Ã ÍÁµÑǵ Ò¹·Ò¹ ¨íÒ¡Ñ´¡ÃÐáÊ l ¤Í¹à¹ç¡àµÍà P-BUS ÊíÒËÃѺàª×Íè Á µ ͡Ѻ P-Board ÃÙ»·Õè 6-6 ǧ¨ÃÊÁºÙó ¢Í§ EX-02 ºÍà ´¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 65


·Ñ§é ËÁ´áŠǵ ÍࢠҡѺäÍ«Õº¿Ñ à¿Íà 74HC541 «Ö§è ·íÒ˹ Ò·Õãè ¹¡ÒâѺ LED ãË ÊÇ Ò§ à¹×Íè §¨Ò¡¢Ò ¾Íà µ Data äÁ ÊÒÁÒö¢ÑºãË LED ÊÇ Ò§ä´ â´ÂµÃ§ ¢ÒÍÔ¹¾Øµ¢Í§äÍ«Õ 74HC541 ¨Ðµ ÍࢠҡѺ ¤Í¹à¹ç¡àµÍà P-BUS ã¹¢³Ð·Õ¢è Òà ÇÁ¢Í§ LED áµ ÅÐËÅÑ¡¨Ðµ ÍࢠҡѺ¢Ò C0-C3 ·Õ¤è ͹à¹ç¡àµÍà P-BUS ¹Ñ¹è ¤×Í㹡ÒâѺ LED ·Ñ§é 4 ËÅÑ¡¨Ð㪠¾Íà µ Data 㹡ÒÃÊ §¢ ÍÁÙŢͧᵠÅÐà«¡àÁ¹µ ¼ Ò¹ äÍ«Õ 74HC541 áÅШíÒ¡Ñ´¡ÃÐáÊ·Õ»è Í ¹ãË ¡ºÑ LED ´ ǵÑǵ Ò¹·Ò¹¤ Ò 100Ω áÅÐ㪠¾Íà µ Control 㹡ÒâѺᵠÅÐËÅÑ¡â´ÂµÃ§ LED µÑÇàÅ¢ 7 Ê Ç¹·Õãè ª º¹ºÍà ´ EX-02 à» ¹áººá¤â·´Ã ÇÁ ´Ñ§¹Ñ¹é 㹡Òû ͹ÊÑ­­Ò³ ãË á¡ ¢ÒÃÇÁ¢Í§ LED ¨Ðµ ͧ» ͹ÊÑ­­Ò³Åͨԡ 0 à¾×Íè ãË ·Òí §Ò¹ áÅл ͹¢ ÍÁÙÅÅͨԡ 1 ãË ¡Ñºà«¡àÁ¹µ ·Õèµ Í§¡ÒÃãË µÔ´ÊÇ Ò§ à¹×Íè §¨Ò¡¾Íà µ Control ¹Ñ¹é ÁÕºµÔ ¶Ö§ 3 ºÔµ·Õ¡è ÅѺʶҹÐÅͨԡÍÂÙ¤ Í× ºÔµ C0,C1 áÅÐ C3 ´Ñ§¹Ñ¹é á·¹·Õ¨è е ͧ» ͹Åͨԡ 0 ãË ºµÔ àËÅ Ò¹Õ·é Òí §Ò¹ ¡ÅѺµ ͧ» ͹Åͨԡ 1 á·¹ÊíÒËÃѺºÔµ C2 ¹Ñ¹é äÁ Á¡Õ ÒáÅѺʶҹÐÅͨԡ ¨Ö§ÊÒÁÒö» ͹ÊÑ­­Ò³ÅÍ¨Ô¡ä´ µÒÁ»¡µÔ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 66


¡Ò÷´Åͧ·Õè 8 ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹áººà´ÕÂè Ç à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-02 ºÍà ´ LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-20 1 àÊ ¹

¡Ò÷´Åͧ 8.1 ÊÃ Ò§Ê Ç¹¡ÒÃà¡çº¢ ÍÁÙÅ¡ÒÃáÊ´§¼Å¢Í§ LEDµÑÇàÅ¢ 7 Ê Ç¹àÍÒäÇ ã¹µÑÇá»ÃÍÒà àà¡Í ¹ â´Â ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Dim Number(0 To 9) As Integer Private Sub Form_Load() Number(0) = &H3F Number(1) = &H6 Number(2) = &H5B Number(3) = &H4F Number(4) = &H66 Number(5) = &H6D Number(6) = &H7D Number(7) = &H7 Number(8) = &H7F Number(9) = &H6F End Sub

¨Ò¡â»Ãá¡ÃÁ¨ÐàËç¹Ç Ҩе ͧ¨Í§¾×¹é ·ÕËè ¹ ǤÇÒÁ¨íÒäÇ ·µÕè ÇÑ á»Ãª×Íè Number ¡ ͹â´Â㪠ÇÔ¸¡Õ ÒûÃСÒȤ ÒµÑÇá»Ã¨Ò¡¤íÒÊѧè DIM «Ö§è ¨ÐÍÂÙ· ÊÕè Ç ¹ËÑǢͧâ»Ãá¡ÃÁ ËÅѧ¨Ò¡¹Õàé Á×Íè µ ͧ¡Òà ¹íÒ¤ ÒµÑÇá»Ã µÑÇã´ä»áÊ´§ ¡çÊÒÁÒö㪠¡ÒÃÍ Ò¹¤ Ò¨Ò¡µíÒá˹ §¹Ñ¹é æ ä´ 8.2 µ ͧ¡ÒÃãË àÁ×Íè ÁÕ¡Òá´·Õ»è ÁØ Command1 áÅ ÇÁÕ¡ÒÃáÊ´§¤ ÒµÑÇàÅ¢áÅÐà¾ÔÁè ¤ ÒµÑÇàÅ¢¢Ö¹é ·Ø¡ ¤ÃÑ§é ·ÕÁè ¡Õ Òá´ â´Â¨Ð¡íÒ˹´ãË áÊ´§¼Å·Õè LED µÑÇàÅ¢ 7 Ê Ç¹ËÅÑ¡¢ÇÒÊØ´à¾Õ§ËÅÑ¡à´ÕÂÇ ÊÒÁÒö à¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Dim Index As Integer Private Sub Command1_Click() If Index < 10 Then Out &H378, Number(Index)

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 67


Index = Index + 1 Else Index = 0 End If Out &H37A, &H5 End Sub

â»Ãá¡ÃÁ¹Õ¨é лÃСÒȤ ÒµÑÇá»Ã Index ¢Ö¹é ÁÒà¾×Íè 㪠㹡ÒÃÍ Ò§¶Ö§¢ ÍÁÙŢͧ LED µÑÇàÅ¢ 7 Ê Ç¹·Õ¡è Òí ˹´ â´Â¨Ð¡íÒ˹´¤ Ңͧ Index äÇ ÇÒ ¨Ðµ ͧÁÕ¤Ò ÍÂÙà ÐËÇ Ò§ 0-9 ¨Ò¡¹Ñ¹é 㪠¤Òí Êѧè Out à¾×Íè Ê §¤ Ò¢ ÍÁÙŢͧ LED µÑÇàÅ¢ 7 Ê Ç¹ÍÍ¡ä» áÅÐÊѧè ãË LED µÑÇàÅ¢ 7 Ê Ç¹ã¹ËÅÑ¡·Õµè Í §¡ÒÃãË áÊ´§¼ÅÁÕÅͨԡ໠¹ 0 áµ à¹×Íè §¨Ò¡¢Òà ÇÁ¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ ËÅÑ¡¢ÇÒÊØ´º¹ºÍà ´ EX-02 µ ÍäÇ ¡ºÑ ¢Ò C0 «Ö§è ÁÕ¡ÒáÅѺʶҹÐÅͨԡÍÂÙ ´Ñ§¹Ñ¹é ¡Òû ͹¤ ÒãË ·Òí §Ò¹¨Ö§µ ͧ» ͹¤ ÒÅͨԡ 1 ÍÍ¡ä» áÅÐÊÒà˵طµÕè Í §» ͹¤ Ò෠ҡѺ 5 à¹×Íè §¨Ò¡Ç ÒäÁ µÍ §¡ÒÃãË LED µÑÇàÅ¢ 7 Ê Ç¹ËÅÑ¡ Í×è¹áÊ´§¼Å 8.2 àª×Íè Áµ Í P-Board ¡ÑººÍà ´ EX-02 ´ ÇÂÊÒ IDC-20 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà P-BUS 8.3 ¨ ÒÂä¿ãË ºÍà ´·´Åͧ·Ñé§Êͧ ¨Ò¡¹Ñé¹Ãѹâ»Ãá¡ÃÁ·Õèà¢Õ¹¢Öé¹ã¹¢ Í 8.1 Êѧࡵ¡ÒÃáÊ´§¼Å ¢Í§ LED º¹ºÍà ´ EX-02 8.4 ·´Åͧᡠä¢â»Ãá¡ÃÁ à¾×Íè ãË LED ã¹ËÅÑ¡Í×¹è æ áÊ´§¼Åº Ò§ â´Â» ͹¤ Ҵѧ¹Õé ¶ Òµ ͧ¡ÒÃãË ËÅÑ¡·Õè 2 µÔ´ µ ͧ» ͹¢ ÍÁÙŢͧ¢Òà ÇÁ´ Ǥ Ò &H6 ¶ Òµ ͧ¡ÒÃãË ËÅÑ¡·Õè 3 µÔ´ µ ͧ» ͹¢ ÍÁÙŢͧ¢Òà ÇÁ´ Ǥ Ò &H0 ¶ Òµ ͧ¡ÒÃãË ËÅÑ¡·Õè 4 µÔ´ µ ͧ» ͹¢ ÍÁÙŢͧ¢Òà ÇÁ´ Ǥ Ò &HC ¶ Òµ ͧ¡ÒÃãË ·¡Ø ËÅÑ¡´Ñº·Ñ§é ËÁ´µ ͧ» ͹¢ ÍÁÙŢͧ¢Òà ÇÁ෠ҡѺ &H4 ¶ Òµ ͧ¡ÒÃãË ·¡Ø ËÅÑ¡µÔ´¾Ã ÍÁ¡Ñ¹¨Ðµ ͧ» ͹¢ ÍÁÙŢͧ¢Òà ÇÁ෠ҡѺ &HB ÊíÒËÃѺâ»Ãá¡ÃÁµÑÇÍ ҧ¼Ù 㪠§Ò¹ÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´áÅз´Åͧ㪠§Ò¹ä´ ¨Ò¡ä¿Å LAB08.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 68


¡Ò÷´Åͧ·Õè 9 ¢Ñº LED µÑÇàÅ¢ 7 Ê Ç¹áººÁÑŵÔà¾Åç¡« à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board

1 á¼ ¹

2. EX-02 ºÍà ´ LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡ 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-20

1 àÊ ¹

¡Ò÷´Åͧ ËÅѧ¨Ò¡·ÕÊè ÒÁÒÃ¶Ê §¤ ÒµÑÇàÅ¢ÍÍ¡ä»Âѧ LED µÑÇàÅ¢ 7 Ê Ç¹ã¹áµ ÅÐËÅÑ¡ä´ áÅ Ç ã¹¡Òà ·´Åͧ¹Õ¨é ÐÈÖ¡ÉÒ¶Ö§¡ÒâѺ LED µÑÇàÅ¢ 7 Ê Ç¹áµ ÅÐËÅÑ¡º¹ºÍà ´ EX-02 µÔ´áÅдѺÊÅѺ¡Ñ¹ ´ ǤÇÒÁàÃçÇ·ÕÊè §Ù ·ÕÊè ´Ø ·Õ¤è ÍÁ¾ÔÇàµÍà ÊÒÁÒö¨Ð·íÒ§Ò¹ä´ «Ö§è ¡ç¤Í× ¡ÒâѺẺÁÑŵÔà¾Åç¡« ¹¹Ñè àͧ 9.1 à¢Õ¹â»Ãá¡ÃÁ·´Åͧ´Ñ§¹Õé Private Sub Command3_Click() Exits = False Do Out &H378, Number(1) Out &H37A, &H5 Call delay Out &H378, Number(2) Out &H37A, &H6 Call delay Out &H378, Number(3) Out &H37A, &H0 Call delay Out &H378, Number(4) Out &H37A, &HC Call delay Out &H37A, &H4 Loop Until Exits = True End Sub

â»Ãá¡ÃÁ¹Õ¨é ÐáÊ´§µÑÇàÅ¢ 1,2,3,4 ã¹áµ ÅÐËÅÑ¡¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ â´ÂàÃÔÁè ¨Ò¡Ê §¤ Ò µÑÇàÅ¢ã¹ËÅÑ¡·Õè 1 Í͡仡 ͹ ¨Ò¡¹Ñ¹é ¡íÒ˹´ãË ËÅÑ¡·Õè 1 µÔ´ (ËÅÑ¡« ÒÂÊØ´) â´Â¡ÒÃÊ §Åͨԡ 0 ä»·Õè¢Ò¤ÍÁÁ͹¢Í§ËÅÑ¡·Õè 1 ¨Ò¡¹Ñé¹Ë¹ ǧàÇÅÒä»ÃÐÂÐ˹Öè§à¾×èÍãË LED µÑÇàÅ¢ 7 Ê Ç¹¤§¡Òà áÊ´§¼ÅàÍÒäÇ ¡ ͹·ÕèáÊ´§¼Åã¹ËÅÑ¡µ Íä» â´ÂàÁ×èÍáÊ´§ã¹ËÅÑ¡¶Ñ´ä» ¡çãË » ´¡ÒÃáÊ´§¼Åã¹ ËÅÑ¡¡ ͹˹ Ò´ ÇÂà¾×èÍãË ¡ÒÃáÊ´§¤ ҵç¡ÑºµíÒá˹ §·Õè¶Ù¡µ ͧ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 69


ÊíÒËÃѺâ»Ãá¡ÃÁ˹ ǧàÇÅÒ¹Ñ¹é ¨Ð㪠¡ÒûÃѺ¨Ò¡Ê¡ÍÅÅ ºÒà à¹×Íè §¨Ò¡à¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà àáµ ÅÐà¤Ã×Íè §¨ÐÁÕ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹·Õäè Á ෠ҡѹ ¡ÒáíÒ˹´¤ Ò·Õàè ËÁÒÐÊÁ¨Ð·íÒãË ÁͧàË繡Òà ¡ÃоÃÔº·Õè LED µÑÇàÅ¢ 7 Ê Ç¹¹ Í·ÕÊè ´Ø áÅÐÁÕ¤ÇÒÁÊÇ Ò§ÁÒ¡·ÕÊè ´Ø â´ÂÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´Ñ§¹Õé Sub delay() For i = 1 To HScroll1.Value DoEvents Next i End Sub

¹Ñ¹è ¤×ͤÇÒÁàÃçÇ㹡ÒÃ˹ ǧàÇÅÒ¢Ö¹é ÍÂÙ¡ ºÑ ¤ ҢͧʡÍÅÅ ºÒà ᵠ¶Ò ¼Ùã ª §Ò¹ÊÒÁÒöËÒ¤ Ò ¤ÇÒÁàÃçÇ·Õµè Í §¡ÒÃä´ áÅ Ç ÊÒÁÒöà»ÅÕÂè ¹¤íÒÊѧè For i = 1 To Hscroll1.Value à» ¹ For I = 1 To ¤ Ò·Õèµ Í§¡Òà ËÅѧ¨Ò¡·ÕèãË â»Ãá¡ÃÁ·íÒ§Ò¹¨¹¤ÃºÃͺ˹Ö觤ÃÑé§áÅ Çâ»Ãá¡ÃÁ¨ÐǹÅÙ»à¾×èÍ·íÒ¡ÒÃÊ᡹ LED µÑÇàÅ¢ 7 Ê Ç¹ÍÕ¡¤ÃÑ§é ¨¹¡Ç Ò¨ÐÁÕ¡Ò÷íÒãË ¤Ò µÑÇá»Ã Exits à» ¹¨ÃÔ§ (True) â´ÂµÑÇá»Ã Exits ¨Ðà» ¹¨ÃÔ§ä´ à¹×Íè §¨Ò¡¡Òá´¤Õ Exit à¾×Íè ÍÍ¡¨Ò¡â»Ãá¡ÃÁ 9.2 àª×Íè Áµ Í P-Board ¡ÑººÍà ´ EX-02 ´ ÇÂÊÒ IDC-20 ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà P-BUS 9.3 ¨ ÒÂä¿ãË ºÍà ´·´Åͧ·Ñ§é Êͧ ¨Ò¡¹Ñ¹é Ãѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ã¹¢ Í 9.1 Êѧࡵ¡ÒÃáÊ´§¼Å¢Í§ LED º¹ºÍà ´ EX-02 9.4 ·´Åͧᡠä¢â»Ãá¡ÃÁ ÍÂ˹ ǧàÇÅÒà¾×Íè ãË ¡ÒÃáÊ´§¼Å¢Í§ LED ´Õ·ÊÕè ´Ø à· Ò·Õ¨è ÐÊÒÁÒö·íÒä´

¹ÒÌ ¡Ò¨Ò¡¤ÍÁ¾ÔÇàµÍà áÊ´§¼Å·Õè LED µÑÇàÅ¢ 7 Ê Ç¹ ¡ÒÃáÊ´§¼ÅµÑÇàÅ¢º¹ LED µÑÇàÅ¢ 7 Ê Ç¹ ¼Ù 㪠§Ò¹ÍÒ¨Á꤂ ÒäÁ 㪠ÊÔ觨íÒà» ¹à¹×èͧ¨Ò¡ ¡ÒÃ㪠§Ò¹¤ÍÁ¾ÔÇàµÍà ¹¹Ñé ¨ÐÁÕ¨ÍÀÒ¾ÊíÒËÃѺ¡ÒÃáÊ´§¼Å¤ Òµ Ò§æ ÍÂÙá Å Ç áµ ã¹¡Ã³Õ·µÕè Í §¡Òà 㪠¤ÍÁ¾ÔÇàµÍà 㹧ҹ¤Çº¤ØÁ੾ÒÐÍ ҧ«Ö§è ºÒ§¤Ãѧé äÁ ¨Òí à» ¹µ ͧµ ͨÍÁ͹ÔàµÍà äÇ ¡çÊÒÁÒö 㪠§Ò¹¤ÍÁ¾ÔÇàµÍà ãË ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ä´ ´Ñ§µÑÇÍ ҧ·Õ¨è ÐÁÒ¹íÒàÊ¹Í à» ¹¡ÒùíÒàÍÒ°Ò¹àÇÅÒ ã¹¤ÍÁ¾ÔÇàµÍà ä»áÊ´§·Õè¨ÍáÊ´§¼Å LED µÑÇàÅ¢ 7 Ê Ç¹ «Ö觷íÒãË ÊÒÁÒöÁͧàËç¹àÇÅÒä´ ã¹ ÃÐÂзҧ·Õäè ¡Å¡Ç Ò¡ÒÃÁͧ·Õ¤è ÍÁ¾ÔÇàµÍà â´ÂµÃ§ áÅÐÊÒÁÒö¢ÂÒ¢¹Ò´¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ ä´ µÒÁµ ͧ¡Òà ¹Í¡¨Ò¡¹ÕéÊíÒËÃѺ¡ÒÃ㪠§Ò¹à¾×èͤǺ¤ØÁ ¡çÊÒÁÒöÊà ҧà§×è͹䢢ͧàÇÅÒãË ÁÕ ¡ÒÃà» ´» ´ÍØ»¡Ã³ ä¿¿ ÒµÒÁ¨Ø´»ÃÐʧ¤ ·¡Õè Òí ˹´ä´ Í¡Õ ´ Ç «Ö§è ¢Ö¹é ÍÂÙ¡ ºÑ ¼Ùã ª §Ò¹¨Ðà¢Õ¹â»Ãá¡ÃÁ ¡ÒÃÊà ҧ¹ÒÌ ¡Ò¨Ð㪠¡ÒÃáÊ´§¼Å·Õè¤ÍÁ¾ÔÇàµÍà ¤Çº¤Ù ä»´ Ç ´Ñ§¹Ñé¹·Õè¤ÍÁ¾ÔÇàµÍà ¨Ð㪠à·ç¡« ºÍç ¡ Text1 㹡ÒÃáÊ´§¤ ÒàÇÅÒ ÊíÒËÃѺ¡ÒÃá»Å§¤ ÒàÇÅÒ¹Ñ¹é ¨Ð㪠Timer2 ·íÒ¡ÒÃá»Å§ ¤ ÒàÇÅÒãË ÍÂÙã ¹ÃٻẺ·ÕÊè ÒÁÒÃ¶Ê §ÍÍ¡ä»·Õè LED µÑÇàÅ¢ 7 Ê Ç¹ä´ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 70


9.5 à¢Õ¹â»Ãá¡ÃÁ·´Åͧº¹ Visual BASIC ´Ñ§¹Õé Private Sub Timer2_Timer() Text1.Text = Format(Now, “hh:mm:ss”) Index1 = Asc(Right(Text1.Text, 1)) - &H30 Index2 = Asc(Mid(Text1.Text, 7, 1)) - &H30 Index3 = Asc(Mid(Text1.Text, 5, 1)) - &H30 Index4 = Asc(Mid(Text1.Text, 4, 1)) - &H30 End Sub

¨Ò¡â»Ãá¡ÃÁ㹺Ã÷Ѵáá໠¹¡ÒáíÒ˹´¤ ÒàÇÅÒ» ¨¨ØºÑ¹ãË ¡Ñº Text1 â´Â¡íÒ˹´ÃÙ» Ẻ¡ÒÃáÊ´§¼Åà» ¹ ªÑÇè âÁ§,¹Ò·ÕáÅÐÇÔ¹Ò·Õ ºÃ÷Ѵ·Õè 2 à» ¹¡Òô֧¤ Ò੾ÒеÑÇÍÑ¡ÉâÇÒÊØ´¢Í§ Text1 ÍÍ¡ÁÒã¹·Õè¹Õé¡ç¤×ÍËÅѡ˹ Ç ¢Í§ÇÔ¹Ò·Õ¹¹Ñè àͧ â´Â㪠¤Òí Êѧè Right ¨Ò¡¹Ñ¹é ¡ç·Òí ¡ÒÃá»Å§µÑÇÍÑ¡ÉÃ·Õ´è §Ö ÍÍ¡ÁÒãË à» ¹ÃËÑÊáÍÊ¡Õé «Öè§ÃËÑÊáÍÊ¡Õé¢Í§µÑÇàÅ¢¨ÐÁÕ¤ ÒµÑé§áµ &H30-&H39 ´Ñ§¹Ñé¹à¾×èÍãË ä´ ¤ ÒµÑÇàÅ¢·Õè¶Ù¡µ ͧ¨Ðµ ͧ ·íÒ¡ÒÃź¤ ÒÃËÑÊáÍÊ¡Õ´é Ç Â &H30 ¡ ͹ ¤ ÒµÑÇá»Ã Index1 ¡ç¨ÐÁÕ¤Ò à» ¹¤ ÒµÑÇàÅ¢ 0-9 «Ö§è ¨Ðµ ͧ ¹íÒä»à» ´µÒÃÒ§¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹ÍÕ¡¤Ãѧé ˹֧è ÊíÒËÃѺºÃ÷Ѵ·Õè 3-5 ¡çà» ¹ÅѡɳСÒ÷íÒ§Ò¹·Õ¤è Å ÒÂæ ¡Ñ¹ µ Ò§¡Ñ¹·Õµè Òí á˹ §·Õ¨è д֧µÑÇÍÑ¡Éà ÍÍ¡ÁÒ¹Ñé¹à» ¹µíÒá˹ §¶Ñ´¨Ò¡¤íÒÊÑè§áá àÁ×èÍä´ ¤ ÒµÒÁµ ͧ¡ÒÃáÅ Ç ¤ Ò·ÕèµÑÇàÅ¢¨Ð¶Ù¡à¡çºäÇ ã¹ Index1-Index4 ÊíÒËÃѺ¡ÒùíÒ¤ ÒÍÍ¡ÁÒáÊ´§¹Ñ¹é ¨Ðãª Ç¸Ô ¡Õ ÒÃà´ÕÂǡѹ¡ÑºµÑÇÍ ҧáá áµ á·¹·Õ¨è ÐãÊ ¤Ò µÑÇ àÅ¢¢Í§µíÒá˹ §ÍÒà ààࢠÒ仵ç æ ¡çãË ¹Òí ¤ Ò Index1-Index4 ·Õ¤è Òí ¹Ç³àÍÒäÇ ÁÒãÊ à¢ Òä»á·¹ â´ÂÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé Private Sub Command3_Click() Exits = False Do Out &H378, Number(Index1) Out &H37A, &H5 Call delay Out &H378, Number(Index2) Out &H37A, &H6 Call delay Out &H378, Number(Index3) Out &H37A, &H0 Call delay Out &H378, Number(Index4) Out &H37A, &HC Call delay Out &H37A, &H4 Loop Until Exits = True End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 71


ÃÙ»·Õè P9-1 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é à¾×Íè Êà ҧ¹ÒÌ ¡ÒáÊ´§¼Å´ Ç LED µÑÇàÅ¢ 7 Ê Ç¹ 4 ËÅÑ¡º¹ºÍà ´ EX-02 㹡Ò÷´Åͧ·Õè 9 ¨Ò¡â»Ãá¡ÃÁ¨ÐàËç¹Ç Ò Ê Ç¹·Õàè »ÅÕÂè ¹á»Å§¡ç¤Í× ¡ÒÃãÊ ¤Ò µÑÇá»Ãŧä»ã¹ÍÒà ààNumber ã¹µÑÇÍ ҧ¹Õéà» ¹¡ÒùíÒàÍÒ¤ ÒàÇÅÒ ¹Ò·ÕáÅÐÇÔ¹Ò·ÕÁÒáÊ´§ ¼Ù 㪠§Ò¹ÊÒÁÒö´Ñ´á»Å§ãË áÊ´§ à» ¹ªÑèÇâÁ§¡Ñº¹Ò·Õ¡çä´ â´Âá¡ ä¢ã¹Ê ǹ Timer2 ÊíÒËÃѺ Timer2 ¹Ñé¹ãË ¡íÒ˹´¤ Ò Interval äÇ »ÃÐÁÒ³ 100-1000 ÁÔÅÅÔÇ¹Ô Ò·Õ â´Â˹ ҵҢͧâ»Ãá¡ÃÁ áÊ´§ã¹ÃÙ»·Õè P9-1 áÅÐâ»Ãá¡ÃÁµÑÇÍ ҧ ÊÒÁÒöàÃÕ¡㪠§Ò¹ä´ ¨Ò¡â»Ãá¡ÃÁ LAB09.VBP 9.6 Âѧ¤§àª×èÍÁµ Í P-Board ¡ÑººÍà ´ EX-02 ·íÒ¡ÒÃÃѹâ»Ãá¡ÃÁ·Õèà¢Õ¹¢Öé¹ã¹¢ Í·Õè 9.5 Êѧࡵ ¡ÒÃáÊ´§¼Å¢Í§ LED µÑÇàÅ¢ 7 Ê Ç¹º¹ºÍà ´ EX-02

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 72


º··Õè 7 ¡ÒâѺ LED Ẻ´ÍµàÁµÃÔ¡« ´ ǾÍà µ¢¹Ò¹

» ¨¨Øº¹Ñ ºÍà ´ EX-04A ·Õãè ª 㹺·¹Õäé ´ ËÂØ´¡ÒüÅÔµ ´Ñ§¹Ñ¹é ¢ ÍÁÙÅ㹺·¹Õ¨é §Ö à» ¹¡ÒùíÒàʹÍà¾×Íè à» ¹¤ÇÒÁÃÙà · ҹѹé

LED Ẻ´ÍµàÁµÃÔ¡« (dot-matrix LED) à» ¹¡ÒùíÒàÍÒ LED ÁÒµ Íà ÇÁã¹áºº·Ñ§é á¹Ç µÑ§é áÅÐá¹Ç¹Í¹ â´ÂáÊ´§¡Òõ Í LED Ẻ´ÍµàÁµÃÔ¡« ´Ñ§ÃÙ»·Õè 7-1 LED ´ÍµàÁµÃÔ¡« ÊÒí ËÃѺ ¡ÒÃáÊ´§µÑÇÍÑ¡ÉÃÀÒÉÒÍѧ¡ÄÉ 1 µÑǹѹé Ê Ç¹ãË­ ¨ÐÁÕ LED ã¹á¹Ç¹Í¹ 5 µÑÇáÅÐã¹á¹ÇµÑ§é 7 µÑÇ ´Ñ§¹Ñ¹é ¡ÒùíÒàÍÒ LED ´ÍµàÁµÃÔ¡« ÁÒáÊ´§¼Å¢ ÍÁÙÅ 1 ËÅÑ¡¨Ðµ ͧ㪠·àÕè ¡çº¢ ÍÁÙÅÍ ҧ¹ Í 5 亵 ´Ñ§áÊ´§¡Òô֧¢ ÍÁÙŢͧµÑÇÍÑ¡ÉÃáµ ÅеÑÇã¹ÃÙ»·Õè 7-2 â´Â¢ ÍÁÙÅã¹áµ ÅÐ亵 ¨ÐËÁÒ¶֧ ¼Å¡ÒõԴËÃ×ʹѺ¢Í§ LED ·Õáè Ê´§ ¡µÑÇÍ ҧ µ ͧ¡ÒÃáÊ´§µÑÇÍÑ¡Éà A àÁ×Íè ¹íÒÁÒá¡໠¹ 亵 áÅ Ç ã¹á¶Çáá¨Ðä´ ¤Ò ෠ҡѺ 3FH ËÃ×Í 00111111 °Ò¹Êͧã¹á¶Ç·Õè 2 áÅÐá¶Ç·Õè 3 ¨Ðä´ ¤ Ò෠ҡѺ 48H ËÃ×Í 01001000 á¶Ç·Õè 4 ¨ÐÁÕ¤Ò à· Ò¡Ñº 3FH ઠ¹à´ÕÂǡѺá¶Çáá Ê Ç¹á¶Ç·Õè 5 ä´ ¤Ò à» ¹ 00H à¹×Íè §¨Ò¡äÁ µÍ §áÊ´§¤ Òã´ æ ´Ñ§¹Ñ¹é ÊÃØ»ä´ ÇÒ ÍÑ¡Éà A 1 µÑÇ ¨Ð»ÃСͺ´ Ç ¢ ÍÁÙÅ 5 亵 ¤Í× 3FH,48H,48H,3FH,00H ÊíÒËÃѺµÑÇÍÑ¡ÉõÑÇÍ×¹è æ ¡çઠ¹à´ÕÂǡѹ ¨íÒà» ¹µ ͧ à¡çº´ Ç¢ ÍÁÙÅ 5 亵 ઠ¹à´ÕÂǡѹ â´ÂÇÔ¸¡Õ ÒÃà¡çº·Õ§è Ò Â·ÕÊè ´Ø ¹ Ò¨Ðà» ¹¡ÒÃ㪠µÇÑ á»ÃẺÍÒà àà¡ µÑÇÍ ҧ¡ÒÃà¡çºµÑÇÍÑ¡Éà A ä´ ´§Ñ ¹Õé ,$ 4%

,# ,"

4$

,! 4#

4!

,

,

,

4"

亵 5 = 00H 亵 4 = 3FH 亵 3 = 48H 亵 2 = 48H 亵 1 = 3FH

4 4 +

+

+!

+"

+#

ËÁÒÂà赯 ºÔµ D7 äÁ 㪠¡Òí ˹´à» ¹ "0"

ÃÙ»·Õè 7-1 áÊ´§Ç§¨ÃÀÒÂ㹢ͧ LED ´Íµ ÃÙ»·Õè 7-2 áÊ´§¡ÒáíÒ˹´¢ ÍÁÙÅà¾×Íè áÊ´§µÑÇ àÁµÃÔ¡« ¢¹Ò´ 7x5 ¨Ø´ ÍÑ¡Éâͧ LED ´ÍµàÁµÃÔ¡« ¢¹Ò´ 7x5 ¨Ø´ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 73


Char(65,1) Char(65,2) Char(65,3) Char(65,4) Char(65,5)

= = = = =

&H3F &H48 &H48 &H3F &H0

¨Ò¡µÑÇÍ ҧ¹Õ¨é Ð㪠µÇÑ á»Ã Char áÅÐà¡çºà» ¹áººÍÒà àà2 ÁÔµÔ â´ÂàÅ¢´ ҹ˹ ÒËÁÒ¶֧ ÃËÑÊáÍÊ¡Õ¢é ͧµÑÇÍÑ¡Éà àÅ¢ 65 áÊ´§¶Ö§µÑÇÍÑ¡Éà A µÑÇÍÑ¡É÷ÕÍè ÂÙ´ Ò ¹ËÅѧËÁÒ¶֧á¶Çáµ ÅÐá¶Ç àÇÅÒàÃÕ¡㪠§Ò¹ÊÒÁÒö¹íÒÅíҴѺ¢Í§µÑÇÍÑ¡ÉÃáÅÐá¶Ç·Õµè Í §¡ÒùíÒä»áÊ´§¼Åä»ãª §Ò¹ä´ «Ö§è ÍÒ¨¨ÐàÃÕ¡¡ÒÃà¡çº¹ÕÇé Ò ¡ÒÃà¡çº¿Í¹µ ¢Í§´ç͵àÁµÃÔ¡« «Ö§è ÁÕÃÒÂÅÐàÍÕ´´Ñ§¹Õé Sub init() ‘ A to Z Char(65,1)=&H3F:Char(65,2)=&H48:Char(65,3)=&H48:Char(65,4)=&H3F:Char(65,5)=&H0 Char(66,1)=&H7F:Char(66,2)=&H49:Char(66,3)=&H49:Char(66,4)=&H36:Char(66,5)=&H0 Char(67,1)=&H3E:Char(67,2)=&H41:Char(67,3)=&H41:Char(67,4)=&H22:Char(67,5)=&H0 Char(68,1)=&H7F:Char(68,2)=&H41:Char(68,3)=&H22:Char(68,4)=&H1C:Char(68,5)=&H0 Char(69,1)=&H7F:Char(69,2)=&H49:Char(69,3)=&H49:Char(69,4)=&H49:Char(69,5)=&H0 Char(70,1)=&H7F:Char(70,2)=&H48:Char(70,3)=&H48:Char(70,4)=&H48:Char(70,5)=&H0 Char(71,1)=&H3E:Char(71,2)=&H41:Char(71,3)=&H49:Char(71,4)=&H2E:Char(71,5)=&H0 Char(72,1)=&H7F:Char(72,2)=&H8:Char(72,3)=&H8:Char(72,4)=&H7F:Char(72,5)=&H0 Char(73,1)=&H0:Char(73,2)=&H41:Char(73,3)=&H7F:Char(73,4)=&H41:Char(73,5)=&H0 Char(74,1)=&H4E:Char(74,2)=&H41:Char(74,3)=&H7E:Char(74,4)=&H40:Char(74,5)=&H0 Char(75,1)=&H7F:Char(75,2)=&H14:Char(75,3)=&H22:Char(75,4)=&H41: Char(75,5)=&H0 Char(76,1)=&H7F:Char(76,2)=&H1:Char(76,3)=&H1:Char(76,4)=&H1:Char(76,5)=&H0 Char(77,1)=&H7F:Char(77,2)=&H20:Char(77,3)=&H10:Char(77,4)=&H20:Char(77,5)=&H7F Char(78,1)=&H7F:Char(78,2)=&H10:Char(78,3)=&H4:Char(78,4)=&H7F: Char(78,5)=&H0 Char(79,1)=&H3E:Char(79,2)=&H41:Char(79,3)=&H41:Char(79,4)=&H3E:Char(79,5)=&H0 Char(80,1)=&H7F:Char(80,2)=&H48:Char(80,3)=&H48:Char(80,4)=&H30:Char(80,5)=&H0 Char(81,1)=&H3E:Char(81,2)=&H41:Char(81,3)=&H45:Char(81,4)=&H3E:Char(81,5)=&H1 Char(82,1)=&H7F:Char(82,2)=&H4C:Char(82,3)=&H4A:Char(82,4)=&H31:Char(82,5)=&H0 Char(83,1)=&H32:Char(83,2)=&H49:Char(83,3)=&H49:Char(83,4)=&H26:Char(83,5)=&H0 Char(84,1)=&H40:Char(84,2)=&H40:Char(84,3)=&H7F:Char(84,4)=&H40:Char(84,5)=&H40 Char(85,1)=&H7E:Char(85,2)=&H1:Char(85,3)=&H1:Char(85,4)=&H7E:Char(85,5)=&H0 Char(86,1)=&H7C:Char(86,2)=&H2:Char(86,3)=&H1:Char(86,4)=&H2: Char(86,5)=&H7C Char(87,1)=&H7F:Char(87,2)=&H4:Char(87,3)=&H18:Char(87,4)=&H4:Char(87,5)=&H7F Char(88,1)=&H77:Char(88,2)=&H8:Char(88,3)=&H8:Char(88,4)=&H77:Char(88,5)=&H0 Char(89,1)=&H70:Char(89,2)=&H8:Char(89,3)=&H7:Char(89,4)=&H8:Char(89,5)=&H70 Char(90,1)=&H43:Char(90,2)=&H45:Char(90,3)=&H49:Char(90,4)=&H51:Char(90,5)=&H61 ‘ a to z Char(97,1)=&H17:Char(97,2)=&H15:Char(97,3)=&H15:Char(97,4)=&H1F:Char(97,5)=&H0 Char(98,1)=&H7E:Char(98,2)=&H11:Char(98,3)=&H11:Char(98,4)=&HE:Char(98,5)=&H0 Char(99,1)=&HE:Char(99,2)=&H11:Char(99,3)=&H11:Char(99,4)=&HA:Char(99,5)=&H0 Char(100,1)=&HE:Char(100,2)=&H11:Char(100,3)=&H11:Char(100,4)=&H7E:Char(100,5)=&H0 Char(101,1)=&HE:Char(101,2)=&H15:Char(101,3)=&H15:Char(101,4)=&HD:Char(101,5)=&H0

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 74


Char(102,1)=&H8:Char(102,2)=&H3F:Char(102,3)=&H48:Char(102,4)=&H20:Char(102,5)=&H0 Char(103,1)=&H39:Char(103,2)=&H45:Char(103,3)=&H45:Char(103,4)=&H3E:Char(103,5)=&H0 Char(104,1)=&H7F:Char(104,2)=&H10:Char(104,3)=&H10:Char(104,4)=&HF:Char(104,5)=&H0 Char(105,1)=&H0:Char(105,2)=&H0:Char(105,3)=&H5F:Char(105,4)=&H0:Char(105,5)=&H0 Char(106,1)=&H2:Char(106,2)=&H1:Char(106,3)=&H1:Char(106,4)=&H5E:Char(106,5)=&H0 Char(107,1)=&H7F:Char(107,2)=&H4:Char(107,3)=&HA:Char(107,4)=&H11:Char(107,5)= &H0 Char(108,1)=&H0:Char(108,2)=&H0:Char(108,3)=&H7F:Char(108,4)=&H0:Char(108,5)=&H0 Char(109,1)=&HF:Char(109,2)=&H10:Char(109,3)=&HF:Char(109,4)=&H10:Char(109,5)=&HF Char(110,1)=&H1F:Char(110,2)=&H8:Char(110,3)=&H10:Char(110,4)=&H1F:Char(110,5)=&H0 Char(111,1)=&HE:Char(111,2)=&H11:Char(111,3)=&H11:Char(111,4)=&HE:Char(111,5)=&H0 Char(112,1)=&H7F:Char(112,2)=&H44:Char(112,3)=&H44:Char(112,4)=&H38:Char(112,5)=&H0 Char(113,1)=&H38:Char(113,2)=&H44:Char(113,3)=&H44:Char(113,4)=&H7F:Char(113,5)=&H0 Char(114,1)=&H10:Char(114,2)=&HF:Char(114,3)=&H10:Char(114,4)=&H8:Char(114,5)=&H0 Char(115,1)=&H9:Char(115,2)=&H15:Char(115,3)=&H15:Char(115,4)=&H12:Char(115,5)=&H0 Char(116,1)=&H20:Char(116,2)=&H7E:Char(116,3)=&H21:Char(116,4)=&H2:Char(116,5)=&H0 Char(117,1)=&H1E:Char(117,2)=&H1:Char(117,3)=&H1:Char(117,4)=&H1E:Char(117,5)=&H0 Char(118,1)=&H1F:Char(118,2)=&H2:Char(118,3)=&H4:Char(118,4)=&H18:Char(118,5)=&H0 Char(119,1)=&H1F:Char(119,2)=&H2:Char(119,3)=&H4:Char(119,4)=&H2:Char(119,5)=&H1F Char(120,1)=&H1B:Char(120,2)=&H4:Char(120,3)=&H4:Char(120,4)=&H1B:Char(120,5)=&H0 Char(121,1)=&H79:Char(121,2)=&H5:Char(121,3)=&H5:Char(121,4)=&H7E:Char(121,5)=&H0 Char(122,1)=&H13:Char(122,2)=&H17:Char(122,3)=&H1D:Char(122,4)=&H19:Char(122,5)=&H0 ‘ 0 to 9 Char(48,1)=&H3E:Char(48,2)=&H41:Char(48,3)=&H41:Char(48,4)=&H3E:Char(48,5)=&H0 Char(49,1)=&H10:Char(49,2)=&H21:Char(49,3)=&H7F:Char(49,4)=&H1:Char(49,5)=&H0 Char(50,1)=&H6F:Char(50,2)=&H49:Char(50,3)=&H49:Char(50,4)=&H79:Char(50,5)=&H0 Char(51,1)=&H49:Char(51,2)=&H49:Char(51,3)=&H49:Char(51,4)=&H7F:Char(51,5)=&H0 Char(52,1)=&H78:Char(52,2)=&H8:Char(52,3)=&H8:Char(52,4)=&H7F:Char(52,5)=&H0 Char(53,1)=&H79:Char(53,2)=&H49:Char(53,3)=&H49:Char(53,4)=&H4F:Char(53,5)=&H0 Char(54,1)=&H7F:Char(54,2)=&H49:Char(54,3)=&H49:Char(54,4)=&H4F:Char(54,5)=&H0 Char(55,1)=&H40:Char(55,2)=&H47:Char(55,3)=&H48:Char(55,4)=&H70:Char(55,5)=&H0 Char(56,1)=&H7F:Char(56,2)=&H49:Char(56,3)=&H49:Char(56,4)=&H7F:Char(56,5)=&H0 Char(57,1)=&H79:Char(57,2)=&H49:Char(57,3)=&H49:Char(57,4)=&H7F:Char(57,5)=&H0 ‘ + - * / Char(43,1)=&H8:Char(43,2)=&H8:Char(43,3)=&H3E:Char(43,4)=&H8:Char(43,5)=&H8 Char(45,1)=&H8:Char(45,2)=&H8:Char(45,3)=&H8:Char(45,4)=&H8:Char(45,5)=&H8 Char(42,1)=&H22:Char(42,2)=&H14:Char(42,3)=&H8:Char(42,4)=&H14:Char(42,5)=&H22 Char(47,1)=&H22:Char(47,2)=&H4:Char(47,3)=&H8:Char(47,4)=&H10: Char(47,5)=&H22 ‘ < > [ ] ( ) Char(60,1)=&H8:Char(60,2)=&H14:Char(60,3)=&H22:Char(60,4)=&H41:Char(60,5)=&H0 Char(62,1)=&H41:Char(62,2)=&H22:Char(62,3)=&H14:Char(62,4)=&H8:Char(62,5)=&H0 Char(91,1)=&H0:Char(91,2)=&H7F:Char(91,3)=&H41:Char(91,4)=&H41:Char(91,5)=&H0 Char(93,1)=&H0:Char(93,2)=&H41:Char(93,3)=&H41:Char(93,4)=&H7F:Char(93,5)=&H0 Char(41,1)=&H0:Char(41,2)=&H1C:Char(41,3)=&H22:Char(41,4)=&H41:Char(41,5)=&H0 Char(42,1)=&H0:Char(42,2)=&H41:Char(42,3)=&H22:Char(42,4)=&H1C:Char(42,5)=&H0 ‘ “ : ; = _ Char(35,1)=&H0:Char(35,2)=&H60:Char(35,3)=&H0:Char(35,4)=&H60:Char(35,5)=&H0 Char(58,1)=&H0:Char(58,2)=&H36:Char(58,3)=&H36:Char(58,4)=&H0:Char(58,5)=&H0 Char(59,1)=&H0:Char(59,2)=&H31:Char(59,3)=&H36:Char(59,4)=&H0:Char(59,5)=&H0 Char(61,1)=&H0:Char(61,1)=&H14:Char(61,3)=&H14:Char(61,4)=&H14:Char(61,5)=&H0 Char(95,1)=&H1:Char(95,2)=&H1:Char(95,3)=&H1:Char(95,4)=&H1:Char(95,5)=&H0

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 75


‘ blank . , Char(33,1)=&H0:Char(33,2)=&H0:Char(33,3)=&H0:Char(33,4)=&H0:Char(33,5)=&H0 Char(46,1)=&H0:Char(46,2)=&H3:Char(46,3)=&H3:Char(46,4)=&H0:Char(46,5)=&H0 Char(44,1)=&H0:Char(44,2)=&H1:Char(44,3)=&H7:Char(44,4)=&H6:Char(44,5)=&H0

End Sub

¡ÒÃà¡çº¤ ҿ͹µ µÇÑ ÍÑ¡Éà ¶ Òà¡çºãË µÃ§¡ÑºÃËÑÊáÍÊ¡Õé ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè àÃÕ¡¢ ÍÁÙÅ ã¹ÍÒà àà¡Êç ÒÁÒö·íÒä´ äÁ ÂÒ¡ «Ö§è ¨Ð¡Å ÒÇã¹ÃÒÂÅÐàÍÕ´¡ÒÃàÃÕ¡㪠§Ò¹µ Íä»

EX-04A ºÍà ´ LED Ẻ´ÍµàÁµÃÔ¡« 7x20 ¨Ø´ ºÍà ´ EX-04A »ÃСͺ仴 Ç LED ·Õµè Í ÍÂÙà » ¹áººàÁµÃÔ¡« ¨Òí ¹Ç¹ 140 µÑÇ ÊÒÁÒö áÊ´§¼Åà» ¹µÑÇÍÑ¡ÉÃä´ 4 µÑÇ ã¹ÃÙ»·Õè 7-3 áÊ´§Ç§¨ÃÊÁºÙó áÅÐ˹ ÒµÒµÅÍ´¨¹¤Ø³ÊÁºÑµ¢Ô ͧ ºÍà ´ EX-04AÊÑ­­Ò³¤Çº¤ØÁ¡Ò÷íÒ§Ò¹·Ñ§é ËÁ´¨ÐÁÒ¨Ò¡¤Í¹à¹ç¡àµÍà MATRIX BUS «Ö§è ÁÕû٠Ẻ¡ÒèѴ¢ÒẺ UIC-10 ¨Ö§ÊÒÁÒöàª×Íè Áµ ͡Ѻ P-Board ¼ Ò¹·Ò§ DATA BUS ä´ â´ÂµÃ§ ¡ÒÃÊ᡹ã¹á¹Ç¹Í¹¨Ð㪠IC401 àºÍà 4017 µ Íà ÇÁ¡Ñº IC402 àºÍà ULN2003 áÅРǧ¨Ã¢Ñº«Ö§è Êà ҧ¨Ò¡·ÃÒ¹«ÔÊàµÍà â´ÂÊÑ­­Ò³·Õãè ª ¤Çº¤ØÁ¡ÒÃÊ᡹·Ò§á¹Ç¹Í¹¤×Í ROW_CLK (RCK) áÅÐ ROW_RST (RRT) àÁ×Íè àÃÔÁè µ ¹¨ÐÁÕÊ­ Ñ ­Ò³ ROW_RST Ê §ÁÒ¡ ͹à¾×Íè ÃÕ૵¡Òà ·íÒ§Ò¹¢Í§ IC401 ¨Ò¡¹Ñ¹é ¨ÐÊ §ÊÑ­­Ò³ ROW_CLK à¾×Íè ãË àÃÔÁè µ ¹¡ÒÃÊ᡹·Ò§á¹Ç¹Í¹µ Íä» ¡ÒÃÊ᡹ã¹á¹ÇµÑ駫Öè§ÁÕ¨íҹǹá¶Ç¤ ͹¢ Ò§ÁÒ¡¹Ñé¹ ãª äÍ«ÕàºÍà 74HC595 «Öè§à» ¹äÍ«Õ ªÔ¿µ ÃÕ¨ÔÊàµÍà à»ÅÕè¹ÃٻẺ¢ ÍÁÙÅẺ͹ءÃÁãË à» ¹áºº¢¹Ò¹ â´Â¨Ðµ ͧ㪠äÍ«Õ 74HC595 ·Ñ§é ËÁ´ 3 µÑÇÁÒµ ; ǧࢠҴ Ç¡ѹà¾×Íè ãË ÊÒÁÒÃ¶Ê §ÊÑ­­Ò³áºº¢¹Ò¹ä´ ·§Ñé ËÁ´ 20 ºÔµ ¡Òû ͹ ÊÑ­­Ò³à¾×Íè ¢ÑºãË ª¿Ô µ Ã¨Õ ÊÔ àµÍà ·Òí §Ò¹ÁÒ¨Ò¡¤Í¹à¹ç¡àµÍà MATRIX BUS »ÃСͺ´ ÇÂÊÑ­­Ò³ 5 àÊ ¹´Ñ§¹Õé 1. ÊÑ­­Ò³¢ ÍÁÙÅ COL_DIN (CD) à» ¹ÊÑ­­Ò³¢ ÍÁÙÅ͹ءÃÁ·ÕÊè § ÁÒ¨Ò¡¤ÍÁ¾ÔÇàµÍà ¼ Ò¹ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ËÃ×Í͹ءÃÁ áÅ ÇÊ §µ ÍÁÒÂѧ 74HC595 µÑÇáá (IC406) 2. ÊÑ­­Ò³¹ÒÌ ¡Ò COL_CLK (CCK) à» ¹ÊÑ­­Ò³¤Çº¤ØÁ¨Ñ§ËÇСÒ÷íÒ§Ò¹¢Í§ 74HC595 à¾×Íè ·íÒ¡ÒÃàÅ×Íè ¹¢ ÍÁÙÅ ¨ÐàËç¹ä´ ÇÒ µ ÍࢠҡѺ¢Ò CLK ¢Í§ 74HC595 ·Ø¡µÑÇ ·íÒãË äÍ«Õ·Ñé§ËÁ´ÁըѧËÇСÒ÷íÒ§Ò¹·ÕèµÃ§¡Ñ¹ 3. ÊÑ­­Ò³à¤ÅÕÂà COL_RST (CR) 㪠ÅÒ §¢ ÍÁÙÅÀÒÂ㹪Կµ Ã¨Õ ÊÔ àµÍà ·§Ñé ËÁ´ãË à» ¹ 0 4. ÊÑ­­Ò³áŵª COL_LE (CLE) 㪠´Òí çʶҹТ ÍÁÙÅ·Õ¢è ÒàÍÒµ ¾µØ ¢Í§ 74HC595 à¾×èÍãË ¢ ÍÁÙÅáÊ´§¼Å·ÕèÂѧ¤§»ÃÒ¡¯ÍÂÙ áÁ Ç Ò¨ÐÁÕ¡ÒÃà»ÅÕè¹á»Å§¢ ÍÁÙÅãËÁ áÅ Ç¡çµÒÁ áÅÐàÁ×èÍ ¢ ÍÁÙÅãËÁ ·àÕè ¢ ÒÁÒÁÕ¤ÇÒÁÊÁºÙó áÅе ͧ¡ÒÃà»ÅÕÂè ¹¢ ÍÁÙÅ㹡ÒÃáÊ´§¼Å·Õè LED ´ÍµàÁµÃÔ¡« ãË ´ÔÊàÍàºÔÅÊÑ­­Ò³ COL_LE ¹Õé àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 76


15

13

14

Q1

RST

8

4

2

C401 0.1/50V

I1 3 I2 6 I3 7 I4 1 I5 4 I6 5 I7

2

IC401 CD4017

7 Q3 10 Q4 1 Q5 5 Q6 6 Q7

CLK EN Q2

CLK

16

+5V

14

11 Q3 10 Q4 16 Q5 13 Q6 12 Q7 R401-R407 8 1k x7

Q2

15

IC402 ULN2003

Q1

9

+5V

Q407 BD140

Q405 BD140

ÃÙ»·Õè 7-3 ǧ¨ÃÊÁºÙó ¢Í§ EX-04A ºÍà ´¢Ñº LED ´ÍµàÁµÃÔ¡« ¢¹Ò´ 7x20 ¨Ø´

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 77 COL RST

COL D-IN COL OE ROW CLK

ROW RST

+5V COL LE

+5V

GND COL CLK

K401 MATRIX BUS

Q406 BD140

Q404 BD140

R428 220k*8

+5V

9

C402 0.1/50V

16

+5V

IC403 ULN2003

+5V

14

Q403 BD140

11 12

Q402 BD140

+5V

2

7

5,12 1

14 8

9

13 3 16 Q1 15 Q2 14 Q3 12 Q4 13 Q5 11 Q6 10 Q7 10 13

6 13

10

4 8

C403 0.1/50V

16

+5V

IC404 ULN2003

9

3

+5V

IC406 74HC595

8

R408-R414 100 x7

DSP401-DSP404 7x5 LED Dot-matrix x4

4

Q401 BD140

14

1 I1 2 I2 3 I3 5 I4 4 I5 6 I6 7

10 6 11 12

I7

13 3

10 13

15 S IN Q0 1 CLK Q1 2 LE Q2 3 RST Q3 4 OE Q4 5 Q5 6 Q6 SQH Q7 7 9

8

3 IC406 74HC595

8

C404 0.1/50V

16

IC407 74HC595 +5V

+5V 9

4 10 R415-R421 100 x7

4 10 6

1 I1 3 I2 2 I3 4 I4 6 I5 7 I6 I7

16 Q1 14 Q2 15 Q3 13 Q4 11 Q5 10 Q6 12 Q7 5

6 16 Q1 15 Q2 14 Q3 13 Q4 12 Q5 11

6

13

15 S IN Q0 1 CLK Q1 2 LE Q2 3 RST Q3 4 OE Q4 5 Q5 6 Q6 SQH Q7 7 9

Q6 1 I1 2 I2 3 I3 4 I4 5 I5 I6 14

IC405 ULN2003

8

IC408 74HC595

8

R422-R427 100 x7

OE 10 13

15 S IN Q0 1 CLK Q1 2 LE Q2 3 RST Q3 11 12

» ¨¨Øº¹Ñ ºÍà ´ EX-04A ·Õãè ª 㹺·¹Õäé ´ ËÂØ´¡Òà ¼ÅÔµ ´Ñ§¹Ñ¹é ¢ ÍÁÙÅ㹺·¹Õ¨é §Ö à» ¹¡ÒùíÒàʹÍà¾×Íè à» ¹¤ÇÒÁÃÙà · ҹѹé


EX-04A ºÍà ´ LED ´ÍµàÁµÃÔ¡« 7x20 ¨Ø´ l 㪠ª¿ Ô µ Ã¨Õ ÊÔ àµÍà 㹡ÒÃÊ §¢ ÍÁÙÅà¾×Íè áÊ´§

¼Å ¨Ö§ãª ÊÒÂÊÑ­­Ò³¹ Í l áÊ´§ä´ ·§Ñé ¢ ͤÇÒÁáÅÐÊÑ­Åѡɳ l ¤Í¹à¹ç¡àµÍà MATRIX BUS ÊíÒËÃѺ àª×Íè Áµ ͡Ѻ P-Board ¼ Ò¹·Ò§ DATA BUS

ÃÙ»·Õè 7-4 ¤Ø³ÊÁºÑµáÔ ÅÐ˹ ҵҢͧ EX-04A ºÍà ´¢Ñº LED ´ÍµàÁµÃÔ¡« ¢¹Ò´ 7x20 ¨Ø´ » ¨¨Øº¹Ñ ºÍà ´ EX-04A ·Õãè ª 㹺·¹Õäé ´ ËÂØ´¡ÒüÅÔµ ´Ñ§¹Ñ¹é ¢ ÍÁÙÅ㹺·¹Õ¨é §Ö à» ¹ ¡ÒùíÒàʹÍà¾×Íè à» ¹¤ÇÒÁÃÙà · ҹѹé 5. ÊÑ­­Ò³áÊ´§¼ÅàÍÒµ ¾µØ COL_OE (COE) 㪠àÍç¹àÍàºÔÅ¡ÒÃáÊ´§¼Å·Ò§àÍÒµ ¾µØ ¢Í§ 74HC595 ·íÒ§Ò¹´ ÇÂÅͨԡ 0 ¹Ñ¹è ¤×Í ËÒ¡ÊÑ­­Ò³¹Õàé » ¹ 1 ¨ÐäÁ Á¢Õ Í ÁÙÅ»ÃÒ¡¯ÍÍ¡ä»·Õ¢è Ò àÍÒµ ¾µØ ¢Í§ 74HC595 áµ ¶Ò µ ͧ¡ÒÃãË ¢Í ÁÙÅ»ÃÒ¡¯µ ͧ·íÒãË Ê­ Ñ ­Ò³¹Õàé » ¹ 0 ÅíҴѺ¢Ñ¹é ¡ÒõԴµ ͡ѺªÔ¿µ Ã¨Õ ÊÔ àµÍà ÁÕ´§Ñ ¹Õé 1. à¤ÅÕÂà ¤Ò ¢ ÍÁÙÅà¾×Íè ãË á¹ ã¨Ç ÒàÇÅÒÊ §¤ Ò¢ ÍÁÙÅãËÁ ÍÍ¡ä» äÁ Á¢Õ Í ÁÙÅà´ÔÁµ¡¤ Ò§ 2. ·íÒ¡ÒÃàÍç¹àÍàºÔÅàÍÒµ ¾µØ â´ÂÊ §ÊÑ­­Ò³ COL_OE (áÍ¡µÕ¿Åͨԡ 0 ) 3. Ê §ÊÑ­­Ò³ COL_LE 1 ÅÙ¡ à¾×Íè ÃÑ¡ÉÒ¤ ÒàÍÒµ ¾µØ äÇ 4. Ê §¢ ÍÁÙÅ COL_DIN 1 ºÔµ 5. Ê §ÊÑ­­Ò³¹ÒÌ ¡ÒÍÍ¡ä» 1 ÅÙ¡à¾×Íè àÅ×Íè ¹¢ ÍÁÙÅ 6. ·íÒµÒÁ¢ Í 4 áÅÐ 5 ãËÁ Í¡Õ ¤ÃÑ§é ¨¹¡Ç Ò¢ ÍÁÙŨÐÊ §Í͡价ѧé ËÁ´

¡ÒùíÒ¢ ÍÁÙÅà¾×Íè áÊ´§¼Åº¹ºÍà ´ EX-04A ÁÕ¢¹Ñé µÍ¹â´ÂÊÃØ»´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ COL_RESET áÅÐ ROW_RESET à¾×Íè à¤ÅÕÂà ¢Í ÁÙŷѧé ËÁ´ 2. Ê §ÊÑ­­Ò³ COL_LE 1 ÅÙ¡ à¾×Íè ÃÑ¡ÉÒ¤ ÒàÍÒµ ¾µØ äÇ 3. Ê §¢ ÍÁÙÅ COL_DIN 1 ºÔµ 4. Ê §ÊÑ­­Ò³¹ÒÌ ¡ÒÍÍ¡ä» 1 ÅÙ¡à¾×Íè àÅ×Íè ¹¢ ÍÁÙÅ 5. ·íÒµÒÁ¢ Í 4 áÅÐ 5 ãËÁ Í¡Õ ¤ÃÑ§é ¨¹¡Ç Ò¢ ÍÁÙŨÐÊ §Í͡价ѧé ËÁ´ 20 ËÅÑ¡ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 78


6. ·íÒ¡ÒÃàÍç¹àÍàºÔÅàÍÒµ ¾µØ â´ÂÊ §ÊÑ­­Ò³ COL_OE (áÍ¡µÕ¿Åͨԡ 0 ) 7. Ê §ÊÑ­­Ò³ ROW_CLK 1 ÅÙ¡à¾×Íè ãË à¡Ô´¡ÒÃáÊ´§¼Å·Õáè ¶ÇËÃ×ÍâÃÇ º¹ÊØ´ (á¶Ç·Õè 1) 8. ·íÒ¡ÒôÔÊàÍàºÔÅàÍÒµ ¾µØ ·Ò§¤ÍÅÑÁ¹ â´ÂÊ §ÊÑ­­Ò³ COL_OE Åͨԡ 1 9. Ê §ÊÑ­­Ò³ COL_RESET à¾×Íè à¤ÅÕÂà ¢Í ÁÙÅ·Ò§¤ÍÅÑÁ¹ ·§Ñé ËÁ´ 10. ¨Ò¡¹Ñ¹é ·íÒ¡ÒÃÊ §¢ ÍÁÙÅã¹á¹Ç¤ÍÅÑÁ¹ ·§Ñé 20 ¨Ø´ÍÕ¡¤Ãѧé 11. Ê §ÊÑ­­Ò³ ROW_CLK 1 ÅÙ¡ à¾×Íè àµÃÕÂÁ¡ÒÃáÊ´§¼Åã¹á¶Ç¶Ñ´ä» 12. Ê §ÊÑ­­Ò³àÍç¹àÍàºÔÅàÍÒµ ¾µØ ¨Ðà¡Ô´¡ÒÃáÊ´§¼Åã¹á¶Ç¶Ñ´ÁÒ 13. ·íÒµÒÁ¢Ñ¹é µÍ¹¢ Í 8-11 ¨¹¤Ãº 7 ¤ÃÑ§é ¡ç¨Ðä´ ¡ÒÃáÊ´§¼Åº¹ºÍà ´ EX-04A ¤Ãº·Ñ§é 7N20 ¨Ø´ 14. ·íÒ¡ÒÃÃÕ૵¢ ÍÁÙŷѧé ËÁ´áÅ ÇàÃÔÁè µ ¹·íÒ§Ò¹ÃͺãËÁ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 79


¡Ò÷´Åͧ·Õè 10 ¢Ñº LED ´ÍµàÁµÃÔ¡« 7x20 ¨Ø´ à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³

1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board ¾Ã ÍÁÊÒÂàª×Íè Áµ ;Íà µ¢¹Ò¹ 1 ªØ´ 2. EX-04A ºÍà ´ LED ´ÍµàÁµÃÔ¡« 7x20 ¨Ø´ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹ » ¨¨Øº¹Ñ ºÍà ´ EX-04A ·Õãè ª 㹺·¹Õäé ´ ËÂØ´¡ÒüÅÔµ ´Ñ§¹Ñ¹é ¢ ÍÁÙÅ㹺·¹Õ¨é §Ö à» ¹ ¡ÒùíÒàʹÍà¾×Íè à» ¹¤ÇÒÁÃÙà · ҹѹé

¡Ò÷´Åͧ¢Ñº LED ´ÍµàÁµÃÔ¡« àº×Íé §µ ¹

10.1 àÅ×Í¡àÁ¹Ù Project à Components à Tab Controls ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§ãË à¾ÔÁè àµÔÁ¤Í¹â·ÃÅ áÅ ÇàÅ×Í¡¤Í¹â·ÃÅ HighPerformanceCounter ´Ñ§ÃÙ»·Õè 10-1 ¶ ÒäÁ ¾ºª×èͤ͹â·ÃŹÕé ¡´»Ø Á Browse áÅ ÇàÅ×Í¡ä¿Å HPCOUNT.OCX ã¹ä´àáµÍÃÕè Windows\System áµ ¶Ò ËÒ¡äÁ ÁÊÕ ÒÁÒö ¤Ñ´ÅÍ¡ä¿Å hpcount.ocx ¨Ò¡á¼ ¹«Õ´ÃÕ ÍÁ PC interface : Parallel port Experiment ã¹ä´àÃç¡ µÍÃÕè Software\ocx ä»à¡çºäÇ ·Õè Windows\System ¨Ò¡¹Ñ¹é ¨ÐÊÒÁÒöàÃÕÂ¡ãª ä´ ·¹Ñ ·Õ 10.2 Êà ҧ¿Íà Á´Ñ§ÃÙ»·Õè 10-2 áÅÐà»ÅÕÂè ¹¤Ø³ÊÁºÑµ¢Ô ͧ CommandButton áÅÐ hpCounter µÒÁ·Õè ¡íÒ˹´ã¹ÃÙ» 10.3 à¢Õ¹â»Ãá¡ÃÁ ÍÂÊíÒËÃѺ¡ÒÃÊà ҧÊÑ­­Ò³µ Ò§æ·Õãè ª 㹡ÒâѺ´ÍµàÁµÃÔ¡« ´Ñ§¹Õé

hpCounter Name

hp

CommandButton Name

cmdRun

Caption

Run

ÃÙ»·Õè P10-1 ¡ÒÃàÅ×Í¡ HighPerformance ÃÙ»·Õè P10-2 áÊ´§¡ÒÃÊà ҧ¿Íà ÁÊíÒËÃѺ Counter à¾ÔÁè à¾×Íè 㪠ã¹â»Ãá¡ÃÁ·´Åͧ¢Ñº ¡Ò÷´Åͧ¾Ã ÍÁ¡Ñº¡ÒáíÒ˹´¤Ø³ÊÁºÑµÔ LED ´ÍµàÁµÃÔ¡« ¢Í§¤Í¹â·Ãŵ Ò§æ ·Õãè ª àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 80


â»Ãá¡ÃÁ Í Initial ÊÑ­­Ò³ã¹¾Íà µ Private Sub InitialDatabus() Out &H378, &H18 End Sub

‘ Initial databus

â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³¹ÒÌ ¡Òã¹á¹Ç¤ÍÅÑÁ¹ Private Sub ColCLK() Out &H378, Inp(&H378) Xor 1 Out &H378, Inp(&H378) Xor 1 End Sub

‘ Toggle column clock ‘ Toggle column clock

â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³¹ÒÌ ¡Òã¹á¹Çá¶Ç (âÃÇ ) Private Sub RowCLK() Out &H378, Inp(&H378) Xor &H40 Out &H378, Inp(&H378) Xor &H40 End Sub

‘ Toggle row clock ‘ Toggle row clock

â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³ÃÕ૵¢ ÍÁÙŤÍÅÑÁ¹ Private Sub ColRST() Out &H378, Inp(&H378) Xor &H8 Out &H378, Inp(&H378) Xor &H8 End Sub

‘ Toggle column reset ‘ Toggle column reset

â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³ÃÕ૵¢ ÍÁÙÅá¶Ç Private Sub RowRST() Out &H378, Inp(&H378) Xor &H80 Out &H378, Inp(&H378) Xor &H80

‘ Toggle row reset ‘ Toggle row reset

End Sub

â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³áŵª ¢Í ÁÙŤÍÅÑÁ¹ Private Sub ColLE() Out &H378, Inp(&H378) Xor &H2 Out &H378, Inp(&H378) Xor &H2 End Sub

‘ Toggle column latch ‘ Toggle column latch

â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³¢ ÍÁÙŤÍÅÑÁ¹ Private Sub ColDA(ByVal Logic As Boolean) If Logic Then Out &H378, Inp(&H378) Or &H4 ‘ Set column data to high Else Out &H378, Inp(&H378) And &HFB ‘ Set column data to low End If End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 81


â»Ãá¡ÃÁ ÍÂÊà ҧÊÑ­­Ò³àÍç¹àÍàºÔÅ¢ ÍÁÙŤÍÅÑÁ¹ Private Sub ColOE(ByVal Logic As Boolean) If Logic Then Out &H378, Inp(&H378) Or &H10 ‘ Set column output enable to high Else Out &H378, Inp(&H378) And &HEF ‘ Set column output enable to low End If End Sub

â´Ââ»Ãá¡ÃÁÂ Í ÂÊÃ Ò §ÊÑ ­ ­Ò³¹ÒÌ ¡ Ò, ÊÑ ­ ­Ò³ÃÕ à «µ áÅÐÊÑ ­ ­Ò³áŵ« ¨ÐÊà ҧÊÑ­­Ò³à» ¹¾ÑÅÊ 1 ÅÙ¡ 10.4 à¢Õ¹â»Ãá¡ÃÁÊíÒËÃѺàµÃÕÂÁ DATA BUS à¾×Íè Ê §¢ ÍÁÙÅ·Õàè ˵ءÒó Form_Load ´Ñ§¹Õé Private Sub Form_Load() InitialDatabus RowRST ColRST ColLE End Sub

‘ ‘ ‘ ‘

Initial databus Reset row counter Reset column data Latch column data

¢Ñ¹é µÍ¹¡Ò÷íÒ§Ò¹ÁÕ´§Ñ ¹Õé 10.4.1 Initial data bus â´ÂÊ §¢ ÍÁÙÅ &H18 à¾×Íè ãË ¾Íà µÍÂÙã ¹ÊÀÒÇÐàÃÔÁè µ ¹ 10.4.2 Ê §ÊÑ­­Ò³ÃÕ૵á¶Ç à¾×Íè à¤ÅÕÂà à¤Ò¹ àµÍà 10.4.3 Ê §ÊÑ­­Ò³ÃÕ૵¤ÍÅÑÁ¹ à¾×Íè à¤ÅÕà¢Í ÁÙÅ㹪Կµ Ã¨Õ ÊÔ àµÍà ãË ·¡Ø ¤ÍÅÑÁ¹ à» ¹ 0 10.4.4 Ê §ÊÑ­­Ò³áŵ« à¾×Íè áŵ« ¢Í ÁÙŨҡªÔ¿µ Ã¨Õ ÊÔ àµÍà 10.5 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdRun_Click à¾×Íè ·´Åͧ¡Ò÷íÒ§Ò¹¢Í§ºÍà ´´Ñ§¹Õé Private Sub cmdRun_Click() Dim i As Integer Dim j As Integer ColOE False For i = 0 To 6 RowCLK For j = 19 To 0 Step -1 DoEvents ColDA True ColCLK ColLE hp.Delay_ms 100 Next j ColRST ColLE Next i RowRST ColOE True End Sub

‘ Column data output enable ‘ send row clock

‘ ‘ ‘ ‘

send data 1 to column data send column clock Latch column data Delay 100 ms

‘ Reset column data ‘ Latch column data ‘ Reset row counter ‘ Column data output disable

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 82


ÁÕ¢¹Ñé µÍ¹¡Ò÷íÒ§Ò¹´Ñ§¹Õé 10.5.1 àÍç¹àÍàºÔÅàÍÒµ ¾µØ ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà ãË áÊ´§¢ ÍÁÙÅ㹺ѿà¿Íà ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà 10.5.2 Êà ҧÊÑ­­Ò³¹ÒÌ ¡ÒãË à¤Ò¹ àµÍà à¾×Íè àÃÔÁè áÊ´§¼Åã¹á¶Çáá ( á¶Çº¹ÊØ´ ) 10.5.3 Ê §¢ ÍÁÙÅÅͨԡ 1 ä»·Õºè ¿Ñ à¿Íà ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà 10.5.4 Ê §ÊÑ­­Ò³¹ÒÌ ¡Òä»·Õªè ¿Ô µ Ã¨Õ ÊÔ àµÍà à¾×Íè ÃѺ¢ ÍÁÙÅࢠÒÊÙº ¿Ñ à¿Íà ÊØ´)

10.5.5 áŵ« ¢Í ÁÙÅ㹺ѿà¿Íà ¨ÐàËç¹ LED µÔ´·Õ¨è ´Ø º¹« Òº¹´ÍµàÁµÃÔ¡« µÇÑ áá (µÑÇ« Ò 10.5.6 ˹ ǧàÇÅÒ 100 ÁÔÅÅÔÇ¹Ô Ò·Õ

10.5.7 ·íÒ«éÒí ¢ Í 10.5.3 ¨¹¶Ö§¢ Í 10.5.6 ãË ¤Ãº 20 Ãͺ à¾×Íè Ê §¢ ÍÁÙÅãË ¤Ãº 20 ¤ÍÅÑÁ¹ ã¹áµ ÅÐÃͺ LED ¨ÐµÔ´à¾ÔÁè ¢Ö¹é ·ÕÅдǧ 10.5.8 ÃÕ૵ºÑ¿à¿Íà ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà à¾×Íè àµÃÕÂÁ¡ÒÃÊ §¢ ÍÁÙÅá¶Ç¶Ñ´ä» 10.5.9 áŵ« ¢Í ÁÙÅ㹺ѿà¿Íà 10.5.10 ·íÒ«éÒí ¢ Í 10.5.1 ¨¹¶Ö§¢ Í 10.5.10 ãË ¤Ãº 7 Ãͺ à¾×Íè Ê §¢ ÍÁÙÅãË ¤Ãº 7 á¶Ç 10.5.11 àÁ×Íè áÊ´§¢ ÍÁÙŤú·Ø¡¤ÍÅÑÁ¹ áÅÐá¶Ç Ê §ÊÑ­­Ò³ÃÕ૵ãË à¤Ò¹ àµÍà à¾×Íè àµÃÕÂÁ ¡ÒÃáÊ´§¼Å㹤ÃÑ駵 Íä» 10.5.12 ´ÔÊàÍàºÔÅàÍÒµ ¾µØ ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà ¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¹Õé ¨ÐáÊ´§¼Åº¹ LED ´ÍµàÁµÃÔ¡« µÔ´¤Ãº·Ø¡¤ÍÅÑÁ¹ ·ÕÅÐá¶Ç µÑÇÍ ҧ¢Í§â»Ãá¡ÃÁ´Ùä´ ·äÕè ¿Å LAB10A .vbp

¡Ò÷´Åͧ¢Ñº LED ´ÍµàÁµÃÔ¡« ã¹ÅѡɳСíÒ˹´¨Ø´áÊ´§¼Å àÁ×èÍÊÒÁÒöáÊ´§¼Åä´ ¤Ãº·Ø¡¨Ø´ ¡Ò÷´Åͧµ Í仨ÐáÊ´§¢ ÍÁÙŵÒÁ·Õè¡íÒ˹´â´Â㪠¤Í¹â·ÃÅ MsFlexGrid 10.6 à¾ÔÁè ¤Í¹â·ÃÅ Microsoft FlexGrid Control 6.0 â´ÂàÅ×Í¡àÁ¹Ù Projecà Components à Tab Controls 10.7 àÅ×Í¡¤Í¹â·ÃÅ Microsoft FlexGrid Control 6.0 ¶ ÒäÁ ¾ºª×Íè ¤Í¹â·ÃŹÕé ¡´»ØÁ Browse áÅ ÇàÅ×Í¡ä¿Å MSFLXGRD.OCX ã¹ä´àáµÍÃÕè Windows\System ´Ñ§ÃÙ»·Õè P10-3 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 83


10.8 ·í Ò ¡ÒÃà¾Ôè Á ¤Í¹â·ÃÅ FlexGrid áÅÐ CommandButton º¹¿Íà Á´Ñ§ÃÙ»·Õè 10-4 ¾Ã ÍÁ ·Ñ駡íÒ˹´¤Ø³ÊÁºÑµÔµÒÁ·ÕèáÊ´§ã¹ÃÙ»´ Ç 10.9 à¢Õ¹â»Ãá¡ÃÁ Í InitialFlexGrid à¾×Íè ¡í Ò Ë¹´¤Ø ³ ÊÁºÑ µÔ ¢ ͧ flx ãË à » ¹ µÒÃÒ§ÊÕè àËÅÕèÂÁ¢¹Ò´ 7x20 ¨íÒÅͧ໠¹Ê ǹáÊ´§¼Å LED ´ÍµàÁµÃÔ¡« ¢Í§ºÍà ´ EX-04A ´Ñ§¹Õé ÃÙ»·Õè P10-3 ¡ÒÃàÅ×Í¡¤Í¹â·ÃÅ Microsoft FlexGrid Control 6.0 à¾×èÍ㪠ã¹â»Ãá¡ÃÁ ·´Åͧ¢Ñº LED ´ÍµàÁµÃÔ¡«

Private Sub InitialFlexGrid() Dim i As Integer For i = 0 To 6 flx.RowHeight(i) = 200 ‘ Set cell height = 200 Next i For i = 0 To 19 flx.ColWidth(i) = 200 ‘ Set cell width = 200 Next i End Sub

¡ÒÃÍ Ò§µíÒá˹ §º¹ FlexGrid ¨ÐÍÂÙã ¹ ÅѡɳеÒÃÒ§ ¡ÒÃà¡çº¢ ÍÁÙŤÇÃ㪠µÑÇá»Ã·Õè FlexGrid CommandButton à» ¹ªØ´ÍÒà àÃÂ ã¹·Õ¹è ¨Õé Ð㪠ÍÒà àà2 ÁÔµÔ ¢¹Ò´ 7x20 àÁ×Íè 㪠¤Çº¤Ù¡ ºÑ FlexGrid ¨Ð·íÒãË ¡Ò÷íÒ §Ò¹§ ÒÂ¢Ö¹é µÑÇá»Ã¹Õ¨é Ð㪠ã¹ÅѡɳеÑÇá»ÃÃÇÁ (Global variable) ÊÒÁÒöàÃÕ Â ¡ãª ä ´ ·Ø ¡ â»Ãá¡ÃÁ ÍÂ㹿Íà Á â´Âµ ͧ»ÃСÒȵÑÇá»Ã ·ÕÊè Ç ¹ General Declaration ¤×ÍÊ Ç¹·ÕÍè ÂÙº ¹ÊØ´ ¢Í§â»Ãá¡ÃÁ ¡ÒûÃСÒȵÑÇá»Ã¨Ðµ ͧà¢Õ¹ ÃÙ»·Õè P10-4 áÊ´§¡ÒÃÊà ҧ¿Íà ÁÊíÒËÃѺ â»Ãá¡ÃÁ´Ñ§¹Õé ¡Ò÷´Åͧ¾Ã ÍÁ¡Ñº¡ÒáíÒ˹´¤Ø³ÊÁºÑµÔ Dim flgDot(0 To 19, 0 To 6) As ¢Í§¤Í¹â·ÃÅ FlexGrid áÅÐ Command Boolean Button ÊíÒËÃѺ¡Ò÷´Åͧ¢Ñº LED ´Íµ «Öè§ÊÒÁÒö¨íÒÅͧÅѡɳТͧµÑÇá»Ã àÁµÃÔ¡« 7x20 ¼ Ò¹ºÍà ´ EX-04A ä´ ´Ñ§¹Õé Name

flx

Name

cmdRndData

Cols

20

Caption

Random

Rows

7

FixedCols

0

FixedRows

0

FocusRect

0-flexFocusNone

HighLight

0-flexHighlightNever

High

1455

Width

4000

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 84


0

1

2

...

19

flgDot(0,0)

flgDot(1,0)

flgDot(2,0)

...

flgDot(19,0)

flgDot(0,1)

flgDot(1,1)

flgDot(2,1)

...

flgDot(19,1)

flgDot(0,2)

flgDot(1,2)

flgDot(2,2)

...

flgDot(19,2)

...

...

...

...

...

flgDot(0,6)

flgDot(1,6)

flgDot(2,6)

...

flgDot(19,6)

10.10 àÃÕ¡㪠â»Ãá¡ÃÁ Í InitialFlexGrid áÅÐà¤ÅÕÂà ¤Ò µÑÇá»Ã flgDot ·Õàè ˵ءÒó Form_Load Private Sub Form_Load() Dim i As Integer Dim j As Integer InitialFlexGrid For i = 0 To 6 For j = 0 To 19 flgDot(j, i) = False Next j Next i InitialDatabus RowRST ColRST ColLE End Sub

‘ Clear all dot matrix buffer

‘ ‘ ‘ ‘

Initial databus Reset row counter Reset column data Latch column data

10.11 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó flx_Click Private Sub flx_Click() flx.Visible = False If flx.CellBackColor = vbRed Then flx.CellBackColor = vbWhite flgDot(flx.Col, flx.Row) = False ‘ Clear point dot matrix buffer Else flx.CellBackColor = vbRed flgDot(flx.Col, flx.Row) = True ‘ Set point dot matrix buffer End If flx.Visible = True End Sub

àÁ×èÍ㪠àÁÒÊ ¤ÅÔé¡·Õè flx ¨ÐÁÕÊÕá´§µÔ´¢Öé¹ã¹ª ͧ·Õè¤ÅÔé¡ àÁ×èͤÅÔé¡«éíÒ¨ÐÊÅѺ¡ÅÒÂà» ¹ ÊÕ¢ÒÇ ¾Ã ÍÁ¡Ñºà¡çº¢ ÍÁÙÅŧ㹵ÑÇá»Ã àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 85


10.12 à»ÅÕÂè ¹â»Ãá¡ÃÁã¹à˵ءÒó cmdRun_Click â´ÂãË Ê§ ¢ ÍÁÙŨҡµÑÇá»Ã flgDot á·¹ Åͨԡ 1 ´Ñ§¹Õé ¨Ò¡ ColDA True à» ¹ ColDA flgDot(j, i)áÅÐà»ÅÕÂè ¹¤ Ò˹ ǧàÇÅÒ¨Ò¡ 100ms ãË à» ¹ 1ms 10.13 ·´ÅͧÃѹâ»Ãá¡ÃÁ â´ÂÊØÁ ¤ÅÔ¡é ·Õè flx ãË à¡Ô´ÊÕá´§¡ÃШÒÂä»·ÑÇè áÅ Ç¡´»ØÁ Run ¨ÐàËç¹ à» ¹á¶ºÊÕá´§ à¹×Íè §¨Ò¡áÊ´§¼Åµ Íà¹×Íè §¡Ñ¹·íÒãË àËç¹à» ¹á¶ºÊÕá´§ 10.14 »ÃСÒȵÑÇá»Ã flgRun ·ÕÊè Ç ¹ Declaration ÊíÒËÃѺǹÅÙ»à¾×Íè ãË áÊ´§¼Åµ Íà¹×Íè §´Ñ§¹Õé Dim flgRun as Boolean

áÅÐá¡ ä¢â»Ãá¡ÃÁ´Ñ§¹Õé Private Sub cmdRun_Click() Dim i As Integer Dim j As Integer If flgRun Then flgRun = False cmdRun.Caption = “Run” Exit Sub Else flgRun = True cmdRun.Caption = “Stop” RowRST ColRST End If ColOE False For i = 0 To 6 RowCLK For j = 19 To 0 Step -1 DoEvents ColDA flgDot(j, i) ColCLK Next j ColLE hp.Delay_ms 1 ColRST ColLE Next i RowRST ColOE True End Sub

‘ Reset row counter ‘ Reset column data ‘ Column data output enable ‘ send row clock

‘ send data 1 to column data ‘ send column clock ‘ ‘ ‘ ‘

Latch Delay Reset Latch

column data 100 ms column data column data

‘ Reset row counter ‘ Column data output disable

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 86


10.15 à¾ÔÁè â»Ãá¡ÃÁ ÍÂÊíÒËÃѺÍÍ¡¨Ò¡â»Ãá¡ÃÁ¡ÒÃáÊ´§¼Å·Õàè ˵ءÒó Form_QueryUnload áÅÐ Form_Unload ´Ñ§¹Õé Private Sub Form_QueryUnload (Cancel As Integer, UnloadMode As Integer) flgRun = False End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub

10.16 à¢Õ¹â»Ãá¡ÃÁãË ¡Ñºà˵ءÒó cmdRndData_Click ÊíÒËÃѺ¡ÒÃÊà ҧ¢ ÍÁÙÅÊØ Áº¹ flx à¾×èÍ㪠ÊíÒËÃѺ·´Êͺ¡ÒÃáÊ´§¼Å¡Ñº´ÍµàÁµÃÔ¡« ´Ñ§¹Õé Private Sub cmdRndData_Click() Dim i As Integer Dim j As Integer Dim tmp As Double flx.Visible = False Randomize For i = 0 To 6 flx.Row = i For j = 0 To 19 flgDot(j, i) = CBool(Round(Rnd)) flx.Col = j If flgDot(j, i) Then flx.CellBackColor = vbRed Else flx.CellBackColor = vbWhite End If Next j Next i flx.Visible = True End Sub

ÃÒÂÅÐàÍÕ Â ´¢Í§â»Ãá¡ÃÁ ·´Åͧ¹Õé´Ùä´ ¨Ò¡ä¿Å LAB10B.VBP ã¹ÃÙ»·Õè P10-5 áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§ â»Ãá¡ÃÁ·´Åͧ¹Õé ÃÙ»·Õè P10-5 ¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·´Åͧ LAB10B.VBP àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 87


¡Ò÷´Åͧ¢Ñº LED ´ÍµàÁµÃÔ¡« º¹ºÍà ´ EX-04A à¾×Íè áÊ´§µÑÇÍÑ¡Éà àÁ×Íè µ ͧ¡ÒÃáÊ´§µÑÇÍÑ¡Éèе ͧà»ÅÕÂè ¹¨Ò¡µÑÇÍÑ¡ÉÃÁÒà» ¹µÒÃÒ§¢Í§¢ ÍÁÙÅ ¨Ò¡¹Ñ¹é ¨Ö§ãª ÇÔ¸ÕáÊ´§¼ÅẺà´ÕÂǡѺ·Õè¼ Ò¹ÁÒ 10.17 Êà ҧ TextBox ÊíÒËÃѺ¾ÔÁ¾ µÇÑ ÍÑ¡É÷յè Í §¡Òà áÅÐá¡ ¤³ Ø ÊÁºÑµ¢Ô ͧ TextBox ´Ñ§ÃÙ»·Õè P10-6 TextBox Name

txt

MaxLength

4

ÃÙ»·Õè P10-6 µÑÇÍ ҧ¿Íà ÁáÅСÒáíÒ˹´¤Ø³ÊÁºÑµÊÔ Òí ËÃѺ·´Åͧ¢Ñº LED ´ÍµàÁµÃÔ¡« ãË áÊ´§µÑÇÍÑ¡Éà 10.18 »ÃСÒȵÑÇá»Ã·Õãè ª à¡çº¢ ÍÁÙſ͹µ ã¹Ê ǹ General Declaration â´Âà» ¹µÑÇá»ÃÍÒà àà2 ÁÔµÔ ´Ñ§¹Õé Dim Char(1 To 128, 1 To 5) As Integer

10.19 Êà ҧ¿Í¹µ ÊÒí ËÃѺ LED ´ÍµàÁµÃÔ¡« ´Ç Ââ»Ãá¡ÃÁ Í BuildFontMap ´Ñ§áÊ´§äÇ áÅ Ç ã¹Ê ǹ¢Í§·ÄÉ®Õ 10.20 Êà ҧâ»Ãá¡ÃÁ ÍÂÊíÒËÃѺÃѺµÑÇÍÑ¡Éèҡ txt ÁÒá»Å§à» ¹¢ ÍÁÙÅã¹ÃٻẺ¢Í§¿Í¹µ áÅÐ ¹íÒä»à¡çºäÇ ã¹µÑÇá»Ã flgDot à¾×Íè ¾Ã ÍÁ㹡ÒÃáÊ´§¼Å·Õ´è ͵àÁµÃÔ¡« Private Sub ReadText() Dim i As Integer Dim j As Integer Dim k As Integer Dim tmpAsc As Integer Dim tCol As Integer Dim tRow As Integer Dim tmpstr As String tmpstr = txt.Text & “ “ flx.Visible = False For i = 0 To 3 tmpAsc = Asc(Mid(tmpstr, i + 1, 1))

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 88


For j = 0 To 4 flx.Col = (i * 5) + j tCol = (i * 5) + j For k = 0 To 6 flx.Row = 6 - k tRow = 6 - k If (Char(tmpAsc, j + 1) And (2 ^ k)) = (2 ^ k) Then flx.CellBackColor = vbRed flgDot(tCol, tRow) = True Else flx.CellBackColor = vbWhite flgDot(tCol, tRow) = False End If Next k Next j Next i flx.Visible = True End Sub

10.21 àÃÕ¡㪠â»Ãá¡ÃÁ Í BuildFontMap ·Õàè ˵ءÒó Form_Load Private Sub Form_Load() Dim i As Integer Dim j As Integer BuildFontMap InitialFlexGrid For i = 0 To 6 For j = 0 To 19 flgDot(j, i) = False Next j Next i InitialDatabus RowRST ColRST ColLE End Sub

‘ Clear all dot matrix buffer

‘ ‘ ‘ ‘

Initial databus Reset row counter Reset column data Latch column data

10.22 àÃÕ¡㪠â»Ãá¡ÃÁ Í ReadText ã¹ÅÙ»¢Í§¡ÒÃáÊ´§¼Å·Õ´è ͵àÁµÃÔ¡« à¾×Íè ·íÒ¡ÒÃÍ Ò¹¤ Ò ¨Ò¡ txt ¡ ͹¨Ð·íÒ¡ÒÃáÊ´§¼ÅÃͺãËÁ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 89


ÃÙ»·Õè P10-7 ¼Å¡Ò÷íÒ§Ò¹¢Í§ â»Ãá¡ÃÁ·´Åͧ LAB10-3.VBP Do While flgRun ReadText For i = 0 To 6 RowCLK For j = 19 To 0 Step -1 DoEvents ColDA flgDot(j, i) matrix buffer to column data ColCLK Next j ColLE hp.Delay_ms 1 ColRST ColLE Next i RowRST Loop

‘ send row clock

send

data

from

dot

‘ send column clock ‘ ‘ ‘ ‘

Latch Delay Reset Latch

column data 100 ms column data column data

‘ Reset row counter

ÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ¹Õ´é äÙ ´ ¨Ò¡ä¿Å LAB13C.VBP ã¹ÃÙ»·Õè P10-7 áÊ´§¼Å¡Òà ·íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·´Åͧ¹Õé

» ¨¨Øº¹Ñ ºÍà ´ EX-04A ·Õãè ª 㹺·¹Õäé ´ ËÂØ´¡ÒüÅÔµ ´Ñ§¹Ñ¹é ¢ ÍÁÙÅ㹺·¹Õ¨é §Ö à» ¹ ¡ÒùíÒàʹÍà¾×Íè à» ¹¤ÇÒÁÃÙà · ҹѹé

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 90


º··Õè 8 ¡ÒâÂÒ¤ÇÒÁÊÒÁÒö¢Í§ ¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C I2C  ÍÁÒ¨Ò¡ Inter-IC Communication ËÁÒ¶֧ ¡ÒõԴµ ÍÊ×Íè ÊÒÃÃÐËÇ Ò§äÍ«Õ â´ÂºÑÊ I2C ¾Ñ²¹Ò¢Ö¹é â´Â¿ Å»Ô Ê (Philips) ´ ǨشÁا ËÁÒÂËÅÑ¡¤×Í µ ͧ¡ÒÃãË äÍ«ÕËÃ×ÍâÁ´ÙÅÊÒÁÒöµÔ´µ Í ÊÑ觧ҹáÅФǺ¤ØÁÀÒÂãµ ÊÒÂÊÑ­­Ò³à¾Õ§ 2 àÊ ¹ àÊ ¹Ë¹Ö觤×ÍÊÒ¢ ÍÁÙÅ ÍÕ¡àÊ ¹Ë¹Ö觤×ÍÊÒ ÊÑ­­Ò³¹ÒÌ ¡Ò·Õãè ª 㹡ÒáíÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹ ¡Òõ Íà ÇÁ¡Ñ¹¢Í§ÍØ»¡Ã³ º¹ºÑÊ I2C ·íÒä´ § ÒÂÁÒ¡ à¾Õ§µ ÍÊÒ¢ ÍÁÙÅáÅÐÊÒÂÊÑ­­Ò³¹ÒÌ ¡Ò¢Í§ÍØ»¡Ã³ áµ ÅеÑÇ¢¹Ò¹ËÃ×; ǧ¡Ñ¹ä» Ê Ç¹ ¡ÒáíÒ˹´áÍ´à´ÃÊËÃ×͵íÒá˹ §ÊíÒËÃѺµÔ´µ ÍÍØ»¡Ã³ áµ ÅеÑÇ ¨Ð㪠ÃËÑÊ¢ ÍÁÙÅáÅСÒáíÒ˹´ ÊÀÒÇÐÅͨԡ·Õè¢ÒáÍ´à´ÃʢͧÍØ»¡Ã³ áµ ÅеÑÇ ÊÒ¢ ÍÁÙź¹ºÑÊ I2C ÁÕªÍ×è àÃÕ¡Í ҧ໠¹·Ò§¡ÒÃÇ Ò ÊÒ¢ ÍÁÙÅ͹ءÃÁËÃ×Í SDA (Serial Data line) Ê Ç¹ÊÒÂÊÑ­­Ò³¹ÒÌ ¡ÒÁÕªÍ×è àÃÕÂ¡Ç Ò ÊÒÂÊÑ­­Ò³¹ÒÌ ¡Ò͹ءÃÁËÃ×Í SCL (Serial Clock line) 㹡ÒÃ͸ԺÒµ Í仹ըé ÐàÃÕ¡ÊÒÂÊÑ­­Ò³·Ñ§é ÊÍ§Ç Ò ÊÒ SDA áÅÐ SCL

¤Ø³ÊÁºÑµâÔ ´Â·ÑÇè 仢ͧºÑÊ I2C ÊÒ SDA áÅÐ SCL à» ¹ÊÒÂÊÑ­­Ò³ 2 ·ÔÈ·Ò§ (bi-directional line) µ ͧÁÕ¡Òõ ͵Ñǵ Ò¹ ·Ò¹¾ÙÅÍÑ»¡Ñºáç´Ñ¹ +5V äÇ µÅÍ´àÇÅÒ à¾×Íè ãË ÊÒÂÁÕʶҹÐÅͨԡÊ٧㹢³Ð·Õäè Á Á¡Õ ÒÃ㪠§Ò¹ ·Ñ§é Âѧª ÇÂ㹡Òû ͧ¡Ñ¹ÊÑ­­Ò³Ãº¡Ç¹·ÕÍè Ò¨ÁÕࢠÒÁÒã¹ÊÒÂÊÑ­­Ò³·Ñ§é Êͧ ǧ¨ÃàÍÒµ ¾µØ ¢Í§ÍØ»¡Ã³ ·Õµè Í ÍÂÙº ¹ºÑÊ I2C µ ͧÁÕÅ¡Ñ É³Ðà» ¹Ç§¨Ãà´Ã¹à» ´ (open-drain) ËÃ×ͤÍÅàÅç¡àµÍà ໠´ (opencollector) ´Ñ§áÊ´§ÃÒÂÅÐàÍÕ´ã¹ÃÙ»·Õè 8-1 ÍѵÃÒ¡Òö Ò·ʹ¢ ÍÁÙź¹ºÑÊ I2C ÊÙ§¶Ö§ 100 ¡ÔâźԵµ ÍÇÔ¹Ò·Õã¹âËÁ´»¡µÔ (standard mode) áÅÐÊÙ§¶Ö§ 400 ¡ÔâźԵµ ÍÇÔ¹Ò·Õã¹âËÁ´¤ÇÒÁàÃçÇÊÙ§ (fast mode) ÍØ»¡Ã³ ·µÕè Í Ã ÇÁÍÂÙº ¹ ºÑÊ I2C ¨Ðµ ͧÁÕ¤Ò ¤ÇÒÁ¨Øä¿¿ ÒÃÇÁ·Õàè ¡Ô´¢Ö¹é ÃÐËÇ Ò§ÊÒ SDA áÅÐ SCL äÁ à¡Ô¹ 400pF ¡ÒÃà¢ Ò ¶Ö§ÍØ»¡Ã³ º¹ºÑÊ I2C ·íÒä´ 2 Ẻ¤×Í 7 ºÔµ (7-bit addressing) áÅÐ 10 ºÔµ (10-bit addressing) ¢ Íà´ ¹ÍÕ¡»ÃСÒÃ˹Ö觢ͧºÑÊ I2C ¤×Í ÊÒÁÒöàª×èÍÁµ ÍÍØ»¡Ã³ ·Õè㪠ä¿àÅÕé§äÁ ෠ҡѹãË ÊÒÁÒöµÔ´µ ÍÊ×Íè ÊÒÃ¡Ñ¹ä´ â´ÂÍØ»¡Ã³ º¹ºÑÊ I2C µÑÇ˹֧è ÍҨ㪠ä¿àÅÕÂé § +5V ã¹¢³Ð·ÕÍè ¡Õ µÑÇ˹֧è 㪠ä¿àÅÕÂé § +12V ¡Òõ Íà ÇÁ¡Ñ¹º¹ºÑÊ I2C ÊÒÁÒö¡ÃзíÒä´ ã¹ÅѡɳÐà´ÕÂǡѺ¡Ã³Õ·ÍÕè »Ø ¡Ã³ ·Ñ§é Êͧ㪠ä¿àÅÕÂé §à· Ò¡Ñ¹ ¡Å ÒǤ×Í ãË µÍ ÊÒ SDA áÅÐ SCL ¢Í§ÍØ»¡Ã³ áµ ÅеÑÇࢠҴ Ç¡ѹ áÅÐ µ ͧµ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ» (RP) ࢠҡѺáç´Ñ¹ +5V äÇ ´Ç ÂàÊÁÍ ´Ñ§áÊ´§ã¹ÃÙ»·Õè 8-2 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 91


+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 ·Õè¢Ò SDA áÅÐ SCL ¢Í§ÍØ»¡Ã³ áµ ÅеÑǵ ͧµ ͵Ñǵ Ò¹·Ò¹Í¹Ø¡ÃÁ¡Ñº¢Ò SDA áÅÐ SCL àÃÕÂ¡Ç Ò RS ¡ ͹µ ÍࢠÒÊÙº ÊÑ I2C ´Ñ§áÊ´§ã¹ÃÙ»·Õè 8-3

ËÅÑ¡¡ÒâͧºÑÊ I2C

ºÑÊ I2C »ÃСͺ´ ÇÂÊÒÂÊÑ­­Ò³ 2 àÊ ¹ ´Ñ§·Õäè ´ ¡Å ÒÇÁÒáŠǤ×Í SDA áÅÐ SCL ÍØ»¡Ã³ ·Õµè Í ¾ ǧº¹ºÑÊÊÒÁÒöÁÕä´ ÁÒ¡ÁÒ ´Ñ§¹Ñ¹é ¨Ö§µ ͧÁÕ¡ÒáíÒ˹´ÃٻẺ¢Í§¡ÒõԴµ ͺ¹ºÑÊ ËÃ×Í àÃÕÂ¡Ç Ò â»ÃⵤÍÅ (protocol) à¾×Íè ãË ¼ãÙ ª §Ò¹·ÃÒºÇ Ò ¢³Ð¹ÕÍé »Ø ¡Ã³ ã´µÔ´µ ͡ѹÍÂÙ áÅÐÍØ»¡Ã³ µÑÇã´à» ¹µÑÇÃѺËÃ×͵ÑÇÊ § µ Í仹ըé ТÍ͸ԺÒÂÅѡɳР˹ Ò·Õè áÅйÔÂÒÁ¢Í§ÍØ»¡Ã³ ·µÕè Í ÍÂÙº ¹ºÑÊ I2C à¾×Íè à» ¹¢ ͵¡Å§¾×¹é °Ò¹¡ ͹·Õ¨è Ð͸ԺÒ¡Ò÷íÒ§Ò¹¢Í§ºÑÊ I2C µ Íä» ÍØ»¡Ã³ ·àÕè » ¹¼ÙÊ Ã Ò§¢ ÍÁÙÅËÃ×ÍÊ §¢ ÍÁÙÅ àÃÕÂ¡Ç Ò µÑÇÊ § (transmitter) ÍØ»¡Ã³ ·àÕè » ¹¼Ùà ºÑ ¢ ÍÁÙÅ àÃÕÂ¡Ç Ò µÑÇÃѺ (receiver) ÍØ»¡Ã³ º¹ºÑÊ I2C ÊÒÁÒö໠¹ä´ ·§Ñé µÑÇÃѺáÅеÑÇÊ § ÍØ»¡Ã³ ··Õè Òí ˹ Ò·Õè ¤Çº¤ØÁ¨Ñ§ËÇСÒõԴµ ͺ¹ºÑÊ I2C àÃÕÂ¡Ç Ò ÁÒÊàµÍà (master) ÍØ»¡Ã³ ·¶Õè ¡Ù ¤Çº¤ØÁËÃ×ÍÍØ»¡Ã³ ·Õµè Í ¾ ǧࢠÒ仺¹ºÑÊ I2C àÃÕÂ¡Ç Ò ÊàÅ¿ (slave)

R2

R2

+5V

+9V

+12V

+12V

ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ NMOS

ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ BICMOS

ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ CMOS

ÍØ»¡Ã³ 1 + ºÑÊ ª¹Ô´ BIPOLAR

SDA SCL

ÃÙ»·Õè 8-2 ¡Òõ ; ǧÍØ»¡Ã³ ÃкººÑÊ I2C ·Õãè ª ä¿àÅÕÂé §äÁ ෠ҡѹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 92


R2 SDA

R2

+5V

+5V

ÍØ»¡Ã³ 1 + ºÑÊ

ÍØ»¡Ã³ 1 + ºÑÊ

R5

R5

R5

R5

SCL

ÃÙ»·Õè 8-3 ¡Òõ ͵Ñǵ Ò¹·Ò¹Í¹Ø¡ÃÁ¡Ñº¢ÒÊÑ­­Ò³¢Í§ÍØ»¡Ã³ º¹ÃкººÑÊ I2C à¾×èÍÅ´ ÊÑ­­Ò³Ãº¡Ç¹ ¢ Í¡íÒ˹´ 2 »ÃСÒÃÊíҤѭ¢Í§¡ÒõԴµ ͺ¹ºÑÊ I2C ¤×Í (1) ¡Òö Ò·ʹ¢ ÍÁÙŨÐà¡Ô´¢Ö¹é ä´ àÁ×Íè ºÑÊÇ Ò§à· Ò¹Ñ¹é (2) ã¹ÃÐËÇ Ò§¡Òö Ò·ʹ¢ ÍÁÙÅ àÁ×Íè ã´¡çµÒÁ·ÕÊè Ò SCL ÁÕʶҹÐà» ¹ÅͨԡÊÙ§ ÊÒ¢ ÍÁÙÅ µ ͧÃÑ¡ÉÒ¢ ÍÁÙÅäÇ Í ÒãË à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§¢Ö¹é à´ç´¢Ò´ Áԩйѹé ÊÑ­­Ò³·Õàè ¡Ô´¢Ö¹é ¨Ðä´ ÃºÑ ¡Òà á»Å¤ÇÒÁËÁÒÂà» ¹ÊÑ­­Ò³¤Çº¤ØÁá·¹ ÊÀÒÇзÕàè ¡Ô´¢Ö¹é º¹ºÑÊ I2C ÁÕ´Ç Â¡Ñ¹ 5 ÊÀÒÇÐ ´Ñ§¹Õé (1) ºÑÊÇ Ò§ (Bus not busy) ÊÀÒÇйÕàé ¡Ô´¢Ö¹é àÁ×Íè ʶҹÐÅͨԡº¹ÊÒ SDA áÅÐ SCL à» ¹ ÅͨԡÊÙ§·Ñ§é ¤Ù ¹Ñ¹è ËÁÒ¤ÇÒÁÇ Ò ¡Òö Ò·ʹ¢ ÍÁÙÅÊÒÁÒöàÃÔÁè µ ¹¢Ö¹é ä´ (2) àÃÔÁè µ ¹¶ Ò·ʹ¢ ÍÁÙÅ (start data transfer) à¡Ô´¢Ö¹é àÁ×Íè ÊÒ SDA ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ Åͨԡ¨Ò¡Ê٧仵èÒí ã¹¢³Ð·ÕÊè Ò SCL ÁÕʶҹÐÅͨԡÊÙ§ àÃÕ¡ÊÀÒÇйÕÇé Ò ÊÀÒÇÐàÃÔÁè µ ¹ (START) (3) ËÂØ´¡Òö Ò·ʹ¢ ÍÁÙÅ (stop data transfer) à¡Ô´¢Ö¹é àÁ×Íè ÊÒ SDA ÁÕ¡ÒÃà»ÅÕÂè ¹ á»Å§ÃдѺÅͨԡ¨Ò¡µèÒí ä»ÊÙ§ ã¹¢³Ð·ÕÊè Ò SCL ÁÕʶҹÐÅͨԡÊÙ§ àÃÕ¡ÊÀÒÇзÕàè ¡Ô´¢Ö¹é ¹ÕÇé Ò ÊÀÒÇÐ ËÂØ´ (STOP) (4) ¢ ÍÁÙÅ´íÒçÍÂÙº ¹ºÑÊ (data valid) ÊÀÒÇйÕàé ¡Ô´¢Ö¹é ¶Ñ´¨Ò¡ÊÀÒÇÐàÃÔÁè µ ¹ â´ÂʶҹРÅͨԡ·Õàè ¡Ô´¢Ö¹é º¹ÊÒ SDA ¡ç¤Í× ¢ ÍÁÙÅ·Õ·è Òí ¡Òö Ò·ʹ àÁ×Íè ÊÒ SCL à» ¹ÅͨԡÊÙ§ ʶҹзÕÊè Ò SDA µ ͧ¤§·Õè à¾×Íè ãË Í»Ø ¡Ã³ ÃºÑ ÃÙ¢ Í ÁÙÅ㹨ѧËÇйѹé Ç Ò à» ¹ 0 ËÃ×Í 1 ¢ ÍÁÙÅÍÒ¨à¡Ô´¡Òà à»ÅÕÂè ¹á»Å§ä´ ã¹¢³Ð·ÕÊè Ò SCL à» ¹ÅͨԡµèÒí áµ àÁ×Íè ã´¡çµÒÁ·Õµè Í §¡ÒÃãË à¡Ô´¡Òö Ò·ʹ¢ ÍÁÙÅ Í ҧÊÁºÙó ʶҹÐÅͨԡ·Õ¢è Ò SDA µ ͧ¤§·Õµè ÅÍ´ª ǧàÇÅÒ·ÕÊè Ò SCL ÁÕʶҹÐÅͨԡÊÙ§ ËÒ¡ à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§Ê¶Ò¹ÐÅͨԡ㹢³Ð·ÕÊè Ò SCL ÁÕÅͨԡÊÙ§ÍÂÙ¹ ¹Ñé ÍØ»¡Ã³ ÁÒÊàµÍà ·¤Õè Ǻ¤ØÁ ¡Òö Ò·ʹ¢ ÍÁÙŨÐá»Å¤ÇÒÁËÁÒÂà» ¹ÊÀÒÇÐËÂØ´ËÃ×ÍÊÀÒÇÐàÃÔÁè µ ¹¡çä´ ·íÒãË ¢Í ÁÙÅ·Õ¶è Ò Â·Í´ ¹Ñ¹é à¡Ô´¤ÇÒÁ¼Ô´¾ÅÒ´¢Ö¹é àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 93


SDA à»ÅÕÂè ¹¨Ò¡ "1" à» ¹ "0" ã¹¢³Ð·Õè SCL à» ¹ "1" ¹Õ¤è Í× ÊÀÒÇÐàÃÔèÁµ ¹

SDA à»ÅÕÂè ¹¨Ò¡ "0" à» ¹ "1" ã¹¢³Ð·Õè SCL à» ¹ "1" ¹Õ¤è Í× ÊÀÒÇÐËÂØ´

SDA

SCL

SDA ¤§·Õ·è ÅèÕ Í¨Ô¡ "0" SDA ¤§·Õ·è ÅèÕ Í¨Ô¡ "1" ã¹¢³Ð·Õè SCL à» ¹ "1" ¶×Íà» ¹ ã¹¢³Ð·Õè SCL à» ¹ "1" ¶×Íà» ¹ ¡Òö Ò·ʹ¢ ÍÁÙÅ "0" ¡Òö Ò·ʹ¢ ÍÁÙÅ "1"

SDA à» ¹ "1" SCL à» ¹ "1" ÊÀÒÇкÑÊÇ Ò§

ÃÙ»·Õè 8-4 ä´ÍÐá¡ÃÁáÊ´§Ê¶Ò¹Ðµ Ò§æ º¹ÃкººÑÊ I2C (5) ÃѺÃÙ¢ Í ÁÙÅ (acknowledge) à¡Ô´¢Ö¹é ËÅѧ¨Ò¡·Õ¡è Òö Ò·ʹ¢ ÍÁÙŨҡµÑÇÊ §ÁÒÂѧµÑÇÃѺ à¡Ô´¢Ö¹é Í ҧÊÁºÙó â´ÂµÑÇÊ §¨Ð·íÒ¡ÒÃÊ §¢ ÍÁÙÅÁÒ 1 ºÔµàÃÕÂ¡Ç Ò ºÔµÃѺÃÙ (acknowledge bit) ÁÕ Ê¶Ò¹Ðà» ¹ÅͨԡÊÙ§ ËÅѧ¨Ò¡Ê §¢ ÍÁÙÅÁҤú¶ ǹ Ê Ç¹ÍØ»¡Ã³ ÁÒÊàµÍà ¨Ð·íÒ¡ÒÃÊ §ÊÑ­­Ò³ÃѺÃÙ ¾ÔàÈÉ«Öè§ÊÑÁ¾Ñ¹¸ ¡ÑºÊÑ­­Ò³¹ÒÌ ¡Ò à¾×è͵ͺʹͧºÔµÃѺÃÙ ·ÕèÊ §ÁÒ¨Ò¡µÑÇÊ § ·Ò§´ Ò¹µÑÇÃѺ¨ÐÊ § ºÔµÃѺÃÙ· ÁÕè ÊÕ ¶Ò¹ÐÅͨԡµèÒí ŧº¹ºÑÊ ÍØ»¡Ã³ ÊàÅ¿·Õ¶è ¡Ù Í Ò§¶Ö§ã¹¡ÒõԴµ ÍËÃ×Í¡íÒÅѧµÔ´µ ÍÍÂÙã ¹¢³Ð ¹Ñ¹é ¡ç¨Ð¡íÒà¹Ô´ºÔµÃѺÃÙà ¾×Íè µÍºÊ¹Í§ãË ·ÃÒºÇ Òä´ ÃºÑ ¢ ÍÁÙÅã¹áµ ÅÐ亵 àÃÕºà ÍÂáÅ Ç ã¹ÃÙ»·Õè 8-4 à» ¹ä´ÍÐá¡ÃÁàÇÅÒ·Õáè Ê´§¶Ö§¡ÒÃà¡Ô´ÊÀÒÇе Ò§æ º¹ºÑÊ I2C äÁ ÇÒ ¨Ðà» ¹ ÊÀÒÇкÑÊÇ Ò§,àÃÔÁè µ ¹, ¶ Ò·ʹ¢ ÍÁÙÅ, ÃѺÃÙ áÅÐËÂØ´¡Òö Ò·ʹ¢ ÍÁÙÅ

¡Ò÷íÒ§Ò¹º¹ºÑÊ I2C ¡ ͹·Õè¨ÐàÃÔèÁµ ¹¡Òö Ò·ʹ¢ ÍÁÙÅÃÐËÇ Ò§ÍØ»¡Ã³ µ Ò§æ ·Õèµ ÍÍÂÙ º¹ºÑÊ µ ͧÁÕ¡ÒÃÍ Ò§¶Ö§ àÊÕ¡ ͹ â´Â¡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ º¹ºÑÊ I2C ¹Ñ¹é ¨Ð㪠¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµËÃ×Í 10 ºÔµ 㹡óշÁÕè Õ ÍØ»¡Ã³ µ ÍÍÂÙ º¹ºÑÊäÁ Áҡ㪠¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ¡çà¾Õ§¾Í áµ ¶ ÒÁÕÍØ»¡Ã³ µ ÍÍÂÙ º¹ºÑÊÁÒ¡ ¡Ç Ò 127 áÍ´à´ÃÊ ¨íÒà» ¹µ ͧ㪠¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ ËÅѧ¨Ò¡·Õµè ´Ô µ ÍÍØ»¡Ã³ áµ ÅеÑÇä´ àÃÕºà ÍÂáÅ Ç ¡ç¨ÐàÃÔÁè µ ¹¡Òö Ò·ʹ¢ ÍÁÙšѹµ Íä» ´Ñ§¹Ñé¹ËÑÇã¨ÊíҤѭã¹Íѹ´Ñºáá¢Í§¡Ò÷íÒ§Ò¹º¹ºÑÊ I2C ¤×Í¡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ áµ ÅеÑÇ µ Í仹ըé Ð͸ԺÒÂÃÒÂÅÐàÍÕ´¢Í§¡ÒÃÍ Ò§¶Ö§·Ñ§é 2 ÃٻẺ

¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ (7-bit addressing) ¢ ÍÁÙÅ亵 áá·Õàè ¡Ô´¢Ö¹é ËÅѧ¨Ò¡ÊÀÒÇÐàÃÔÁè µ ¹¤×Í ¢ ÍÁÙÅ·Õãè ª 㹡ÒÃÍ Ò§¶Ö§ÍØ»¡Ã³ ·µÕè Í §¡Òà µÔ´µ ÍËÃ×Í ¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ â´ÂÁÕû٠ẺáÊ´§ã¹ÃÙ»·Õè 8-5 ã¹ 7 ºÔµº¹ÃÇÁ·Ñ§é ºÔµ MSB ´ ǨÐà» ¹¢ ÍÁÙÅáÍ´à´ÃʢͧÍØ»¡Ã³ ÊàÅ¿·Õèµ Í§¡ÒõԴµ Í â´ÂẠ§à» ¹ºÔµ¡íÒ˹´áÍ´à´ÃÊ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 94


ºÔµ 7

ºÔµ 6

ºÔµ 5

ºÔµ 4

ºÔµ 3

ºÔµ 2

ºÔµ 1

ºÔµ 0

X

X

X

X

A2

A1

A0

R/W

ºÔµ¡íÒ˹´áÍ´à´ÃÊ â»Ãá¡ÃÁä´

ºÔµ¡íÒ˹´áÍ´à´Ãʤ§·Õè

ÃÙ»·Õè 8-5 ÃٻẺ¢Í§¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃʢͧÍØ»¡Ã³ º¹ÃкººÑÊ I2C ¤§·Õè (fixed address bit) ¨íҹǹ 4 ºÔµ «Ö§è ¢ ÍÁÙŹÕÍé »Ø ¡Ã³ áµ ÅеÑǨж١¡íÒ˹´ÁÒ¨Ò¡¼Ù¼ ÅÔµ äÁ ÊÒÁÒöà»ÅÕè¹á»Å§á¡ ä¢ä´ ¶Ñ´ÁÒÍÕ¡ 3 ºÔµà» ¹ºÔµ¡íÒ˹´áÍ´à´ÃÊ·ÕèÊÒÁÒöâ»Ãá¡ÃÁä´ (programmable address bit) â´Â¼Ùã ª §Ò¹µ ͧ¡íÒ˹´Ê¶Ò¹ÐÅͨԡãË á¡ ¢Ò A0-A2 ¢Í§ÍØ»¡Ã³ ·Õè ÁÕ¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C Ê Ç¹ã¹ºÔµ LSB à» ¹ºÔµ·Õãè ª ¡Òí ˹´¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺÍØ»¡Ã³ ÊàÅ¿µÑǹѹé æ ËÒ¡ºÔµ LSB à» ¹ 0 ËÁÒ¶֧µ ͧ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÍØ»¡Ã³ ¹¹Ñé ¶ Òà» ¹ 1 ¨Ðà» ¹¡ÒÃÍ Ò¹¢ ÍÁÙŨҡÍØ»¡Ã³ ÊàÅ¿ ¢ ÍÁÙÅã¹äºµ µÍ ÁÒ¤×Í ¢ ÍÁÙŤǺ¤ØÁ (control byte) ã¹ÍØ»¡Ã³ áµ ÅеÑÇÁÕ¡ÒáíÒ˹´¢ ÍÁÙÅ ¤Çº¤ØÁ·Õáè µ¡µ Ò§¡Ñ¹ä» ¡µÑÇÍ ҧ äÍ«Õ¢ÂÒ¾Íà µÁÕ¢Í ÁÙŤǺ¤ØÁ·Õãè ª ¡Òí ˹´Ç Ò ºÔµã´à» ¹ÍÔ¹¾Øµ ºÔµã´à» ¹àÍÒµ ¾µØ ã¹¢³Ð·Õäè Í«Õ ADC/DAC µ ͧ¡Òâ ÍÁÙŤǺ¤ØÁà¾×Íè ¡íÒ˹´ãË ·Òí §Ò¹à» ¹Ç§¨Ã ADC ËÃ×Í DAC à» ¹µ ¹ ¢ ÍÁÙÅã¹äºµ µÍ ÁÒ¤×Í ¢ ÍÁÙÅ·Õ·è Òí ¡Òö Ò·ʹ¨ÃÔ§ (data) ËÅѧ¨Ò¡·ÕÁè ¡Õ Òö Ò·ʹ¢ ÍÁÙÅã¹áµ ÅÐ亵 ÍØ»¡Ã³ ÊàÅ¿·Õäè ´ ÃºÑ ¡ÒõԴµ ͵ Í§Ê §ÊÑ­­Ò³ ÃѺÃÙµ ͺ¡ÅѺÁÒ´ Ç·ء¤Ãѧé à¾×Íè ãË ¡Ãкǹ¡Òö Ò·ʹ¢ ÍÁÙÅÂѧ¤§ÊÒÁÒö´íÒà¹Ô¹µ Íä»ä´ ã¹ÃÙ» ·Õè 8-6 áÊ´§ÃٻẺ¢ ÍÁÙÅ͹ءÃÁ·Õàè ¡Ô´¢Ö¹é 㹡ÒõԴµ ͺ¹ºÑÊ I2C ¢Í§¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ

¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ 㹡ÒÃÍ Ò§¶Ö§áºº¹Õé Âѧ¤§ãª û٠Ẻ¢ ÍÁÙÅ͹ءÃÁ·Õàè ËÁ×͹¡Ñºáºº 7 ºÔµ ËÒ¡áµ ¨ÐÁÕ¢Í ÁÙÅ à¾ÔÁè àµÔÁ¢Ö¹é ÁÒàÅ硹 Í â´Âã¹¢ ÍÁÙÅ亵 ááËÅѧ¨Ò¡à¡Ô´ÊÀÒÇÐàÃÔÁè µ ¹ µ ͧ¡íÒ˹´ãË 5 ºÔµº¹ÁÕ ¢ ÍÁÙÅà» ¹ 11110 Ê Ç¹ÍÕ¡ 2 ºÔµ¶Ñ´ÁÒà» ¹ºÔµáÍ´à´ÃʢͧÍØ»¡Ã³ ·µÕè Í §¡ÒõԴµ Í ã¹ºÔµ LSB ¢ ÍÁÙÅ亵 ·èÕ 1 àÅ×Í¡áÍ´à´Ãʢͧ ÍØ»¡Ã³ ·µèÕ Í §¡ÒõԴµ Í áÅШشÁا ËÁÒÂ㹡Òà µÔ´µ Í (Í Ò¹ËÃ×Íà¢Õ¹)

àÃÔèÁµ ¹

A6-A0

¢ ÍÁÙÅ亵 ·èÕ 2 Ê §¢ ÍÁÙŤǺ¤ØÁ¡Òà ·íÒ§Ò¹¢Í§ÍØ»¡Ã³ ·Õµè Í §¡ÒõԴµ ÍËÃ×Í control word R/W=0

ÃѺÃÙ

C6-C0

Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ

¢ ÍÁÙÅ亵 µÍ ä» (n 亵 ) ¢ ÍÁÙŨÃÔ§·Õµè Í §¡Òö Ò·ʹ R/W

ÃѺÃÙ

D7-D0

Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ

ÃÙ»·Õè 8-6 ÃٻẺ¢Í§¢ ÍÁÙÅ·Õãè ª 㹡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ¢Í§ÃкººÑÊ I2C àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 95

ÃѺÃÙ

ËÂØ´


¢ ÍÁÙÅ亵 ·èÕ 1 àÅ×Í¡¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ (¢ ÍÁÙŤ×Í 11110xx â´Â xx ¤×Í ºÔµáÍ´à´ÃÊ 2 ºÔµº¹)

àÃÔÁè µ ¹

)' )&

¢ ÍÁÙÅ亵 ·èÕ 3 Ê §¢ ÍÁÙŤǺ¤ØÁ ¡Ò÷íÒ§Ò¹ ¢Í§ÍØ»¡Ã³ ·µèÕ Í §¡Òà µÔ´µ ÍËÃ×Í control word

¢ ÍÁÙÅ亵 ·èÕ 2 ¢ ÍÁÙÅáÍ´à´ÃÊ 8 ºÔµÅ Ò§

R/W=0 ÃѺÃÙ

A7-A0 Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿ ·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ

ÃѺÃÙ

C6-C0

¢ ÍÁÙÅ亵 µÍ ä» (n 亵 ) ¢ ÍÁÙŨÃÔ§·Õµè Í §¡Òà ¶ Ò·ʹ

R/W

ÃѺÃÙ

D7-D0

ÃѺÃÙ ËÂØ´

Ê §ÁÒ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿ ·Õ·è Òí ¡ÒõԴµ Í´ ÇÂ

ÃÙ»·Õè 8-7 ÃٻẺ¢Í§¢ ÍÁÙÅ·Õãè ª 㹡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ¢Í§ÃкººÑÊ I2C ¢Í§¢ ÍÁÙÅ亵 ááÂѧ¤§à» ¹¡ÒáíÒ˹´Ç Ò µ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺÍØ»¡Ã³ ÊàÅ¿µÑÇ·Õµè Í §¡Òà µÔ´µ Í´ Ç ¢ ÍÁÙÅ亵 µÍ ÁÒà» ¹¢ ÍÁÙÅáÍ´à´ÃÊã¹äºµ ·Õè 2 ¢Í§ÍØ»¡Ã³ ·µÕè Í §¡ÒõԴµ Í´ Ç ¢ ÍÁÙŠ亵 ¶´Ñ 仨֧໠¹¢ ÍÁÙŤǺ¤ØÁ ¢ ÍÁÙÅËÅѧ¨Ò¡¹Ñ¹é ¡ç¨Ðà» ¹¢ ÍÁÙŨÃÔ§·Õãè ª 㹡ÒõԴµ Í àª ¹à´ÕÂǡѺ¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ ËÅѧ¨Ò¡¶ Ò·ʹ¢ ÍÁÙŤú·Ø¡äºµ µ ͧÁÕÊÀÒÇÐÃѺÃÙ à¡Ô´¢Öé¹ à¾×èÍãË ¡Ãкǹ¡Òö Ò·ʹ¢ ÍÁÙÅÊÒÁÒö´íÒà¹Ô¹µ Íä»ä´ ã¹ÃÙ»·Õè 8-7 áÊ´§ÃٻẺ ¢ ÍÁÙÅ͹ءÃÁ¢Í§¡ÒÃÍ Ò§¶Ö§áºº 10 ºÔµ +5V

¡Òõ ÍÍØ»¡Ã³ ÃкººÑÊ I2C ¡Ñº¾Íà µ¢¹Ò¹¼ Ò¹ P-Board

à¾×è Í ãË ¾ Íà µ ¢¹Ò¹ÊÒÁÒöµÔ ´ µ Í ¡Ñ º SDA ÍØ»¡Ã³ ·ÁÕè ¡Õ ÒÃàª×Íè Áµ Íà» ¹ºÑÊ I2C ¨Ðµ ͧÊà ҧ Q001 BC547 R002 ǧ¨Ãàª×Íè Áµ Í¢Ö¹é ÁÒ ´Ñ§ã¹ÃÙ»·Õè 8-8 ·ÃÒ¹«ÔÊàµÍà 10k C0 Q001 áÅÐ Q002 ä´ ÃºÑ ¡ÒèѴǧ¨ÃãË ÁÅÕ ¡Ñ ɳРR004 3.3k à» ¹Ç§¨ÃºÑ¿à¿Íà Ẻ¤ÍÅàÅç¡àµÍà ໠´µÒÁ¢ Í ¡íÒ˹´¢Í§Ç§¨ÃàÍÒµ ¾µØ ¢Í§ºÑÊ I2C â´Â Q001 S7 㪠¶ Ò·ʹÊÑ­­Ò³¢Í§ÊÒ SDA ã¹¢³Ð·Õè +5V Q002 ·íÒ˹ Ò·Õè¶ Ò·ʹÊÑ­­Ò³¢Í§ÊÒ SCL GND R006 ä¿àÅÕé  §¢Í§Ç§¨Ã¤× Í +5V ¨Ö § ÊÒÁÒö㪠2.7k SCL ·ÃÒ¹«ÔÊàµÍà NPN ẺÁҵðҹàºÍà 㴡çä´ Q002 BC547 R005 ·ÕÊè ÒÁÒöµÍºÊ¹Í§¤ÇÒÁ¶ÕÊè §Ù ÊØ´¶Ö§ 100 kHz 10k C1 R007 ÊíÒËÃѺ P-Board ·Õãè ª 㹡Ò÷´Åͧ¹Õé ä´ 3.3k ¨Ñ´¡íÒ˹´ãË ¢Í ÁÙŶ Ò·ʹÊÙÊ Ò SDA ¢Í§ºÑÊ I2C ¼ Ò¹·Ò§¢Ò C0 áÅÐÃѺ¢ ÍÁÙż Ò¹¢Ò S7 Ê Ç¹ ÃÙ»·Õè 8-8 ǧ¨Ãàª×Íè Áµ ͡ѺÃкººÑÊ I2C ¢Í§ ÊÒÂÊÑ­­Ò³¹ÒÌ ¡Ò¨Ð¶Ù¡Ê §ÍÍ¡ÁÒ·Ò§¢Ò C1 à¾×Íè à» ¹ÊÒ SCL ÊíÒËÃѺÃкººÑÊ I2C P-Board ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ R003 2.7k

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 96


¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè Êà ҧÊÑ­­Ò³µ Ò§ æ ÊíÒËÃѺºÑÊ I2C à¾×Íè ãË §Ò µ Í¡ÒÃàÃÕ¡㪠§Ò¹ ´Ñ§¹Ñ¹é ¡ÒõԴµ ͡ѺºÑÊ I2C â´Â㪠¾Íà µ¢¹Ò¹¨Ö§µ ͧà¢Õ¹ â»Ãá¡ÃÁ ÍÂà¾×Íè Êà ҧÊÀÒÇе Ò§æ ¢Í§ÃкººÑÊ I2C à¾×Íè Êà ҧ໠¹âÁ´ÙÅÊíÒËÃѺµÔ´µ ͡ѺºÑÊ I2C «Öè§ÁÕÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ´Ñ§¹Õé

ÊÑ­­Ò³ SDA 0 Private Sub SDA_L() Out &H37A, Inp(&H37A) And &HFE End Sub

‘SDA=0

ÊÑ­­Ò³ SDA 1 Private Sub SDA_H() Out &H37A, Inp(&H37A) Or 1 End Sub

‘SDA=1

ÊÑ­­Ò³ SCL 0 Private Sub SCL_L() Out &H37A, Inp(&H37A) And &HFD End Sub

‘SCL=0

ÊÑ­­Ò³ SCL 1 Private Sub SCL_H() Out &H37A, Inp(&H37A) Or 2 End Sub

‘SCL=1

Í Ò¹ÊÑ­­Ò³¨Ò¡ SDA Private Function Rd_SDA() As Boolean SDA_H Rd_SDA = (Inp(&H379) And &H80) <> &H80 End Function

ÊÑ­­Ò³ Start Public Sub I2CStart() SDA_H SCL_H SDA_L SCL_L End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 97


ÊÑ­­Ò³ Stop Public Sub I2CStop() SDA_L SCL_H SDA_H End Sub

Ê §¢ ÍÁÙÅÅͨԡ 0 Public Sub Send0() SDA_L SCL_H SCL_L End Sub

Ê §¢ ÍÁÙÅÅͨԡ 1 Public Sub Send1() SDA_H SCL_H SCL_L End Sub

Í Ò¹ÊÑ­­Ò³ Acknowledge Public Function Ack() As Boolean Ack = Not Rd_SDA SCL_H SCL_L End Function

¡ÒÃÍ Ò¹ÊÑ­­Ò³ Acknowledge ¨Ò¡ÍØ»¡Ã³ Slave ¨Ðª ÇÂãË µÃǨÊÍºä´ ÇÒ ÍØ»¡Ã³ ·µÕè ´Ô µ ͹ѹé Âѧ·íÒ§Ò¹ÍÂÙË Ã×ÍäÁ

Ê §ÊÑ­­Ò³ Master Acknowledge Public Sub MAck() SDA_L SCL_H SCL_L End Sub

Ê §ÊÑ­­Ò³ Master Not Acknowledge Public Sub MNAck() SCL_H SCL_L End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 98


â»Ãá¡ÃÁ ÍÂÃÑºÊ §ËÃ×ÍÍ Ò¹à¢Õ¹¢ ÍÁÙÅ 8 ºÔµ 㹡ÒÃÊ §áÅÐÃѺ¢ ÍÁÙÅ 8 ºÔµº¹ÃкººÑÊ I2C ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ ÍÂä´ ´§Ñ ¹Õé

Ê §¢ ÍÁÙÅ 8 ºÔµ Public Sub Send8BIT(Data As Byte) Dim i As Integer For i = 7 To 0 Step -1 ‘ Loop 7 Cycle If (Data And 2 ^ i) = 2 ^ i Then ‘Test Bit 0 OR 1 Call Send1 Else Call Send0 End If Next i End Sub

Í Ò¹¢ ÍÁÙÅ 8 ºÔµ Public Function Read8Bit() As Byte Dim Dat1 As Integer Dim i As Integer For i = 7 To 0 Step -1 If Rd_SDA Then ‘Read SDA Dat1 = (2 ^ i) Or Dat1 End If SCL_H SCL_L Next i Read8Bit = Dat1 End Function

‘Data 8 Bit

͹֧è ÊíÒËÃѺâ»Ãá¡ÃÁ Í·ѧé ËÁ´·ÕÊè à ҧ¢Ö¹é à» ¹âÁ´ÙÅÊíÒËÃѺµÔ´µ ͺ¹ÃкººÑÊ I2C ÃÇÁàÍÒ äÇ ã¹ä¿Å pari2c.bas ºÃèØÍÂÙã ¹«Õ´ÃÕ ÍÁ PC interface : Parallel port experiment «Ö§è ¨Ñ´ÁҾà ÍÁ ¡ÑºË¹Ñ§Ê×ÍàÅ Á¹Õé

¡ÒâÂÒ¨íҹǹ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ´ ÇÂäÍ«Õ PCF8574A ÊíÒËÃѺ¡ÒÃ㪠§Ò¹ÍÔ¹¾ØµàÍÒµ ¾µØ ¨íҹǹÁÒ¡¹Ñ¹é ¢Ò¢Í§¾Íà µ¢¹Ò¹ÍÒ¨¨ÐÁÕ¨Òí ¹Ç¹äÁ ÁÒ¡ ¾Í·Õ¨è йíÒä»ãª ã¹§Ò¹ä´ â´ÂµÃ§ ¨Ö§µ ͧµ ÍÍØ»¡Ã³ à¾ÔÁè àµÔÁà¾×Íè ¢ÂÒ¨íҹǹ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ äÍ«Õ¢ÂÒ¾Íà µ¼ Ò¹ÃкººÑÊ I2C ·Õàè Å×͡㪠¹¤Õé Í× àºÍà PCF8574A ·ÕÊè ÒÁÒö¢ÂÒ¾Íà µÍÔ¹¾Øµ àÍÒµ ¾µØ ä´ µÇÑ ÅÐ 8 ª ͧ áÅе ; ǧ¡Ñ¹ä´ 8 µÑÇ ·íÒãË ÊÒÁÒö¢ÂÒ¾Íà µä´ ÁÒ¡¶Ö§ 64 ª ͧ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 99


A0 1

16

VCC

A1 2

15

SDA

A2 3

14

SCL

13

INT

12

P7

P2 6

11

P6

P3 7

10

P5

VSS 8

9

P4

P0 4 P1 5

2+.&#%" 2+.&#%")

ª×Íè

µíÒá˹ §¢Ò

˹ Ò·Õè

A0

1

ÍÔ¹¾ØµáÍ´à´ÃʵÑÇ·Õè 1

A1

2

ÍÔ¹¾ØµáÍ´à´ÃʵÑÇ·Õè 2

A2

3

ÍÔ¹¾ØµáÍ´à´ÃʵÑÇ·Õè 3

P0

4

¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 2 ·ÔÈ·Ò§ºÔµ 0

P1

5

¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 2 ·ÔÈ·Ò§ºÔµ 1

P2

6

¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 2 ·ÔÈ·Ò§ºÔµ 2

P3

7

¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 2 ·ÔÈ·Ò§ºÔµ 3

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

ä¿àÅÕÂé §

ÃÙ»·Õè 8-9 ¡ÒèѴ¢ÒáÅЪ×Íè ¢Ò㪠§Ò¹¢Í§äÍ«Õ PCF8574A V,, ǧ¨Ã¨ Ò¡ÃÐáʤ§·Õè 100 µA

ÊÑ­­Ò³ Write ¢ ÍÁÙŨҡªÔ¿µ Ã¨Õ ÊÔ àµÍÃ

+I ÊÑ­­Ò³ÃÕ૵ ¢³ÐàÃÔÁè ¨ ÒÂä¿

Q

D

..

P0-P7

5 V55 Q

D

ÊÑ­­Ò³ Read

+I

.. 5 INT

¢ ÍÁÙÅÊ §ä»Âѧ ªÔ¿µ Ã¨Õ ÊÔ àµÍÃ

ÃÙ»·Õè 8-10 ÃÒÂÅÐàÍÕ´ǧ¨Ã¢Ò¾Íà µ¢Í§äÍ«Õ PCF8574A àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 100


¢ ÍÁÙÅàº×Íé §µ ¹¢Í§ PCF8574A ÁÕ´§Ñ ¹Õé l ·íÒ§Ò¹·ÕÃè дѺáç´Ñ¹µÑ§é áµ 2.5V ¶Ö§ 6V l ¡Ô¹¡ÃÐáÊã¹ÊÀÒÇÐÊáµ¹´ ºÒµèÒí à¾Õ§ 10µA l 㪠¡ÒÃàª×Í è Áµ ÍẺºÑÊ I2C l ÁÕàÍÒµ ¾µ Ø ÍÔ¹àµÍÃ Ã»Ñ µ Ẻà´Ã¹à» ´ l àÍÒµ ¾µ Ø ÊÒÁÒöáŵª ¤Ò ä´ ¢Ñº¡ÃÐáÊä´ 100µA ¶ Òµ ͧ¡ÒâѺ LED â´ÂµÃ§µ ͧµ Í µÑǵ Ò¹·Ò¹¾ÙÅÍÑ»¤ Ò 4.7k Ω-10 k Ω ࢠҷբè Ò¾Íà µ·Õ¡è Òí ˹´ãË à» ¹àÍÒµ ¾µØ l ÊÒÁÒö¡íÒ˹´µíÒá˹ §áÍ´à´ÃʢͧäÍ«Õ·Ò§ÎÒà ´áÇà ´Ç Â¢Ò A0-A2 ·íÒãË ÊÒÁÒö µ ; ǧ¡Ñ¹ä´ ¶§Ö 8 µÑÇ ¡ÒèѴ¢ÒáÅÐ˹ Ò·Õ¡è Ò÷íÒ§Ò¹¢Í§äÍ«Õ PCF8574A áÊ´§ã¹ÃÙ»·Õè 8-9 ¢Ò¾Íà µ·Ñ§é 8 ¢Ò¢Í§ PCF8574A ÊÒÁÒö¡íÒ˹´ãË à» ¹ÍÔ¹¾ØµËÃ×ÍàÍÒµ ¾µØ ä´ â´ÂÍÔÊÃÐ ÅѡɳÐǧ¨ÃÀÒÂ㹢ͧ¾Íà µ ÍÔ¹¾ØµàÍÒµ ¾µØ áÊ´§ã¹ÃÙ»·Õè 8-10 àÁ×Íè ¨ ÒÂä¿ãË ¡ºÑ PCF8574A ¤Ãѧé áá ¢Ò¾Íà µ·Ñ§é 8 ¢Ò¨ÐÁÕ Åͨԡ໠¹ 1 «Ö§è ¨Ðà» ¹¡Òè Ò¡ÃÐáÊÁÒ¨Ò¡áËÅ §¨ Ò¡ÃÐáʤ§·ÕÀè ÒÂã¹µÑÇäÍ«Õ ·íÒãË Á¡Õ ÃÐáÊ ã¹¢³ÐÅͨԡ 1 ¹Õàé ¾Õ§ 100 µA ෠ҹѹé 㹡óշµÕè Í §¡ÒÃãË Á¡Õ Òè Ò¡ÃÐáÊÊÙ§æ ¨íÒà» ¹µ ͧ µ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ»àÍÒäÇ ·Õè¢Ò¾Íà µàËÅ Ò¹Õé´ Ç àÁ×Íè µ ͧ¡ÒÃãË ¢Ò¾Íà µàËÅ Ò¹Õ·é Òí ˹ Ò·Õàè » ¹ÍÔ¹¾Øµ¨Ðµ Í§Ê §ÊÑ­­Ò³ãË ¢ÒàËÅ Ò¹ÕÁé ÅÕ Í¨Ô¡ 1 àÊÕ¡ ͹ àÁ×Íè ¢ÒÍÔ¹¾Øµä´ ÃºÑ ÊÑ­­Ò³¨Ò¡ÀÒ¹͡» ͹ࢠÒÁÒ äÍ«Õ PCF8574A ¨ÐÊà ҧÊÑ­­Ò³ ÍÔ¹àµÍÃ Ã»Ñ µ (INT) » ͹ãË ¤ÍÁ¾ÔÇàµÍÃ ÃºÑ ÃÙá ·¹¡Òõ ͧ¤ÍµÃǨÊͺ¢ÒÍÔ¹¾ØµÍÂÙµ ÅÍ´àÇÅÒ ÊÑ­­Ò³ÍÔ¹àµÍÃ Ã»Ñ µ ¹¨Õé ж١ÃÕ૵àÁ×Íè ÁÕ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅËÃ×ÍÁÕ¡ÒÃà»ÅÕÂè ¹¤ ҢͧÍÔ¹¾Øµä»ÊÙ¤ Ò à´ÔÁ

¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁ PCF8574A ´ Ç Visual Basic à¹×èͧ¨Ò¡ PCF8574A ÁÕ¡ÒÃàª×èÍÁµ Íà» ¹áºººÑÊ I2C ´Ñ§¹Ñ鹡ÒõԴµ ֧ͨµ Í§Í Ò§¶Ö§ â»Ãá¡ÃÁ Í´ѧ·Õ¡è Å ÒÇä»áÅ Ç㹵͹µ ¹ â´Â¨Ðµ Í§Ê §¢ ÍÁÙÅáÍ´à´ÃÊà¾×Íè µÔ´µ ͡Ѻ PCF8574A ´Ñ§¹Õé ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 0

1

1

1

A2

A1

A0

R/W

ºÔµ A0, A1, A2 㪠㹡ÒÃÃÐºØ PCF8574A ·Õãè ª º¹ºÍà ´ã¹¡Ã³Õ·ÁÕè ¡Õ Òõ Í PCF8574 ÁÒ¡¡Ç Ò 1 µÑÇ â´Â¤ Ңͧ A0-A2 ¨ÐÁÕ¤ÇÒÁᵡµ Ò§¡Ñ¹ä»ã¹áµ ÅеÑÇ ºÔµ R/W 㪠¡Òí ˹´Ç Òµ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺäÍ«Õ PCF8574 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 101


¨Ò¡¡ÒáíÒ˹´áÍ´à´ÃÊ A0-A2 ¨ÐãË ÊÒÁÒö¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ä´ ÁÒ¡¶Ö§ 64 ¨Ø´ ¨Ò¡¡Òõ ; ǧ PCF8574A à ÇÁ¡Ñ¹¤Ãº 8 µÑÇ µÑÇÍ ҧâ»Ãá¡ÃÁ Í Sendout µ Í仹ÕéáÊ´§ãË àË繶֧¡ÒÃÊ §¤ Òä»ÂѧàÍÒµ ¾Øµ¢Í§ PCF8574A â´ÂÁÕÅÒí ´Ñº¢Ñ¹é µÍ¹´Ñ§¹Õé

â»Ãá¡ÃÁ Í Sendout à¾×Íè Ê §¢ ÍÁÙÅ 8 ºÔµ Private Sub Sendout(B As Byte) Call I2CStart ‘Start Call Send8BIT(&H70) ‘Send Address Word Call Ack ‘Acknowledge Call Send8BIT(B) ‘Send Data Call Ack ‘Acknowledge Call I2CStop ‘Stop End Sub

1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ â´Âã¹·Õ¹è ¨Õé СíÒ˹´áÍ´à´Ãʢͧ PCF8574A äÇ ·Õè 000 (¢Ò A0, A1, A2 µ Íŧ¡ÃÒÇ´ ·§Ñé ËÁ´) áÅÐãË ·Òí §Ò¹ã¹âËÁ´à¢Õ¹¢ ÍÁÙÅ â´Â¡Òû ͹Åͨԡ 0 ãË á¡ ºµÔ R/W 3. ÃÍÃѺÊÑ­­Ò³ ACK ËÃ×ÍÃÍÃѺ¡Òõͺ¡ÅѺ¨Ò¡ PCF8574A 4. Ê §¢ ÍÁÙÅä»ÂѧàÍÒµ ¾µØ ¢Í§ PCF8574A â´Â¡ÒáíÒ˹´¤ Òä»ÂѧµÑÇá»Ã B 5. ÃÍÃѺÊÑ­­Ò³ ACK ÍÕ¡¤Ãѧé 6. Ê §ÊÑ­­Ò³ STOP

EX-07 ºÍà ´¢ÂÒÂÍÔ¹¾ØµàÍÒµ ¾µØ ¢¹Ò´ 16 ºÔµ¼ Ò¹ÃкººÑÊ I2C ºÍà ´ EX-07 ¨ÐÁÕäÍ«Õ PCF8574A ÍÂÙº ¹ºÍà ´·Ñ§é ËÁ´ 2 µÑÇ ·íÒãË ÊÒÁÒö¹íÒä»ãª ã¹ ¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾ØµËÃ×ÍÍ Ò¹¤ Ò¨Ò¡ÍØ»¡Ã³ ÍÔ¹¾Øµä´ µÒÁµ ͧ¡ÒÃÁÒ¡¶Ö§ 16 ª ͧ â´ÂÁÕÃÒ ÅÐàÍÕ´¢Í§Ç§¨ÃáÊ´§ã¹ÃÙ»·Õè 8-11 º¹ºÍà ´ EX-07 ¨ÐÁÕ¨ÁÑê à»Íà ÊÒí ËÃѺàÅ×Í¡áÍ´à´Ãʢͧ PCF8574A áµ ÅеÑÇ ã¹¡ÒÃ㪠§Ò¹¨Ðµ ͧ¡íÒ˹´áÍ´à´ÃÊäÇ ¤¹ÅеíÒá˹ §¡Ñ¹ äÁ ઠ¹¹Ñ¹é ¨Ð ·íÒãË à¡Ô´¡Ò÷íÒ§Ò¹·Õè·Ñº« ͹¡Ñ¹«Öè§ÍÒ¨Ê §¼Å¶Ö§¢Ñé¹äÍ«ÕàÊÕÂËÒÂä´ à¹×Íè §¨Ò¡ãª ¡ÒõԴµ Íà» ¹ÃкººÑÊ I2C ·íÒãË ÊÒÁÒöµ ͺÍà ´ EX-07 ¾ ǧ¡Ñ¹ä´ ËÅÒÂæ ºÍà ´à¾×Íè ¢ÂÒ¾Íà µãË Á¨Õ Òí ¹Ç¹ÁÒ¡¢Ö¹é â´ÂÊÒÁÒöµ ; Ç§ä´ Ê§Ù ÊØ´ 8 ºÍà ´ (ÃÇÁºÍà ´àÃÔÁè µ ¹´ ÇÂ) áÅÐà¾×Íè ÍíҹǺ¤ÇÒÁÊдǡ㹡Òõ ; ǧ º¹ºÍà ´ EX-07 ä´ ¨´Ñ àµÃÕÂÁᨠ¡ÊíÒËÃѺàª×Íè Á µ Íà» ¹áººâÁ´ÙÅÒ Ã ËÃ×Í·Õàè ÃÕ¡¡Ñ¹·ÑÇè ä»Ç Ò á¨ ¡â·ÃÈѾ· ¢¹Ò´ 4 ¢Ò¨íҹǹ 2 ªØ´¾Ã ÍÁÊÒÂÊíÒËÃѺ àª×Íè Áµ Í àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 102


R701 R-network 4.7k x8

+5V

+5V K701

15 14 1

+5V K702

JP701

JP702 JP703

2

A0

A1

P7

SDA

P6 P5

SCL

P4

A0

P3 P2

A1

P0

A2

K703

DATA BUS (UIC-10)

P1 3

I C BUS CONNECTOR

16

IC701 PCF8574

+5V

12 11 10

D0 D2 D4 D6

9 7 6 5

D1 D3 D5 D7

4

8

A2

ADDRESS SELECT R702 R-network 4.7k x8

+5V

IC702 PCF8574 15 SDA 14 SCL 1 JP704

JP705

2 JP706

A1

A2

P7 P6 P5 P4

A0

P3 P2

A1

P0

A2

K704

DATA BUS (UIC-10)

P1 3

A0

16

+5V

12 11 10 9 7 6 5

D0 D2 D4 D6

D1 D3 D5 D7

4

8

ADDRESS SELECT

EX-07 ºÍà ´¢ÂÒÂÍÔ¹¾ØµàÍÒµ ¾Øµ¼ Ò¹ ÃкººÑÊ I2C 㪠¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C ´ ÇÂᨠ¡âÁ´ÙÅÒ Ã l ¢ÂÒ¾Íà µº¹ºÍà ´ä´ 16 ºÔµ áÅе ; ǧ¡Ñ¹ à¾×Íè ¢ÂÒÂä´ Ê§Ù ÊØ´ÍÕ¡ 3 ºÍà ´ ÃÇÁ 64 ºÔµ l àÅ×Í¡áÍ´à´ÃÊ㹡ÒõԴµ Íâ´Â¡ÒÃ㪠¨Á Ñê à»Íà l ¤Í¹à¹ç¡àµÍà DATA BUS à¾×Í è àª×Íè Áµ ͡ѺºÍà ´ EX-series l

ÃÙ»·Õè 8-11 ǧ¨ÃÊÁºÙó ¢Í§ EX-07 ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¼ Ò¹ÃкººÑÊ I2C ǧ¨ÃàÍÒµ ¾µØ ¢Í§ PCF8574A à» ¹áºº¤ÍÅàÅç¡àµÍà ໠´ ´Ñ§¹Ñ¹é ·Õ¢è Ò¾Íà µ¢Í§ PCF8574A ¨Ðµ ͧµ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ»à¾×èÍ¡íÒ˹´ãË ã¹ÀÒÇл¡µÔ ¢Ò¾Íà µÁÕʶҹÐÅͨԡ 1 àÍÒµ ¾Øµ ¢Í§ PCF8574A ¨Ðµ ͡Ѻ¤Í¹à¹ç¡àµÍà DATA BUS «Ö§è ÊÒÁÒö¹íÒ仵 ͡ѺºÍà ´ EX-Series µÑÇÍ×¹è æ 㹪ش·´Åͧ NX-2000 ä´ ·¹Ñ ·Õ ઠ¹ µ ͡Ѻ EX-06 à¾×Íè ¢ÑºÃÕàÅ , µ ͡ѺºÍà ´ EX-01 à¾×Íè ¢Ñº LED áÊ´§¤ Ңͧ¢ ÍÁÙÅ ,µ ͡ѺºÍà ´ EX-03 à¾×Íè ÃѺ¤ Ò¨Ò¡ÊÇÔµª ËÃ×͵ ͡Ѻ EX-05 à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà ໠¹µ ¹ ä¿àÅÕÂé §·Õãè ª ÊÒí ËÃѺºÍà ´ EX-07 ÁÒ¨Ò¡ P-Board ¼ Ò¹·Ò§á¨ ¡ I2C ´Ñ§¹Ñ鹨֧äÁ ¨íÒà» ¹µ ͧ¨Ñ´ËÒáËÅ §¨ ÒÂä¿à¾ÔèÁàµÔÁ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 103


¡Ò÷´Åͧ·Õè 11 ¢ÂÒ¾Íà µ¢Í§¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³

1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-07 ºÍà ´¢ÂÒ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ¼ Ò¹ÃкººÑÊ I2C 1 á¼ ¹ 3. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 4. EX-03 ºÍà ´ÊÇÔµª Í¹Ô ¾Øµ 1 á¼ ¹ 5. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 6. ÊÒ I2C 1 àÊ ¹ 7. ÊÒÂàª×Íè Áµ Í IDC-10 1 àÊ ¹

¡Ò÷´Åͧ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè µÔ´µ ͡ѺºÍà ´ EX-07 11.1 ãË ãÊ ¨ÁÑê à»Íà à¾×Íè àÅ×Í¡áÍ´à´ÃÊ A2-A0 ¢Í§äÍ«Õ PCF8574A µÑÇ·Õè 1 º¹ºÍà ´ EX-07 äÇ ·Õè 000 Ê Ç¹ÍÕ¡µÑÇ˹֧è àÅ×Í¡áÍ´à´ÃÊäÇ ·Õè 001 11.2 àª×Íè Áµ Í P-Board ¡Ñº EX-07 â´Â㪠ÊÒ I2C áÅÐàª×Íè Áµ ͡ѺºÍà ´ EX-01 ´ ÇÂÊÒ IDC-10 ´Ñ§áÊ´§ã¹ÃÙ»·Õè P11-1 11.3 à¢Õ¹â»Ãá¡ÃÁà¾×èÍà¾ÔèÁâÁ´ÙÅ¡ÒõԴµ ͡ѺºÑÊ I2C µÒÁ·ÕèáÊ´§ÃÒÂÅÐàÍÕ´äÇ ã¹Ê ǹ¢Í§ ·ÄÉ®Õ (˹ Ò·Õè 97) ËÃ×ÍàÃÕ¡㪠§Ò¹ä¿Å pari2c.bas 11.4 à¢Õ¹â»Ãá¡ÃÁÊ §¢ ÍÁÙÅÍÍ¡·Ò§àÍÒµ ¾µØ ¢Í§ PCF8574A à¾×Íè ¢Ñº LED º¹ºÍà ´ EX-01 Private Sub Command1_Click() Sendout (&HAA) End Sub Private Sub Sendout(B As Byte) Call I2CStart ‘Start Call Send8BIT(&H70) ‘Send Address Word Call Ack ‘Acknowledge Call Send8BIT(B) ‘Send Data Call Ack ‘Acknowledge Call I2CStop ‘Stop End Sub

Ãٻà ҧ˹ ҵҢͧâ»Ãá¡ÃÁÊ §¤ Ò¢ ÍÁÙÅ·Õèà¢Õ¹¢Öé¹¹ÕéáÊ´§ã¹ÃÙ»·Õè P11-2 Ê Ç¹â»Ãá¡ÃÁ µÑÇÍ ҧÊÒÁÒöàÃÕ¡ÁÒ㪠§Ò¹ä´ ¨Ò¡â»Ãá¡ÃÁ LAB11A.VBP ã¹á¼ ¹«Õ´ÃÕ ÍÁ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 104


ÃÙ»·Õè P11-1 áÊ´§¡ÒÃàª×Íè Áµ Í P-Board, ÃÙ»·Õè P11-2 ˹ ҵҢͧâ»Ãá¡ÃÁ·´Åͧ ºÍà ´ EX-07 áÅÐ EX-01 à¾×Íè ·íÒ¡Ò÷´Åͧ Ê §¢ ÍÁÙÅÍÍ¡·Ò§àÍÒµ ¾µØ ¢Í§ PCF8574A ¢ÂÒ¾Íà µàÍÒµ ¾µØ ¼ Ò¹ÃкººÑÊ I2C º¹ºÍà ´ EX-07

¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ¨Ò¡ÍØ»¡Ã³ ÃкººÑÊ I2C

¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡºÑÊ I2C µ ͧ¡íÒ˹´ãË ºÊÑ Ç Ò§¡ ͹ áµ ¡Í ¹Í Ò¹¤ Ҩе ͧÃкØ㹺Ե ÊØ´· Ò¢ͧáÍ´à´ÃÊ´ ÇÂÇ Òµ ͧ¡ÒÃÍ Ò¹¢ ÍÁÙÅâ´Â¡ÒÃ૵ºÔµ¹Ñ¹é à» ¹ 1 áÅ Ç¨Ö§Í Ò¹¢ ÍÁÙÅࢠÒÁÒ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ Ç Visual BASIC à¾×Íè Í Ò¹¢ ÍÁÙÅ 8 ºÔµ¨Ð㪠¿§ ¡ ª¹Ñ Read8Bit â´Â㪠¡ÒÃǹÅÙ» 8 ¤Ãѧé áÅ Çà»ÃÕºà·Õº¤ Ò·ÕÍè Ò ¹ä´ ÇÒ à» ¹ 0 ËÃ×Í 1 àÁ×Íè àÃÕ¡㪠¿§ ¡ ª¹Ñ Read8Bit ¿ §¡ ª¹Ñè ¹Õ¨é Ф׹¤ Ò¢ ÍÁÙÅ 8 ºÔµ·ÕÍè Ò ¹ä´ ¡ÅѺÁÒ ¨ÐàËç¹Ç ÒàÁ×Íè Í Ò¹¤ Ò 1 ºÔµ µ Í§Ê §ÊÑ­­Ò³¹ÒÌ ¡Ò 1 ÅÙ¡

¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ¨Ò¡ºÍà ´ EX-07 11.5 ¹Í¡¨Ò¡¨Ð㪠ºÍà ´ EX-07 㹡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾µØ áÅ Ç Âѧ㪠ÍÒ ¹¤ Ò¡ÒÃà»ÅÕÂè ¹á»Å§·Õè ÍÔ¹¾Øµä´ ´Ç  â´Âã¹·Õ¹è ¨Õé Ð㪠ºÍà ´ EX-03 «Ö§è à» ¹ºÍà ´ÊÇÔµª àª×Íè Áµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS º¹ºÍà ´ EX-07 ¨Ò¡¹Ñ¹é ·íÒ¡ÒÃà¾ÔÁè àµÔÁâ»Ãá¡ÃÁà¾×Íè Í Ò¹¤ Ò¨Ò¡ÊÇÔµª â´Â㪠Timer1 ´Ñ§¹Õé Private Sub Timer1_Timer() Call I2CStart ‘Start Call Send8BIT(&H71) ‘Send Control Word Call Ack ‘Acknowledge Text1.Text = Hex$(DAT) Call Ack Call I2CStop End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 105


¡ÒÃÍ Ò¹¤ Ҩе ͧ·íҴѧ¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §áÍ´à´Ãʢͧ PCF8574A ·Õèµ Í§¡ÒõԴµ Í ¾Ã ÍÁ·Ñé§ÃкØÇ Òµ ͧ¡ÒÃÍ Ò¹¢ ÍÁÙÅ 3. Ê §ÊÑ­­Ò³ Acknowledge 4. Í Ò¹¢ ÍÁÙÅâ´Â¡ÒÃàÃÕ¡㪠§Ò¹¿ §¡ ª¹Ñ Read8Bit 5. Ê §ÊÑ­­Ò³ Acknowledge µÒÁ´ ÇÂÊÑ­­Ò³ ÃÙ»·Õè P11-3 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ STOP ÃѺ¤ ÒÍÔ¹¾Øµ¼ Ò¹ÃкººÑÊ I2C ¨Ò¡·´Åͧ㪠Timer 㹡Ò÷íÒ§Ò¹ ·íÒãË ¡ÒÃÍ Ò¹¤ Òà» ¹ä»Í ҧµ Íà¹×Íè § áµ ¨Ðµ ͧ¡íÒ˹´ ¤ Ò Interval ·Õàè ËÁÒÐÊÁ´ Ç â´Ââ»Ãá¡ÃÁ·´ÅÍ§ã¹¢Ñ¹é µÍ¹¹Õ¡é Òí ˹´¤ Ò Interval ෠ҡѺ 100 ¤íÒÊѧè HEX$ ·Õãè Ê äÇ ´Ò ¹Ë¹ Ò¿ §¡ ª¹Ñè Read8Bit ª ÇÂãË ¤Ò ·ÕÍè Ò ¹ä´ à» ¹àÅ¢°Ò¹ÊԺˡ 11.6 Ãѹâ»Ãá¡ÃÁ·Õèà¢Õ¹¢Öé¹ ¨Ò¡¹Ñé¹·´Åͧ» ͹¤ Ò¨Ò¡ºÍà ´ EX-03 â´Â¡Òá´ÊÇÔµª ¡´µÔ´ »Å Í´Ѻ Êѧࡵ¼Å¤ Ò·Õè˹ ҨͫÖè§áÊ´§ÍÂÙ ·Õè Text1 â´Â¶ Ò¡íÒ˹´¤ Ò Interval ¢Í§ Timer1 àÍÒäÇ ¹ ͼšÒÃà»ÅÕè¹á»Å§¤ Ò¨Ò¡¡Òá´ÊÇÔµª ¨Ðà¡Ô´¢Öé¹Í ҧÃÇ´àÃçÇ Ë¹ ҵҢͧâ»Ãá¡ÃÁ Í Ò¹¤ Ò¢ ÍÁÙÅáÊ´§ã¹ÃÙ»·Õè P11-3 Ê Ç¹â»Ãá¡ÃÁÊÁºÙó ÊÒÁÒö໠´ä´ ¨Ò¡ä¿Å LAB11B.VBP

¡Ò÷´ÅÍ§Ê §áÅÐÍ Ò¹¤ Ҿà ÍÁ¡Ñ¹¡ÑººÍà ´ EX-07 11.7 à» ´â»Ãá¡ÃÁ LAB11C.VBP ã¹á¼ ¹«Õ´ÃÕ ÍÁ PC interface : Parallel port Experiment ¾Ã ÍÁ ¡Ñºàª×Íè Áµ Í P-Board, EX-07, EX-01 áÅÐ EX-03 ࢠҴ Ç¡ѹ ´Ñ§ã¹ÃÙ»·Õè P11-4 ¨Ðà» ¹¡Ò÷´Åͧ㪠§Ò¹ºÍà ´ EX-07 ÃѺáÅÐÊ §¢ ÍÁÙÅ㹤ÃÒÇà´ÕÂǡѹ â´ÂÁÕ˹ ҵҢͧâ»Ãá¡ÃÁáÊ´§ã¹ÃÙ»·Õè P11-5 µ ͡Ѻ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍÃ

EX-01

P-Board

EX-07

DIP SW. x8

ÃÙ»·Õè P11-5 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ¤Çº¤ØÁ ÃÙ»·Õè P11-4 ¡ÒÃàª×Íè Áµ ͺÍà ´µ Ò§æ à¾×Íè ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 16 ª ͧ¼ Ò¹ÃкººÑÊ I2C â´Â㪠ºÍà ´ EX-07 ·íÒ¡Ò÷´Åͧ㹢 Í 11.7 EX-03

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 106


º··Õè 9 ¡ÒÃàª×Íè Áµ ͡ѺÊÑ­­Ò³ÍйÒÅÍ¡ ¢Í§¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C »¡µÔáŠǢ ÍÁÙÅ㹡ÒõԴµ ͡Ѻ¾Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà ¹Ñ鹨Ðà» ¹ÊÑ­­Ò³´Ô¨ÔµÍÅ ·Ñ§é ÊÔ¹é áµ àÁ×Íè ¹íÒÁÒàª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡áÅ Ç Â ÍÁµ ͧàª×Íè Áµ ÍáÅлÃÐÁÇżšѺÊÑ­­Ò³ ÍйÒÅÍ¡´ Ç 㹡ÒÃàª×Íè Áµ ͡ѺÊÑ­­Ò³ÍйÒÅÍ¡µ ͧ㪠äÍ«Õ¾àÔ ÈÉ·Õ·è Òí ˹ Ò·Õãè ¹¡ÒÃá»Å§ÊÑ­­Ò³ ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅËÃ×Í·Õàè ÃÕÂ¡Ç Ò äÍ«Õ ADC (Analog to Digital Converter) 㹺·¹Õ¨é Ðà» ¹¡Òà á¹Ð¹íÒáÅÐàÃÕ¹ÃÙ à¾×èÍ㪠§Ò¹äÍ«Õ ADC àª×èÍÁµ ͡Ѻ¾Íà µ¢¹Ò¹ à¾×èÍãË ¾Íà µ¢¹Ò¹ÊÒÁÒÃ¶Í Ò¹ ¤ ÒÊÑ­­Ò³ÍйÒÅÍ¡¨Ò¡ÀÒ¹͡ࢠÒÁÒ»ÃÐÁÇżÅä´ â´ÂäÍ«Õ ADC ·Õãè ª à» ¹àºÍà PCF8591 «Ö§è ÁÕû٠Ẻ¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C

¢ ÍÁÙÅàº×Íé §µ ¹¢Í§ PCF8591 PCF8591 à» ¹äÍ«Õ·Òí ˹ Ò·Õáè »Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅáÅÐá»Å§ÊÑ­­Ò³´Ô¨µÔ ÍÅ à» ¹ÍйÒÅÍ¡ã¹µÑÇà´ÕÂǡѹ à» ¹¼Å§Ò¹¢Í§¿ Å»Ô Ê à«ÁԤ͹´Ñ¡àµÍà ¼Ù¾ ² Ñ ¹ÒÃкººÑÊ I2C ¹Ñ¹è àͧ ´ ǤÇÒÁÊÒÁÒö·ÕèÃÇÁàÍÒǧ¨Ã ADC áÅÐ DAC ࢠÒäÇ ã¹äÍ«Õà¾Õ§µÑÇà´ÕÂÇ ·íÒãË ÊÒÁÒö¹íÒ PCF8591 ä»ãª §Ò¹ä´ ¡Ç Ò§¢ÇÒ§ â´Â¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤·ÕÊè Òí ¤Ñ­¢Í§ PCF8591 ÁÕ´§Ñ ¹Õé 1. ·íÒ§Ò¹´ ǤÇÒÁÅÐàÍÕ´¢Í§¢ ÍÁÙÅ´Ô¨µÔ ÍÅ¢¹Ò´ 8 ºÔµ 2. ÁÕǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ (ADC) ¢¹Ò´ 8 ºÔµ 4 ª ͧ 3. ÁÕǧ¨Ãá»Å§ÊÑ­­Ò³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ (DAC) ¢¹Ò´ 8 ºÔµ 1 ª ͧ 4. ·íÒ§Ò¹â´Â㪠áËÅ §¨ ÒÂ俪شà´ÕÂÇ µÑ§é áµ 2.5-6V 5. ¡Ô¹¡ÃÐáÊä¿¿ Ò¢³ÐÍÂÙã ¹ÊÀÒÇÐÊáµ¹ºÒ´ µÒèí 6. µÔ´µ ͡ѺäÁâ¤Ã¤ÍÁ¾ÔÇàµÍà ËÃ×ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¼Ò ¹ÃкººÑÊ I2C 7. ÊÒÁÒöàÅ×Í¡µíÒá˹ §áÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ¨Ò¡¢Ò A0, A1, A2 ·íÒãË ÊÒÁÒöµ ; ǧ ¡Ñ¹ä´ ʧ٠ÊØ´¶Ö§ 8 µÑÇ ¨Ö§¢ÂÒ¨íҹǹª ͧÍÔ¹¾Øµ¢Í§ÊÑ­­Ò³ÍйÒÅÍ¡ä´ Ê§Ù ¶Ö§ 32 ª ͧ áÅЪ ͧ àÍÒµ ¾µØ ¢Í§ÊÑ­­Ò³ÍйÒÅÍ¡¨Ò¡Ç§¨Ã DAC ÊÙ§¶Ö§ 8 ª ͧ 8. ÍѵÃÒ¡ÒÃÊØÁ ¢ ÍÁÙÅ (samping) ¢Ö¹é ÍÂÙ¡ ºÑ ¤ÇÒÁàÃçǢͧÊÑ­­Ò³¹ÒÌ ¡Òº¹ºÑÊ I2C àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 107


9. ǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍÅ (ADC) ÊÒÁÒöàÅ×Í¡¡Ò÷íҧҹ໠¹áºº ᡪ ͧËÃ×Í·íҧҹ໠¹Ç§¨Ã´Ô¿à¿ÍàùàªÕÂÅä´ ã¹¡Ã³Õ·¡Õè Òí ˹´à» ¹´Ô¿à¿ÍàùàªÕÂÅ ¨íҹǹª ͧ ÍÔ¹¾Øµ¨ÐŴŧàËÅ×Í 2 ª ͧ 10. ¡ÒÃÍ Ò¹¤ ÒÊÒÁÒö¡íÒ˹´ãË àÅ×Íè ¹ª ͧÍÔ¹¾Øµâ´ÂÍѵâ¹ÁѵäÔ ´ 11. ÊÒÁÒöÃѺÊÑ­­Ò³ÍйÒÅÍ¡ÃдѺáç´Ñ¹µÑ§é áµ VSS 仨¹¶Ö§ VDD 12. ǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅà» ¹áºº«Ñ¡à«Ê«Õ¿áÍ»¾ÃçÍ¡«ÔàÁªÑ¹è PCF8591 ÊÒÁÒö·íÒ˹ Ò·Õàè » ¹äÍ«Õá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ¢¹Ò´ 8 ºÔµ 4 ª ͧ áÅÐà» ¹äÍ«Õá»Å§ÊÑ­­Ò³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ä´ ã¹¤ÃÒÇà´ÕÂǡѹ ´ Ç¡ÒäǺ¤ØÁ¼ Ò¹ÃкººÑÊ I2C ·íÒãË ÊÒÁÒöµ ; ǧäÍ«Õ PCF8591 ä´ Ê§Ù ÊØ´ 8 µÑÇ ÃͧÃѺ¡ÒÃÍ Ò¹¤ ÒÊÑ­­Ò³ÍйÒÅÍ¡ÍÔ¹¾Øµ ä´ Ê§Ù ÊØ´¶Ö§ 32 ª ͧ áÅÐÊ §ÊÑ­­Ò³ÍйÒÅÍ¡àÍÒµ ¾µØ ÊÙ§ÊØ´ä´ 8 ª ͧ´ Ç¡ÒáíÒ˹´áÍ´à´ÃÊ ¨Ò¡¢Ò A0, A1 áÅÐ A2 ¡ÒèѴ¢ÒáÅÐÃÒÂÅÐàÍÕ´µíÒá˹ §¢Ò¢Í§ PCF8591 áÊ´§ã¹ÃÙ»·Õè 9-1 AN0 1

16

VDD

ª×èÍ

µíÒá˹ §¢Ò

AN1 2

15

AOUT

AN0

1

ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 1

AN2

3

14

VREF

AN3

2

ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 2

13

AGND

AN1

4

12

EXT

AN2

3

ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 3

A1 6

11

OSC

AN3

4

ÍйÒÅÍ¡ÍÔ¹¾Øµª ͧ·Õè 4

A2 7

10

SCL

A0

5

¢Ò¡íÒ˹´áÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ºÔµ 0

VSS 8

9

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

¢ÒÍйÒÅÍ¡àÍÒµ ¾Øµ(ǧ¨Ã DAC)

VDD

16

ä¿àÅÕé§

A0 5

2+.&#'

˹ Ò·Õè

ÃÙ»·Õè 9-1 ¡ÒèѴ¢ÒáÅеÒÃÒ§áÊ´§ª×Íè ¢ÒÊÑ­­Ò³¢Í§ PCF8591 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 108


ÃÒÂÅÐàÍÕ´¿ §¡ ª¹Ñè µ Ò§æ ¢Í§ PCF8591 µíÒá˹ §áÍ´à´ÃÊ

ã¹ÃкººÑÊ I2C ¡ÒõԴµ ͡ѺÍØ»¡Ã³ áµ ÅеÑǵ ͧÃкØáÍ´à´ÃʢͧÍØ»¡Ã³ àËŠҹѹé Í ҧ ªÑ´à¨¹ ¶ Òà» ¹¡ÒÃÍ Ò§¶Ö§áºº 7 ºÔµ ¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊ 4 ºÔµº¹¨Ðà» ¹¤ ÒáÍ´à´ÃÊ੾ÒÐ ¢Í§ÍØ»¡Ã³ µÑǹÑé¹æ ·Õè¡íÒ˹´ÁÒ¨Ò¡¼Ù ¼ÅÔµ ¼Ù 㪠§Ò¹äÁ ÊÒÁÒöà»ÅÕè¹á»Å§ä´ ÊíÒËÃѺäÍ«Õ PCF8591 ¨ÐÁÕ¤Ò à· Ò¡Ñº 1001 (°Ò¹Êͧ) ¢ ÍÁÙÅ 3 ºÔµ¶Ñ´ÁÒ¨Ðà» ¹¤ ҢͧáÍ´à´ÃÊ·Õ¼è ãÙ ª §Ò¹ ÊÒÁÒö¡íÒ˹´ä´ ·Ò§ÎÒà ´áÇà à¾×èÍàÅ×Í¡äÍ«Õ PCF8591 ·Õèµ Í§¡ÒõԴµ Í´ ÇÂ㹡óշÕèÁÕ¡Òõ Í ãª §Ò¹ PCF8591 ÁÒ¡¡Ç Ò 1 µÑÇ Ê Ç¹ºÔµ LSB 㪠㹡ÒáíÒ˹´Ç Òµ ͧ¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¢ ÍÁÙšѺ äÍ«ÕµÇÑ ¹Ñ¹é æ â´ÂÁÕû٠Ẻ¡ÒáíÒ˹´¤ Ҵѧ¹Õé µÑÇÍ ҧઠ¹ ¶ Òµ ͧ¡ÒÃ Í Ò¹¢ ÍÁÙŨҡªÔ»·Õ¡è Òí ˹´áÍ´à´ÃÊäÇ à» ¹ 000 ¨Ðµ ͧ» ͹¢ ÍÁÙÅ áÍ´à´ÃÊ෠ҡѺ &H91 à» ¹µ ¹

¢ ÍÁÙŤǺ¤ØÁ ËÅѧ¨Ò¡Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊãË á¡ PCF8591 áÅ Ç µ Í§Ê §¢ ÍÁÙŤǺ¤ØÁµÒÁä»´ Ç à¾×Íè ¡íÒ˹´¤Ø³ÊÁºÑµ¢Ô ͧǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅáÅÐǧ¨Ãá»Å§ÊÑ­­Ò³´Ô¨µÔ ÍÅ à» ¹ÍйÒÅÍ¡ÀÒÂã¹ PCF8591 â´ÂÁÕÃÒÂÅÐàÍÕ´¢Í§¢ ÍÁÙÅã¹áµ ÅкԵ´Ñ§ã¹ÃÙ»·Õè 9-2 ºÔµ 6 ¢Í§¢ ÍÁÙŤǺ¤ØÁ㪠ÊÒí ËÃѺ¡ÒÃàÍç¹àÍàºÔÅ¢ÒÍйÒÅÍ¡àÍÒµ ¾µØ àÁ×Íè µ ͧ¡ÒÃàÍç¹àÍàºÔÅ µ ͧ¡íÒ˹´ãË ¢Ò¹Õàé » ¹ 1 ºÔµ 4 áÅкԵ 5 ¢Í§¢ ÍÁÙŤǺ¤ØÁ㪠ÊÒí ËÃѺ¡ÒáíÒ˹´ÃٻẺ¢Í§ÊÑ­­Ò³ÍйÒÅÍ¡ÍÔ¹¾Øµ ·Õ»è Í ¹ãË á¡ PCF8591 ºÔµ 2 㪠ÊÒí ËÃѺàÅ×Í¡ÃٻẺ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡ¢ÒÍÔ¹¾ØµÍйÒÅÍ¡Ç Ò¨Ðà» ¹¡ÒÃÍ Ò¹¨Ò¡à¾Õ§ ÍÔ¹¾Øµà´ÕÂÇËÃ×ÍÍ Ò¹áººàÃÕ§ÅíҴѺ·Ø¡ÍÔ¹¾Øµ ¶ Òµ ͧ¡ÒÃàÅ×Í¡ãË ÍÒ ¹áººàÃÕ§ÅíҴѺµ ͧ¡íÒ˹´ ãË ºµÔ ¹Õàé » ¹ 1 ºÔµ 0 áÅкԵ 1 㪠ÊÒí ËÃѺ¡íÒ˹´ª ͧ¢Í§ÍÔ¹¾ØµÍйÒÅÍ¡·Õµè Í §¡ÒÃÍ Ò¹ ¶ Ò¡íÒ˹´ãË ºÔµ 2 à» ¹ 1 ËÅѧ¨Ò¡Í Ò¹¤ ҢͧºÔµ 0 áÅкԵ 1 áÅ Ç ã¹¡ÒÃÍ Ò¹¤ Ò¤ÃÑ§é µ Í仨Ðà» ¹¡ÒÃ Í Ò¹¤ ÒÍÔ¹¾Øµ¨Ò¡ª ͧ·Õè 1 ¢ ÍÁÙŤǺ¤ØÁ·Ñ§é ËÁ´¨Ð¶Ù¡à¡çºäÇ ã¹ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁÀÒÂã¹ PCF8591 àÁ×Íè ¨ ÒÂä¿ãË á¡ PCF8591 ¤Ãѧé áá ºÔµµ Ò§æ ¢ ÍÁÙÅÀÒÂã¹ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁ¨Ð¶Ù¡¡íÒ˹´ ãË à» ¹ 0 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 109


:

:

:

:

:

:

ª ͧÍÔ¹¾Øµ¢Í§ 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" )

ÃÙ»·Õè 9-2 ÃÒÂÅÐàÍÕ´¢ ÍÁÙŤǺ¤ØÁ¡Ò÷íÒ§Ò¹¢Í§ PCF8591 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 110


+5V +5V

IC801 PCF8591

K801

16

5 6 JP801

K802

JP802

JP803 7

ADDRESS SELECT A1

Aout

SDA

15

K803 ANALOG OUTPUT

SCL A0

Ain0

1

K804 ANALOG INPUT

2 Ain1 3 Ain2 4 Ain3 13 AGND EXT

A1

A2 8

A2

12

84&

+5V VR801

JP804 JP805 JP806

84& "

84& !

I C BUS CONNECTOR

A0

14 Vref

9

10

+5V

C801 0.1/50V

JP807 VR801-VR804 10k x4

EX-08 ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C 㪠¡ÒÃàª×Íè Áµ ÍẺºÑÊ I2C ´ ÇÂᨠ¡âÁ´ÙÅÒ Ã l ǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µ Ô ÍÅ 8 ºÔµ 4 ª ͧ ÃѺáç´Ñ¹ÍÔ¹¾Øµä´ 0-5V l ǧ¨Ãá»Å§ÊÑ­­Ò³´Ô¨µ Ô ÍÅà» ¹ÍйÒÅÍ¡ 8 ºÔµ 1 ª ͧ àÍÒµ ¾µØ à» ¹áç´Ñ¹ä¿µÃ§ 0-5V l ÁÕµÇÑ µ Ò¹·Ò¹»ÃѺ¤ Òä´ ÊÒí ËÃѺ¨ ÒÂáç´Ñ¹·´Êͺ 4 ª ͧ l ÊÒÁÒöµ ; ǧ¡Ñ¹à¾×Í è ¢ÂÒÂä´ Ê§Ù ÊØ´ÍÕ¡ 3 ºÍà ´ l ÁÕà·Íà Á¹ Ô ÍźÅçÍ¡ÊíÒËÃѺµ ͡ѺÊÑ­­Ò³ÍйÒÅÍ¡ ÀÒ¹͡ l

ÃÙ»·Õè 9-3 ǧ¨ÃÊÁºÙó ¢Í§ EX-08 ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 111


ÍÍÊ«ÔÅàÅàµÍà ǧ¨ÃÍÍÊ«ÔÅàÅàµÍà ÀÒÂã¹ PCF8591 ¨ÐÊà ҧÊÑ­­Ò³¹ÒÌ ¡ÒÊíÒËÃѺ¡ÒÃá»Å§ÊÑ­­Ò³ ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ àÁ×Íè µ ͧ¡ÒÃ㪠ǧ¨ÃÍÍÊ«ÔÅàÅàµÍà ÀÒÂã¹ ¢Ò EXT µ ͧµ Íŧ¡ÃÒÇ´ ¶ Òµ ͧ ¡ÒÃ㪠ÍÍÊ«ÔÅàÅàµÍà ¨Ò¡ÀÒ¹͡¢Ò EXT µ ͧµ ÍࢠҡѺ俺ǡ áÅ Ç» ͹ÊÑ­­Ò³¹ÒÌ ¡Òࢠҷբè Ò OSC ¢Í§ PCF8591 â´Â¤ÇÒÁ¶Õ¢è ͧÊÑ­­Ò³¹ÒÌ ¡ÒÊÙ§ÊØ´·Õ»è Í ¹ãË ¡ºÑ ÍÍÊ«ÔÅàÅàµÍà ෠ҡѺ 1.25 MHz

ºÍà ´ EX-08 ºÍà ´ ADC /DAC ¼ Ò¹ÃкººÑÊ I2C ºÍà ´ EX-08 ÁÕǧ¨ÃáÊ´§ã¹ÃÙ»·Õè 9-3 º¹ºÍà ´ÁÕäÍ«Õ PCF8591 «Ö§è ÊÒÁÒö¡íÒ˹´µíÒá˹ § áÍ´à´ÃÊ·Ò§ÎÒà ´áÇÃ ä´ µÒÁµ ͧ¡Òü Ò¹¨ÑÁê à»Íà JP801-JP803 â´Â»¡µÔ¶Ò 㪠PCF8591 à¾Õ§ µÑÇà´ÕÂÇÁÑ¡¨Ð¡íÒ˹´¤ ÒáÍ´à´ÃÊàÍÒäÇ à· Ò¡Ñº 000 ¡ÒÃàª×Íè Áµ ͺÍà ´ EX-08 ¡Ñº P-Board ¨Ð㪠¡ÒÃàª×Íè Áµ ͼ ҹᨠ¡â·ÃÈѾ· ઠ¹à´ÕÂǡѺºÍà ´ EX-07 áÅÐÊÒÁÒöµ ; ǧºÍà ´Ã ÇÁ¡Ñ¹ä´ ÁÒ¡ ¶Ö§ 8 ºÍà ´¨Ò¡¡ÒáíÒ˹´áÍ´à´ÃʢͧᵠÅкÍà ´¤¹ÅеíÒá˹ §¡Ñ¹ ÍÔ¹¾ØµÍйÒÅÍ¡·Õ»è Í ¹ä» Âѧ PCF8591 ÁÕ·§Ñé ËÁ´ 4 ¨Ø´´ Ç¡ѹ ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡¡Òû ͹ÍÔ¹¾ØµÍйÒÅÍ¡ 0-5V ¨Ò¡ ÀÒ¹͡ËÃ×Í㪠¡Òû ͹¨Ò¡µÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ «Öè§ãª »ÃѺ¤ Òáç´Ñ¹ÃÐËÇ Ò§ 0-5V ¨Ò¡áËÅ § ¨ ÒÂä¿ÀÒÂ㹺Íà ´ â´Â¡ÒÃàÅ×Í¡¡ÒÃÍ Ò¹¤ Ò¨Ò¡µÑǵ Ò¹·Ò¹»ÃѺ¤ Òä´ ËÃ×ͨҡÀÒ¹͡¹Ñ¹é ÁÒ¨Ò¡ ¨ÑÁê à»Íà JP804-JP807 º¹µÑǺÍà ´ ¹Í¡¨Ò¡¹Õé PCF8591 ÂѧÁÕàÍÒµ ¾µØ ẺÍйÒÅÍ¡ÍÕ¡ 1 ¨Ø´à¾×Íè Ê §áç´Ñ¹àÍÒµ ¾µØ ÍÍ¡ä» â´Â¤ Òáç´Ñ¹¨ÐÁÕ¤Ò à»ÅÕÂè ¹á»Å§ÃÐËÇ Ò§ 0-5V ¢Ö¹é ÍÂÙ¡ ºÑ ¡ÒÃÊ §¢ ÍÁÙÅÁҤǺ¤ØÁºÍà ´ EX-08 áËÅ §¨ ÒÂä¿·Õãè ª àÅÕÂé §ºÍà ´ EX-08 ¨ÐÁÒ¨Ò¡¨Ø´µ ÍÃкººÑÊ I2C «Ö§è à» ¹á¨ ¡âÁ´ÙÅÒ Ã 4 ¢Ò ઠ¹ à´ÕÂǡѺºÍà ´ EX-07

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 112


¡Ò÷´Åͧ·Õè 12 ¡ÒûÃÐÁÇżÅÊÑ­­Ò³Íйҹ͡¢Í§¾Íà µ¢¹Ò¹¼ Ò¹ ÃкººÑÊ I2C à¤Ã×èͧÁ×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-08 ºÍà ´ ADC/DAC ¼ Ò¹ÃкººÑÊ I2C 1 á¼ ¹ 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 4. áËÅ §¨ ÒÂ俵ç +5V 500mA 4 à¤Ã×Íè § (ËÃ×ÍÍ ҧ¹ Í 1 à¤Ã×Íè §) 5. ´Ô¨µÔ ÍÅÁÑŵÔÁàÔ µÍà ¾Ã ÍÁÊÒÂÇÑ´ 1 à¤Ã×Íè § 1 àÊ ¹ 6. ÊÒ I2C

¡Ò÷´Åͧ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×èÍÍ Ò¹¢ ÍÁÙÅÍÔ¹¾ØµÍйÒÅ͡Ẻµ Íà¹×èͧ¨Ò¡ PCF8591 º¹ ºÍà ´ EX-08 㹡ÒõԴµ ͡Ѻ PCF8591 ÁÕÃٻẺ¢Í§ÊÑ­­Ò³µÒÁÁҵðҹ¢Í§ÃкººÑÊ I2C «Öè§ÁÕ ÃÒÂÅÐàÍÕ´ÍÂ٠㹺··Õè 8 áÅСÒ÷´Åͧ·Õè 11 㹡Ò÷´Åͧ¹Õé¨Ö§äÁ ¢Í¡Å ÒÇÃÒÂÅÐàÍÕ´«éíÒÍÕ¡ â´Â¡ÒõԴµ ÍÁÕÅíҴѺ¢Ñ鹵͹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START 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) à¾×Íè àÃÔÁè µ ¹Í Ò¹¤ Ò¢ ÍÁÙŨҡª ͧÊÑ­­Ò³ÍйÒÅÍ¡ÍÔ¹¾Øµ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 113


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 ä´ ´§Ñ ¹Õé â»Ãá¡ÃÁ Í¡ÒÃÍ Ò¹¤ ÒÊÑ­­Ò³ÍйÒÅÍ¡ 4 ª ͧẺµ Íà¹×Íè §ÊíÒËÃѺ PCF8591 Private Sub Timer1_Timer() Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H45) Call Ack Call I2CStop Call I2CStart Call Send8BIT(&H91) Call Ack Text1.Text = (Read8Bit * 5) Call MAck Text2.Text = (Read8Bit * 5) Call MAck Text3.Text = (Read8Bit * 5) Call MAck Text4.Text = (Read8Bit * 5) Call Ack Call I2CStop End Sub

/ 255 / 256 / 256 / 256

ËÁÒÂà赯 â»Ãá¡ÃÁ Í MAck à» ¹â»Ãá¡ÃÁ Í·Õãè ª ʧ ÊÑ­­Ò³ Acknowledge «Ö§è ¨Ð à» ¹¡ÒÃÊ §ÊÑ­­Ò³ Acknowledge ¨Ò¡µÑÇÁÒÊàµÍà ËÃ×ͨҡ¤ÍÁ¾ÔÇàµÍà ¹¹Ñè àͧ â´ÂÁÕÃÒ ÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ㹺··Õè 8 ÃÇÁ·Ñ§é â»Ãá¡ÃÁ Í I2CStart, Send8BIT, Ack áÅÐ I2CStop àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 114


¡ÒÃÊ §ÊÑ­­Ò³ MAck ¨ÐÊ §ãË ¡ºÑ µÑÇÅÙ¡ (slave) º¹ÃкººÑÊ I2C 㹡óշÕè µÑÇáÁ (master) ·íÒ¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙŨҡµÑÇÅÙ¡àÃÕºà ÍÂáÅ Ç «Ö§è ¨ÐµÃ§¡Ñ¹¢ ÒÁ¡Ñº Ack «Ö§è ¨Ðà» ¹¡Òõͺ¡ÅѺ¨Ò¡ µÑÇÅÙ¡à¾×èÍÂ×¹ÂѹãË µÑÇáÁ ÃѺÃÙ Ç Òä´ ÃѺ¢ ÍÁÙÅáÅ Ç â´Âã¹â»Ãá¡ÃÁ¨Ðµ ͧ¡íÒ˹´ TextBox ¢Ö¹é ÁÒ 4 µÑÇà¾×èÍáÊ´§¤ Ò¼ÅÅѾ¸ ·ÕèÍ Ò¹ä´ ¢Í§¢ ÍÁÙÅ·Ñé§ 4 ª ͧ µÑ駪×èÍà» ¹ Text1 , Text2 ,Text3 áÅÐ Text4 ¤ Ò·ÕèáÊ´§ã¹ TextBox à» ¹¤ Òáç´Ñ¹·ÕèÍ Ò¹ä´ ¨Ò¡ÍÔ¹¾Øµ¢Í§ PCF8591 à¹×èͧ¨Ò¡à» ¹ ¡ÒùíÒ¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµ·ÕÍè Ò ¹ä´ ÁÒ¤íҹdzãËÁ ãË ÍÂÙã ¹ÃÙ»¢Í§áç´Ñ¹ â´Ââ»Ãá¡ÃÁ·Õãè ª §Ò¹¨Ð ÁÕ˹ ҵҴѧáÊ´§ã¹ÃÙ»·Õè P12-1 áÅÐÊÒÁÒöàÃÕ¡㪠§Ò¹â»Ãá¡ÃÁä´ ¨Ò¡ä¿Å LAB12A.VBP ¨Ò¡¤ÇÒÁÅÐàÍÕ´ 8 ºÔµ ¢Í§Ç§¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨µÔ ÍÅ¹Ñ¹é ·íÒãË ¤Ò ·ÕÍè Ò ¹ ä´ Á¤Õ ÇÒÁÅÐàÍÕ´ÍÂÙ· »Õè ÃÐÁÒ³ 20mV µ Í¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò 1 ¤ Ò «Ö§è ÊÒÁÒö¤íÒ¹Ç³ä´ ¨Ò¡ ¤ÇÒÁÅÐàÍÕ´¡ÒÃÇÑ´ = ¤ Òáç´Ñ¹àµçÁÊà¡Å / ¤ ÒÊÙ§ÊØ´¢Í§µÑÇàÅ¢´Ô¨µÔ ÍÅ 8 ºÔµ =

5 256

=

0.0195V ËÃ×Í»ÃÐÁÒ³ 20mV

Ê Ç¹¡Òäíҹdz¤ Òáç´Ñ¹¨Ò¡¤ Ò¢ ÍÁÙÅ·ÕèÍ Ò¹ä´ ¨Ðä´ ÁÒ¨Ò¡Êٵà ¤ Òáç´Ñ¹ = ¤ Ò·ÕÍè Ò ¹ä´ X ¤ Òáç´Ñ¹àµçÁÊà¡Å / ¤ ÒÊÙ§ÊØ´¢Í§µÑÇàÅ¢ 8 ºÔµ ÊÁÁµÔ Í Ò¹¤ Ò¨Ò¡ PCF8591 ä´ ¤Ò ෠ҡѺ 128 ¤ Òáç´Ñ¹·Õáè · ¨ÃÔ§·Õ»è Í ¹ãË ¡ºÑ ÍÔ¹¾Øµ ¨ÐÁÕ ¤ Ò෠ҡѺ

128 × 5 = 2.5V 256

ÃÙ»·Õè P12-1 ˹ Òµ Ò§¢Í§ä¿Å LAB12A.VBP ÃÙ»·Õè P12-2 ¡ÒÃàª×Íè Áµ Í P-Board ¡Ñº EX-08 à¾×Íè µÃǨÊͺ¡Ò÷íÒ§Ò¹¢Í§ PCF8591 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 115


EX-08

TEST TEST TEST TEST

ANALOG OUTPUT

CH-1 CH-2 CH-3 CH-4

+ -

CH-1 ANALOG INPUT

CH-2 CH-3 CH-4

¨Ò¡áËÅ §¨ ÒÂ俵ç +5V

GND CH-1

CH-2

CH-3

CH-4

·íÒ¡ÒûÃѺ¤ Òáç´Ñ¹·Õè µÑǵ Ò¹·Ò¹¹Õé

ÃÙ»·Õè P12-3 áÊ´§¡ÒÃàµÃÕÂÁºÍà ´ EX-08 à¾×Íè ·íÒ¡Ò÷´Åͧ㹢 Í 12.4-12.7 12.1 ãË ãÊ ¨ÁÑê à»Íà à¾×Íè àÅ×Í¡áÍ´à´ÃÊ A2-A0 ¢Í§äÍ«Õ PCF8591 º¹ºÍà ´ EX-08 äÇ ·Õè 000 12.2 àª×Íè Áµ Í P-Board ¡Ñº EX-08 â´Â㪠ÊÒ I2C ´Ñ§áÊ´§ã¹ÃÙ»·Õè P13-2 12.3 à» ´â»Ãá¡ÃÁ Visual BASIC àÃÕ¡ä¿Å LAB12A.VBP ¢Ö¹é ÁÒÃѹ ¨Ð»ÃÒ¡¯Ë¹ Ҩʹѧã¹ÃÙ» ·Õè P12-1 12.4 ãÊ ¨ÁÑê à»Íà ·µÕè Òí á˹ § TEST CH-1 12.5 » ͹áç´Ñ¹ +5V ࢠҷÕÍè ¹Ô ¾Øµ CH-1 ¢Í§ºÍà ´ EX-08 áÅ Ç»ÃѺµÑǵ Ò¹·Ò¹·Õè CH-1 ´Ñ§ã¹ÃÙ»·Õè P13-3 12.6 Êѧࡵ¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§¤ Òáç´Ñ¹ã¹ª ͧ Text1 12.7 ·íÒ¡Ò÷´ÅͧµÒÁ¢Ñ¹é µÍ¹ã¹¢ Í 13.4 áÅÐ 13.5 â´Âà»ÅÕÂè ¹ª ͧÍÔ¹¾Øµà» ¹ CH-2, CH-3 áÅÐ CH-4 µÒÁÅíҴѺ áÅ ÇÊѧࡵ¡ÒÃà»ÅÕÂè ¹á»Å§·Õè Text2 ÊíÒËÃѺ CH-2, Text3 ÊíÒËÃѺ CH-3 áÅÐ Text4 ÊíÒËÃѺ CH-4 12.8 ãÊ ¨ÁÑê à»Íà ·µÕè Òí á˹ § TEST ¢Í§·Ø¡ª ͧ ¨Ò¡¹Ñ¹é » ͹áç´Ñ¹¨Ò¡áËÅ §¨ ÒÂä¿áµ ÅЪشࢠҷÕè ÍÔ¹¾ØµÍйÒÅÍ¡ CH-1 ¶Ö§ CH-4 ¢Í§ºÍà ´ EX-08 12.9 ·´Åͧ»ÃѺ¤ ҢͧµÑǵ Ò¹·Ò¹ã¹áµ ÅЪ ͧ Êѧࡵ¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§¢ ÍÁÙÅã¹áµ ÅЪ ͧ â´Â㹡Ò÷´Åͧ¢ Í 12.8-12.9 à» ¹¡ÒÃáÊ´§ãË àË繶֧¤ÇÒÁÊÒÁÒö㹡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ ÊÑ­­Ò³ÍйÒÅÍ¡¢Í§ PCF8591 ·Ñ§é 4 ª ͧ¾Ã ÍÁ¡Ñ¹áÅе Íà¹×Íè § àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 116


¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧǧ¨Ãá»Å§ÊÑ­­Ò³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡¢Í§ PCF8591 PCF8591 ¹Í¡¨Ò¡¨ÐÁÕǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍÅáÅ ÇÂѧÁÕǧ¨Ãá»Å§ ÊÑ­­Ò³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ÍÂÙÀ ÒÂã¹µÑÇ´ Ç ¡ÒÃÊ §¤ Ò¢ ÍÁÙÅÍÍ¡ä»Âѧ PCF8591 ¨Ðà» ¹¡ÒÃ Ê §¤ ÒÍÍ¡ä»Âѧǧ¨Ãá»Å§ÊÑ­­Ò³´Ô¨µÔ ÍÅà» ¹ÍйÒÅÍ¡ â´Âµ ͧÁÕû٠Ẻ㹡ÒÃÊ §¢ ÍÁÙŴѧ¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´ÃÊâ´ÂãË ·Òí §Ò¹ã¹âËÁ´à¢Õ¹¢ ÍÁÙÅ (ºÔµ R/W ÁÕ¤Ò à» ¹Åͨԡ 0 ) 3. ÃÍÃѺÊÑ­­Ò³ ACK 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.2) Call Ack Call I2CStop End Sub

â»Ãá¡ÃÁ Í¹ըé Ð㪠TextBox ÍÕ¡µÑÇË¹Ö§è ¤×Í Text5 ÁÒà» ¹µÑÇ¡íÒ˹´¤ Òáç´Ñ¹·Õ¨è ÐÊ §ä» ãË ¡ºÑ PCF8591 â´Â¤ Ò·Õ¨è ÐÊ §Í͡仹ըé е ͧ¹íÒÁÒ¤Ù³´ Ç 51.2 (µÑÇàÅ¢ 51.2 ÁÒ¨Ò¡ ¤ Ò¢ ÍÁÙÅ ÊÙ§ÊØ´ 8 ºÔµËÒô Ǥ Òáç´Ñ¹àµçÁÊà¡Å : 256/5 ) àÊÕ¡ ͹à¾×Íè à»ÅÕÂè ¹¤ Òáç´Ñ¹·Õ¡è Òí ˹´Å§ä»ãË à» ¹¤ Ò¢ ÍÁÙÅ 8 ºÔµàÊÕ¡ ͹ àÁ×Íè ¼Ùã ª §Ò¹à»ÅÕÂè ¹¤ Ò¢ ÍÁÙÅãË Text5 áÅ ÇãË àÍÒÁÑŵÔÁàÔ µÍà ÁÒÇÑ´¤ Ò áç´Ñ¹·ÕèàÍÒµ ¾ØµÍйÒÅÍ¡¢Í§ PCF8591 ¨ÐàË繤 Òáç´Ñ¹à»ÅÕè¹á»Å§ä»µÒÁ¤ Ò·Õè» Í¹Å§ä» ËÃ×ÍÊÒÁÒö¹íÒàÍÒ¢ÒÍÔ¹¾Øµ¢Í§ PCF8591 µ ; ǧ¡Ñº¢ÒàÍÒµ ¾µØ ¢Í§ PCF8591 à¾×Íè Í Ò¹¤ ÒÍÍ¡ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 117


ÁÒâ´ÂµÃ§·Ò§¨ÍÀÒ¾¡çä´ â´Â˹ ҵҢͧâ»Ãá¡ÃÁàÁ×Íè à¾ÔÁè Text5 ࢠÒä»áÊ´§ã¹ÃÙ»·Õè P12-4 Ê Ç¹â»Ãá¡ÃÁ·Õáè ¡ ä¢à¾ÔÁè àµÔÁàÃÕ¡㪠§Ò¹ä´ ¨Ò¡ LAB12B.VBP ã¹á¼ ¹«Õ´ÃÕ ÍÁ 12.10 ãË ãÊ ¨ÁÑê à»Íà à¾×Íè àÅ×Í¡áÍ´à´ÃÊ A2-A0 ¢Í§äÍ«Õ PCF8591 º¹ºÍà ´ EX-08 äÇ ·Õè 000 12.11 àª×Íè Áµ Í P-Board ¡Ñº EX-08 â´Â㪠ÊÒ I2C ´Ñ§áÊ´§ã¹ÃÙ»·Õè P13-2 12.12 à» ´â»Ãá¡ÃÁ Visual BASIC àÃÕ¡ä¿Å LAB12B.VBP ¢Ö¹é ÁÒ·íÒ¡ÒÃÃѹ ¨Ð»ÃÒ¡¯Ë¹ Ò¨Í ´Ñ§ã¹ÃÙ»·Õè P12-4 12.13 » ͹¤ Òáç´Ñ¹·Õµè Í §¡ÒÃŧ㹪 ͧ Text5 â´ÂÁÕ¢Í ¨íÒ¡Ñ´Ç Òµ ͧäÁ à¡Ô¹ 5 12.14 㪠´¨Ô µÔ ÍÅÁÑŵÔàµÍà àÅ×Í¡Â Ò¹ÇÑ´áç´Ñ¹ä¿µÃ§ ÇÑ´·Õ¨è ´Ø ANALOG OUTPUT º¹ºÍà ´ EX08 ´Ñ§ã¹ÃÙ»·Õè P12-5 à»ÃÕºà·Õº¤ Òáç´Ñ¹·ÕÇè ´Ñ ä´ ¡ºÑ ¤ Ò·Õ»è Í ¹ã¹ª ͧ Text5 12.15 ·íÒ¡Òõ ÍÊÒ¨ҡ¨Ø´ ANALOG OUTPUT ࢠҷÕÍè ¹Ô ¾Øµ CH-1 º¹ºÍà ´ EX-08 ´Ñ§ã¹ÃÙ»·Õè P12-6 12.16 » ͹¤ Òáç´Ñ¹·Õèµ Í§¡ÒÃŧ㹪 ͧ Text5 â´ÂÁÕ ¢ ͨíÒ¡Ñ´Ç Òµ ͧäÁ à¡Ô¹ 5 â´Â·´Åͧ» ͹ËÅÒÂæ ¤ Ò 12.17 Êѧࡵ¼Å¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§¢ ÍÁÙÅ㹪 ͧ Text1 Ç ÒÊÍ´¤Å ͧ¡Ñº¤ Ò·Õ»è Í ¹ã¹ª ͧ Text5 ËÃ×ÍäÁ ¡Ò÷´Åͧ㹢 Í12.13 áÅÐ 12.14 à» ¹¡ÒõÃǨ Êͺ¤ÇÒÁÊÒÁÒö¢Í§ PCF89591 㹡ÒÃá»Å§¢ ÍÁÙÅ ´Ô¨ÔµÍÅà» ¹ÍйÒÅÍ¡ â´Â¡ÒáíÒ˹´¢ ÍÁÙÅ㹪 ͧ Text5 â»Ãá¡ÃÁ¨Ð¹íÒ¢ ÍÁÙŹѹé á»Å§à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅ ¡ ͹ ¨Ò¡¹Ñ¹é Ê §ä»Âѧ PCF8591 à¾×Íè á»Å§à» ¹ÊÑ­­Ò³ ÍйÒÅÍ¡Ê §ÍÍ¡ÁÒ·Õàè ÍÒµ ¾µØ ANALOG OUTPUT Ê Ç¹¡Ò÷´Åͧ㹢 Í 12.15 -12.17 à» ¹¡ÒÃ㪠§Ò¹Ç§¨Ã ADC áÅÐ DAC ÀÒÂã¹ PCF8591 ¾Ã ÍÁ¡Ñ¹ ¡Å ÒǤ×Í â»Ãá¡ÃÁ¨Ðá»Å§¢ ÍÁÙÅ㹪 ͧ Text5 à» ¹ ¢ ÍÁÙÅ´Ô¨µÔ ÍÅÊ §ä»ãË PCF8591 á»Å§à» ¹áç´Ñ¹Ê §ÍÍ¡ ä»ÂѧàÍÒµ ¾µØ ÍйÒÅÍ¡ ¨Ò¡¹Ñ¹é áç´Ñ¹ÍйÒÅÍ¡¹Ñ¹é ¡ç¨Ð ÃÙ»·Õè P12-4 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ Ê §µ Íä»ÂѧÍÔ¹¾ØµÍйÒÅÍ¡ª ͧ·Õè 1 ¢Í§ PCF8591 äÍ«Õ LAB12B.VBP à¾×è͵ÃǨÊͺ¡Òà PCF8591 ¡ç¨Ðá»Å§à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅÊ §ä»ãË â»Ãá¡ÃÁ ·íÒ§Ò¹¢Í§ ADC áÅÐ DAC ¢Í§ »ÃÐÁÇżÅà» ¹¤ Òáç´Ñ¹áÊ´§ÍÍ¡ÁÒ·Õªè Í § Text1 PCF8591¾Ã ÍÁ¡Ñ¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 118


àª×Íè Áµ ͡Ѻ P-Board ´ ÇÂÊÒ I C

DIGITAL METER

EX-08

TEST TEST TEST TEST

+

ANALOG OUTPUT

CH-1 CH-2 CH-3 CH-4

+

CH-1 ANALOG INPUT

CH-2 CH-3 CH-4 GND

CH-1

CH-2

CH-3

CH-4

ÃÙ»·Õè P12-5 ¡Òõ ÍÊÒÂà¾×Íè ·íÒ¡Ò÷´Åͧ㹢 Í 12.14 àª×Íè Áµ ͡Ѻ P-Board ´ ÇÂÊÒ I C EX-08

TEST TEST TEST TEST

ANALOG OUTPUT

CH-1 CH-2 CH-3 CH-4

+

CH-1 ANALOG INPUT

CH-2 CH-3 CH-4 GND

CH-1

CH-2

CH-3

CH-4

ÃÙ»·Õè P12-6 ¡Òõ ÍÊÒÂà¾×Íè ·íÒ¡Ò÷´Åͧ㹢 Í 12.15

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 119

-



º··Õè 10

¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ ãË á¡ ¾Íà µ¢¹Ò¹ â´Â㪠¡ÒÃÊ×Íè ÊÒÃ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ¨Ò¡º··Õè 8 ä´ Í¸ÔºÒ¶֧¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ ãË á¡ ¾Íà µ¢¹Ò¹¼ Ò¹ÃкººÑÊ I2C â´Â 㪠äÍ«Õ PCF8574A ¹Ñ¹è à» ¹ÇÔ¸¡Õ ÒÃ˹֧è ÊíÒËÃѺ㹺·¹Õ¨é Ð͸ԺÒ¶֧¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ ã¹ÍÕ¡ Ẻ˹֧è â´Â㪠¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁã¹áºº«Ô§â¤Ã¹ÑÊÁÒª Ç «Ö§è ÍØ»¡Ã³ ËÅѡ㹡Ò÷íÒ§Ò¹¹Õ¤é Í× äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà (shift register)

ËÅÑ¡¡ÒÃàº×éͧµ ¹ ã¹ÃÙ»·Õè 10-1 áÊ´§ä´ÍÐá¡ÃÁ¡Ò÷íÒ§Ò¹àº×éͧµ ¹¢Í§¡ÒâÂÒ¾Íà µâ´Â㪠¡ÒÃÊ×èÍÊÒà ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ¨ÐàËç¹ä´ ÇÒ ÁÕÊÒ¢ ÍÁÙÅ (data : DI) à¾Õ§ 1 àÊ ¹ ´Ñ§¹Ñ¹é ¡ÒÃÊ §¼ Ò¹¢ ÍÁÙÅ ¨Ö§µ ͧ¡ÃзíÒã¹ÅѡɳÐ͹ءÃÁ Ê Ç¹·Õàè » ¹áºº«Ô§â¤Ã¹ÑÊ (synchronous) ¡çà¹×Íè §¨Ò¡ÁÕ¡ÒÃ㪠ʭ Ñ ­Ò³ ¹ÒÌ ¡Ò (CLK) ÁÒ¡íÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹ãË ÊÑÁ¾Ñ¹¸ ¡Ñ¹ÃÐËÇ Ò§µÑÇÊ §¢ ÍÁÙÅ («Öè§ã¹·Õè¹Õé¤×Í ¤ÍÁ¾ÔÇàµÍà ) áÅеÑÇÃѺ¢ ÍÁÙÅ («Ö§è ¡ç¤Í× äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà ) ¹Í¡¨Ò¡¹Ñ¹é ¨ÐÁÕÊÒÂÊÑ­­Ò³¤Çº¤ØÁÍÕ¡ 2 àÊ ¹¤×Í ÊÑ­­Ò³ RST «Ö§è ¡ç¤Í× ÊÑ­­Ò³ÃÕ૵ áÅÐÊÑ­­Ò³ LE ËÃ×ÍÊÑ­­Ò³áŵª ÊÒí ËÃѺ¹íÒ¢ ÍÁÙÅ ä»áÊ´§·ÕèàÍÒµ ¾Øµ äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà ·¹Õè Òí ÁÒ㪠¨Ðà» ¹áºº¢ ÍÁÙÅࢠÒ͹ءÃÁ-¢ ÍÁÙÅÍ͡Ẻ¢¹Ò¹ (SIPO : Serial In Parallel Out) â´ÂàÁ×Íè àÃÔÁè µ ¹¨Ðµ ͧÃÕ૵ËÃ×Íà¤ÅÕÂà ¢Í ÁÙÅà´ÔÁãË à» ¹ 0 ¡ ͹ ¨Ò¡¹Ñ¹é Ê §¢ ÍÁÙÅ ÁÒ·Õ¢è Ò DI áÅ ÇÊ §ÊÑ­­Ò³¹ÒÌ ¡ÒÁÒ 1 ÅÙ¡ ¢ ÍÁÙÅ¡ç¨Ð¶Ù¡àÅ×Íè ¹à¢ Òä»à¡çºã¹ªÔ¿µ Ã¨Õ ÊÔ àµÍà ËÒ¡äÁ ¢Ò¢ ÍÁÙÅÍ͡Ẻ¢¹Ò¹¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà ·ÊèÕ ÒÁÒö㪠§Ò¹à» ¹¾Íà µàÍÒµ ¾µØ P7

DATA (DI) LATCH (LE) CLOCK (CLK)

P6

P5

P4

P3

P2

P1

P0

SERIAL DATA OUT (SO)

µ ÍࢠҡѺ¢Ò DI ËÃ×Í SERIAL DATA IN ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà 㹪شµ Íä» à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè ¢Ö¹é ÍÕ¡

RESET (RST)

µ ÍࢠҡѺ¢Ò LE, CLK áÅÐ RST ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà 㹪شµ Íä» à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè ¢Ö¹é ÍÕ¡

ÃÙ»·Õè 10-1 ¼Ñ§¡Ò÷íÒ§Ò¹àº×Íé §µ ¹¢Í§¡ÒâÂÒ¾Íà µáºº«Ô§â¤Ã¹ÑÊâ´Â㪠ª¿ Ô µ Ã¨Õ ÊÔ àµÍà àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 121


¢ ÍÁÙÅ 8 ºÔµ DATA (DI)

¢ ÍÁÙÅ 8 ºÔµ

1

0

0

1

1

1

0

1

1

0

0

0

1

1

1

0

1

0

0

1

1

1

0

1

1

0

0

0

1

1

1

0

1

0

0

1

1

1

0

1

CLOCK (CLK)

RESET (RST)

LATCH (LE)

SHIFT REGISTER

OUTPUT (P0-P7)

¢ ÍÁÙÅ 8 ºÔµ

1

0

0

0

1

1

1

0

¢ ÍÁÙÅ 8 ºÔµ

ÃÙ»·Õè 10-2 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§¨Ñ§ËÇСÒ÷íÒ§Ò¹¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà à¾×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ ÁÕ¡ÒÃÊ §ÊÑ­­Ò³áŵª ¢ ÍÁÙÅàÍÒµ ¾µØ ¨ÐÂѧ¤§à´ÔÁäÁ à»ÅÕÂè ¹á»Å§ ¨Ò¡¹Ñ¹é ·ÂÍÂÊ §¢ ÍÁÙÅÁÒ¨¹¤Ãº 8 ºÔµ áŠǵÒÁ´ Ç¡ÒÃÊ §ÊÑ­­Ò³áŵª ¢ ÍÁÙŷѧé ËÁ´·Õàè ¡çºäÇ ã¹ÃÕ¨ÊÔ àµÍà ¡¨ç Ð¶Ù¡Ê §ÍÍ¡ÁÒ·Õàè ÍÒµ ¾Øµ ´Ñ§ã¹ä´ÍÐá¡ÃÁàÇÅÒÃÙ»·Õè 10-2 ¨Ö§·íÒãË ´àÙ ÊÁ×Í¹Ç Ò ãª ÊÒÂÊÑ­­Ò³¢Í§¾Íà µ 3 àÊ ¹ ·íÒãË à¡Ô´¾Íà µàÍÒµ ¾µØ 8 àÊ ¹ à¾Õ§ᵠµÍ §ÁÕ¢¹Ñé µÍ¹áÅÐ㪠àÇÅÒ㹡ÒÃÃѺáÅÐàÅ×Íè ¹¢ ÍÁÙÅàÅ硹 ÍÂáÅÐ ¶ ÒËÒ¡ªÔ¿µ Ã¨Õ ÊÔ àµÍà Á¢Õ Ò¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁà¾ÔÁè àµÔÁ´ Ç ¨Ð·íÒãË ÊÒÁÒö¢ÂÒ¨íҹǹ¾Íà µÍ Í¡ä»ä´ Í¡Õ â´Â¹íÒÊÑ­­Ò³¨Ò¡¢Ò¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁ (serial data output : SO) ÁÒࢠҷբè Ò ¢ ÍÁÙÅÍÔ¹¾Øµ (DI) ¢Í§ªÔ¿µ Ã¨Õ ÊÔ àµÍà Ẻà´ÕÂǡѹÍÕ¡µÑÇË¹Ö§è ¨Ð·íÒãË à¡Ô´¡ÒâÂÒ¾Íà µÍÍ¡ä» ä´ Í¡Õ ¨Ò¡ 8 ºÔµà» ¹ 16 ºÔµ, 24 ºÔµ, 32 ºÔµä»Í ҧµ Íà¹×Íè § Í ҧäáçµÒÁ´ ÇÂá¹Ç·Ò§¹ÕéÍÒ¨·íÒãË ¼Ù 㪠§Ò¹¤Ô´Ç Ò ÊÒÁÒöà¾ÔèÁ¨íҹǹ¾Íà µàÍÒµ ¾Øµä´ Í ҧäÁ ¨Òí ¡Ñ´ ã¹·Ò§»¯ÔºµÑ ÊÔ §Ôè ·Õàè ¡Ô´¢Ö¹é àÁ×Íè ¢ÂÒ¾Íà µàÍÒµ ¾µØ ÍÍ¡ä»à» ¹¨íҹǹÁÒ¡¤×Í 1. ¤ÇÒÁàÃçÇ㹡Ò÷íҧҹŴŧ à¹×èͧ¨Ò¡ãª ¡ÒÃàÅ×è͹¢ ÍÁÙŢͧªÔ¿µ ÃÕ¨ÔÊàµÍà ´Ñ§¹Ñé¹ËÒ¡ ¨íҹǹ¢ ÍÁÙÅ·Õµè Í §¡ÒÃàÅ×Íè ¹ÁÕÁÒ¡ àÇÅÒ·Õãè ª ¡¨ç ÐÁÒ¡¢Ö¹é 2. ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊÃÇÁŴŧ 㹡óշ¢Õè ÂÒ¾Íà µàÍÒµ ¾µØ ÍÍ¡ä»â´ÂäÁ ä´ à¾ÔÁè ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊä¿¿ ÒãË á¡ áËÅ §¨ ÒÂ俢ͧǧ¨Ã ¨Ð·íÒãË ¾Íà µàÍÒµ ¾µØ áµ ÅÐ ºÔµÊÒÁÒö¨ Ò¡ÃÐáÊä´ Å´Å§µÒÁ¨íҹǹ¾Íà µ·Õèà¾ÔèÁ¢Öé¹ 3. ÊÑ­­Ò³Ãº¡Ç¹ ËÒ¡¡ÒâÂÒÂ¹Ñ¹é µ ͧ㪠ÊÒÂÊÑ­­Ò³àª×Íè Á⧡ѹ ÂÔ§è ¶ ÒËÒ¡ÁÕ¡ÒâÂÒ ÁÒ¡ ÊÒÂÊÑ­­Ò³·Õè㪠¡ç¨Ðµ ͧÁÕ¤ÇÒÁÂÒÇà¾ÔèÁÁÒ¡¢Öé¹ Ê §¼ÅãË ÊÑ­­Ò³Ãº¡Ç¹ÊÒÁÒöࢠÒÁÒ Ãº¡Ç¹¡Ò÷íÒ§Ò¹ä´ § Ò¢Öé¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 122


´Ñ§¹Ñ鹨íҹǹ¢Í§¾Íà µ·ÕèÊÒÁÒö¢ÂÒÂä´ ´ ÇÂÇÔ¸Õ¡ÒùÕé¨Ö§¢Öé¹ÍÂÙ ¡Ñº¤ÇÒÁÊÒÁÒö㹡Òà ¨ Ò¡ÃÐáÊáÅФÇÒÁàÃçÇà» ¹» ¨¨ÑÂËÅÑ¡ ËÒ¡áËÅ §¨ ÒÂä¿ÁÕ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊä´ à¾Õ§¾Í ¤ÇÒÁàÃçǨ֧໠¹ÊÔ§è ·Õµè Í §¤íÒ¹Ö§¶Ö§à» ¹àÃ×Íè §µ ÍÁÒ ËÒ¡ÂÍÁÃÑºä´ ¡çµÍ §Í͡Ẻǧ¨ÃáÅСÒÃàª×Íè Á µ ÍãË ´àÕ ¾×Íè » ͧ¡Ñ¹ÊÑ­­Ò³Ãº¡Ç¹ ËÒ¡·íÒä´ ¤ÃºáÅÐÂÍÁÃѺ㹢 ͨíÒ¡Ñ´´ Ò¹¤ÇÒÁàÃçÇä´ ¡ç¨Ð ÊÒÁÒö¢ÂÒ¾Íà µàÍÒµ ¾Øµ´ ÇÂÇÔ¸Õ¡ÒùÕéä´ Í ҧäÁ ÁÕ¢Õ´¨íÒ¡Ñ´ +5V

R901-R904 470k

+5V C901 0.1/50V

+5V

16 14

+5V

11

CLK

LE

12

DI

RST

10

9 K901 SHIFTIN

SI

Q0

15

D0

D0

D1

1

D1

D2 D4

D3 D5

D6

D7

SCK Q1 2 LE Q2 3 RST Q3 4 Q4 5 Q5 6 SO Q6 7 Q7 OE 13

8

D2 D3 D4 D5

K902 OUTL

D6 D7 IC901 74HC595A

+5V

C902 0.1/50V

+5V

16 14

+5V

11

CLK

LE

12

DO

RST

10

9 K904 SHIFTOUT

SI

Q0

SCK Q1 LE Q2 RST Q3 Q4 Q5 SO OE 13

Q6 Q7 8

15

D8

1

D9

2

D10 D11 D12

3 4 5 6

D13

7

D15

D8 D10

D9 D11

D12

D13

D14

D15

D14

K903 OUTH

IC902 74HC595A

EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ ÊÒÁÒö¢ÂÒ¾Íà µàÍÒµ ¾µØ 8 ºÔµ 2 ªØ´ ÃÇÁà» ¹ 16 ºÔµ l 㪠äÍ«Õª¿ Ô µ Ã¨Õ ÊÔ àµÍà 㹡Ò÷íÒ§Ò¹ l ÊÒÁÒöµ ; ǧà¾×Í è ¢ÂÒÂä´ äÁ ¨Òí ¡Ñ´ (á¹Ð¹íÒäÁ ¤ÇÃà¡Ô¹ 4 ºÍà ´µ Í P-Board 1 ºÍà ´) l àª×Í è Áµ ͡Ѻ P-Board ¼ Ò¹·Ò§¤Í¹à¹ç¡àµÍà DATA BUS l

ÃÙ»·Õè 10-3 ǧ¨ÃÊÁºÙó ¢Í§ EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 123


EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ â´Â㪠¡ÒÃÊ×Íè ÊÒÃ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ ÁÕǧ¨ÃÊÁºÙó áÅФسÊÁºÑµáÔ Ê´§ã¹ÃÙ»·Õè 10-3 ºÍà ´¹Õäé ´ ÃºÑ ¡ÒÃÍ͡ẺãË ÊÒÁÒö¢ÂÒ ¾Íà µàÍÒµ ¾µØ ä´ ÁÒ¡¶Ö§ 16 ª ͧ (ËÃ×ͺԵ) µ ÍË¹Ö§è ºÍà ´áÅÐÊÒÁÒöµ ; Ç§ä´ Í ҧäÁ ¨Òí ¡Ñ´ÀÒ 㵠à§×Íè ¹ä¢´Ñ§·Õäè ´ ¡Å ÒÇÁÒáÅ Çã¹ËÑÇ¢ Í·Õ¼è Ò ¹ÁÒ ËÑÇã¨ÊíҤѭ¤×Í äÍ«Õª¿Ô µ Ã¨Õ ÊÔ àµÍà àºÍà 74HC595 «Ö§è à» ¹ªÔ¿µ Ã¨Õ ÊÔ àµÍà ẺÍ๡¡»ÃÐʧ¤ ÊÒÁÒöÃѺ¢ ÍÁÙÅࢠÒẺ͹ءÃÁ áÅÐÊ §¢ ÍÁÙÅÍÍ¡ä´ ·§Ñé Ẻ¢¹Ò¹áÅÐ͹ءÃÁ ·Ñ§é ÂѧÊÒÁÒöµ ; Ç§ä´ äÁ è٠ºÍÕ¡´ Ç ÀÒÂã¹ 74HC595 ÁÕÃ¨Õ ÊÔ àµÍà ¢¹Ò´ 8 ºÔµºÃèØÍÂÙ 1 µÑÇ ¨Ö§·íÒãË ÊÒÁÒö㪠§Ò¹¡Ñº¢ ÍÁÙÅ¢¹Ò´ 8 ºÔµä´ Í ҧàËÁÒÐÊÁ áÅÐàÁ×Íè ¹íÒÁÒ ¾ ǧ¡Ñ¹´Ñ§·Õãè ª 㹺Íà ´ EX-09 ¡ç¨ÐÊÒÁÒöÃͧÃѺ¢ ÍÁÙÅä´ ÁÒ¡¶Ö§ 16 ºÔµ ÊÑ­­Ò³¢ ÍÁÙÅ͹ءÃÁáÅФǺ¤ØÁ¨ÐÊ §¼ Ò¹ÁÒ¨Ò¡¤Í¹à¹ç¡àµÍà SHIFT IN «Ö§è ÁÕ¡ÒèѴ¢Ò µÒÁÁҵðҹ UIC-10 ¨Ö§·íÒãË ÊÒÁÒöµ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ P-Board ä´ ·¹Ñ ·Õ ¹Ñ¹è ¤×Í¢ÒÊÑ­­Ò³¹ÒÌ ¡ÒËÃ×Í CLK ¨ÐµÃ§¡Ñº¢Ò D0, ¢Ò LE «Ö§è à» ¹¢ÒÊÑ­­Ò³áŵª ¨ÐµÃ§¡Ñº¢Ò D1, ¢Ò¢ ÍÁÙÅ͹ءÃÁËÃ×Í DI µÃ§¡Ñº¢Ò D2 áÅТÒÃÕ૵ RST ¨ÐµÃ§¡Ñº¢Ò D3 ÊÑ­­Ò³¨Ò¡¤Í¹ à¹ç¡àµÍà SHIFT IN ¨ÐÊ §à¢ Òä»Âѧ IC901 à¾×Íè ·íÒ¡ÒâÂÒ¾Íà µàÍÒµ ¾µØ 8 ºÔµÊ §ÍÍ¡ä»Âѧ¤Í¹ à¹ç¡àµÍà OUTL ¾Ã ÍÁ¡Ñ¹¹Ñ¹é ÂÑ§Ê §¢ ÍÁÙÅ͹ءÃÁÍÍ¡ÁÒ·Ò§¢Ò SO ä»Âѧ¢Ò SI ¢Í§ IC902 à¾×Íè ¢ÂÒ¾Íà µà¾ÔÁè ÍÕ¡ 8 ºÔµ â´Â¢ ÍÁÙÅ 8 ºÔµµ ÍÁÒ¨ÐÊ §ÍÍ¡·Ò§¤Í¹à¹ç¡àµÍà OUTH ·íÒãË ºÍà ´ EX-09 ¹ÕÊé ÒÁÒö¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè à» ¹ 16 ºÔµ¨Ò¡ÊÒÂÊÑ­­Ò³ DATA 4 àÊ ¹¢Í§¾Íà µ ¢¹Ò¹áÅÐÂѧÊÒÁÒöà¾ÔÁè µ Íä»ä´ Í¡Õ â´Â¢ÒÊÑ­­Ò³ LE, CLK áÅÐ RST ¨Ò¡¤Í¹à¹ç¡àµÍà SHIFT IN ¶Ù¡µ ÍÁÒÂѧ¤Í¹à¹ç¡àµÍà SHIFT OUT ¾Ã ÍÁ¡Ñº¢Ò SO ¢Í§ IC902 ¨Ö§·íÒãË ÊÒÁÒöµ ; ǧ ºÍà ´ EX-09 ä´ Í¡Õ Í ҧ§ ÒÂæ à¾Õ§µ ÍÊÒ¨ҡ¤Í¹à¹ç¡àµÍà SHIFT OUT ¢Í§ EX-09 ºÍà ´·Õè 1 ࢠҡѺ¤Í¹à¹ç¡àµÍà SHIFT IN ¢Í§ EX-09 ºÍà ´¶Ñ´ä» ËÒ¡µ ; ǧ¡Ñ¹ 2 ºÍà ´¡ç¨ÐÊÒÁÒö ¢ÂÒ¾Íà µàÍÒµ ¾µØ à¾ÔÁè à» ¹ 32 ª ͧ (ËÃ×ͺԵ) â´Â㪠¢ÒÊÑ­­Ò³à· Òà´ÔÁ¤×Í 4 àÊ ¹ ã¹ÃÙ»·Õè 10-4 áÊ´§¡Òõ ; ǧºÍà ´ EX-09 à¾×Íè à¾ÔÁè ¨íҹǹ¾Íà µàÍÒµ ¾µØ P-Board SHIFT IN

OUTL

EX-09

SHIFT OUT

OUTH

SHIFT IN

OUTL

EX-09

SHIFT OUT

OUTH

¾Íà µàÍÒµ ¾µØ ·Õ¢è ÂÒÂà¾ÔÁè àµÔÁ ¾Íà µàÍÒµ ¾µØ ·Õ¢è ÂÒÂà¾ÔÁè àµÔÁ ¨íҹǹ 16 ºÔµµ ͺÍà ´ ¨íҹǹ 16 ºÔµµ ͺÍà ´ ¾Íà µàÍÒµ ¾µØ ·Õ¢è ÂÒÂà¾ÔÁè àµÔÁÃÇÁ 32 ºÔµ

ÃÙ»·Õè 10-4 áÊ´§¡Òõ ; ǧºÍà ´ EX-09 à¾×Íè à¾ÔÁè ¨íҹǹ¾Íà µàÍÒµ ¾µØ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 124


¡Ò÷´Åͧ·Õè 13 ¢ÂÒ¾Íà µàÍÒµ ¾ØµãË á¡ ¾Íà µ¢¹Ò¹¼ Ò¹¡ÒÃÊ×èÍÊÒà ͹ءÃÁẺ«Ô§â¤Ã¹ÑÊ à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. P-Board ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ 1 á¼ ¹ 2. EX-01 ºÍà ´ LED Á͹ÔàµÍà 16 ª ͧ 1 á¼ ¹ 3. EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ Ẻ«Ô§â¤Ã¹ÑÊ 1 á¼ ¹ 4. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 5. ÊÒÂàª×Íè Áµ Í IDC-10 3 àÊ ¹

¡Ò÷´Åͧ 13.1 µ ÍÊÒ IDC-1 0 ¨Ò¡¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ P-Board ä»Âѧ¤Í¹à¹ç¡àµÍà SHIFT IN ¢Í§ EX-09 áÅе ÍÊÒ¨ҡ¤Í¹à¹ç¡àµÍà OUTH áÅÐ OUTL ¢Í§ EX-09 ä»Âѧ¤Í¹à¹ç¡àµÍà DATA BUS1 áÅÐ 2 ¢Í§ºÍà ´ EX-01 µÒÁÅíҴѺ 13.2 ÇÒ§¤Í¹â·Ãź¹¿Íà ÁáÅÐà»ÅÕÂè ¹ª×Íè ´Ñ§ÃÙ»·Õè P13-1 áÅ Çà¢Õ¹â»Ãá¡ÃÁ´Ñ§¹Õé Private Sub InitialShiftIn() Out &H378, &H8 End Sub Private Sub CLK() Out &H378, Inp(&H378) Xor &H1 Out &H378, Inp(&H378) Xor &H1 End Sub Private Sub RST() Out &H378, Inp(&H378) Xor &H8 Out &H378, Inp(&H378) Xor &H8 End Sub Private Sub LE() Out &H378, Inp(&H378) Xor &H2 Out &H378, Inp(&H378) Xor &H2 End Sub

ÃÙ»·Õè P13-1 ˹ ҵҢͧ¿Íà Á·ÕÊè à ҧ ¢Ö¹é ¨Ò¡ä¿Å LAB13A.VBP à¾×Íè ¢ÂÒ ¨íҹǹ¾Íà µàÍÒµ ¾µØ â´Â㪠ºÍà ´ EX-09 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 125


Private Sub DI(ByVal Logic As Boolean) If Logic Then Out &H378, Inp(&H378) Or &H4 Else Out &H378, Inp(&H378) And &HFB End If End Sub

13.4 à¢Õ¹â»Ãá¡ÃÁ ÍÂÊíÒËÃÑºÊ §¢ ÍÁÙÅ 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

13.5 à¢Õ¹â»Ãá¡ÃÁãË à˵ءÒó Form_Load , cmdReset_Click áÅÐ cmdOut_Click ´Ñ§¹Õé Private Sub Form_Load() InitialShiftIn RST LE End Sub Private Sub cmdReset_Click() RST LE End Sub Private Sub cmdOut_Click() Shift8Bit CByte(“&H” & txtOutH.Text) Shift8Bit CByte(“&H” & txtOutL.Text) LE End Sub

àÁ×Íè ÃѺ¢ ÍÁÙŨҡ txtOutH ã¹ÃÙ»¢Í§àÅ¢°Ò¹ÊԺˡ ¹íÒ &H ÁÒµ Í¢ ҧ˹ ÒáÅ Çá»Å§¤ ÒãË à» ¹äºµ Ê §ä»Âѧâ»Ãá¡ÃÁ Í Shift8Bit à¾×èÍàÅ×è͹¢ ÍÁÙÅÍÍ¡ä»ãË 74HC595 ¾Ã ÍÁ¡ÑºÊ § ÊÑ­­Ò³ Clock àÁ×Íè ¤Ãº 8 ºÔµ ¨Ð¹íÒ¢ ÍÁÙŨҡ txtOutL ÁÒá»Å§à» ¹¤ Ò亵 áÅÐÊ §ä»àÁ×Íè Ê § ¤Ãº·Ñ§é 16 ºÔµ Ê §ÊÑ­­Ò³áŵ« LED º¹ºÍà ´ EX-01 ¨ÐáÊ´§¼Å¢Í§¢ ÍÁÙÅ â´Â·Õ¢è Í ÁÙŨҡ txtOutH ¨ÐÍÍ¡·Õ¾è Íà µ OUTH áÅТ ÍÁÙŨҡ txtOutL ¨ÐÍÍ¡·Õ¾è Íà µ OUTL µÑÇÍ ҧâ»Ãá¡ÃÁ ´Ù·äÕè ¿Å LAB13A.VBP àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 126


13.6 à¾ÔÁè ¤Í¹â·ÃÅáÅШѴ¿Íà Á´Ñ§ÃÙ»·Õè P13-2 â´ÂãË »ÁØ à» ¹¤Í¹â·ÃÅ Array â´ÂãË áµ ÅлØÁ ÁÕ ª×Íè à´ÕÂǡѹᵠIndex äÁ «Òéí ¡Ñ¹µÑ§é áµ 0-15 ÇÔ¸ÊÕ Ã Ò§¤Í¹â·ÃÅ Array ´Ùä´ ¨Ò¡¡Ò÷´Åͧ·Õè 4 13.7 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdD_Click(Index As Integer) ´Ñ§¹Õé Private Sub cmdD_Click(Index As Integer) Dim i As Integer Dim tmp As Byte If cmdD(Index).Caption = “OFF” Then cmdD(Index).Caption = “ON” Else cmdD(Index).Caption = “OFF” End If tmp = 0 For i = 0 To 7 If cmdD(i + 8).Caption = “ON” Then tmp = tmp + (2 ^ i) Next i 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(Index) ã´æ â»Ãá¡ÃÁ¨ÐµÃǨÊÍºÇ Ò Caption ¢Í§»ØÁ ¹Ñ¹é à» ¹¤íÒÇ Ò ON ËÃ×Í OFF áÅзíÒ¡ÒáÅѺ Caption ãË à» ¹¤íҵç¡Ñ¹¢ ÒÁ ¨Ò¡¹Ñ¹é ¨ÐµÃǨÊͺ Caption ¢Í§áµ ÅлØÁ ·Õ¡è ÅØÁ OUTH à¾×Íè Í Ò¹¤ Òáµ ÅкԵ áÅ Çá»Å§¤ ÒãË à» ¹àÅ¢°Ò¹ÊԺˡáÊ´§ã¹ª ͧ txtOutH áÅÐÊ §¤ ÒÍÍ¡ä»ãË ¾Íà µ SHIFT IN º¹ºÍà ´ EX-09 àÁ×Íè Ê §¤Ãº 8 ºÔµ â»Ãá¡ÃÁ¨Ð ·íÒ§Ò¹¡Ñº¡ÅØÁ OUTL àËÁ×͹¡Ñº¡ÅØÁ OUTH àÁ×Íè Ê §¤Ãº·Ñ§é 16 ºÔµáŠǨÐÊ §ÊÑ­­Ò³áŵ« ÍÍ¡ä» àÍÒµ ¾µØ ¤ Òà´ÔÁ¨Ð¶Ù¡·´á·¹â´Â¤ ÒàÍÒµ ¾µØ ãËÁ ·ÊÕè § ÍÍ¡ä» ÊíÒËÃѺÃÒÂÅÐàÍÕ´·Ñé§ËÁ´¢Í§â»Ãá¡ÃÁ·´Åͧ¹Õé´Ùä´ ¨Ò¡ä¿Å LAB13B.VBP ÃÙ»·Õè P13-2 ˹ ҵҢͧ¿Íà Á·ÕÊè à ҧ¢Ö¹é ¨Ò¡ â»Ãá¡ÃÁ·´Åͧ LAB13B.VBP ´ Ç¡ÒÃ㪠෤¹Ô¤¡ÒÃÊà ҧ¤Í¹â·ÃÅ Array

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 127


¡Ò÷´Åͧ·Õè 14 ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ¼Ò ¹ºÍà ´ EX-09 à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 2. EX-05 ºÍà ´¢ÑºÊàµç»à»Íà ÁÍàµÍà 1 á¼ ¹ 3. EX-09 ºÍà ´¢ÂÒ¾Íà µàÍÒµ ¾µØ Ẻ«Ô§â¤Ã¹ÑÊ 1 á¼ ¹ 4. Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾ÅÒà ¢¹Ò´ 12V 100Ω 7.5 ͧÈÒµ ÍÊàµç» 1 µÑÇ 5. áËÅ §¨ ÒÂ俵ç +12V 2A ËÃ×ÍÁÒ¡¡Ç Ò 1 à¤Ã×Íè § 6. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 7. ÊÒÂàª×Íè Áµ Í IDC-10 3 àÊ ¹

¡Ò÷´Åͧ 14.1 µ ÍÊÒ¨ҡ¤Í¹à¹ç¡àµÍà OUTL ¢Í§ºÍà ´ EX-09 ä»Âѧ¤Í¹à¹ç¡àµÍà DATA BUS ¢Í§ºÍà ´ EX-05 áŠǵ ÍÁÍàµÍà áÅÐáËÅ §¨ ÒÂä¿ãË ¶¡Ù µ ͧ 14.2 Êà ҧâ»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà â´Â¡ÒÃÇÒ§¤Í¹â·ÃÅ µÑ§é ª×Íè áÅСíÒ˹´¤ ҤسÊÁºÑµÔ ´Ñ§ÃÙ»·Õè P14-1 14.3 ËÅÑ¡¡Òâͧ¡Ò÷íÒ§Ò¹â»Ãá¡ÃÁ¹Õé ¨Ð·íÒ¡ÒÃǹÅÙ»àÁ×Íè à¡Ô´à˵ءÒó cmdRun_click à¾×Íè ¤Çº¤ØÁÁÍàµÍà â´Â¨Ð㪠µÇÑ á»Ã㹡ÒáíÒ˹´ÅѡɳСÒâѺáÅеÑÇá»ÃÊíÒËÃѺ¡ÒÃǹÅٻ໠¹ ª¹Ô´ boolean »ÃСÒȵÑÇá»Ã·ÕÊè Ç ¹ General Declare ´Ñ§¹Õé Dim flgRun As Boolean Dim flgLeft As Boolean, flgRight As Boolean, flgFree As Boolean, flgBreak As Boolean Name

hsc

Max

4

Min

1

LargeChange

5

SmallChange

1

Value

100

ÃÙ»·Õè P14-1 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà ·ãÕè ª 㹡Ò÷´Åͧ¹Õé ÊÒÁÒö ·´ÅͧáÅдÙÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁä´ ¨Ò¡ä¿Å LAB14A.VBP àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 128


Êà ҧâ»Ãá¡ÃÁ ÍÂÊíÒËÃѺ¡ÒÃà»ÅÕè¹ÅѡɳСÒâѺ·Õèà˵ءÒó cmdFree_Click, cmdBreak_Click, cmdLeft_Click áÅÐ cmdRight_Click ´Ñ§¹Õé Private Sub cmdBreak_Click() flgLeft = False flgRight = False flgBreak = True flgFree = False End Sub Private Sub cmdFree_Click() flgLeft = False flgRight = False flgBreak = False flgFree = True End Sub Private Sub cmdLeft_Click() flgLeft = True flgRight = False flgBreak = False flgFree = False End Sub Private Sub cmdRight_Click() flgLeft = False flgRight = True flgBreak = False flgFree = False End Sub

14.4 Êà ҧâ»Ãá¡ÃÁ ÍÂÊíÒËÃѺ¡ÒÃ˹ ǧàÇÅÒâ´Â㪠¤Ò ¨Ò¡ hsc áÅСÒÃÊ §¢ ÍÁÙŷѧé 16 ºÔµ Private Sub Delay() Dim a As Single a = Timer Do While Timer < a + (hsc.Value / 100) DoEvents Loop End Sub Private Sub Shift16Bit(Optional ByVal OutH As Byte = 0, Optional ByVal OutL As Byte = 0) Shift8Bit OutH Shift8Bit OutL LE End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 129


14.5 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdRun_Click áÅÐ Form__Unload ´Ñ§¹Õé Private Sub cmdRun_Click() If flgRun Then flgRun = False cmdRun.Caption = “Run” Exit Sub Else flgRun = True cmdRun.Caption = “Stop” End If Do While flgRun If flgLeft Then Shift16Bit 0, 8 Delay Shift16Bit 0, 4 Delay Shift16Bit 0, 2 Delay Shift16Bit 0, 1 Delay ElseIf flgRight Then Shift16Bit 0, 1 Delay Shift16Bit 0, 2 Delay Shift16Bit 0, 4 Delay Shift16Bit 0, 8 Delay ElseIf flgBreak Then Shift16Bit 0, 3 Delay ElseIf flgFree Then Shift16Bit 0, 0 Delay End If Loop End Sub Private Sub Form_Unload(Cancel As Integer) Shift16Bit 0, 0 ‘ Release Motor End End Sub

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 130


14.6 Ãѹâ»Ãá¡ÃÁ àÁ×Íè ¤ÅÔ¡é »ØÁ Run ¨ÐàËç¹Ç ÒÁÍàµÍà äÁ ·Òí §Ò¹à¹×Íè §¨Ò¡ µÑÇá»Ã·Õ¡è Òí ˹´ÅѡɳР¡ÒâѺÁÍàµÍà ·¡Ø µÑÇÁÕ¤Ò àÃÔÁè µ ¹à» ¹ False ¨Ö§äÁ Á¡Õ ÒÃÊ §¢ ÍÁÙÅ à¾ÔÁè ⤠´·Õàè ˵ءÒó Form_Load ãË ¡íÒ˹´·ÔÈ·Ò§àÃÔèÁµ ¹ flgLeft = True

µÑÇÍ ҧâ»Ãá¡ÃÁ¹Õ´é ·Ù äÕè ¿Å LAB14A.VBP ¨Ò¡«Íà Êâ»Ãá¡ÃÁ ÊÑ§à¡µä´ ÇÒ ·Ø¡¤ÃÑ§é ·ÕÊè § ¢ ÍÁÙÅ令Ǻ¤ØÁÁÍàµÍà ¤ Ò·Õ¾è Íà µ OUTH à» ¹ 0 ¶ Ò·Õè¾Íà µ OUTH ÁÕÍØ»¡Ã³ ã´µ ÍÍÂÙ ã¹â»Ãá¡ÃÁÊÒÁÒöá·Ã¡¤ ÒÊíÒËÃѺ¤Çº¤ØÁÍØ»¡Ã³ µÑǹÑé¹ä´ 㹡ÒÃÊ §¤ Ò¤ÃÑé§à´ÕÂÇ «Öè§ã¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ðµ ͧÁÕ¡ÒäíҹdzËÃ×Í¡íÒ˹´¤ Ңͧ ¾Íà µ OUTH áÅÐ OUTL äÇ ÅÇ §Ë¹ Ò¡ Í¹Ê §¢ ÍÁÙÅä» «Ö§è ¨ÐáÊ´§ãË àËç¹ã¹¡Ò÷´Åͧµ Íä»

¡Ò÷´Åͧ¢ÑºÊàµç»à»Íà ÁÍàµÍà ¾Ã ÍÁ¡Ñº¢Ñº LED ¼ Ò¹ºÍà ´ EX-09 14.7 à¾ÔÁè ¤Í¹â·ÃÅáÅФ͹â·ÃÅ Array ´Ñ§ÃÙ»·Õè P14-2 â´Â¡íÒ˹´ãË »ÁØ cmdD ÁÕ Index µÑ§é áµ 8 - 15 14.8 »ÃСÒȵÑÇá»ÃÊíÒËÃѺà¡çº¤ Ò¾Íà µ OUTH áÅÐ OUTL ·ÕÊè Ç ¹ General Declaration Dim OutH As Byte, OutL As Byte

14.9 á¡ ä¢â»Ãá¡ÃÁ·Õàè ˵ءÒó cmdRun_Click ãË Ê§ ʶҹТͧ¾Íà µ OUTH á·¹¤ Ò 0 áÅÐÁÕ ¡ÒÃà¡çºÊ¶Ò¹Ð¢Í§¾Íà µ OUTL ËÅѧ¨Ò¡Ê §¢ ÍÁÙÅÍ͡仢ѺÁÍàµÍà µÑÇÍ ҧºÒ§Ê ǹáÊ´§ä´ ´Ñ§¹Õé Shift16Bit OutH, 1 OutL = 1 Delay Shift16Bit OutH, 2 OutL = 2 Delay ....

ÃÙ»·Õè P14-2 ˹ Òµ Ò§¢Í§â»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà ¾Ã ÍÁ¡Ñº LED ·Õãè ª 㹡Ò÷´Åͧ ¹Õé ÊÒÁÒö·´ÅͧáÅдÙÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁä´ ¨Ò¡ä¿Å LAB14B.VBP àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 131


14.10 à¢Õ¹â»Ãá¡ÃÁ·Õàè ˵ءÒó cmdD_Click áÅÐ cmdReset_Click ´Ñ§¹Õé Private Sub cmdD_Click(Index As Integer) Dim i As Integer Dim tmp As Byte If cmdD(Index).Caption = “OFF” Then cmdD(Index).Caption = “ON” Else cmdD(Index).Caption = “OFF” End If tmp = 0 For i = 0 To 7 If cmdD(i + 8).Caption = “ON” Then tmp = tmp + (2 ^ i) Next i txtOutH.Text = Hex(tmp) OutH = tmp Shift16Bit OutH, OutL End Sub Private Sub cmdReset_Click() Dim i As Byte For i = 8 To 15 cmdD(i).Caption = “OFF” Next i txtOutH.Text = 0 OutH = 0 Shift16Bit OutH, OutL End Sub

14.11 Ãѹâ»Ãá¡ÃÁ ÊÑè§ãË ÁÍàµÍà ËÁع áÅÐà» ´» ´ LED ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¨Ð㪠µÑÇá»Ã OUTH áÅÐ OUTL à¡çºÊ¶Ò¹Ð¢Í§¾Íà µäÇ ·¡Ø ¤ÃÑ§é ·ÕÁè ¡Õ ÒÃà»ÅÕÂè ¹á»Å§ àÁ×Íè ÁÕ¡ÒÃÊ §¢ ÍÁÙÅ¡ç¨Ð¹íÒ ¤ ÒʶҹШҡµÑÇá»Ã·Ñ§é ÊÍ§Ê §ÍÍ¡ä»´ Ç ʶҹзվè Íà µ·Ñ§é Êͧ¨Ö§¶Ù¡µ ͧ 㹡ÒÃ㪠§Ò¹ÊÒÁÒö ¹íÒÇÔ¸¡Õ ÒÃà¡çºáÅÐÊ §¢ ÍÁÙÅä»»ÃÐÂØ¡µ 㪠¡ºÑ Ãкºµ Ò§æ ä´ àª ¹¡Ñ¹ ÊíÒËÃѺÃÒÂÅÐàÍÕ´·Ñé§ËÁ´¢Í§â»Ãá¡ÃÁ·´Åͧ¹Õé´Ùä´ ¨Ò¡ä¿Å LAB14B.VBP

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 132


º··Õè 11

¾Íà µ¢¹Ò¹¡Ñº¡ÒÃÇÑ´ÍسËÀÙÁÔ ¼ Ò¹ÃкººÑÊ I2C ¡ÒÃàª×èÍÁµ ;Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà ¡ÑºÊÑ­­Ò³ËÃ×Í»ÃÔÁÒ³·Ò§¿ ÊÔ¡Ê à» ¹ÊÔ觷Õè ä´ ÃºÑ ¤ÇÒÁʹã¨Í ҧÁÒ¡ ¹Í¡à˹×Í仨ҡáç´Ñ¹ä¿¿ Ò·Õäè ´ ¡Å ÒǶ֧ä»áÅ Ç¡ ͹˹ Ò¹Õé »ÃÔÁÒ³·Ò§ ¿ Ê¡Ô Ê Í¡Õ µÑÇË¹Ö§è ·Õ¹è Ò Ê¹ã¨¤×Í ÍسËÀÙÁÔ áÅд ǤÇÒÁ¡ ÒÇ˹ Ò㹡ÒþѲ¹ÒÍØ»¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ·íÒãË Á¡Õ ÒüÅÔµÍØ»¡Ã³ ¨Òí ¾Ç¡µÑǵÃǨ¨ÑºÍسËÀÙÁÍÔ Í¡ÁÒãË ãª §Ò¹¡Ñ¹ËÅÒÂÃٻẺ ઠ¹ à·Íà ÁÊÔ àµÍà (thermister) ËÃ×Í µÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁÍسËÀÙÁÔ à» ¹ÍØ»¡Ã³ µÇÑ µÃǨ ¨ÑºÍسËÀÙÁ¾Ô ¹×é °Ò¹ ·Õè ³ ÍسËÀÙÁËÔ Í §¨ÐÁÕ¤Ò ¤ÇÒÁµ Ò¹·Ò¹ä¿¿ Ò¤ Ò˹֧è àÁ×Íè ÍسËÀÙÁÃÔ ÍºµÑÇà·Íà ÁÔÊàµÍà à¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§ ¤ Ò¤ÇÒÁµ Ò¹·Ò¹ä¿¿ ҢͧÁѹ¨Ðà»ÅÕÂè ¹á»Å§µÒÁä»´ Ç «Ö§è ¨ÐÁÕ·§Ñé Ẻà¾ÔÁè ¤ ÒàÁ×Íè ÍسËÀÙÁÊÔ §Ù ¢Ö¹é (PTC : Positive temperature co-efficient) áÅÐẺŴ¤ ÒàÁ×Íè ÍسËÀÙÁÔ ÊÙ§¢Ö¹é (NTC : Negative temperature co-efficient) 㹡ÒÃ㪠§Ò¹µÑǵÃǨ¨Ñºáºº¹Õµé Í §ÁÕ¡Òõ Í Ç§¨ÃÍÔàÅç¡·ÃÍ¹Ô¡Ê ªÇ  à¾×Íè à»ÅÕÂè ¹¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò¤ÇÒÁµ Ò¹·Ò¹à» ¹áç´Ñ¹ä¿¿ Ò áÅ ÇÊ §µ Í ä»Âѧǧ¨Ãá»Å§áç´Ñ¹à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅà¾×Íè Ê §à¢ ÒÊÙ¾ Íà µ¢¹Ò¹µ Íä» ´Ñ§áÊ´§ä´ÍÐá¡ÃÁ㹡Òà ·íÒ§Ò¹ã¹ÃÙ»·Õè 11-1 (¡) µÑǵÃǨ¨Ñºáºº¹Õ¨é ж١ú¡Ç¹ä´ §Ò  ᵠ¢Í ´Õ¤Í× ÃÒ¤Ò¶Ù¡áÅÐÊÒÁÒö »ÃÐÂØ¡µ ãË ãª Ç´Ñ ÍسËÀÙÁäÔ ´ ÂÒ ¹¡Ç Ò§ÁÒ¡ à·Íà âÁ¤Ñ»à» Å (thermocouple) à» ¹µÑǵÃǨ¨Ñº·ÕÁè àÕ Ê¶ÕÂÃÀҾ㹡Ò÷íÒ§Ò¹ÊÙ§ áÅйÔÂÁ 㪠㹧ҹÍصÊÒË¡ÃÃÁ ÁÕÂÒ ¹ÇÑ´ÍسÀÙÁ·Ô ÊÕè §Ù áÅÐ¡Ç Ò§¡Ç Òà·Íà ÁÊÔ àµÍà ÁÒ¡ áÅСÒùíÒä»ãª §Ò¹µ ͧ ÃÐÁÑ´ÃÐÇѧÍ ҧÁҡ㹨شàª×Íè Áµ ͧ͢µÑǵÃǨ¨Ñº¡ÑºÊÒÂÊÑ­­Ò³ µÑǵÃǨ¨Ñºáºº¹Õµé Í §¡ÒÃǧ¨Ã »ÃѺÊÑ­­Ò³ËÃ×Í signal condition à¾×Íè ¢ÂÒÂÃдѺáÅСíÒ˹´ÍѵÃÒ¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§áç´Ñ¹ àÁ×Íè à·Õº¡ÑºÍسËÀÙÁÔ áÅ ÇÊ §ä»Âѧǧ¨Ãá»Å§áç´Ñ¹à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅà¾×Íè »ÃÐÁÇżŵ Íä» äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ººãË ¼Åà» ¹áç´Ñ¹ à» ¹ÍØ»¡Ã³ ·ÊÕè à ҧ¢Ö¹é ¾ÔàÈÉ â´Âã¹µÑǢͧÁѹÁÕÊÇ ¹ µÃǨ¨ÑºÍسËÀÙÁáÔ Å Çà»ÅÕÂè ¹¤ ÒÍسËÀÙÁ¹Ô ¹Ñé Ê §à» ¹áç´Ñ¹ä¿¿ ÒÍÍ¡ÁÒ â´Â»¡µÔ¨ÐÃдѺ¤ ͹¢ Ò§µèÒí áÅÐÁÕÍѵÃÒ¡ÒÃà»ÅÕè¹á»Å§áç´Ñ¹à·Õº¡ÑºÍسËÀÙÁÔ·Ñé§áººà» ¹àªÔ§àÊ ¹áÅÐẺÅÍ¡ÒÃÔ¸ÖèÁ áÅÐ à·Õºã¹Ë¹ ÇÂÁÔÅÅÔâÇŵ µÍ ͧÈÒà«Åà«ÕÂÊ (mV/ðC) ËÃ×ÍÁÔÅÅÔâÇŵ µÍ à¤ÅÇÔ¹ (mV/K) µÑǵÃǨ ¨¨Ñºáºº¹ÕÁé àÕ Ê¶ÕÂÃÀÒ¾¡Ò÷íÒ§Ò¹·Õ´è ¡Õ Ç Òà·Íà ÁÊÔ àµÍà ᵠÃÒ¤Òᾧ¡Ç ÒÁÒ¡ áÅÐÂѧ¤§µ ͧ㪠ǧ¨Ã ¢ÂÒÂáç´Ñ¹áÅÐà»ÅÕÂè ¹áç´Ñ¹à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅà¾×Íè Ê §à¢ ÒÊÙ¾ Íà µ¢¹Ò¹¢Í§¤ÍÁ¾ÔÇàµÍà àËÁ×͹¡Ñ¹ ã¹ÃÙ»·Õè 11-1 (¢) áÊ´§¡Ò÷íÒ§Ò¹¢Í§µÑǵÃǨ¨Ñºáºº¹Õé àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 129


à·Íà ÁÊÔ àµÍÃ

ǧ¨Ãà»ÅÕÂè ¹ ¤ Ò¤ÇÒÁµ Ò¹·Ò¹ à» ¹áç´Ñ¹ä¿¿ Ò

T

ǧ¨Ãá»Å§áç´Ñ¹ ä¿¿ Òà» ¹¢ ÍÁÙÅ ´Ô¨µÔ ÍÅ

Ê §ä»Âѧ¾Íà µ¢Í§¤ÍÁ¾ÔÇàµÍÃ

ǧ¨Ãá»Å§áç´Ñ¹ ä¿¿ Òà» ¹¢ ÍÁÙÅ ´Ô¨µÔ ÍÅ

Ê §ä»Âѧ¾Íà µ¢Í§¤ÍÁ¾ÔÇàµÍÃ

(¡) +V Vout

äÍ«ÕÇ´Ñ ÍسËÀÙÁÔ àª ¹ LM34, LM335

GND

ǧ¨Ã»ÃѺʶҹРËÃ×Í signal condition

(¢) +V

äÍ«ÕÇ´Ñ ÍسËÀÙÁÔ áºº´Ô¨µÔ ÍÅ

Dout GND

ǧ¨Ã¨Ñ´¡Òâ ÍÁÙÅáÅÐàª×Íè Áµ ͡Ѻ ¾Íà µ¢Í§¤ÍÁ¾ÔÇàµÍà ÍÒ·Ô Ç§¨Ãàª×Íè Áµ ÍÃкººÑÊ I C

Ê §ä»Âѧ¾Íà µ¢Í§¤ÍÁ¾ÔÇàµÍÃ

(¤)

ÃÙ»·Õè 11-1 ¡Ò÷íÒ§Ò¹àº×Íé §µ ¹¢Í§µÑǵÃǨ¨ÑºÍسËÀÙÁáÔ ººµ Ò§æ à¾×Íè Ê §¤ ÒÁÒÂѧ¾Íà µ¢¹Ò¹ (¡) à·Íà ÁÊÔ àµÍà (¢) äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ººãË ¼Åà» ¹áç´Ñ¹ (¤) äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ººãË ¼Åà» ¹¢ ÍÁÙÅ ËÃ×ÍàÃÕÂ¡Ç Ò äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ à» ¹µÑǵÃǨ ¨Ñº·Õ©è ÅÒ´ÁÒ¡¢Ö¹é â´ÂµÑǵÃǨ¨Ñºáºº¹Õ¨é ÐãË ¤Ò ¢Í§ÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ ÍÍ¡ÁÒà» ¹¢ ÍÁÙÅ´Ô¨µÔ Íŷѹ·Õ äÁ µÍ §ãª Í»Ø ¡Ã³ ËÃ×Íǧ¨Ãµ ; ǧÀÒ¹͡ à¾Õ§ᵠ¡ÒõԴµ ͡ѺµÑǵÃǨ¨Ñºáºº¹Õ¨é е ͧ㪠¡Òà Ê×Íè ÊÒâ ÍÁÙÅẺ͹ءÃÁࢠҪ Ç ·íÒãË µÍ §ãª Í»Ø ¡Ã³ ¨Òí ¾Ç¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ËÃ×ͤÍÁ¾ÔÇàµÍà ÁÒµÔ´µ Íà¾×Íè Í Ò¹¢ ÍÁÙÅÍÍ¡¨Ò¡µÑǵÃǨ¨Ñº ´Ñ§¹Ñ¹é ËÒ¡µ ͧ¡ÒÃÇÑ´ÍسËÀÙÁáÔ Å ÇÊ §¢ ÍÁÙÅ¡ÅѺÁÒÂѧ ¤ÍÁ¾ÔÇàµÍà µÑǵÃǨ¨Ñºáºº¹Õé¹ Ò¨ÐàËÁÒÐÊÁ·ÕèÊØ´ ËÒ¡áµ µÑǵÃǨ¨Ñºáºº¹ÕéÁÕÃÒ¤Ò¤ ͹¢ Ò§ÊÙ§ áÅÐäÁ ÊÒÁÒö»ÃѺᵠ§ª´àªÂä´ ã¹ÃÙ»·Õè 11-1 (¤) áÊ´§¡Ò÷íÒ§Ò¹¢Í§µÑǵÃǨ¨Ñºáºº¹Õé ´Ñ§¹Ñé¹á¹Ç·Ò§¡ÒÃ㪠¤ÍÁ¾ÔÇàµÍà à¾×èÍÇÑ´¤ ÒÍسËÀÙÁÔã¹ÅѡɳзÕèÁÕ¤ÇÒÁ«Ñº« ͹¹ Í·ÕèÊØ´ ÊíÒËÃѺ¹Ñ¡·´Åͧ ¨Ö§àÅ×͡㪠äÍ«ÕµÃǨ¨ÑºÍسËÀÙÁáÔ ººãË ¼Åà» ¹¢ ÍÁÙÅ ·Ñ§é ¹Õàé ¾×Íè Å´¢Ñ¹é µÍ¹ã¹¡Òà Êà ҧǧ¨Ã»ÃѺÊÑ­­Ò³áÅÐǧ¨Ãá»Å§ÊÑ­­Ò³ÍйÒÅÍ¡à» ¹´Ô¨ÔµÍÅ äÍ«Õ·ÕèàÅ×͡㪠¤×ÍàºÍà DS1621 «Ö§è 㪠¡ÒõԴµ ͼ Ò¹ÃкººÑÊ I2C àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 130


¢Ò·Õè ª×Íè ¢Ò 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

ÃÙ»·Õè 11-2 ¡ÒèѴ¢ÒáÅСÒ÷íÒ§Ò¹¢Í§ DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ

DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ ¼Ù¼ ÅÔµ¤×Í Dallas Semiconductor à» ¹äÍ«ÕÇ´Ñ ÍسËÀÙÁ·Ô ãÕè ª ¡ÒõԴµ ͼ Ò¹ÃкººÑÊ I2C ã¹ ÃÙ»·Õè 11-2 áÊ´§¡ÒèѴ¢ÒáÅÐ˹ Ò·Õ¢è ͧᵠÅТҢͧäÍ«Õ DS1621 ÊíÒËÃѺ¤Ø³ÊÁºÑµ·Ô ÊÕè Òí ¤Ñ­¢Í§ DS1621 ÁÕ´§Ñ ¹Õé ÊÒÁÒöÇÑ´ÍسËÀÙÁäÔ ´ µ§Ñé áµ -55ðC ¶Ö§ +125ðC â´ÂÁÕ¤ÇÒÁÅÐàÍÕ´㹡ÒÃÇÑ´ 0.5ðC à·Õº໠¹Ë¹ Ç¢ͧ¿Òàùäε ä´ à· Ò¡Ñº -67ðF ¶Ö§ +257ðF ¤ÇÒÁÅÐàÍÕ´ 0.9ðF â´ÂäÁ µÍ §ãª ÍØ»¡Ã³ µ Íà ÇÁÀÒ¹͡ l

l

¤ÇÒÁÅÐàÍÕ´¢Í§¢ ÍÁÙÅÍسËÀÙÁ´Ô ¨Ô µÔ ÍÅ 9 ºÔµ

l

㪠ä¿àÅÕÂé §ä´ µ§Ñé áµ 2.7-5.5V

l

㪠àÇÅÒ㹡ÒÃÇÑ´ÍسËÀÙÁáÔ Å Çá»Å§à» ¹¢ ÍÁÙÅ´Ô¨µÔ ÍÅ 1 ÇÔ¹Ò·Õ

l

ÊÒÁÒö·íҧҹ໠¹à·Íà âÁʵѵ (thermostat) ä´ ¾Ã ÍÁ¢ÒàÍÒµ ¾µØ 1 ¢Ò

ÊÒÁÒöµÑ§é ¤ ÒÍسËÀÙÁ·Ô µÕè Í §¡ÒÃàÁ×Íè ·íҧҹ໠¹à·Íà âÁÊµÑµä´ â´ÂµÔ´µ ͼ Ò¹ÃкººÑÊ I2C áÅФ Ò·Õ¡è Òí ˹´¹Õ¨é Ф§ÍÂÙµ ÅÍ´ä» áÁ »Å´ä¿àÅÕÂé §áÅ Ç¡çµÒÁ ÊÒÁÒöà»ÅÕÂè ¹á»Å§ä´ â´Â¡Òà ¡íÒ˹´·Ò§«Í¿µ áÇà ෠ҹÑé¹ l

l

ÊÒÁÒöµ ; ǧ¡Ñ¹ä´ ʧ٠ÊØ´ 8 µÑÇ

¡Ò÷íÒ§Ò¹¢Í§ DS1621 ã¹ÃÙ»·Õè 11-3 áÊ´§¼Ñ§¡Ò÷íÒ§Ò¹ÃÇÁ¢Í§ DS1621 ËÑÇã¨ÊíҤѭÍÂÙ· ÊÕè Ç ¹ÇÑ´ÍسËÀÙÁÔ àÁ×Íè DS1621 àÃÔÁè ·íÒ§Ò¹ ¨Ð·íÒ¡ÒÃÇÑ´ÍسËÀÙÁÔ â´ÂÀÒÂã¹äÍ«Õ¨ÐÁÕµÇÑ µÃǨ¨ÑºÍسËÀÙÁºÔ ÃèØÍÂÙ ¼Å¡Òà àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 131


ÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁáÅÐáÊ´§Ê¶Ò¹Ð SCL SDA

A0 A1 A2

Ê Ç¹¡íÒ˹´ áÍ´à´ÃÊ áÅФǺ¤ØÁ ¢ÒÍÔ¹¾ØµàÍÒµ ¾µØ

µÑǵÃǨÇÑ´ÍسËÀÙÁÔ ¨Ø´·ÃÔ¡ÍسËÀÙÁÊÔ §Ù (TH) ¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí (TL)

Ê Ç¹à»ÃÕºà·Õº¢ ÍÁÙÅ´Ô¨µÔ ÍÅ

TOUT

ÃÙ»·Õè 11-3 ¼Ñ§¡Ò÷íÒ§Ò¹àº×Íé §µ ¹â´ÂÃÇÁ¢Í§ DS1621 äÍ«ÕÇ´Ñ ÍسËÀÙÁáÔ ºº´Ô¨µÔ ÍÅ ÇÑ´¨ÐÊ §µ Íä»ÂÑ§Ê Ç¹¨Ñ´¡ÒÃáÍ´à´ÃÊáÅФǺ¤ØÁÍÔ¹¾ØµàÍÒµ ¾µØ ã¹Ê ǹ¹Õ¹é Òí ¢ ÍÁÙÅÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ Ê §µ Íä»ÂѧºÑʼ Ò¹·Ò§¢Ò SDA â´Âä´ ÃºÑ ¡ÒáíÒ˹´¨Ñ§ËÇСÒ÷íÒ§Ò¹¨Ò¡Ê ǹÃÕ¨ÊÔ àµÍà ¤Çº¤ØÁáÅÐ áÊ´§Ê¶Ò¹Ð ËÒ¡ÁÕ¡ÒáíÒ˹´ãË ·Òí §Ò¹ã¹âËÁ´à·Íà âÁʵѵ ¢ ÍÁÙÅ¡ÒÃÇÑ´¶Ù¡Ê §ä»à»ÃÕºà·Õº¡Ñº ¨Ø´¡Ãеع ·Ò§ÊÙ§áÅеèÒí ·ÕÊè Ç ¹à»ÃÕºà·Õº¢ ÍÁÙÅ´Ô¨µÔ ÍÅ ¼Å¡ÒÃà»ÃÕºà·Õº¨ÐÊ §ÍÍ¡·Ò§¢Ò TOUT à¹×Íè §¨Ò¡ DS1621 ÁÕ¢Ò¡íÒ˹´áÍ´à´ÃÊ 3 ¢Ò¤×Í A2-A0 ¨Ö§·íÒãË ÊÒÁÒöµ ; ǧ DS1621 ä´ Ê§Ù ÊØ´ 8 µÑÇ â´Âáµ ÅеÑǵ ͧ¡íÒ˹´Ê¶Ò¹ÐÅͨԡ·Õ¢è ÒáÍ´à´Ãʷѧé ÊÒÁãË áµ¡µ Ò§¡Ñ¹ Ê Ç¹¨Ñ´¡Òà áÍ´à´ÃÊáÅФǺ¤ØÁÍÔ¹¾ØµàÍÒµ ¾µØ ¢Í§ DS1621 áµ ÅеÑǨÐà» ¹µÑǨѴ¡ÒÃÊ §¢ ÍÁÙŵÒÁ·ÕÍè »Ø ¡Ã³ ÁÒÊàµÍà à ͧ¢Í ¤ ҢͧÍسËÀÙÁÔ·ÕèÇÑ´ä´ ¶Ù¡à¡çºÍÂÙ ÃÙ»¢Í§ ¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ ¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ ¢ ÍÁÙÅàÅ¢°Ò¹Êͧ¢¹Ò´ 9 ºÔµ ´Ñ§áÊ´§µÑÇÍ ҧ ÍسËÀÙÁÔ (àÅ¢°Ò¹Êͧ) (àÅ¢°Ò¹ÊԺˡ) ã¹µÒÃÒ§·Õè 11-1 ¢ ÍÁÙÅ´Ô¨µÔ ÍÅàÍÒµ ¾µØ ¨ÐẠ§ ð 7B00H +125 C 01111101 00000000 ð à» ¹ 2 Ê Ç¹ 8 ºÔµº¹ËÃ× Í亵 ÊÙ § ¨Ðà» ¹ ¤ Ò 00011001 00000000 1900H +25 C ð 00000001 00000000 0080H +0.5 C ÍسËÀÙÁÔ¨íҹǹàµçÁ â´ÂºÔµ MSB ¨Ðà» ¹µÑÇ ð 00000000 00000000 0000H 0 C áÊ´§à¤Ã×èͧËÁÒÂÇ Ò ÍسËÀÙÁÔà» ¹ºÇ¡ËÃ×Íź ð 11111111 10000000 FF80H -0.5 C ð ËÒ¡ºÔµ MSB à» ¹ 1 áÊ´Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ 11100111 00000000 E700H -25 C ð 11001001 00000000 C900H -55 C ÁÕ¤Ò à» ¹Åº ã¹¢³Ð·Õè 8 ºÔµÅ Ò§ËÃ×Í亵 ÅÒ §¨Ð ¹ºÔµáÊ´§¤ Ò¤ÇÒÁÅÐ µÒÃÒ§·Õè 11-1 áÊ´§ÃٻẺ¢ ÍÁÙÅ´Ô¨µÔ ÍÅ ÁÕ㪠§Ò¹à¾Õ§ºÔµà´ÕÂǨÐà» ð µÑÇÍ ҧ¢Í§ÍسËÀÙÁÔ·ÕèÇÑ´ä´ ¨Ò¡ DS1621 àÍÕ´ «Ö§è ෠ҡѺ 0.5 C àÁ×èÍÊÑè§ãË DS1621 Ê §¢ ÍÁÙÅÍسËÀÙÁÔ ¨ÐàËç¹ä´ ÇÒ ¢ ÍÁÙÅÍسËÀÙÁÍÔ ÂÙ· Õè 8 ºÔµº¹ Ê Ç¹ ÍÍ¡ÁÒ DS1621 ¨Ð㪠àÇÅÒäÁ à¡Ô¹ 1 ÇÔ¹Ò·Õ ¨Ö§¨Ð 8 ºÔµÅ Ò§áÊ´§¤ Ò¤ÇÒÁÅÐàÍÕ´ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 132


Ê §¢ ÍÁÙÅÍÍ¡ÁÒ ´Ñ§¹Ñ¹é 㹡ÒäǺ¤ØÁ¡Ò÷íÒ§Ò¹¨Ö§µ ͧÁÕ¡ÒÃ˹ ǧàÇÅÒ à¾×Íè ÃÍãË DS1621 ÇÑ´áÅÐ á»Å§¤ ÒÍÍ¡ÁÒà» ¹¢ ÍÁÙÅãË àÃÕºà ÍÂàÊÕ¡ ͹

¡Ò÷íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ ¹Í¡¨Ò¡ÇÑ´ÍسËÀÙÁáÔ Å Ç DS1621 ÂѧÊÒÁÒö·íÒ§Ò¹ã¹áººà·Íà âÁʵѵËÃ×ÍãË àÍÒµ ¾µØ àÁ×Íè ÍسËÀÙÁµÔ Òèí ËÃ×ÍÊÙ§¶Ö§¨Ø´·Õ¡è Òí ˹´äÇ â´Â¼Ùã ª §Ò¹ÊÒÁÒöâ»Ãá¡ÃÁä´ µÒÁµ ͧ¡ÒÃáÅФ Ò·Õâè »Ãá¡ÃÁ ¹Õ¨é ÐÍÂÙµ Åʹ仨¹¡Ç Ò¨ÐÁÕ¡ÒÃá¡ ä¢áÁ ÇÒ ¨ÐµÑ´ä¿àÅÕÂé §ä»áÅ Ç¡çµÒÁ ¼Ùã ª §Ò¹µ ͧ¡íÒ˹´¤ Ңͧ¨Ø´ ·ÃÔ¡ÍسËÀÙÁÊÔ §Ù (high temperature trigger : TH) áÅÐ ¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí (low temperature trigger :TL) áÅÐàÅ×Í¡ÊÑ­­Ò³áÍ¡µÕ¿Ç Ò àÁ×Íè ÍسËÀÙÁÊÔ §Ù ÁÒ¶Ö§¨Ø´·Õ¡è Òí ˹´¨ÐãË ¢ÒàÍÒµ ¾µØ TOUT Ê §ÊÑ­­Ò³ÅͨԡẺã´ÍÍ¡ä» ÊÒÁÒöàÅ×Í¡ä´ 2 Ẻ¤×Í Åͨԡ 0 ËÃ×Í 1 àÁ×Íè ¡íÒ˹´¤ ÒàÃÕºà ÍÂáÅ Ç DS1621 ¨ÐÇÑ´ÍسËÀÙÁäÔ »àÃ×Íè Âæ ¨¹¡Ãзѧè àÁ×Íè ÍسËÀÙÁÊÔ §Ù ¨¹ ¶Ö§¨Ø´ TH ¢Ò TOUT ¡ç¨ÐáÍ¡µÕ¿·Ñ¹·Õ áÅÐáÍ¡µÕ¿¤ Ò§ÍÂÙà ª ¹¹Ñ¹é ¨¹¡Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ Å´µèÒí ŧ ¡Ç Ҩش TL ´Ñ§¹Ñ¹é ¡ÒáíÒ˹´¤ Ңͧ TH áÅÐ TL ¨Ö§ÊíҤѭÁÒ¡ ËÒ¡¡íÒ˹´äÇ á¤ºËÃ×ÍÁÕ¤ÇÒÁ TOUT "1" t

"0"

ÍسËÀÙÁÔ

¤ ÒÇÑ´ä´ ¨Ò¡ DS1621

TH

TL t1

t2

t3

ÍسËÀÙÁ¨Ô ÃÔ§à»ÅÕÂè ¹á»Å§ã¹ª ǧ 59-60ðC (ÍÒ¨¶×Íä´ ÇÒ ¤ ͹¢ Ò§¤§·Õ)è

t4

t5

t

,5 $ TH=60 TL=59.5 active "1"

ÍسËÀÙÁ¨Ô ÃÔ§àÃÔÁè µ ¹¨Ò¡ 0-60ðC áÅ ÇŴŧ¨Ò¡¹Ñ¹é ¨Ðà»ÅÕÂè ¹á»Å§ã¹ª ǧ 50-60ðC

t6

TOUT

,5 $ TH=59 TL=30 active "1"

TOUT

ÃÙ»·Õè 11-4 ÃٻẺ¡Ò÷íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ¢Í§ DS1621 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 133


ᵡµ Ò§¡Ñ¹¹ ÍÂà¡Ô¹ä» áÅÐÍسËÀÙÁ·Ô ÇÕè ´Ñ ¨ÃÔ§¹Ñ¹é ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ã¹ª ǧ᤺æ ËÃ×ͨÃÔ§æ áŠǤ ͹ ¢ Ò§¤§·Õè ¨Ð·íÒãË àÍÒµ ¾µØ ·Õ¢è Ò TOUT à¡Ô´ÊÑ­­Ò³Åͨԡ·Õäè Á ¤§·Õè ¨¹¤Å Ò¡Ѻ໠¹ÊÑ­­Ò³Ãº¡Ç¹ Ê §¼ÅãË ¡ÒùíÒÊÑ­­Ò³ä»ãª §Ò¹·íÒä´ äÁ ´Õ áµ ¶Ò ËÒ¡¡íÒ˹´äÇ ËÒ §ËÃ×ÍÁÕ¤ÇÒÁᵡµ Ò§ÁÒ¡à¡Ô¹ä» ÍÒ¨·íÒãË ÁÍ§ä´ ÇÒ Ç§¨Ãà·Íà âÁʵѵ¹ÕÁé ¤Õ ÇÒÁäÇ㹡Ò÷íÒ§Ò¹µèÒí à¾ÃÒÐ¡Ç Ò¨ÐµÑ´àÍÒµ ¾µØ µ ͧÃÍ ãË Í³ Ø ËÀÙÁÅÔ ´¤ ÒŧµèÒí ¡Ç Ò¨Ø´ TH ÁÒ¡æ «Ö§è ÍÒ¨Ê §¼ÅàÊÕÂËÒ¡¡ÒÃŴŧ¢Í§ÍسËÀÙÁ·Ô àÕè ¡Ô´¢Ö¹é ¨ÃÔ§ ŧäÁ ¶§Ö ¨Ø´ TL áµ Í»Ø ¡Ã³ ·µÕè Í §¡ÒùíÒÊÑ­­Ò³¹Õäé »ãª Á¤Õ ÇÒÁÊÒÁÒö㹡Ò÷¹ÍسËÀÙÁãÔ ¹ª ǧÃÐ ËÇ Ò§ TH áÅÐ TL ä´ äÁ ¹Ò¹ ¡ç¨ÐÊ §¼ÅãË à¡Ô´¤ÇÒÁàÊÕÂËÒµ ÍÍØ»¡Ã³ ¹¹Ñé æ ä´ ã¹ÃÙ»·Õè 11-4 áÊ´§ÃٻẺ¡Ò÷íÒ§Ò¹¢Í§ DS1621 ã¹âËÁ´à·Íà âÁʵѵ¹Õé

ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹¢Í§ DS1621 㹡ÒáíÒ˹´¤ Ò TH áÅÐ TL ¢Í§ DS1621 µÅÍ´¨¹¡ÒÃàÅ×Í¡ÊÑ­­Ò³áÍ¡µÕ¿ã¹âËÁ´ à·Íà âÁʵѵÊÒÁÒö¡ÃзíÒ¼ Ò¹ÃÕ¨ÔÊàµÍà µÑÇ˹Ö觷Õèª×èÍÇ Ò ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§ ʶҹР(Configuration/Status register) â´ÂÁѹÊÒÁÒö·íÒ˹ Ò·Õäè ´ 2 Í ҧ¤×Í ãª ÊÒí ËÃѺ¡íÒ˹´ ¾ÒÃÒÁÔàµÍà ÊÒí ¤Ñ­àÁ×Íè ¡íÒ˹´ãË 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 »ÃÐ⪹ ¢Í§ºÔµ¹Õ¤é Í× ËÒ¡ºÔµ¹Õàé «µ·Ñ¹·Õ·¨Õè Ò Âä¿àÅÕÂé §ãËÁ ¼Ùã ª §Ò¹¡ç¨Ð·ÃÒº ä´ ·¹Ñ ·Õàè ª ¹¡Ñ¹Ç Ò ¢³Ð¹ÕÍé ³ Ø ËÀÙÁ·Ô ÇÕè ´Ñ ä´ Á¤Õ Ò ÊÙ§¡Ç Ҩش·ÃÔ¡ÍسËÀÙÁÔ TH ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡ä´ ¡Í ¹ Ç Ò ¨Ðᡠ䢤 ÒÍسËÀÙÁԢͧ¨Ø´ TH ËÃ×ÍäÁ ËÃ×Íä»á¡ ä¢ã¹Ê ǹÍ×è¹á·¹ ´Ñ§¹Ñé¹àÁ×èÍàÃÔèÁµ ¹ãª §Ò¹ DS1621 ¨Ö§¤ÇÃÍ Ò¹ºÔµá¿Å¡¹Õ¡é Í ¹à¾×Íè µÃǨÊͺ à¾ÃÒкҧ·Õ¼ãÙ ª §Ò¹äÁ ·ÃÒºÁÒ¡ Í¹Ç Ò¤ Ò TH ¡ ͹˹ Ò¹Õ¢é ͧ DS1621 ¶Ù¡¡íÒ˹´äÇ à· Òã´ TLF (Temperature Low Flag - ºÔµ 5) : ºÔµá¿Å¡á¨ §Ç ÒÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ à· Ò¡ÑºËÃ×͵èÒí ¡Ç Ò ¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí ËÃ×Í TL â´ÂàÁ×Íè à¡Ô´à˵ءÒó ¹¢Õé ¹Öé ºÔµ¹Õ¨é Ð૵໠¹ 1 áÅдíÒçʶҹйÕäé Ç àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 134


¨¹¡Ç Ò¨ÐÁÕ¡ÒÃà¢Õ¹¢ ÍÁÙÅ 0 ÁÒÂѧºÔµ¹Õ´é Ç Â¡Ãкǹ¡Ò÷ҧ«Í¿µ áÇà ËÃ×Íà¤ÅÕÂà ´Ç ¡ÒûŴ ä¿àÅÕÂé §ÍÍ¡¨Ò¡ DS1621 »ÃÐ⪹ ¢Í§ºÔµ¹Õ¤é Í× ËÒ¡ºÔµ¹Õàé «µ·Ñ¹·Õ·¨Õè Ò Âä¿àÅÕÂé §ãËÁ ¼Ùã ª §Ò¹¡ç ¨Ð·Ã񼊫 ·¹Ñ ·Õàè ª ¹¡Ñ¹Ç Ò ¢³Ð¹ÕÍé ³ Ø ËÀÙÁ·Ô ÇÕè ´Ñ ä´ Á¤Õ Ò à· ÒËÃ×͵èÒí ¡Ç Ò¨Ø´·ÃÔ¡ÍسËÀÙÁµÔ Òèí 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 àÁ×Íè àÅ×Í¡áŠǢ ÍÁÙŢͧºÔµ¹Õ¨é дíÒçÍÂÙä »µÅÍ´áÁ »Å´ä¿àÅÕÂé §¡çµÒÁ ËÃ×ÍàÃÕÂ¡Ç Ò ¹Í¹âÇÅÒä·Å (non-volatile) 0 - ¡íÒ˹´ãË DS1621 ·íÒ¡ÒÃÇÑ´áÅÐá»Å§¤ ÒÍ ҧµ Íà¹×Íè § 1 - ¡íÒ˹´ãË DS1621 àÃÔÁè ·íÒ¡ÒÃá»Å§¤ ÒÍسËÀÙÁàÔ Á×Íè ä´ ÃºÑ ÊÑ­­Ò³àÃÔÁè µ ¹ â´Â»¡µÔáŠǤÇáíÒ˹´ãË DS1621 ·íÒ¡ÒÃÇÑ´áÅÐá»Å§¤ ÒÍسËÀÙÁÍÔ Â Ò§µ Íà¹×Íè § àÇ ¹áµ ÁÕ¤ÇÒÁµ ͧ¡ÒäǺ¤ØÁ¡ÒÃ㪠¾Åѧ§Ò¹¢Í§ DS1621 à¾ÃÒÐËÒ¡ DS1621 äÁ ä´ Ç´Ñ ÍسËÀÙÁáÔ ÅÐ á»Å§¤ Ò¨Ð㪠¾Åѧ§Ò¹ä¿¿ ÒŴŧ

¤íÒÊѧè 㹡ÒÃ㪠§Ò¹ DS1621 ¡ÒÃÍ Ò¹áÅÐà¢Õ¹¢ ÍÁÙšѺ DS1621 ÁÕû٠Ẻµ Ò§æ ¡Ñ¹ä»µÒÁÅѡɳТ ÍÁÙÅáÅФíÒÊÑ§è ´Ñ§ áÊ´§ã¹ÃÙ»·Õè 11-5 㹡ÒÃà¢Õ¹¢ ÍÁÙÅËÃ×ͤíÒÊѧè ä»Âѧ DS1621 ÍØ»¡Ã³ ÁÒÊàµÍà («Ö§è ã¹·Õ¹è ¤Õé Í× àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 135


à¢Õ¹¤íÒÊÑè§ã¹¡ÅØ Á·ÕèäÁ µ ͧ¡Òâ ÍÁÙŠઠ¹ ¤íÒÊÑè§àÃÔèÁµ ¹/ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ SCL SDA

S 1 0 0 1 ) ) ) W A +% +$ +# +" +! + + + A

áÍ´à´ÃÊ START

P

¤íÒÊÑè§ DS1621 ACK

STOP

DS1621 ACK

à¢Õ¹¤íÒÊÑè§ã¹¡ÅØ Á·Õèµ Í§¡Òâ ÍÁÙÅ 1 亵 ઠ¹ ¤íÒÊÑè§à¢ Ò¶Ö§ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð 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

DS1621 ACK

P

¢ ÍÁÙÅ亵 µíèÒ 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

ÃÙ»·Õè 11-5 ä´ÍÐá¡ÃÁàÇÅÒáÊ´§ÃٻẺ¡ÒõԴµ ͺ¹ÃкººÑÊ I2C ¢Í§ DS1621 ¤ÍÁ¾ÔÇàµÍà ) ¨Ð¡íÒ˹´¤ ÒáÍ´à´Ãʢͧ DS1621 µÑÇ·Õµè Í §¡ÒõԴµ Í áŠǵÒÁ´ Ç¡ÒÃ૵ºÔµ R/W ¨Ò¡¹Ñ¹é ¨ÐÃÍ¡ÒõͺÃѺ¨Ò¡ÍØ»¡Ã³ ÊàÅ¿ «Ö§è ¡ç¤Í× DS1621 àÁ×Íè ä´ ÃºÑ ¡ÒõͺÃѺáÅ Ç ÍØ»¡Ã³ ÁÒÊàµÍà ¨Ð¨Ñ´àµÃÕÂÁ¤íÒÊѧè à¾×Íè 㪠§Ò¹ DS1621 µ Íä» â´Â·Ø¡¤ÃÑ§é ·ÕÁè ¡Õ ÒÃà¢Õ¹¤íÒÊѧè ä»Âѧ DS1621 µ ͧà¤ÅÕÂà ºµÔ R/W ´ ÇÂàÊÁÍ àÁ×Íè DS1621 ä´ ÃºÑ ¤íÒÊÑ§è ¨Ò¡ÍØ»¡Ã³ ÁÒÊàµÍà ¡¨ç дíÒà¹Ô¹¡ÒõÒÁ ·Õ¡è Òí ˹´ÁÒ¨Ò¡ÍØ»¡Ã³ ÁÒÊàµÍà áÅзء¤ÃÑ§é ¨Ðµ Í§Ê §ÊÑ­­Ò³ÃѺÃÙË Ã×͵ͺÃѺ¡ÅѺä»ÂѧÍØ»¡Ã³ ÁÒÊàµÍà ÊíÒËÃѺ¤íÒÊÑ§è ·Ñ§é ËÁ´¢Í§ DS1621 ÁÕ´§Ñ ¹Õé

¤íÒÊѧè Í Ò¹ÍسËÀÙÁÔ (Read Temperature : ¢ ÍÁÙŤíÒÊѧè à» ¹ AAH) à» ¹¤íÒÊѧè Í Ò¹¤ ÒÍسËÀÙÁÅÔ Ò ÊØ´·Õè DS1621 ·íÒ¡ÒÃá»Å§àÊÃç¨ÊÁºÙó â´Â DS1621 ¨ÐÊ § ¢ ÍÁÙÅ¢¹Ò´ 2 亵 ·áÕè ·¹¤ ÒÍسËÀÙÁ¡Ô ÅѺÁÒ (¨ÃÔ§æ áÅ Ç㪠à¾Õ§ 9 ºÔµ) àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 136


¤íÒÊѧè ࢠҶ֧¤ Ò 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 ¡ÅѺÁÒàÃÔÁè µ ¹á»Å§¤ ÒÍسËÀÙÁãÔ ËÁ ã¹µÒÃÒ§·Õè 11-2 à» ¹µÒÃÒ§ÊÃØ»¤íÒÊѧè 㪠§Ò¹ DS1621 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 137


¤íÒÊÑè§

¢ ÍÁÙŤíÒÊÑè§

¤íÒÊѧè à¡ÕÂè ǡѺ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ Í Ò¹¤ ÒÍسËÀÙÁÔ AAH Í Ò¹¤ ÒµÑǹѺ A8H Í Ò¹¤ ÒµÑǹѺÊâÅ» A9H àÃÔÁè µ ¹á»Å§¤ ÒÍسËÀÙÁÔ EEH ËÂØ´á»Å§¤ ÒÍسËÀÙÁÔ 22H ¤íÒÊѧè ã¹âËÁ´à·Íà âÁʵѵ ࢠҶ֧ TH ࢠҶ֧ TL ࢠҶ֧ÃÕ¨ÊÔ àµÍà Config.

¡Ò÷íÒ§Ò¹ËÅÑ§Ê §¤íÒÊѧè ËÁÒÂàËµØ Í Ò¹¢ ÍÁÙÅ 2 亵 Í Ò¹¢ ÍÁÙÅ 1 亵 Í Ò¹¢ ÍÁÙÅ 1 亵 ËÂØ´áÅÐàµÃÕÂÁ¾Ã ÍÁàÃÔÁè µ ¹ ËÂØ´áÅÐàµÃÕÂÁ¾Ã ÍÁàÃÔÁè µ ¹

1 1

à¢Õ¹¢ ÍÁÙÅ 1 亵 à¢Õ¹¢ ÍÁÙÅ 1 亵 à¢Õ¹¢ ÍÁÙÅ 1 亵

2 2 2

A1H A2H ACH

ËÁÒÂà赯 1. ã¹âËÁ´¡ÒÃá»Å§¤ ÒÍ ҧµ Íà¹×Íè § àÁ×Íè DS1621 ¡ÃзíÒ¤íÒÊѧè ËÂØ´¡ÒÃá»Å§¤ Ò ¨Ðà» ¹¡ÒáàÅÔ¡¡Òà á»Å§¤ ÒÍ ҧµ Íà¹×Íè §·Ñ¹·Õ ËÒ¡µ ͧ¡ÒÃãË DS1621 á»Å§¤ ÒÍÕ¡¤ÃÑ§é µ ͧà¢Õ¹¤íÒÊѧè àÃÔÁè µ ¹¡ÒÃá»Å§¤ Ò ãË á¡ DS1621 ãËÁ 2. ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà DS1621 µ ͧ¡ÒÃàÇÅÒ 10 ÁÔÅÅÔÇ¹Ô Ò·Õà» ¹Í ҧ¹ ÍÂ㹡ÒÃà¢Õ¹¢ ÍÁÙÅãË ÊÁºÙó

µÒÃÒ§·Õè 11-2 µÒÃÒ§ÊÃØ»¤íÒÊѧè ÊíÒËÃѺ㪠§Ò¹ DS1621

¨Ñ§ËÇСÒ÷íÒ§Ò¹¢Í§ DS1621 à¾×Íè ãË ÊÒÁÒöࢠÒ㨶֧ÅíҴѺ¡Ò÷íÒ§Ò¹ÃÇÁ¶Ö§Ê¶Ò¹Ðµ Ò§æ ¢Í§ DS1621 ¨Ö§ä´ ·Òí ¡ÒÃÊÃØ» ʶҹТͧºÑÊ âËÁ´¡Ò÷íÒ§Ò¹¢Í§ DS1621 áÅЪ¹Ô´¢Í§¢ ÍÁÙÅ·Õ»è ÃÒ¡¯äÇ ã¹µÒÃÒ§·Õè 11-3

EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C ã¹ÃÙ»·Õè 11-6 áÊ´§Ç§¨ÃÊÁºÙó ¢Í§ EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ·Õ·è Òí §Ò¹º¹ ÃкººÑÊ I2C ËÑÇã¨ÊíҤѭ¢Í§ºÍà ´¹Õ¤é Í× IC1001 àºÍà DS1621 «Ö§è à» ¹äÍ«ÕÇ´Ñ ÍسËÀÙÁ·Ô ãÕè ª ¡ÒõԴµ ͼ Ò¹ÃкººÑÊ I2C â´Â¢ÒÊÑ­­Ò³ SDA áÅÐ SCL ¢Í§ IC1001 ¨Ðµ ÍࢠҡѺ K1001 áÅÐ K1002 «Ö§è à» ¹¨Ø´àª×Íè Áµ ÍÃкººÑÊ I2C ¡Ñº P-Board â´Â㪠ᨠ¡âÁ´ÙÅÒ Ã ·Òí ãË ¡ÒÃàª×Íè Áµ Í ÊÒÁÒö·íÒä´ §Ò ÂáÅÐÁÕ¤ÇÒÁá¢ç§áç JP1001-JP1003 㪠ÊÒí ËÃѺ¡íÒ˹´¤ ÒáÍ´à´ÃÊ·Ò§ÎÒà ´áÇà ¢Í§ DS1621 ·íÒãË ÊÒÁÒöµ ; ǧºÍà ´ EX-10 ¹Õäé ´ ʧ٠ÊØ´ÃÇÁ 8 ºÍà ´ â´Â¡ÒáíÒ˹´Ê¶Ò¹Ð·Õè àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 138


âËÁ´¡Ò÷íÒ§Ò¹¢Í§ ÍØ»¡Ã³ ÁÒÊàµÍÃ

âËÁ´¡Ò÷íÒ§Ò¹¢Í§ DS1621

ÊÀÒÇÐáÅТ ÍÁÙÅ·Õè »ÃÒ¡¯º¹ºÑÊ

TX

RX

START

TX

RX

<ADDRESS,0>

ÃÒÂÅÐàÍÕ´ ¤ÍÁ¾ÔÇàµÍà ¡íÒ˹´ÊÀÒÇÐàÃÔèÁµ ¹ãË à¡Ô´¢Ö鹺¹ºÑÊ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0" DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤íÒÊÑè§à¢ Ò¶Ö§ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹ DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ

RX

TX

ACK

TX

RX

ACH

RX

TX

ACK

TX

RX

02H

¤ÍÁ¾ÔÇàµÍÃ Ê §¢ ÍÁÙÅà¾×èÍ¡íÒ˹´ãË DS1621 á»Å§¤ ÒÍ ҧµ Í๠×èͧ áÅÐãË àÍÒµ ¾Øµà» ¹ÅͨԡÊÙ§àÁ×èÍÍسËÀÙÁÔ·ÕèÇÑ´ÊÙ§¶Ö§¨Ø´ TH DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ

RX

TX

ACK

TX

RX

START

TX

RX

<address,0>

RX

TX

ACK

TX

RX

A1H

RX

TX

ACK

TX

RX

28H

RX

TX

ACK

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

RX

TX

ACK

TX

RX

START

TX

RX

<address,0>

RX

TX

ACK

TX

RX

EEH

RX

TX

ACK

TX

RX

STOP

¤ÍÁ¾ÔÇàµÍà ¡íÒ˹´ÊÀÒÇÐàÃÔèÁµ ¹ãË à¡Ô´¢Ö鹺¹ºÑÊÍÕ¡¤ÃÑé§ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0" DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤íÒÊÑè§à¢ Ò¶Ö§ TH DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 ÊÙ§¢Í§¤ Ò TH (¡íÒ˹´ãË à· Ò¡Ñº +40 ðC) DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 µíèҢͧ¤ Ò TH DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà ¡íÒ˹´ÊÀÒÇÐàÃÔèÁµ ¹ãË à¡Ô´¢Ö鹺¹ºÑÊÍÕ¡¤ÃÑé§ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0" DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤íÒÊÑè§à¢ Ò¶Ö§ TL DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 ÊÙ§¢Í§¤ Ò TL (¡íÒ˹´ãË à· Ò¡Ñº +10 ðC) DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà à¢Õ¹¢ ÍÁÙÅ亵 µíèҢͧ¤ Ò TL DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà ¡íÒ˹´ÊÀÒÇÐàÃÔèÁµ ¹ãË à¡Ô´¢Ö鹺¹ºÑÊÍÕ¡¤ÃÑé§ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤ ÒáÍ´à´Ãʢͧ DS1621 áÅСíÒ˹´ºÔµ R/W à» ¹ "0" DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍÃ Ê §¤íÒÊÑè§àÃÔèÁµ ¹á»Å§¤ ÒÍسËÀÙÁÔ DS1621 Ê §ÊÑ­­Ò³ÃѺÃÙ µÍº¡ÅѺ ¤ÍÁ¾ÔÇàµÍà ¡íÒ˹´ÊÀÒÇÐËÂØ´ãË à¡Ô´¢Ö鹺¹ºÑÊ à¾×èÍËÂØ´¡Ò÷íÒ§Ò¹

ËÁÒÂà赯 6: ËÁÒ¶֧ ·íÒ˹ Ò·Õèà» ¹µÑÇÊ §, 4: ËÁÒ¶֧ ·íÒ˹ Ò·Õèà» ¹µÑÇÃѺ, 0 ·ÕèÍÂÙ ËÅѧ¢ ÍÁÙÅ㪠áÊ´§Ç Ò ¢ ÍÁÙŹÑé¹æ à» ¹¢ ÍÁÙÅàÅ¢°Ò¹ÊԺˡ

µÒÃÒ§·Õè 11-3 áÊ´§µÑÇÍ ҧÅíҴѺ¡Ò÷íÒ§Ò¹ âËÁ´¡Ò÷íÒ§Ò¹¢Í§ÍØ»¡Ã³ ÁÒÊàµÍà («Ö§è ã¹·Õ¹è ¤Õé Í× ¤ÍÁ¾ÔÇàµÍà ) áÅÐ DS1621 µÅÍ´¨¹Ê¶Ò¹Ð¢Í§ºÑÊã¹¢³ÐµÔ´µ Í ¢Ò A2-A0 ¢Í§ DS1621 ãË áµ¡µ Ò§¡Ñ¹´ ǨÑÁê à»Íà JP1001-JP1003 ÊíÒËÃѺàÍÒµ ¾µØ ¢Í§ DS1621 «Ö§è 㪠áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ãà·Íà âÁʵѵ¹Ñ¹é ¨Ðµ ÍࢠҡѺÍØ»¡Ã³ 2 Ẻ¤×Í ÅíÒ⾧ à» Ââ«ÊíÒËÃѺáÊ´§¼Å´ ÇÂàÊÕ§áÅÐǧ¨Ã¢ÑºÃÕàÅ à¾×Íè ãË ·Òí §Ò¹àËÁ×͹ÊÇÔµª µ´Ñ µ Í ¡ÒÃàÅ×Í¡ÍØ»¡Ã³ ·Õ¢è Ò TOUT ¢Í§ DS1621 ¹Ñ¹é µ ͧ¡ÃзíÒ¼ Ò¹ JP1004 áÅÐ JP1005 â´ÂÊÒÁÒöàÅ×Í¡ãË áÊ´§ ¼Å´ ÇÂàÊÕ§¾Ã ÍÁ¡ÑºÃÕàÅ ·íÒ§Ò¹¡çä´ ¹Í¡¨Ò¡¹Ñé¹ÂѧÁÕ¡ÒÃáÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§ DS1621 ã¹ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 139


+5V BUS

+5V BUS K1001

R1001 15k

JP1001-JP1003 ADDRESS A1 A0

R1003 4.7

R1010 470 1/2W

A2

I C BUS (RJ11-4)

5

SCL

A2 2 +5V BUS

1

SCL SDA

6 A1 IC1001 DS1621

A0 V,, Tout

8 3

SDA

Temperature Sensor

JP1004 SOUND

R1006 1k

JP1005 RELAY

R1004 10k Q1001 BC547

GND K1002 I C BUS (RJ11-4)

K1003 EXTERNAL 12V. INPUT

LED1001 ACTIVE ZD1001 5V1

7

+12V.

C1001 0.1/50V

"0"

SDA

D1002 1N4001

GND

"1"

R1002 15k

D1001 1N4001

SP1001 PIEZO SPEAKER

4

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

ÃÙ»·Õè 11-6 ǧ¨Ã¢Í§ EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁáÔ ÅÐà·Íà âÁʵѵ¼ Ò¹ÃкººÑÊ I2C âËÁ´à·Íà âÁʵѵÍÕ¡ÍÂ Ò§Ë¹Ö§è ¤×Í áÊ´§¼Å´ ÇÂáʧ ¹Ñ¹è ¤×Í LED1001 ¨ÐµÔ´ÊÇ Ò§àÁ×Íè ¤ ÒÍسËÀÙÁÔ ·ÕÇè ´Ñ ÊÙ§¶Ö§¨Ø´ TH ÃÕàÅ RY1001 ·Õãè ª ä´ ¨´Ñ àµÃÕÂÁà·Íà Á¹Ô ÍźÅçÍ¡ÊíÒËÃѺµ ÍÊÒÂà¾×Íè àª×Íè Áµ ͡ѺÍØ»¡Ã³ ËÃ×Í ÊÑ­­Ò³ÀÒ¹͡äÇ àÃÕºà Í â´ÂÁÕ¾¡Ô ´Ñ ¢Í§Ë¹ ÒÊÑÁ¼ÑÊÃÕàÅ ʧ٠Êش෠ҡѺ 220VAC 5A áÅÐËÒ¡ µ ͧ¡ÒÃãË ÃàÕ Å ·Òí §Ò¹ ¨Ðµ ͧ¨ ÒÂä¿àÅÕÂé § +12V ãË á¡ ºÍà ´ EX-10 á·¹¡ÒÃ㪠ä¿àÅÕÂé §¨Ò¡ I2C BUS ·ÕÁè Ò¨Ò¡¤Í¹à¹ç¡àµÍà K1001 ¹Ñ¹è ËÁÒ¤ÇÒÁÇ Ò ºÍà ´ EX-10 ÊÒÁÒö㪠ä¿àÅÕÂé §ä´ ¨Ò¡ 2 áËÅ §¤×Í ¨Ò¡¤Í¹à¹ç¡àµÍà K1001 «Ö§è ÁÒ¨Ò¡ I2C BUS ¢Í§ P-Board áÅШҡáËÅ §¨ ÒÂ俵çÀÒ¹͡·ÕÁè ¤Õ Ò äÁ à¡Ô¹ +12V àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 140


à¹×Íè §¨Ò¡º¹ºÍà ´ÁÕäͫդǺ¤ØÁáç´Ñ¹ä¿àÅÕÂé §¤§·Õ·è Õè +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 ¡ç¨Ð·íÒãË ÊÒÁÒöÊà ҧà¤Ã×Í¢ Ò¡ÒõÃǨÊͺáÅÐÇÑ´¤ ÒÍسËÀÙÁÔ ä´ ·Ñ§é ÂѧÊÒÁÒö¹íÒ¢ ÍÁÙÅä»»ÃÐÁÇżŵ Íä´ Í ҧÍÕ¡´ ÇÂ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 141


¡Ò÷´Åͧ·Õè 15 ¾Íà µ¢¹Ò¹¡Ñº¡ÒÃÇÑ´¤ ÒÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C à¤Ã×Íè §Á×ÍáÅÐÍØ»¡Ã³ 1. ºÍà ´àª×Íè Áµ ;Íà µ¢¹Ò¹ P-Board 1 á¼ ¹ 1 á¼ ¹ 2. EX-10 ºÍà ´ÇÑ´ÍسËÀÙÁ¼Ô Ò ¹ÃкººÑÊ I2C 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐ Visual BASIC Í ҧ¹ ÍÂàÇÍà ª¹Ñ 5.0 1 àÊ ¹ 4. ÊÒÂàª×Íè Áµ Í I2C

¡Ò÷´Åͧ

¡Ò÷´ÅÍ§Í Ò¹¤ ÒÍسËÀÙÁ¨Ô Ò¡ DS1621 ¡ Í¹Í Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature µ ͧÊѧè ãË DS1621 àÃÔÁè ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ (Start Convert) «Ö§è ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 3. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 4. Ê §¤íÒÊѧè (Command) &HEE Êѧè ãË àÃÔÁè ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ 5. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑ­­Ò³ STOP ¶ Òµ ͧ¡ÒÃãË DS1621 ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ (Stop Convert) ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´ ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 3. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 4. Ê §¤íÒÊѧè (Command) &H22 Êѧè ãË ËÂØ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ 5. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑ­­Ò³ STOP ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 142


2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 3. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 4. Ê §¤íÒÊѧè (Command) &HAA ÊíÒËÃÑºÍ Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature ãË DS1621 5. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑ­­Ò³ START 7. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´ ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 8. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 9. Í Ò¹¤ Ò¨Ò¡ MSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature 10. Ê §ÊÑ­­Ò³ Master ACK ãË DS1621 11. Í Ò¹¤ Ò¨Ò¡ LSB ¢Í§ÃÕ¨ÊÔ àµÍà Temperature 12. Ê §ÊÑ­­Ò³ Master Not ACK ãË DS1621 13. Ê §ÊÑ­­Ò³ STOP ¨Ò¡¢Ñ¹é µÍ¹´Ñ§¡Å ÒÇÊÒÁÒöà¢Õ¹໠¹â»Ãá¡ÃÁ·´ÅͧµÒÁ¢Ñ¹é µÍ¹µ Í仹Õé 15.1 Êà ҧ¿Íà ÁáÅÐà»ÅÕÂè ¹ª×Íè ¤Í¹â·Ãŵ Ò§æ´Ñ§ÃÙ»·Õè P15-1

ÃÙ»·Õè P15-1 ˹ ÒµÒ¿Íà Á ¢Í§â»Ãá¡ÃÁ·´ÅÍ§Í Ò¹¤ Ò ÍسËÀÙÁÔ¨Ò¡äÍ«Õ DS1621 º¹ ºÍà ´ EX-10 15.2 à»ÅÕÂè ¹¤Ø³ÊÁºÑµ¢Ô ͧ¤Í¹â·Ãŵ Ò§æ ´Ñ§¹Õé (pro1101.vsd) Name

cmdRdTemp

Name

txtTemp

Caption

Read Temp

Text

Name

cmdSTARTConv

Name

cmdSTOPConv

Caption

Start Convert

Caption

Stop Convert

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 143


15.3 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdSTARTConv_Click ´Ñ§¹Õé Private Sub cmdSTARTConvert_Click() I2CSTART Send8BIT &H90 Ack Send8BIT &HEE ‘Start Convert Temperature Command Ack I2CSTOP End Sub

15.4 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó cmdSTOPConv_Click ´Ñ§¹Õé Private Sub cmdSTOPConvert_Click() I2CSTART Send8BIT &H90 Ack Send8BIT &H22 ‘Stop Convert Temperature Command Ack I2CSTOP End Sub

15.5 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó 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

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 144


15.6 ËÅѧ¨Ò¡ÊÔ¹é ÊØ´¡Ãкǹ¡ÒõԴµ ͡Ѻ DS1621 ¢ ÍÁÙÅ·Õäè ´ ¨Ðµ ͧ¹íÒÁÒ¤íҹdzà¾ÔÁè àµÔÁâ´Â µÃǨÊÍºÇ ÒºÔµ 7 ¢Í§¢ ÍÁÙÅ亵 ÅÒ §¢Í§ÃÕ¨ÊÔ àµÍà Temperature ÁÕ¤Ò à» ¹ 1 ËÃ×ÍäÁ ¶ Òà» ¹ ãË ¹Òí ¤ Ò·Õäè ´ ¨Ò¡¢ ÍÁÙÅ亵 º¹ËÃ×Í亵 ʧ٠¢Í§ÃÕ¨ÊÔ àµÍà Temperature ºÇ¡´ Ç 0.5 áµ ¶Ò à» ¹µÃ§ ¢ ÒÁ ¢ ÍÁÙÅ亵 ʧ٠¢Í§ÃÕ¨ÊÔ àµÍà Temperature ¡ç¤Í× ¤ ҢͧÍسËÀÙÁ·Ô ÍÕè Ò ¹ä´ 15.7 Ãѹâ»Ãá¡ÃÁáÅ Ç·´Åͧ¤ÅÔ¡é »ØÁ Read Temp ¨ÐàËç¹Ç Ò¤ Ò·ÕÍè Ò ¹ä´ à» ¹ 0 à¹×Íè §¨Ò¡Âѧ äÁ Á¡Õ ÒÃàÃÔÁè µ ¹¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ ¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡ÃÕ¨ÊÔ àµÍà Temperature ¨Ö§à» ¹ 0 15.8 ¤ÅÔ¡é »ØÁ Start Convert à¾×Íè àÃÔÁè ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ ¨Ò¡¹Ñ¹é ¤ÅÔ¡é ·Õ»è ÁØ Read Temp ÍÕ¡ ¤ÃÑ駨ÐÊÒÁÒÃ¶Í Ò¹¤ ÒÍسËÀÙÁÔä´ 15.9 ·´Åͧ㪠¹ÔéÇËÃ×ÍÍØ»¡Ã³ Í×è¹áµÐ·ÕèµÑÇ DS1621 ãË ÍسËÀÙÁÔà»ÅÕè¹ ¨Ò¡¹Ñ鹤ÅÔé¡»Ø Á Read Temp ÍÕ¡¤ÃÑ§é ¶ ÒäÁ Á¡Õ ÒÃà»ÅÕÂè ¹á»Å§ ÁÕÊÒà˵ؤÍ× µÑÇ DS1621 äÁ ·Òí ¡ÒÃá»Å§¤ ÒÍسËÀÙÁÔ Í ҧµ Íà¹×Íè § à¾ÃÒÐ·Õºè µÔ 1SHORT ã¹ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹ÐÁÕ¤Ò à» ¹ 1 «Ö§è à» ¹âËÁ´á»Å§¤ ÒÍسËÀÙÁàÔ ¾Õ§¤Ãѧé à´ÕÂÇàÁ×Íè ä´ ÃºÑ ÊÑ­­Ò³ Start Convert áÅÐËÂØ´¡Ò÷íÒ §Ò¹Íѵâ¹ÁÑµÔ ¶ Òà¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò¢Ö¹é áÊ´§Ç Ò ·Õºè µÔ 1Shot ÁÕ¤Ò à» ¹ 0 Íѹ໠¹âËÁ´ á»Å§¤ Òµ Íà¹×Íè §àÁ×Íè ä´ ÃºÑ ÊÑ­­Ò³ Start Convert ÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ·´Åͧ¹Õ´é äÙ ´ ¨Ò¡ä¿Å LAB15A.VBP

¡Ò÷´ÅͧࢠҶ֧ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð (Config register) ¡ÒÃࢠҶ֧ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹ÐÊÒÁÒö·íÒä´ â´Â㪠¤íÒÊÑè§ &HAC «Ö§è ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 3. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 4. Ê §¤íÒÊѧè (Command) &HAC à¾×Íè ࢠҶ֧ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð 5. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 6. Ê §ÊÑ­­Ò³ START 7. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 1 à¾×Íè ¡íÒ˹´¡ÒÃÍ Ò¹¢ ÍÁÙÅÍÍ¡¨Ò¡ DS1621 8. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 9. ÃѺ¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 145


10. Ê §ÊÑ­­Ò³ Master Not ACK ãË DS1621 11. Ê §ÊÑ­­Ò³ STOP Ê Ç¹¡ÒÃà¢Õ¹¢ ÍÁÙÅŧÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð ·íÒä´ â´Â㪠¤íÒÊÑè§ &HAC ÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´ ¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 3. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 4. Ê §¤íÒÊѧè (Command) &HAC à¾×Íè ࢠҶ֧ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð 5. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 6. Ê §¢ ÍÁÙÅÊíÒËÃѺÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð ä»·Õè DS1621 7. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 8. Ê §ÊÑ­­Ò³ STOP ÊíÒËÃѺ¡ÒÃࢠҶ֧ÃÕ¨ÔÊàµÍà ¡íÒ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹ÐÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ ·´ÅÍ§ä´ ´Ñ§µ Í仹Õé 15.10 Êà ҧ»ØÁ 2 »ØÁ áÅÐ 1 TextBox à¾ÔÁè àµÔÁáÅÐà»ÅÕÂè ¹ª×Íè ´Ñ§ÃÙ»·Õè P15-2

ÃÙ»·Õè P15-2 ˹ ÒµÒ¿Íà Á¢Í§â»Ãá¡ÃÁ·´ÅÍ§Í Ò¹¤ ÒÍسËÀÙÁÔ¨Ò¡äÍ«Õ DS1621 º¹ ºÍà ´ EX-10 ·ÕÁè ¡Õ ÒÃà¾ÔÁè ¤íÒÊѧè à¾×Íè Í Ò¹áÅÐà¢Õ¹¤ ҡѺÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹¢Í§ DS1621 àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 146


15.11 à»ÅÕÂè ¹¤Ø³ÊÁºÑµ¢Ô ͧ¤Í¹â·Ãŵ Ò§æ´Ñ§¹Õé Name

cmdRdConfig

Name

cmdWrConfig

Name

Caption

Read Config

Caption

Write Config

Text

txtConfig

15.12 à¾ÔÁè â»Ãá¡ÃÁ·Õàè ˵ءÒó cmdRdConfig_Click à¾×Íè Í Ò¹¢ ÍÁÙŨҡÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Òà ·íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð Private Sub cmdRdConfig_Click() I2CSTART Send8BIT &H90 Ack Send8BIT &HAC Ack I2CSTART Send8BIT &H91 Ack txtConfig.Text = Hex(Read8Bit) MNAck I2CSTOP End Sub

15.13 à¾ÔÁè â»Ãá¡ÃÁ·Õàè ˵ءÒó cmdWrConfig_Click à¾×Íè à¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Òà ·íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð Private Sub cmdWrConfig_Click() I2CSTART Send8BIT &H90 Ack Send8BIT &HAC Ack Send8BIT CByte(“&H” & txtConfig.Text) Ack I2CSTOP End Sub

15.14 ·´ÅͧµÑ§é ¤ ÒºÔµ 1Shot ã¹ÃÕ¨ÊÔ àµÍà ¡Òí ˹´¡Ò÷íÒ§Ò¹áÅÐáÊ´§Ê¶Ò¹Ð ãË à» ¹ 0 à¾×Íè ࢠÒÊÙâ ËÁ´á»Å§¤ Òµ Íà¹×Íè § â´Â¾ÔÁ¾ àÅ¢ 8 ã¹ txtConfig ¨Ò¡¹Ñ¹é ¤ÅÔ¡é »ØÁ Write Config áŠǤÅÔ¡é »ØÁ Stop Convert (ãË DS1621 ËÂØ´¡Ò÷íÒ§Ò¹ à¾×Íè à»ÅÕÂè ¹âËÁ´¡ÒÃá»Å§¤ Ò ) ¤ÅÔ¡é »ØÁ Start Convert à¾×Íè àÃÔÁè Í Ò¹ÍسËÀÙÁÍÔ ¡Õ ¤Ãѧé ã¹âËÁ´¡ÒÃá»Å§¤ ÒÍسËÀÙÁµÔ Í à¹×Íè § ÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ¾Ã ÍÁ·´Åͧ㪠§Ò¹ä´ ¨Ò¡ä¿Å LAB15B.VBP àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 147


¡Ò÷´Åͧ㪠DS1621 ·íÒ§Ò¹ã¹âËÁ´à·Íà âÁʵѵ ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡÃÕ¨ÊÔ àµÍà TH áÅÐ TL ¹Ñ¹é ÁÕ¢¹Ñé µÍ¹àËÁ×͹¡ÒÃÍ Ò¹ÃÕ¨ÊÔ àµÍà Temperature áµ ¤Òí Êѧè (Command) ᵡµ Ò§¡Ñ¹ ¤×Í¡ÒÃÍ Ò¹ÃÕ¨ÊÔ àµÍà TH 㪠¤Òí Êѧè &HA1 Ê Ç¹ TL 㪠¤Òí Êѧè &HA2 Ê Ç¹¡ÒÃà¢Õ¹¢ ÍÁÙÅä»ÂѧÃÕ¨ÊÔ àµÍà ·§Ñé ÊͧÁÕ¢¹Ñé µÍ¹´Ñ§¹Õé 1. Ê §ÊÑ­­Ò³ START 2. Ê §¢ ÍÁÙÅ¡íÒ˹´áÍ´à´Ãʺ¹ºÍà ´ EX-10 ãË DS1621 â´ÂºÔµÊØ´· ÒÂà» ¹ 0 à¾×Íè ¡íÒ˹´¡ÒÃà¢Õ¹¢ ÍÁÙÅä»Âѧ DS1621 3. ÃÍÃѺÊÑ­­Ò³ ACK ¨Ò¡ DS1621 4. Ê §¤íÒÊѧè (Command) &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 㹡ÒõԴµ ͡ѺÃÕ¨ÊÔ àµÍà TH áÅÐ TL ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ·´ÅÍ§ä´ ´§Ñ ¹Õé 15.15 à¾ÔÁè ¤Í¹â·ÃÅáÅÐà»ÅÕÂè ¹ª×Íè ´Ñ§ÃÙ»·Õè P15-3

ÃÙ»·Õè P15-3 ˹ ҵҢͧâ»Ãá¡ÃÁ·´ÅÍ§Í Ò¹áÅÐµÑ§é ¤ ÒÍسËÀÙÁ¡Ô ºÑ DS1621 àÁ×Íè ¡íÒ˹´ ãË ·Òí §Ò¹ã¹âËÁ´à·Íà âÁʵѵ àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 148


15.16 à¾ÔÁè â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó 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

¨ÐàËç¹ä´ ÇÒ â»Ãá¡ÃÁÊíÒËÃѺà˵ءÒó cmdRdTL_Click ¹Ñ¹é àËÁ×͹¡Ñº cmdRdTH_Click áµ à»ÅÕÂè ¹ Command à» ¹ &HA2 áÅÐà¡çº¤ Òŧ㹠txtTL.Text 15.17 à¢Õ¹â»Ãá¡ÃÁãË ¡ºÑ à˵ءÒó 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

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 149


Ack Send8BIT &HA1 Ack Send8BIT datH Ack Send8BIT datL Ack I2CSTOP End Sub

‘Access TH Register Command

¨Ò¡â»Ãá¡ÃÁ¢ Ò§µ ¹ à˵ءÒó cmdWrTL_Click ¶Ù¡á¡ ä¢ãË ÃºÑ ¤ Ò¨Ò¡ txtTL.Text áÅР㪠Command &HA2 15.18 Ãѹâ»Ãá¡ÃÁáÅ Çà¢Õ¹¤ Ò Config ãË à» ¹ A ¤ÅÔ¡é »ØÁ Write Config à¾×Íè ¡íÒ˹´âËÁ´¡Òà á»Å§¤ Òµ Íà¹×Íè § áÅÐãË Thermostat ·íÒ§Ò¹âËÁ´ Active High 15.19 ãÊ ¤Ò 30 㹪 ͧ TH áÅÐ 28 㹪 ͧ TL ¤ÅÔ¡é »ØÁ Write ¢Í§ TH áÅÐ TL 15.20 ¤ÅÔ¡é »ØÁ Start Convert ãË DS1621 àÃÔÁè á»Å§¤ ÒÍسËÀÙÁÔ ãª ¹ÇÔé ËÃ×ÍÇѵ¶Ø͹×è áµÐãË DS1621 à»ÅÕÂè ¹ÍسËÀÙÁÔ ¤ÅÔ¡é »ØÁ Read Temp ÊѧࡵÍسËÀÙÁ·Ô ÍÕè Ò ¹ä´ ¶ ÒÁÕ¤Ò ÁÒ¡¡Ç Ò 30 LED º¹ºÍà ´ EX-10 ¨ÐµÔ´¾Ã ÍÁ¡ÑºÁÕàÊÕ§áÅÐÃÕàÅ ·Òí §Ò¹µÒÁ¨ÑÁê à»Íà ·µÕè §Ñé äÇ àÁ×Íè Í Ò¹¤ Ò¨Ò¡ÃÕ¨ÊÔ àµÍà Config ¨ÐÁÕ¤Ò à» ¹ 2A à¾ÃÒкԵ THF ÁÕ¤Ò à» ¹ 1 ·Ñ§é ¹Õàé » ¹¼ÅÁÒ¨Ò¡ÍسËÀÙÁ·Ô ÇÕè ´Ñ ä´ ÁÕ ¤ ÒÁÒ¡¡Ç Ò TH ·Õµè §Ñé äÇ ÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ¾Ã ÍÁ¡Ñº·´Åͧ㪠§Ò¹ä´ ¨Ò¡ä¿Å LAB15C.VBP ã¹ á¼ ¹«Õ´ÃÕ ÍÁ

àÃÕ¹ÃÙ áÅл¯ÔºÑµÔ¡ÒÃàª×èÍÁµ ͤÍÁ¾ÔÇàµÍà ¡ÑºÍØ»¡Ã³ ÀÒ¹͡¼ Ò¹¾Íà µ¢¹Ò¹ 150


..


Turn static files into dynamic content formats.

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