欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機圖書館門禁管理系統 [打印本頁]

作者: 19966590823    時間: 2022-5-24 18:22
標題: 單片機圖書館門禁管理系統
本設計主要采用AT89C52單片機和mcm200模塊實現Mifare 1射頻卡的識別和卡上信息的采集,RS485通訊接口和單片機控制系統連接來對Mifare非接觸式智能射頻卡進行相應的讀寫操作。讀卡距離約為25毫米。當卡進入射頻天線頻帶時,卡上的數據將被讀取并顯示在頂部PC上。讀卡器可以在平時獨立工作。mcm200讀卡模塊采用AT89C52單片機和8K字節閃存作為控制器。
對于軟件部分,需要讀寫IC卡的內部信息,并與最高管理計算機進行通信。也就是說,主要通過串行通信程序的設計和調試,無卡時顯示時鐘,有卡時讀取卡上的數據并顯示在計算機屏幕上,由讀卡程序和編程DS1302執行。

程序如下:
lcd_init()                                        //LCD初始化設定
{                                                        
        lcd_wcmd(0x38);                        
        Delay(1);
        lcd_wcmd(0x0c);                        
        Delay(1);
        lcd_wcmd(0x06);                        
        Delay(1);
        lcd_wcmd(0x01);                        //清除LCD的顯示內容
        Delay(1);
}
LCD1602()
{
        lcd_pos(0x03);                                // 顯示ID:
        lcd_wdat(dis2[0]);
        lcd_wdat(dis2[1]);
        lcd_wdat(dis2[2]);
        lcd_pos(0x06);                                // 顯示ID號
        lcd_wdat(dis5[ID_DATA[0]/16]);
        lcd_wdat(dis5[ID_DATA[0]%16]);
        lcd_wdat(dis5[ID_DATA[1]/16]);
   lcd_wdat(dis5[ID_DATA[1]%16]);
        lcd_wdat(dis5[ID_DATA[2]/16]);
        lcd_wdat(dis5[ID_DATA[2]%16]);
        lcd_wdat(dis5[ID_DATA[3]/16]);
        lcd_wdat(dis5[ID_DATA[3]%16]);

        lcd_pos(0x40);                        // 讀到卡,請進,WALK UP!
        if(falg==1)
        {         
                lcd_wdat(dis3[0]);
                lcd_wdat(dis3[1]);
                lcd_wdat(dis3[2]);
                lcd_wdat(dis3[3]);
                lcd_wdat(dis3[4]);
                lcd_wdat(dis3[5]);
                lcd_wdat(dis3[6]);
                lcd_wdat(dis3[7]);
                lcd_wdat(dis3[8]);
                lcd_wdat(dis3[9]);
                lcd_wdat(dis3[10]);
                lcd_wdat(dis3[11]);
                lcd_wdat(dis3[12]);
                lcd_wdat(dis3[13]);
                lcd_wdat(dis3[14]);
                lcd_wdat(dis3[15]);
        }
    lcd_pos(0x40);                        // 沒讀到卡或者卡沒有權限顯示,welcome you!!
        if(falg==0)
        {         
            lcd_wdat(dis4[0]);
                lcd_wdat(dis4[1]);
                lcd_wdat(dis4[2]);
                lcd_wdat(dis4[3]);
                lcd_wdat(dis4[4]);
                lcd_wdat(dis4[5]);
                lcd_wdat(dis4[6]);
                lcd_wdat(dis4[7]);
                lcd_wdat(dis4[8]);
                lcd_wdat(dis4[9]);
                lcd_wdat(dis4[10]);
                lcd_wdat(dis4[11]);
                lcd_wdat(dis4[12]);
                lcd_wdat(dis4[13]);
                lcd_wdat(dis4[14]);
                lcd_wdat(dis4[15]);
        }               
}  

        當系統開始供電時進入工作狀態,初始化接著開啟天線,當初始化結束后便開始尋找天線范圍內的卡片,當有卡刷入時開始選定卡片,輸入卡片ID號,接著可以進行對卡片的添加或刪除權限的操作。當選擇卡片有權限時門打開,當無權限時門不打開。

status = PcdRequest(PICC_REQALL, g_ucTempbuf);
//返回卡片類型#define PICC_REQALL 0x26 尋天線區內所有卡
                                 if(status!= MI_OK)            //讀不到卡,顯示清0;
                                 {
                                        LED=1;
                                                TYPE_DATA[0]=0;         
                                                TYPE_DATA[1]=0;
                                                ID_DATA[0]=0;
                                                ID_DATA[1]=0;
                                                ID_DATA[2]=0;
                                                ID_DATA[3]=0;
                                                falg_pro=0;
                                 }
if (status == MI_OK) //讀到卡
                {         
                                                 LED=0;
                                                 TYPE_DATA[0]=g_ucTempbuf[0];
                                                 TYPE_DATA[1]=g_ucTempbuf[1];
                                                  status = PcdAnticoll(g_ucTempbuf);   //防沖撞 ,返回卡片ID號 4字節
                                 if (status == MI_OK)
                                 {
                                                 status = PcdSelect(g_ucTempbuf);    //選定卡片  ,輸入卡片ID號
                                         if (status == MI_OK)
                                         {         
                                                                     if(falg_pro==0)//聲音提示標志
                                                                                 {
                                                                                         falg_pro=1;
                                                                                         pro();
                                                                                 }        
                                                                         ID_DATA[0]=g_ucTempbuf[0];
                                                                         ID_DATA[1]=g_ucTempbuf[1];
                                                                         ID_DATA[2]=g_ucTempbuf[2];
                                                                         ID_DATA[3]=g_ucTempbuf[3];
                        init_k();//將卡寫成門卡,或者清門卡
                        readk(); //讀卡,讀字節3的數據判斷是否是AA
                                                                     if(value_DATA[3]==0xaa)//權限正確,標志寫1
                                                                         {
                                                                                 falg=1;//
                                                                         }
                                         }           
                                 }
                     }






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1