今天小编要和大家分享的是控制,MCU相关信息,接下来我将从AT89S8252单片机实现接触式IC卡读写控制的设计,供应ic卡,id卡,m1卡智能卡,复旦芯片卡这几个方面来介绍。

控制,MCU相关技术文章AT89S8252单片机实现接触式IC卡读写控制的设计供应ic卡,id卡,m1卡智能卡,复旦芯片卡

控制,MCU相关技术文章AT89S8252单片机实现接触式IC卡读写控制的设计

从上高中开始,我们学校用的餐卡就为接触式的IC卡,在校园里还分布着很多的IC卡电话,上大学以后学校使用的校园一卡通,为非接触式是射频式IC卡,因此对IC卡有了兴趣,在学习单片机的过程中,了解到单片机可以实现IC卡的读写控制,在参考有关资料的基础上,学习的利用单片机实现接触式的IC卡读写控制。

主要器件:

1、 AT89S8252单片机芯片,此芯片具有SPI接口,可以用来读写IC卡芯片。

2、 使用与SPI接口兼容的串行数据接口的IC卡芯片AT45D041A,支持在系统重编程,可用于数字语音、图像和数据的存储。

试验流程图:

AT89S8252单片机实现接触式IC卡读写控制的设计

试验电路图

AT89S8252单片机实现接触式IC卡读写控制的设计

试验程序代码:

//ICRdWr.h程序

#ifndef _ICRDWR_H // 防止ICRdWr.h被重复引用

#define _ICRDWR_H

#include // 重要的头文件引用

#define uchar unsigned char

#define uint unsigned int

/* 指令宏定义 */

#define BUFFER_1_WRITE 0x84 // buffer1写指令代码

#define B1_TO_MM_PAGE_NO_ERA 0x88 // 无在线擦除的buffer1写主内存页指令代码

#define MM_PAGE_READ 0xD2 // 主内存页读指令代码

#define STAT_REG_READ 0xD7 // 状态寄存器读指令代码

#define DATA_IN_MAX_LEN 8

#define DATA_OUT_MAX_LEN 8

uint page_start_addr; // 页中起始字节地址

uint page_addr; // 页地址,16位中低9位为有效位

uint buf_start_addr; // buffer中起始字节地址,16位中低11位为有效位

uchar data_in[DATA_IN_MAX_LEN]; // 要写入IC卡的数据

uchar data_out[DATA_OUT_MAX_LEN]; // 要从IC卡中读出的数据

#endif

//ICRdWr.c程序

#include “ICRdWr.h”

/* 延时t毫秒 */

void delay(uint t)

{

uint i;

while(t--)

{

/* 对于11.0592M时钟,约延时1ms */

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查