




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機的IC卡讀寫基于單片機的IC卡讀寫基于單片機的IC卡讀寫基于單片機的IC卡讀寫系統(tǒng)實驗?zāi)康模簩W(xué)會并掌握可keil軟件的使用;學(xué)會并掌握protues軟件的使用;實現(xiàn)基于單片機的IC卡讀寫;經(jīng)過實驗堅固單片機有關(guān)知識和查驗自己著手能力實驗要求:掌握單片機有關(guān)知識,利用單片機控制和射頻模塊組合來讀寫IC卡,并實現(xiàn)軟硬件的仿真模擬。lC卡讀卡器以MCS-51系列單片機作為核心構(gòu)成,主要用于家庭和機構(gòu)門鎖的開關(guān),擁有安全堅固的特色,在鑒識,刪除,增添,自動開鎖時,用于對IC卡進(jìn)行讀寫操作。實驗設(shè)施和儀器:1.89c51單片機最小系統(tǒng)射頻模塊RC522,智能IC卡以及其余附帶電路實驗內(nèi)容:本次
2、實驗設(shè)計是由小組五個成員共同達(dá)成基于單片機的成實物搭建和撰寫實驗報告。方案一:實驗步驟:1.利用protues畫電路圖,電路圖如圖1所示:圖1:方案一電路圖IC卡讀寫系統(tǒng)并完2.模擬刷卡后顯示,如圖二:3.依據(jù)電路圖編寫圖2:方案一實現(xiàn)圖C語言代碼:代碼以下:#includereg52.h#includemain.h#includemfrc522.h#include#includeLCD1602.h#includeDS1302.h#defineucharunsignedchar#defineuintunsignedintsbitSpeak=P27;/sbitRED=P34;/sbitGREEN
3、=P33;/sbitRelay=P32;/sbitKEY1=P13;/sbitKEY2=P14;/sbitKEY3=P15;/sbitKEY4=P16;/sbitKEY5=P17;/sbitKEY=P26;/蜂鳴器紅色指示燈綠色指示燈繼電器小時加按鍵小時減按鍵分鐘加按鍵分鐘減按鍵增添刪除卡開門unsignedcharidataRevBuffer30;unsignedcharCard_Num;voidiccardcode();系統(tǒng)初始化voidInitializeSystem()/IC卡初始化PcdReset();/IC卡初始化PcdAntennaOff();/IC卡初始化PcdAntennaO
4、n();/IC卡初始化M500PcdConfigISOType(A);/IC卡初始化unsignedcharidataUID4,Temp4;/讀取卡號數(shù)組unsignedcharTable3;/顯示數(shù)組unsignedcharNum;unsignedCount,Countf,Count1,Count2,Count3,Count4,Count5,C_flag;/卡序號charvoidAuto_Reader(void)/自動尋卡if(PcdRequest(0 x52,Temp)=0)/找到卡if(PcdAnticoll(UID)=0)Speak=0;delay_10ms(20);Speak=1;/
5、蜂鳴器提示Table0=UID0/100+0 x30;/卡號顯示Table1=UID0/10%10+0 x30;/卡號顯示Table2=UID0%10+0 x30;/卡號顯示LCD1602_Disp_ZF(0 x80+0 x40,Num:,16);/卡號顯示LCD1602_Disp_ZF(0 x84+0 x40,Table,3);Count=UID0;/判斷卡是否是有效/卡號顯示if(Count=Count1)|(Count=Count2)|(Count=Count3)|(Count=Count4)|(Count=Count5)LCD1602_Disp_ZF(0 x88+0 x40,Welco
6、me,7);/卡有效GREEN=0;Relay=0;delay_10ms(200);Relay=1;GREEN=1;/綠燈亮,翻開繼電器C_flag=1;elseLCD1602_Disp_ZF(0 x88+0 x40,Error,7);/卡無效RED=0;delay_10ms(500);RED=1;/紅燈亮C_flag=2;delay_10ms(200);LCD1602_Disp_ZF(0 x80+0 x40,PleaseSwipecard,16);/顯示初始界面ucharDS1302_Table7=0;/讀取時間值voidDisplay_LCD2(ucharDis_Hour,ucharDis
7、_Min,ucharDis_Sec)/顯示時間值ucharDis_Table8=11:22:33;Dis_Table0=Dis_Hour/10+0 x30;Dis_Table1=Dis_Hour%10+0 x30;Dis_Table3=Dis_Min/10+0 x30;Dis_Table4=Dis_Min%10+0 x30;Dis_Table6=Dis_Sec/10+0 x30;Dis_Table7=Dis_Sec%10+0 x30;LCD1602_Disp_ZF(0 x85,Dis_Table,8);/顯示時間值voidRun_DS1302(void)ucharsec,min,hour,da
8、y,month,week,year;v_W1302(0 x8f,0);sec=bcdtodec(uc_R1302(0 x81);/讀出DS1302中的秒v_W1302(0 x8f,0);min=bcdtodec(uc_R1302(0 x83);/讀出DS1302中的分v_W1302(0 x8f,0);hour=bcdtodec(uc_R1302(0 x85);/讀出DS1302中的小時v_W1302(0 x8f,0);day=bcdtodec(uc_R1302(0 x87);/讀出DS1302中的日v_W1302(0 x8f,0);month=bcdtodec(uc_R1302(0 x89);
9、/讀出DS1302中的月v_W1302(0 x8f,0);week=bcdtodec(uc_R1302(0 x8b);/讀出DS1302中的禮拜v_W1302(0 x8f,0);year=bcdtodec(uc_R1302(0 x8d);/讀出DS1302中的年DS1302_Table0=year;DS1302_Table1=month;DS1302_Table2=day;DS1302_Table3=week;DS1302_Table4=hour;DS1302_Table5=min;DS1302_Table6=sec;Display_LCD2(DS1302_Table4,DS1302_Tabl
10、e5,DS1302_Table6);/顯示時間值voidmain(void)InitializeSystem();LCD1602_init();/Money_1=x24c02_read(0X01);/x24c02_write(0X03,Money_3);LCD1602_Disp_ZF(0 x80,Time:,5);/0123456789abcdefLCD1602_Disp_ZF(0 x80+0 x40,PleaseSwipecard,16);/LCD1602_Disp_ZF(0 x80+0 x40,Num:,4);/ISP_ERASE(0 x2c00);/注意:字節(jié)編程時必然要先要擦除整個扇區(qū)
11、/for(i=0;i0)states-;elsestates=0;if(key=13)if(+states3)states=3;ctrl_process();#include#include#defineucharunsignedchar#defineuintunsignedint#defineLCD_dataP0/數(shù)據(jù)口sbitLCD_RS=P22;/存放器選擇輸入sbitLCD_RW=P21;/液晶讀/寫控制sbitLCD_EN=P20;/液晶使能控ucharcodedis0=IC卡讀寫系統(tǒng);ucharcodedis1=1.IC卡輸入;ucharcodedis2=2.密碼輸入:8位;uch
12、arcodedis3=3.IC卡登記;ucharcodedis4=4.密碼設(shè)置:8位;ucharcodedis5=成功;ucharcodedis6=失敗;ucharcodedis7=桂林電子科技大學(xué);ucharcodedis8=控制工程;ucharcodedis9=接口實驗;ucharcodedis10=MADEBY:司亞;voiddelay(intms)/延時xmswhile(ms-)uchari;for(i=0;i250;i+)_nop_();_nop_();_nop_();_nop_();voiddelayNOP()/延時4us_nop_();_nop_();_nop_();_nop_(
13、);bitlcd_busy()bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;delayNOP();result=(bit)(LCD_data&0 x80);LCD_EN=0;return(result);voidwrite_cmd(ucharcmd)unsignedintK=20000;while(lcd_busy()&K-);/預(yù)防沒插LCD時候停在這LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();LCD_data=cmd;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;voidlcd_wdat
14、(uchardat)unsignedintK=20000;while(lcd_busy()&K-);LCD_RS=1;LCD_RW=0;LCD_EN=0;LCD_data=dat;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;voidlcd_init()write_cmd(0 x36);delay(5);write_cmd(0 x30);delay(5);write_cmd(0 x0C);delay(5);write_cmd(0 x01);delay(5);voidlcd_pos(ucharX,ucharY)ucharpos;if(X=0)X=0 x80;el
15、seif(X=1)X=0 x90;elseif(X=2)X=0 x88;elseif(X=3)X=0 x98;pos=X+Y;write_cmd(pos);voiddisplay_all()uchari;lcd_pos(0,0);/第一行顯示數(shù)字09i=0;while(dis0i!=0)lcd_wdat(dis0i);/顯示字母i+;lcd_pos(1,0);/第二行顯示字母i=0;while(dis1i!=0)lcd_wdat(dis1i);/顯示字母i+;lcd_pos(2,0);/第三行顯示文字i=0;while(dis2i!=0)lcd_wdat(dis2i);i+;lcd_pos(3
16、,0);/第四行顯示廣工無線電社i=0;while(dis3i!=0)lcd_wdat(dis3i);i+;voiddisplay(uchara,ucharb,ucharc)uchari;lcd_pos(a,b);i=0;switch(c)case0:while(dis0i!=0)lcd_wdat(dis0i);i+;break;case1:while(dis1i!=0)lcd_wdat(dis1i);i+;break;case2:while(dis2i!=0)lcd_wdat(dis2i);i+;break;case3:while(dis3i!=0)lcd_wdat(dis3i);i+;br
17、eak;case4:while(dis4i!=0)lcd_wdat(dis4i);i+;break;case5:while(dis5i!=0)lcd_wdat(dis5i);i+;break;case6:while(dis6i!=0)lcd_wdat(dis6i);i+;case7:while(dis7i!=0)lcd_wdat(dis7i);i+;case8:while(dis8i!=0)lcd_wdat(dis8i);i+;case9:while(dis9i!=0)lcd_wdat(dis9i);i+;case10:while(dis10i!=0)lcd_wdat(dis10i);i+;d
18、efault:break;break;break;break;break;break;voiddisplay2(uchara,ucharb,uchar*p,ucharnum)uchari;lcd_pos(a,b);for(i=0;inum;i+)lcd_wdat(pi);voiddisplay_clear_line(uchara)uchari;lcd_pos(a,0);for(i=0;i16;i+)lcd_wdat();實物考證結(jié)果如圖7所示:圖7:實物考證結(jié)果實物考證可以實現(xiàn)IC卡的讀寫加密,使用LCD12864中文字幕可以更方便讀守信息,對實物考證程序進(jìn)行了稍微的改正,第一次買的射頻模塊是壞的浪費了太多時間。換了新板子,最后能達(dá)到要求。心得意會:經(jīng)過本次的實驗,小構(gòu)成員都發(fā)現(xiàn)自己的知識面仍是特其余
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遠(yuǎn)程辦公與超聲科醫(yī)生的工作模式變革
- 特種雞養(yǎng)殖知識培訓(xùn)課件
- 足療店消毒工作與法律法規(guī)的契合
- 7.1回望成長課件- -2024-2025學(xué)年統(tǒng)編版道德與法治九年級下冊
- 建設(shè)工程招投標(biāo)活動主要參與者應(yīng)具備的基本知識學(xué)習(xí)情境一建設(shè)工程承
- 2025陜西陜焦化工有限公司招聘(200人)筆試參考題庫附帶答案詳解
- 中國人民大學(xué)《機器人操作系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 瑜伽面料采購合同范本
- 青島飛洋職業(yè)技術(shù)學(xué)院《航海學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州高博軟件技術(shù)職業(yè)學(xué)院《健康評估(實驗)》2023-2024學(xué)年第二學(xué)期期末試卷
- 期末考試質(zhì)量分析教學(xué)成績匯報模板
- 學(xué)校招生預(yù)約與咨詢服務(wù)
- 核心素養(yǎng)導(dǎo)向下的小學(xué)語文跨學(xué)科學(xué)習(xí)研究
- 塑料包裝知識培訓(xùn)課件
- 古法拓印(非遺課程)
- 湖南省長沙市2024年七年級上學(xué)期期末數(shù)學(xué)試卷【附答案】
- 護(hù)苗行動課件
- 《人工授精雞》課件
- 內(nèi)蒙古自治區(qū)商品房買賣合同(現(xiàn)售)示范文本
- 2022部編版道德與法治四年級下冊《我們的好朋友》教學(xué)設(shè)計
- 稅務(wù)會計崗位招聘面試題與參考回答2024年
評論
0/150
提交評論