»ùÓÚÉäÆµÊ¶±ð¼¼ÊõµÄÐ¡ÇøÖÇÄÜÃŽû¿ØÖÆÏµÍ³ - ͼÎÄ

ÉÂÎ÷Àí¹¤Ñ§Ôº±ÏÒµÉè¼Æ

4.3 ϵͳÈí¼þÄ£¿é»¯Éè¼Æ

±¾ÎĽ«ÏµÍ³´óÖ·ÖΪÈçϼ¸¸öÄ£¿é£ºÖ÷º¯Êý¡¢¿ØÖÆÄ£¿é¡¢¾ØÕó¼üÅÌÄ£¿é¡¢RC522Ä£¿é¡¢·äÃùÆ÷Ä£¿é¡¢LCD12864Ä£¿éµÈ¡£

³õʼ»¯ ÊÇ É¾³ý°´¼ü°´Ï ·ñ ½øÈëÃŽûģʽ ·ñ ·ñ ÊÇ Ä£Ä⿪ÃÅ ·µ»Ø ͼ 4.2 ϵͳÁ÷³Ìͼ

ÏÔʾ·Ç·¨¿¨ ÊÇ ¿ªÊ¼ ×¢²á°´¼ü°´Ï ·ñ ½øÈë×¢²á¿¨Ä£Ê½ Íê³É×¢²á¿¨ ½øÈëɾ³ý¿¨Ä£Ê½ Íê³Éɾ³ý¿¨Ê½ ÊÇ·ñÓÐË¢¿¨ ÊÇ ÊÇ·ñºÏ·¨ 4.3.1 É䯵¿ØÖÆÄ£¿é

£¨1£©MFRC522¸´Î»²Ù×÷

ÔÚÉϵ¥Ö®ºóÒ»¶¨Òª¶ÔMFRC522½øÐи´Î»²Ù×÷£¬MFRC522ÊÇ¸ßµçÆ½¸´Î»ÓÐЧµØ£¬¿ÉÒÔÓÉSTC89C52µÄI/O¿ÚÖ±½Ó¸´Î»£¬Òª×¢ÒâµÄÊÇ£º

<1>±ØÐëÔÚSTC89C51³É¹¦¸´Î»150msÒÔºó£¬ÔÙ¶ÔMFRC522½øÐи´Î»£» <2>¸´Î»¸ßµçƽ³ÖÐø200usÒÔÉÏ£»

<3>Èô¸´Î»³É¹¦£¬MFRC522ÄÚ²¿µÄCommand¼Ä´æÆ÷µÄֵΪ0£¬Èç¹û²»Îª0£¬±ØÐëÖØÐ¸´Î»¡£

£¨2£©³õʼ»¯MFRC522ÄÚ²¿¼Ä´æÆ÷

ÔÚ¸´Î»³É¹¦ºó£¬ÔÙ¶ÔMFRC522µÄÄÚ²¿¼Ä´æÆ÷½øÐгõʼ»¯£¬Ö»ÓÐÕýÈ·³õʼ»¯Ö®ºó£¬MFRC522²ÅÄÜÕý³£¹¤×÷¡£

µÚ 16 Ò³ ¹² 61 Ò³

ÉÂÎ÷Àí¹¤Ñ§Ôº±ÏÒµÉè¼Æ

¿ª»ú¸´Î» ³õʼ»¯MFRC522 ÇëÇó²Ù×÷ ·ñ ÓÐÅöײ£¿ ÓÐ ·´Åöײ²Ù×÷ Ñ¡Ôñ¿¨ ÊÇ Í¨¹ýÑéÖ¤£¿ ·ñ ¿¨µÄÊý¾Ý²Ù×÷

ͼ 4.3 É䯵ģ¿éµÄ¹¤×÷Á÷ͼ

///////////////////////////////////////////////////////////////////// //¹¦ ÄÜ£º¸´Î»RC522

///////////////////////////////////////////////////////////////////// char PcdReset(void) {

SET_RC522RST; delay_ns(10); CLR_RC522RST; delay_ns(10); SET_RC522RST; delay_ns(10);

WriteRawRC(CommandReg,PCD_RESETPHASE); delay_ns(10);

WriteRawRC(ModeReg,0x3D);

WriteRawRC(TReloadRegL,30); WriteRawRC(TReloadRegH,0); WriteRawRC(TModeReg,0x8D);

WriteRawRC(TPrescalerReg,0x3E); WriteRawRC(TxAutoReg,0x40); return MI_OK; }

µÚ 17 Ò³ ¹² 61 Ò³

ÉÂÎ÷Àí¹¤Ñ§Ôº±ÏÒµÉè¼Æ

4.3.2 LCD12864Ä£¿é

ÑÓʱ ÑÓʱ ÉèÖù¤×÷·½Ê½ ÇåÆÁ ÑÓʱ ÑÓʱ ¿ªÊ¼ ½áÊø

¹¦ÄÜÉèÖà ÑÓʱ ¹â±êÉèÖà ÑÓʱ ÑÓʱ ¸´Î» ÏÔʾ¿ª

ͼ 4.4 LCD³õʼ»¯Á÷³Ìͼ

/*******************************************************************/ /* LCD³õʼ»¯É趨 */ /*******************************************************************/ void lcd_init() {

write_cmd(0x36);

delay(5);

write_cmd(0x30);

delay(5);

write_cmd(0x0C);

delay(5);

write_cmd(0x01);

delay(5); }

µÚ 18 Ò³ ¹² 61 Ò³

ÉÂÎ÷Àí¹¤Ñ§Ôº±ÏÒµÉè¼Æ

4.3.3 °´¼ü³ÌÐòÉè¼Æ

ÊäÈëÃÜÂë ÑÓʱ ÊÇ·ñ¼ì²âµ½Êý¾Ý ÊÇ ·ñ ÑéÖ¤ÃÜÂëÊÇ ·ñÕýÈ· LCD ÏÔʾ

ͼ 4.5ÃÜÂëÑéÖ¤Á÷³Ìͼ

if(key_count==8)

{

if( table[0]==KEY_BUF[0] && table[1]==KEY_BUF[1] && table[2]==KEY_BUF[2] && table[3]==KEY_BUF[3] && table[4]==KEY_BUF[4] && table[5]==KEY_BUF[5] && table[6]==KEY_BUF[6] &&

table[7]==KEY_BUF[7] ) //ÃÜÂðÕýÈ· {

bPass=1;

relay_ON(); //µÆ¿ª¹Ø display(2,0,5);

break; }

else //ÃÜÂë´íÎó {

relay_OFF(); beep1() ; bWarn=1;

display(2,0,6); break;

µÚ 19 Ò³ ¹² 61 Ò³

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)