1401|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

CPU卡程序设计实例的上、下电 [复制链接]

1.1 CPU卡上电程序


/*******************************************


函数名称:CardPowerUp


函数功能:卡上电


输入参数:无


输出参数:无


描述:复位过程:先加VCC,200个时钟周期内加CLK,之后,SDA应在CLK加上后的


200个时钟周期内被置于接收状态,CLK加上后,保持RST为低至少400个时


钟周期,之后卡复位RST被置为高,SDA上的应答应在RST信号上升沿后


400-40000个时钟周期内开始,RST为高后,等待400个时钟周期开始接收


应答信号


*******************************************/


void CardPowerUp(void)


{


//卡SDA输出1,


CardSDAOutput;


CardSDAOutputHigh;


//卡上电输出高,不上电


CardPowerOutputHigh;


delay_ms2M(10);


//开始复位时序,卡上电200个时钟周期内加MCLK


//卡上电


CardPowerOutput;


CardPowerOutputLow;


Delay05XETU(); //186个时钟周期


//输出MCLK


MCLKOutput;


MCLKOutputLow;


MCLKOutputHigh;


MCLKSEL;


//MCLK加上后,卡复位脚输出低,保持至少400个时钟周期


CardRSTOutput;


CardRSTOutputLow;


Delay05XETU();


//SDA应在MCLK加上后200个时钟周期内被置于接收状态


//卡SDA脚置为输入


CardSDAInput;


Delay1ETU();//372个时钟周期


Delay1ETU();


//卡复位脚输出高,应答信号在RST变高后400-40000个时钟周期开始


CardRSTOutputHigh;


Delay1ETU();


}


1.2 CPU卡下电程序


/*******************************************


函数名称:CardPowerDown


函数功能:卡下电


输入参数:无


输出参数:无


描述:先将RST置低,再将CLK置低,然后将SDA置低,最后将VCC置低


*******************************************/


void CardPowerDown(void)


{


//RST,CLK,SDA,VCC置低


CardRSTOutputLow;


MCLKOutputLow;


CardSDAOutputLow;


CardPowerOutputLow;


CardRSTOutput;


CardSDAOutput;


//将SDA,MCLK,POWER,RST都置为输入口


//CardSDAInput;


MCLKInput;


//MCLKOutput;


CardPowerInput;


//CardRSTInput;


}

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表