教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

射频 rc500代码完全注释(11)

来源:网络收集 时间:2026-07-01
导读: 1250.WriteRawIO(RegInterruptRq,0x01); 1251.} 1252.if(irqBits/*则置发送中断请求*/ 1255.WriteRawIO(RegInterruptEn,0x82);/*缓冲区FIFO满中断使能*/ 1256.if(MpIsrInfo->cmd==PICC_ANTICOLL1) 1257.{ 1258.Writ

1250.WriteRawIO(RegInterruptRq,0x01); 1251.}

1252.if(irqBits&0x10)/*如果有发送中断请求*/ 1253.{

1254.WriteRawIO(RegInterruptRq,0x10);/*则置发送中断请求*/

1255.WriteRawIO(RegInterruptEn,0x82);/*缓冲区FIFO满中断使能*/ 1256.if(MpIsrInfo->cmd==PICC_ANTICOLL1) 1257.{

1258.WriteIO(RegChannelRedundancy,0x02); 1259.WriteRawIO(0,0x80); 1260.} 1261.}

1262.if(irqBits&0x0E)/*如果有接收中断请求?*/ 1263.{

1264.nbytes=ReadRawIO(RegFIFOLength); 1265.for(cnt=0;cntnbytes;cnt++) 1266.{

1267.MpIsrOut[MpIsrInfo->nBytesReceived]=ReadRawIO(RegFIFOData); 1268.MpIsrInfo->nBytesReceived++; 1269.}

1270.WriteRawIO(RegInterruptRq,0x0A&irqBits); 1271.}

1272.if(irqBits&0x04)/*如果有IDLE中断请求*/ 1273.{

1274.WriteRawIO(RegInterruptEn,0x20);/*则置计时器中断使能和请求*/ 1275.WriteRawIO(RegInterruptRq,0x20); 1276.irqBits&=~0x20;

1277.MpIsrInfo->irqSource&=~0x20;

1278.WriteRawIO(RegInterruptRq,0x04); 1279.}

1280.if(irqBits&0x20)/*如果有计时器中断请求*/ 1281.{

1282.WriteRawIO(RegInterruptRq,0x20);

1283.MpIsrInfo->status=MI_NOTAGERR;/*则表明无卡在此场中*/ 1284.} 1285.} 1286.}

1287.} 1288.

1289.///////////////////////////////////////////////////////////////////////

1290./*RS232异步串行通信接收和发送中断子程序*/

1291.///////////////////////////////////////////////////////////////////////

1292.voidisr_UART(void)interrupt4using1 1293.{

1294.unsignedcharlen,i; 1295.unsignedintj=0; 1296.

1297.if(RI) 1298.{

1299.len=SBUF;/*LEN为数据个数*/ 1300.RI=0;

1301.for(i=0;i

1303.while(!RI) 1304.{ 1305.j++;

1306.if(j>1000) 1307.{

1308.break; 1309.} 1310.}

1311.if(j<1000) 1312.{

1313.RevBuffer[i]=SBUF;/*接收来自上位机PC的数据*/ 1314.RI=0; 1315.j=0; 1316.} 1317.else 1318.{

1319.break; 1320.} 1321.}

1322.if(i==len) 1323.{

1324.REN=0;

1325.CmdValid=1; 1326.} 1327.}

1328.elseif(!RI&&TI)

1329.{

1330.TI=0;

1331.len=RevBuffer[0];/*LEN为数据个数*/ 1332.for(i=0;i

1334.SBUF=RevBuffer[i];/*发送单片机里的已知数据*/ 1335.while(!TI); 1336.TI=0; 1337.}

1338.REN=1; 1339.} 1340.} 1341.

1342.///////////////////////////////////////////////////////////////////////

1343./*MFRC500软硬件配置总程序*/

1344.///////////////////////////////////////////////////////////////////////

1345.charMfConfig(void) 1346.{

1347.charstatus=MI_OK; 1348.

1349.M500PcdConfig();/*配置RC500读写器的引脚?重启时序*/ 1350.M500PcdMfOutSelect(2);/*?*/ 1351.returnstatus; 1352.} 1353.

1354.///////////////////////////////////////////////////////////////////////

1355./*系统初始化---单片机和RC500芯片*/

1356.///////////////////////////////////////////////////////////////////////

1357.voidinit(void) 1358.{

1359.RC500RST=0;

1360.ET2=0;//禁止定时器2中断

1361.T2CON=0x04;//启动定时器2(tr2=1) 1362.PCON=0x80;

1363.SCON=0x70;//8位uart,波特率可变

1364.TMOD=0x21;//TMOD=0x21;两个定时器均为自动重载方式 1365.

1366.TH1=BAUD_9600; 1367.TL1=TH1;

1368.TR1=TRUE;//串行口波特率发生器---定时器1

1369.

1370.TH0=0x60;//定时器0初始化 1371.TL0=0x60; 1372.TR0=0; 1373.

1374.ET0=0;//定时器0中断禁止---用作一般定时器 1375.ET1=0;//定时器1中断禁止---用作波特率发生器 1376.EA=1;//总中断允许

1377.EX0=1;//外部中断0允许----rc500的irq 1378.IT0=1;//外部中断0触发类型--下降沿触发 1379.TR2=0;//关闭定时器2(tr2=1) 1380.ES=TRUE;//串行口中断允许 1381.CmdValid=0; 1382.

1383.SPEAKER=1;

1384.delay_10ms(30); 1385.SPEAKER=0;

1386.delay_10ms(30); 1387.SPEAKER=1; 1388.

1389.reset_7289();

1390.MfConfig();/*调用RC500软硬件配置总程序*/ 1391.} 1392.

1393.///////////////////////////////////////////////////////////////////////

1394.//IC卡处理函数

1395.///////////////////////////////////////////////////////////////////////

1396.voidcmd_execution(void) 1397.{

1398.unsignedcharcmd; 1399.unsignedcharstatus; 1400.

1401.cmd=RevBuffer[0];/*来自上位机的命令存于REVBUFFER[0]*/ 1402.switch(cmd) 1403.{

1404.case1:/*终止卡的操作*/ 1405.status=M500PiccHalt(); 1406.

1407.RevBuffer[0]=1;

1408.RevBuffer[1]=status;/*返回给上位机的内容*/ 1409.break;

1410.case2://Request,Anticoll,Select,returnCardType(2bytes)+CardSeri

…… 此处隐藏:1392字,全部文档内容请下载后查看。喜欢就下载吧 ……
射频 rc500代码完全注释(11).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/564818.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)