基于单片机的IC卡读写器设计毕业设计论文 - 图文 下载本文

内容发布更新时间 : 2024/12/23 23:58:50星期一 下面是文章的全部内容请认真阅读。

致 谢

本文从课题的选定开始,系统方案的确定,以及对设计电路的调试指导,到最后论文的编写和完成较稿,徐伟业老师都给予了悉心的指导。在我设计电路设计与程序的编写时倾注着导师辛勤的汗水与心血。导师渊博的知识、无私奉献的精神、严谨治学态度使我深受感动。从敬爱的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。

其次,要感谢学校给我们提供这么好的毕业设计环境,在毕业设计完成的过程中得到了许多老师和学院领导的帮助,老师们严谨治学的教学使我受益匪浅。

在本论文的写作和相关研究工作中,我同一实验室和同班同学都给予了我很多热心的帮助和热情的鼓励,使我顺利走过近三个月的课题研究生活。我要向他们中的每一个人表示由衷的感谢,我会永远记住这段美好时光。

再次向所有帮助过我的人表示衷心的感谢!谢谢你们!

张静

31

2013年6月

参 考 文 献

[1] 王爱英.智能卡技术[M].北京:清华大学出版社,2000

[2] 沈宇超.射频识别技术及其发展现状[J].电子技术应用,2007(1):8~9 [3] 潘长东.IC卡电能表的现状与改进[J].电测与仪表,2006(8):15~19 [4] 朱义胜.低通型阻抗匹配网络的设计[J].电子学报,2006,4(1):91~94 [5] 张肃文,陆兆熊.高频电子线路[M].北京:高等教育出版社,1996 [6] 李淑琴,范蟠果.射频识别非接触式 IC卡读卡器的设计[J]. 计算机测量与

控制,2007(3):378~380

[7] 童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2001 [8] 张洪润,蓝清华.单片机应用技术教程[M].北京:清华大学出版社,1997 [9] 王卫东,傅佑麟.高频电子电路[M].北京:电子工业出版社,2004 [10] 罗海勇.IC卡读写器子系统设计[J].电子技术应用,2006(12):14~17 [11] 谭浩强.C程序设计[M].北京:清华大学出版社,2003

[12] 周晓中.IC卡预付费计算机管理系统[J].计算机应用,2006(1):9~14 [13] 刘铮.非接触式IC卡射频识别技术[J].信息技术,2006,3(4):8~12 [14] 范久臣.实时时钟芯片在单片机系统中的应用[J].沈阳教育学院学报,2005,

7(4):132~134

[15] 林昌禄,吴为公.近代天线设计[M].北京:人民邮电出版社,1990 [16] Klaus Finkenzeller著.射频识别技术[M].北京:电子工业出版社,2001 [17] 陈大才.射频识别(RFID)技术[M].北京:电子工业出版社,2003

[18] John Yarbrough.Digital Applications and Design[M].北京:机械工业出版

社,2003

[19] MF-RC500 Highly Integrated ISO 14443A Reader IC Semiconductors[J],2002 [20] Philips Semiconductors,Contactless Chip Card Module Specification[J],1999 [21] Standard Card IC S50 Functional Specification.Philips Seniconductors[J],2001

32

附录A 总电路图

33

附录B 读/写卡源程序

##include \#include \#include \#include \#include \#include \#include \#include \#define M500_GLOBALS sbit SPEAKER = P2^4; sbit LED2 = P1^0; sbit LED3 = P1^1;

extern unsigned char idata MLastSelectedSnr[4];

extern unsigned char idata RevBuffer[30]; //RevBuffer是接收和发送缓冲区 extern unsigned char data SerBuffer[20]; //SerBuffer是进行卡的其他操作所使用的临时缓冲区 extern bit CmdValid; //蜂鸣器

void Beep(unsigned int value) {

SPEAKER=1; delay_10ms(value); SPEAKER=0; }

//============================================== //串行口1初始化函数 void SCI1_Init()

{ //在11.0592MHz晶振下,设置串行口9600数据传输率,方式3 PCON |=0x80; SCON=0x50;

34

TMOD=0x21; TL1=BAUD_9600; TH1=TL1; TR1=1; ES = 1; }

///////////////////////////////////////////////////////////////////// // 主函数

///////////////////////////////////////////////////////////////////// void main(void) {

unsigned char baud,i=0; //SPEAKER=0; //delay_10ms(1000);

EA=0; //禁止中断,防止MFRC500未初始化 SCI1_Init(); Mfrc500Init(); EA=1; while (1) {LED2=0; LED3=0; if (CmdValid) {

CmdValid = FALSE; switch(RevBuffer[0]) {

case 11: //为了加快相应速度 测试风鸣器 {

RevBuffer[2]=RevBuffer[1]; RevBuffer[0]=1; //contact RevBuffer[1]=0;

35