ºþÄÏÈËÎĿƼ¼Ñ§Ôº±ÏÒµÂÛÎÄ£¨Éè¼Æ£©
Ó¦´ðÐźţ¬ÔòÅжÏΪÊܿص¥Ôª³öÏÖ¹ÊÕÏ¡£
4.5 ÃŽû¿ØÖƵç·
ϵͳÖÐÃŽû¿ØÖƵç·ÊÇϵͳһ¸ö¶¯×÷Ö´Ðв¿·Ö£¬Ö÷ÒªÊÇÓÉ΢´¦ÀíÆ÷AT89C52¸ù¾ÝÉ䯵¶ÁдÆ÷¶ÁµÃµÄÊý¾Ý¶ÔÍⲿÃÅ´Å¿ª¹Ø¡¢Ö¸Ê¾µÆµÈ½øÐвÙ×÷¡£¶ÔÃÅ´Å¿ª¹Ø¿ØÖÆÊÇÓɵ¥Æ¬»ú¶Ô¼ÌµçÆ÷µÄ¿ØÖÆÍê³ÉµÄ£¬¼ûͼ4-6¡£
µçÔ´ÏßAC220VÃŴŵçÔ´ÃŴŵçËøÏßÃÅ´ÅÏßÃŽû¶Á¿¨¿ØÖÆÆ÷³öÈëÃÅÃżеçËøÉÏλ»úͼ4-6 ÃÅ´Å¿ª¹Ø¿ØÖÆ
ÔÚÃŽû¶Á¿¨¿ØÖÆÆ÷ÄÚÉèÓÐCPU¡¢RS485ͨÐŵç·¡¢µç×ÓʵʱʱÖӵ緡¢É䯵ID¿¨¶Á¿¨½âÂëµç·£¬Í¬Ê±¾ß±¸¿¨Æ¬×ÊÁÏ´æ´¢Æ÷Óë½ø³öÊý¾Ý»º³åÆ÷£¬Ëüͨ¹ýRS485ͨÐÅת»»Æ÷Óë¼ÆËã»úÁ¬½Ó£¬¼ÆËã»úÉϰ²×°ÉÏλ»úÃŽûϵͳÈí¼þƽ̨£¬¿ÉÓÃÓÚ¶Ô¶ÁдÆ÷½øÐвÎÊýÉèÖᢿ¨Æ¬ÊÚȨ¡¢ÃÅ¿Ú¼à¿Ø¡¢ÈËÔ±¿¼ÇÚ¡¢³öÈëÊý¾ÝµÈ¹ÜÀí¡£µ±ÓжÁ¿¨³öÈëʱ£¬×Ô¶¯½«¸Ã¿¨Æ¬ÐÅÏ¢½øÐÐУÑ飬УÑéºÏ·¨ºó½«¸Ã¿¨Êý¾Ý¡¢Ê¹ÓÃÕß¡¢µ±Ç°Ê±¼ä´æÈë½ø³öÊý¾Ý»º³åÆ÷ÄÚ£¬²¢·¢³ö¿ªÃÅÖ¸Áͨ¹ýµçÔ´Ïß´«ËÍ¿ªÃÅÖ¸Áîµ½µçÔ´¶Ë£¬µçÔ´Æô¶¯¼ÌµçÆ÷Çл»µçÔ´ÄÚ²¿¹©µç·½Ïò£¬Ê¹µçËø×Ô¶¯´ò¿ª£¬Õû¸ö¹ý³ÌÎÞÐëͨ¹ý¼ÆËã»ú£¬¶Á¿¨»ú¼´¿É×ÔÐÐÍê³É¡£·Ç·¨¿¨±»½ûÖ¹·ÃÎÊ£¬³öÃÅʱֻҪ°´¶¯³öÃŰ´Å¥£¬µçËø×Ô¶¯´ò¿ª¡£µ±·ÇÕý³£»ò±©Á¦¿ªÃÅʱ£¬ÃÅ´ÅÊä³ö±¨¾¯Ðźţ¬½«±¨¾¯ÐźŴ«Ë͵½¶Á¿¨»úÄÚ£¬ÏµÍ³ÒÔµ¯³ö±¨¾¯¶Ô»°¿òÌáʾ±¨¾¯¡£Í¨¹ýÃŽûϵͳÈí¼þƽ̨¶Ô¶Á¿¨Æ÷ÉèÖóöÈë¹ÜÀí¹¦Äܺ󣬽ø³öÊý¾Ýͨ¹ý¼ÆËã»ú´¦Àí¿É×÷Ϊ¿¼ÇÚÊý¾Ý¡£
24
ºþÄÏÈËÎĿƼ¼Ñ§Ôº±ÏÒµÂÛÎÄ£¨Éè¼Æ£©
µÚ5Õ »ùÓÚÉäÆµÊ¶±ðµÄÃŽûϵͳÈí¼þÉè¼Æ
5.1 RFIDÐÅÏ¢¶ÁÈ¡¹¤×÷Á÷³Ì
¶Á¿¨Æ÷Ö÷³ÌÐòÒªÍê³É³õʼ»¯¡¢ÓëMF RC500µÄÖжϴ¦Àí³ÌÐò¡¢ÓëPC»úͨÐÅÖжϴ¦Àí³ÌÐòµÈ²Ù×÷£¬Á÷³ÌͼÈçͼ5-1Ëùʾ¡£
¿ªÊ¼ÏµÍ³³õʼ»¯NÓп¨½øÈëY±¨¾¯N¿¨ºÏ·¨Y´®¿ÚÖжÏͼ5-1 ¶Á¿¨Æ÷Ö÷³ÌÐòÁ÷³Ìͼ
³õʼ»¯Ö÷Òª°üÀ¨¶Ôµ¥Æ¬»úµÄ¸÷¶Ë¿Ú¼°ÓйؼĴæÆ÷ÉèÖóõÖµ¡¢¶ÔMF RC500¸÷¼Ä´æÆ÷É趨³õʼֵ¡¢´ò¿ªÉ䯵³¡¡¢¿´ÃŹ·¸´Î»¼°¶Ô´®¿Ú½øÐгõʼ»¯µÈ¡£
MF RC500оƬµÄÄÚ²¿¼Ä´æÆ÷°´Ò³·ÖÅ䣬²¢Í¨¹ýÏàӦѰַ·½·¨»ñµÃµØÖ·¡£ÄÚ²¿¼Ä´æÆ÷¹²·Ö8Ò³£¬Ã¿Ò³ÓÐ8¸ö¼Ä´æÆ÷£¬Ã¿Ò³µÄµÚÒ»¸ö¼Ä´æÆ÷³ÆÎªÒ³¼Ä´æÆ÷£¬ÓÃÓÚÑ¡Ôñ¸Ã¼Ä´æÆ÷Ò³¡£Ã¿¸ö¼Ä´æÆ÷ÓÉ8λ×é³É£¬ÆäÎ»ÌØÐÔÓÐËÄÖÖ:¶Á/д¡¢Ö»¶Á¡¢½öдºÍ¶¯Ì¬¡£ÆäÖж¯Ì¬ÊôÐÔλ¿ÉÓÉ΢¿ØÖÆÆ÷¶Áд£¬Ò²¿ÉÒÔÔÚÖ´ÐÐʵ¼ÊÃüÁîºó×Ô¶¯ÓÉÄÚ²¿×´Ì¬»ú¸Ä±äλֵ¡£
µ¥Æ¬»úͨ¹ý¶ÔMF RC500ÄÚ²¿¼Ä´æÆ÷µÄ¶Áд£¬¿ÉÒÔÔ¤ÖúͶÁ³ö¿¨Æ¬ÐÅÏ¢¡£¼Ä´æÆ÷ÔÚоƬ¸´Î»×´Ì¬ÎªÆäÉ趨³õʼֵ¡£ÀýÈç¶Ô¿¨Æ¬½øÐжÁ²Ù×÷£¬Ôò±ØÐë¶ÔMF RC500ÄÚ²¿µÄBCNTR¼Ä´æÆ÷£¬BCNTS¼Ä´æÆ÷£¬STACON¼Ä´æÆ÷µÈ½øÐÐÉèÖ㬶Ôÿ¸ö״̬½øÐÐÅб𣬶Ô×îÖÕ¶ÁµÃµÄÊý¾Ý»¹±ØÐë½øÐÐУÑéµÈ¡£ÒÔÏÂÊdzõʼ»¯Ê±¶Ô¼Ä´æÆ÷µÄ²¿·ÖÏàÓ¦ÉèÖá£
25
ºþÄÏÈËÎĿƼ¼Ñ§Ôº±ÏÒµÂÛÎÄ£¨Éè¼Æ£©
Register--write(RegCloekQControl£¬oxo);//ÉèÖÃʱÖÓ¿ØÖƳõʼֵ Register--Write(RegcloekQControl£¬0x40);
Register--write(RegTxContral£¬Oxss);//ÉèÖ÷¢ËÍ¿ØÖƳõʼֵ Register--write(RegRxControll£¬0x73):
Register--.write(RegDeeode¡®ontrol£¬oxos)://ÉèÖÃÒëÂë¿ØÖÆ³õʼֵ Register--write(RegBitphase£¬OxAD)://³õʼ»¯Î»Ïà Register--write(RegRxThreshold£¬OxFF);//³õʼ»¯×îС·§Öµ
Register--write(RegRxcontrol2£¬Ox0l);//¸ù¾ÝÔËÐл·¾³µÄ´¦ÀíËÙÂʿɵ÷Õû¸ÃÖµ Register--write(RegFIFoLevel£¬oxos)://³õʼ»¯FIFo»º´æ Register--Write(RegTime¡®lock£¬oxo7):/l¶¨Ê±Æ÷³õÊ¼Öµ×°ÔØ Register--write(RegTimerReload£¬oxoa); £¬ restart--WratchweDog;//¸´Î»¿´ÃŹ·
5.2 ¶Á¿¨¹ý³Ì¼°³ÌÐòÉè¼Æ½éÉÜ
¶Á¿¨Æ÷Èí¼þ±à³ÌʵÏÖ¶ÔÉ䯵¿¨µÄһϵÁвÙ×÷£¬Ö÷ÒªÓÐ:·À³åÍ»³ÌÐò¡¢¿¨Æ¬µÄ¶Áд³ÌÐòÒÔ¼°¶Ô¿¨Æ¬block(Êý¾Ý¿é)µÄ²Ù×÷µÈ¡£¶Á¿¨³ÌÐòµÄÉè¼ÆË¼ÏëÊÇÔÚÉϵç³õʼ»¯ºó£¬É䯵³¡Ò»µ©¼ì²âÓÐMifare 1¿¨½øÈëÉ䯵ÌìÏßµÄÓÐЧ·¶Î§£¬¶Á¿¨³ÌÐò°´Ë³ÐòÆô¶¯·À³åÍ»³ÌÐòºÍÈÏÖ¤³ÌÐò£¬ÑéÖ¤³É¹¦ºó×îºó²Ù×÷¿¨Æ¬¶Áд³ÌÐò¡£³ÌÐòÁ÷³Ìͼ¼ûͼ5-2Ëùʾ£¬ÏÂÃæ½éÉÜÆäÖеöÖ÷Òª¹ý³Ì¡£ 5.2.1 ѯ¿¨
ÓÉÓÚMifare l¿¨ÊÇÒ»ÖÖÒÔ±»¶¯·½Ê½¹¤×÷µÄ¿¨£¬½øÈëÉäÆµÇøµÄMifare l¿¨Éϵçºó½øÈëIDLE״̬£¬Ëüͨ¹ýÎüÊÕ¸ÐÓ¦ÇøÄڵĴų¡ÄÜÁ¿½øÐй¤×÷£¬²»»áÖ÷¶¯·¢³öÐźš£¶Á¿¨Æ÷±ØÐë²»¼ä¶ÏµØÏòÍâ·¢³öÇëÇóÐźţ¬·ûºÏÌõ¼þµÄ¿¨Ö»ÓÐÔÚ½ÓÊÕµ½ÇëÇóÐźÅÖ®ºó²Å»á½øÐÐÏìÓ¦(³ÆÎªÏìÓ¦¿¨)£¬ÏìÓ¦¿¨»áÏò¶Á¿¨Æ÷·µ»Ø¿¨µÄÀàÐͺÅ(2¸ö×Ö½Ú)£¬Mifare l¿¨·µ»ØµÄÀàÐͺÅΪox0004¡£
³ÌÐòÖÐÓÃMf500ComReq()º¯Êý²»¶ÏÏòÍâÑ»··¢ÇëÇóÐźţ¬¼ì²é¸ÐÓ¦ÇøÊÇ·ñÓзûºÏÌõ¼þµÄ¿¨£¬Ò»µ©ÓзûºÏÌõ¼þµÄ¿¨½øÈë²¢±»Ñ¡ÖУ¬³ÌÐòÍ˳öÑ»·ÇëÇó¹ý³Ì£¬½øÈë·À³åÍ»¹ý³Ì¡£
RequestÖ¸Áî·ÖΪRequest stdºÍRequest allÁ½¸öÖ¸Áî¡£Request allÖ¸ÁîµÄ¹¦ÄÜÊÇÔÚ
26
ºþÄÏÈËÎĿƼ¼Ñ§Ôº±ÏÒµÂÛÎÄ£¨Éè¼Æ£©
ÌìÏß·¶Î§ÄÚ¼ì²éËùÓзûºÏÌõ¼þµÄ¿¨£¬ÎÞÂÛÊÇ´¦ÓÚIDLE״̬»¹ÊÇHALT״̬µÄ¿¨£¬¶¼»áÏìÓ¦¡£Request stdÖ¸ÁîÖ»¶ÔÌìÏß·¶Î§ÄÚ´¦ÓÚIDLE״̬µÄ¿¨ÓÐЧ£¬¶ÔHALT״̬µÄ¿¨ÎÞЧ¡£
¿¼Âǵ½ÖÁÉÙÓÐÁ½ÕÅ¿¨Í¬Ê±½øÈë¸ÐÓ¦ÇøµÄ¿ÉÄÜ£¬Éè¼ÆÖвÉÓÃRequest allÖ¸ÁMf500ComReq()º¯ÊýÖ÷Òª´úÂë¼°Ïà¹Ø×¢Êͼû¸½Â¼1¡£
Ѱ¿¨NÓп¨Y·À³åͻѡÔñ¿¨Æ¬ÑéÖ¤NÊÇд¿¨¶Á¿¨Yд¿¨Æô¶¯´®¿Úͼ5-2 ¶Á¿¨¹ý³ÌÁ÷³Ìͼ
5.2.2 ·À³åÍ»
Ëùν·À³åÍ»ÓֽзÀÅöײ¡¢·ÀÖØµþ£¬¾ÍÊÇ´Ó¶àÕŽøÈë¸ÐÓ¦ÇøµÄ¿¨ÖÐÑ¡³öÒ»ÕÅÀ´½øÐвÙ
27