⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icka.h

📁 mcs51系列单片机常用芯片使用头文件(包含MAX7219,DS18B20,DS1302,AT93C46,IC电话卡
💻 H
字号:
/*******************************************************************************
*  标题:  IC卡头文件                                                           *
*  日期:  2007-3-25                                                            *
*  版本:  1.0                                                                  *
*  作者:  无名                                                                 *
*  邮箱:  djrljf@163.com                                                       *
*  QQ  : 403499014                                                            *
********************************************************************************
********************************************************************************
* 【版权】 Copyright(C)无名        All Rights Reserved                         *
* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
*******************************************************************************/
#ifndef	_ic_H 				      // 防止ic.h被重复引用

#define	_ic_H
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
//==============================================================
//默认设置,使用时根据实际布线修改DIN CLK LOAD
#define icclk P3_3    //ic卡时钟线
#define icrst P3_4    //IC卡复位线
#define icio  P3_5    //IC卡数据线
//==============================================================
//读IC卡指定地址的无符号字符型数据返回到主程序
//==============================================================
uchar readic(uchar no)
     {
	 uint i,temp=0,temp1;
	 icrst=0;icclk=0;
	 icrst=1;icclk=1;
	 icclk=0;icrst=0;
	 temp=(no-1)*8;
	 for(i=0;i<temp;i++)
	     {icclk=1;_nop_();icclk=0;temp1=icio;}
	 temp=0;
	 for(i=0;i<8;i++)
         {
		 temp1=0;
		 icclk=0;
		 icclk=1;
		 _nop_();
		 icclk=0;
         _nop_();
		 temp1=icio;
		 temp=temp+(temp1<<i);
         }
	 return temp;
	 }
//==============================================================
//读IC卡所有地址(共16)的无符号字符型数据返回到指定数组内
//==============================================================
void readTotal(uchar *word)
     {
	 uint i,j,temp=0,temp1;
	 icrst=0;icclk=0;
	 icrst=1;icclk=1;
	 icclk=0;icrst=0;
	 for(j=0;j<16;j++)
	     {
		 temp=0;
	     for(i=0;i<8;i++)
            {
		    temp1=0;
		    icclk=0;
			icclk=1;
			_nop_();
		    icclk=0;
			_nop_();
		    temp1=icio;
		    temp=temp+(temp1<<i);
            }
	    *(word+j)=temp;
        }
	 }
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -