📄 card.c
字号:
#include "stdio.h"
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
void cardread();
void cardwrite(uchar *p);
sbit card_reset=P2^0;
sbit card_cs=P2^1;
sbit card_busy=P2^2;
sbit card_sck=P2^3;
sbit card_so=P2^4;
sbit card_si=P2^5;
sbit card_interrupt=P2^6;
uchar *xsl;
uint total;
void main(void)
{
while(1)
if(card_interrupt) //有卡
{
uchar test;
card_reset=1; //初始化IC卡
card_cs=1;
card_busy=1;
card_si=1;
card_so=1;
cardwrite_page(1,"畅为");
test=cardread(1);
}
}
/****************************************************
*函数原型:cardread() 2002.8.29 *
*功 能:从AT45D041卡读入数据 *
* *
* *
****************************************************/
void cardread(void)
{
int a;
}
/****************************************************
*函数原型:void cardwrite(void) 2002.8.29 *
*功 能:写一个字节数据到AT45D041 *
*说 明: *
* *
****************************************************/
void cardwrite(uchar *p)
{
uint i;
uchar shuju,m;
card_cs=0;
m=0x80;
for(i=0;i<=7;i++) //发送一个字节
{
card_sck=0;
shuju=(*p)&m;
m=m>>1;
card_si=shuju;
card_sck=1;
}
}
/****************************************************
*函数原型:void cardwrite_page(void) 2002.8.29 *
*功 能:写一页数据到AT45D041 *
*说 明:一页为264个字节 *
* *
****************************************************/
void cardwrite_page(int pagenum,char *p)
{
uint i,j;
uchar a[j];
card_cs=0;
a[0]=0x82;
for(j=0;j<4;j++)
{
cardwrite(a[j]);
}
for(i=0;i<264;i++)
{
cardwrite(*p);
P++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -