考勤機電路原理圖如下:
0.png (77.58 KB, 下載次數: 38)
下載附件
2019-6-25 17:41 上傳
單片機源程序如下:
- /*************************************************************************/
- #include <string.h>
- #include <m500a.h>
- #include <main.h>
- #include <reg52.h>
- sbit LED = P2^6;
- sbit WARN = P2^7;
- ////////////////////////////////////////////////////////////////////
- void main (void)
- {
- // unsigned char counter;
- unsigned char status1,cnt;
- unsigned char Snr_RC500[4]; // Serial Number of the MFRC500
- unsigned char cardserialno[4];
- unsigned char cardtype[2];
- P2 = 0x00;
- LED = 1;WARN = 1;
- init_lcd();
- clrram();
- timer_init();
- line_disp(0,message_init[0]);
- rs232_init();
- RC500Config(); // Initialise the RC500
- PcdReadE2(8,4,Snr_RC500); // Read out the MFRC500 serial number and store it
- rs232_send(Snr_RC500,4);
- line_disp(0,message_init[0]);
- line_disp(1,message_init[1]);
- line_disp(2,message_init[2]);
- line_disp(3,message_init[3]);
- delay_1s(1200);
- clrram();
- time_disp2();
- line_disp(1,line);
- line_disp(2,init_finish);
- line_disp(3,line);
- delay_1s(1200);
- clrram();
- time_disp1();
- line_disp(2,line);
- line_disp(3,inputcard);
- LED = 0;
- while(1)
- {
- while(CardRequest(PICC_REQALL, cardtype)==MI_OK)
- {
- status1=ReadCardNum(0,cardserialno);
- if (status1 == MI_OK)
- {
- cnt = compare(card,cardserialno);
- clrram();
- if(cnt > CARD_NUM)
- {
- line_disp(0,error1);
- line_disp(2,error2);
- WARN = 0;
- }
- else
- {
- line_disp(2,name[cnt]);
- line_disp(3,welcome);
- line_disp(1,line);
- time_disp2();
- LED = 1;
- }
- rs232_send(cardserialno,4);
- }
- delay_1s(500);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
考勤機程序(已經驗證成功)并有電路圖.7z
(5.41 MB, 下載次數: 48)
2019-6-25 17:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|