基于51的FM1702射频卡程序.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51的FM1702射频卡程序

#includereg52.h #includeintrins.h #includeFM1702.h #define uchar unsigned char #define uint unsigned int uchar Fbuff[16]; //发送FIFO缓存 uchar Jbuff[16]; //接收FIFO缓存 uchar UID[7]; //卡型及卡号 uchar Data[4]; //按键值存储区 uchar code seg[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; //数码管段选对应0~f uchar count=0 ; //按键回传的值 uchar shuaka,chongzhi,keyflag=0; sbit k2=P3^5; //充值‘加值键(实现加1或者加10) sbit k3=P3^2; //刷卡’减值键(实现减1或者减10) sbit k4=P3^3; //确认键 sbit nWR=P2^4; //74hc373片选 /*****************1702函数声明**************************/ uchar spi(uchar m); void fifo_clear(); void resig_write(uchar reg,uchar da); uchar resig_read(uchar reg); uchar fifo_read(uchar count,uchar *s); void fifo_write(uchar count,uchar *s); uchar inti_1702(); void card_halt(); uchar request(); uchar card_anticoll(); uchar card_select(); uchar card_authtication(uchar m) ; uchar card_read(uchar m); uchar card_write(uchar m); uchar loadkey(); void delay(uchar m); /********************按键显示函数声明***************/ void display(); void keyscan() ; void data1deal() ; void data2deal(uchar m); void lcdclear(); /***********************子函数解释******************/ /*********************************************************/ //解释: 这是spi总线的读写时序,所有的寄存器操作基于此时序,非常重要 // // //输入:要写入的16进制参数 // // //输出:内部传回的16进制参数 // /********************************************************/ uchar spi(uchar m) { uchar i,temp=0; for(i=0;i8;i++) { sck=0; if(m0x80) mosi=1; else mosi=0; m=1; sck=1; temp=1; if(miso) temp|=0x01; } sck=0; mosi=0; return temp; } /*********************************************************/ //解释:写寄存器函数 // // //输入:寄存器地址 以及要写入的参数 // // //输出: // //注意!!在所有的资料中都没有给出寄存器寻址时的格式,下边的有,看仔细了,如果连寄存器都找不到,后边的就不用看了 /********************************************************/ void resig_write(uchar reg,uchar da) { sck=0; reg=1; cs=0; reg=reg0x7e; spi(reg); spi(da); cs=1; } /********************************

文档评论(0)

youshen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档