亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 4442.c

?? IC_CARD 4442芯片 的源程序
?? C
字號:
//-----------------------函數聲明,變量定義--------------------------------------------
//-----------------------函數聲明,變量定義--------------------------------------------------------
#include <stdio.h>
#include <intrins.h>
#include <reg51.h>
#define uchar unsigned char 
#define uint  unsigned int  
#define	OFF 1
#define ON	0
#define True 1
#define	False 0
#define RMM_COMM 0x30    //讀主存命令字
#define WMM_COMM 0x38    //寫主存命令字
#define VER_COMM 0x33    //校驗密碼
#define RSM_COMM 0x31    //讀密碼存儲區
#define WSM_COMM 0x39    //寫密碼存儲區
#define RPM_COMM 0x34    //讀保護存儲區
#define WPM_COMM 0x3c    //寫保護存儲區
//----------------------------------------------------------------------------
//------------------------------------------------------------------------------------
//             定義IC卡接口
sbit IC_RST =P1^0;	     // 將p1.0口設定為復位管腳
sbit IC_CLK =P1^1;		// 用p1.1口模擬時鐘口
sbit IC_IO =P1^2;			// 將p1.2口模擬數據口
sbit watch_PW =P1^3;		// 將p1.3口作為電源監控,watch_PW=0,設備有損壞
sbit CT_PW =P1^4; 		// 將p1.4口作為電源控制,CT_PW=0接通電源,CT_PW=1斷開電源
sbit IC_INT0 =P3^2;        // P3.2用于檢測有無卡插入,檢測到低電平,說明有卡插入
//------------------------------------------------------------------------------------
uchar Read_Buffer[16];
bit 	IC_In_Flag;
bit		IC_Read_Flag;
//------------------------------------------------------------------------------------
//4442卡底層程序的外部函數聲明
//------------------------------------------------------------------------------------
void ReadMainMem(uchar addr,uchar idata *pt,uchar count); //讀IC卡主存
void WriteMainMem(uchar addr,uchar idata *pt);        //寫IC卡主存
void ReadProtectMem(uchar idata *pt);                 //讀保護存儲器
void ProtectByte(uchar CardAdd,uchar idata *pt);      //保護一字節,注意待保
//護的字節是已經寫入過的,地址只能在保護存儲區內
void SendComm(uchar a,uchar b,uchar c);                      //發送命令
void ReadMode(uchar idata *pt,uchar count);
void ProcessMode(void);
void ResetCard(void);
void BreakOperate(void);
void StartComm(void);
void StopComm(void);
uchar ReadByte(void);
void WriteByte(uchar ch);
void Delay10us(void);
void Delay5us(void);
void init();
//--------------------------------------------------------------------------------
// 函數名稱: ResetCard
// 函數功能: 卡復位子程序
//-------------------------------------------------------------------------------
void ResetCard(void)
{
    uchar temp;
    Delay5us();    
    IC_RST = 0;        
    IC_CLK = 0;     
    IC_IO  = 1;    
    Delay5us();      
    IC_RST = 1;
    Delay5us();
    IC_CLK = 1;
    Delay10us();
    Delay10us();
    Delay10us();
    Delay10us();
    IC_CLK = 0;
    Delay5us();
    IC_RST = 0;
    Delay10us();       
    temp = ReadByte();
    temp = ReadByte();
    temp = ReadByte();
    temp = ReadByte();  
    IC_CLK = 0;         
    Delay5us();        
    IC_IO  = 1;         
    _nop_();           
    IC_CLK = 0;         
    Delay5us();
    }
//-------------------------------------------------------------------------------------
// 函數名稱: BreakOperate
// 函數功能: 停止操作
//-----------------------------------------------------------------------------------
void BreakOperate(void)
{
     IC_CLK = 0;
     IC_RST = 0;
     IC_IO  = 0;
     Delay5us();
     IC_RST = 1;
     IC_IO  = 1;
     Delay5us();
     IC_RST = 0;
     Delay5us();
	 CT_PW = 1;
}
//------------------------------------------------------------------------------------
// 函數名稱: StartComm()
// 函數功能: 啟動I2C總線子程序
//-----------------------------------------------------------------------------------
void StartComm(void)
{
    IC_CLK = 0;
    IC_IO  = 1;
    Delay5us();
    IC_CLK = 1;
    Delay5us();
    IC_IO  = 0;
    Delay5us();
}
//-------------------------------------------------------------------------------
// 函數名稱: StopComm()
// 函數功能: 停止I2C總線數據傳送子程序
//-----------------------------------------------------------------------------
void StopComm(void)
{
    IC_CLK = 0;
    IC_IO  = 0;
    Delay5us();
    IC_CLK = 1;        //CLK: H
    Delay5us();
    IC_IO  = 1;        //IO : H
    Delay10us();
}
//-----------------------------------------------------------------------------------
// 函數名稱: ReadByte
// 返回接收的數據
// 函數功能: 接收一字節子程序
//-----------------------------------------------------------------------------------
uchar ReadByte(void)
{
    uchar i,ch;
    ch = 0;
    for (i = 8; i > 0; i--)
    {
        IC_CLK = 0;
        ch = ch >> 1;           //從低位讀起 
        if((uchar)IC_IO)
            ch |= 0x80;
        Delay5us();
        IC_CLK = 1;
        Delay5us();
    }
    return ch;
}
//----------------------------------------------------------------------------------
// 函數名稱: WriteByte
// 入口參數: ch
// 函數功能: 發送一個字節
//------------------------------------------------------------------------------------
void WriteByte(uchar ch)
{
    uchar i;
    for(i = 8; i > 0; i--)
    {
        IC_CLK = 0;
        IC_IO = (bit)(ch & 0x01);     
        Delay5us();
        IC_CLK = 1;
        Delay10us();
        ch = ch >> 1;                 //右移一位
    }
}
//-------------------------------------------------------------------------------------
// 函數名稱: ReadMode
// 入口參數: pt地址指針,指向接收緩沖區,count要接收的數據個數
// 函數功能: 接收n位數據子程序
//----------------------------------------------------------------------------------
void ReadMode(uchar idata *pt,uchar count)
{
    IC_CLK=0;
    Delay5us();
    do
    {
        *pt = ReadByte();    //讀入一個字節
        pt++;                //指針加一
    }while(--count);         //計數器減一,判斷
}
//------------------------------------------------------------------------
// 延時10us子程序,根據系統時鐘需要調整
//------------------------------------------------------------------------
void Delay10us(void)
{
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
}
//------------------------------------------------------------------------
// 延時5us子程序,根據系統時鐘需要調整
//------------------------------------------------------------------------
void Delay5us(void)
{
    _nop_();
    _nop_();
    _nop_();
}
//------------------------------------------------------------------------
// 初始化子程序//------------------------------------------------------------------------
void init()
{
	IC_INT0 = 1;
	IC_Read_Flag = True;
}
//---------------------------------------------------------------------------------
// 函數名稱: ReadMainMem()
// 入口參數:  addr: IC存儲區地址;
//            pt: 地址指針,指向接收緩沖區;
//            count: 接收數據的個數
// 函數功能: 讀存儲區
//-----------------------------------------------------------------------------------
void ReadMainMem(uchar addr,uchar idata *pt,uchar count)
{
    SendComm(RMM_COMM,addr,0xff);
    ReadMode(pt,count);
    BreakOperate();
	IC_Read_Flag = False;
}
//-----------------------------------------------------------------------------
// 函數名稱: SendComm()
// 入口參數:  a: 命令字;
//            b: 地址;
//            c: 數據
// 函數功能: 發送一個完整的命令
//-------------------------------------------------------------------------------
void SendComm(uchar a,uchar b,uchar c)
{
    StartComm();          //開始發送命令
    WriteByte(a);          //a: 發命令字
    WriteByte(b);          //b: 發地址
    WriteByte(c);          //c: 發數據
    StopComm();           //結束發送命令
}

main()
{
	init();
	if((IC_INT0 == 0)&&(IC_Read_Flag == 1) == 1)   //有卡插入,并且有讀標記
	{
		CT_PW = 0;			                        //上電
		Delay10us();
		if(IC_Read_Flag == True)
		{
			ResetCard();				//
			ReadMainMem(0xEF,&Read_Buffer[0],16);
			BreakOperate();
			Delay10us();
			ResetCard();
		}
		Delay10us();
		CT_PW = 1;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠色综合欧洲selulu| 亚洲精品日韩综合观看成人91| 一本大道综合伊人精品热热| 成人黄页毛片网站| 国产九色sp调教91| 色综合久久综合中文综合网| 成人动漫一区二区在线| av中文字幕在线不卡| 91麻豆国产在线观看| 91免费观看视频在线| 日本大香伊一区二区三区| 91污片在线观看| 欧美在线高清视频| 51精品视频一区二区三区| 日韩亚洲欧美一区| 精品久久久网站| 国产精品区一区二区三| 亚洲欧美激情在线| 一级精品视频在线观看宜春院| 午夜精品在线看| 另类中文字幕网| 高清av一区二区| 在线观看视频91| 日韩一区二区三区在线| 国产亚洲一区二区三区在线观看| 国产精品美女久久久久久久久 | 亚洲国产aⅴ天堂久久| 午夜亚洲国产au精品一区二区| 美女视频一区在线观看| 国产精品123| 日本韩国精品一区二区在线观看| 欧美精品日韩一本| 精品国产乱码久久久久久图片| 国产精品久久久久一区二区三区| 亚洲一本大道在线| 国产一区二区91| 欧美军同video69gay| 国产精品午夜春色av| 日本人妖一区二区| 91香蕉视频在线| 国产亚洲制服色| 美女爽到高潮91| 欧美日韩另类一区| 欧美激情中文不卡| 天天综合天天综合色| 91亚洲精品一区二区乱码| 91精品国产欧美一区二区| 国产精品护士白丝一区av| 久久精品国产澳门| 欧美色图激情小说| 亚洲视频一区在线| 美女尤物国产一区| 欧美性xxxxxx少妇| 国产精品久久久久久妇女6080| 麻豆国产欧美一区二区三区| 欧美精品欧美精品系列| 亚洲一区二区三区四区五区黄| 丁香另类激情小说| 欧美不卡一区二区| 日韩av电影一区| 欧美日韩国产综合一区二区 | 91精品蜜臀在线一区尤物| 中文字幕在线不卡| 国产精品99久久久久久久女警 | 国产嫩草影院久久久久| 国产剧情一区二区三区| 精品国产伦一区二区三区免费 | 天天影视涩香欲综合网 | 日本网站在线观看一区二区三区| 91视频观看视频| 国产精品丝袜黑色高跟| 国产成人自拍网| 久久久久久久久岛国免费| 麻豆91精品91久久久的内涵| 欧美一区二区三区思思人| 五月天一区二区三区| 欧美在线视频不卡| 亚洲国产婷婷综合在线精品| 欧美私模裸体表演在线观看| 亚洲综合激情小说| 欧美日韩在线播放一区| 亚洲午夜三级在线| 在线综合视频播放| 精品在线一区二区| 久久精品亚洲国产奇米99| 国产激情一区二区三区四区| 欧美韩国日本一区| 99精品视频一区| 一区二区三区精品视频| 欧美电影一区二区三区| 久久精品久久99精品久久| 精品成人在线观看| 成人性生交大片免费看在线播放| 国产精品久久久久天堂| 色吧成人激情小说| 日本视频在线一区| 精品国产一区久久| 成人av第一页| 亚洲gay无套男同| 日韩欧美在线不卡| 国产精品123区| 亚洲福利视频一区| 欧美成人video| 9色porny自拍视频一区二区| 亚洲h在线观看| 久久久久久久久99精品| 91国产免费看| 国内精品国产三级国产a久久| 中文av一区二区| 欧美在线免费观看亚洲| 久久国产欧美日韩精品| 亚洲欧洲制服丝袜| 欧美久久久久久久久久| 成人黄色在线网站| 青青青伊人色综合久久| 中文字幕一区二| 这里只有精品视频在线观看| 成人av影视在线观看| 热久久免费视频| 亚洲理论在线观看| 2023国产精品| 制服丝袜日韩国产| 91国偷自产一区二区使用方法| 国模无码大尺度一区二区三区| 亚洲电影一区二区三区| 久久久五月婷婷| 欧美精品一级二级| 色婷婷久久综合| 国产一区二区三区四区在线观看| 亚洲影视在线播放| 中文字幕亚洲成人| 精品国产91乱码一区二区三区| 在线免费观看日本一区| 成人综合在线网站| 久久精品国产亚洲高清剧情介绍 | 亚洲欧美色图小说| 久久精品网站免费观看| 欧美mv和日韩mv国产网站| 欧美色综合久久| 一本色道久久综合狠狠躁的推荐| 岛国精品一区二区| 国产精品一区二区久久精品爱涩| 麻豆精品视频在线| 蜜桃av一区二区| 精品一区二区三区免费观看| 麻豆精品一区二区av白丝在线| 午夜精品福利一区二区三区av| 亚洲电影你懂得| 亚洲成a天堂v人片| 日韩和欧美一区二区| 亚洲成人激情社区| 亚洲电影一级片| 无码av免费一区二区三区试看| 亚洲国产欧美在线| 视频一区视频二区中文字幕| 亚洲成人av免费| 日本三级韩国三级欧美三级| 欧美aaaaaa午夜精品| 韩国精品免费视频| 国产精品一区二区免费不卡| 成人免费视频免费观看| 不卡视频免费播放| 色噜噜狠狠成人网p站| 欧美亚洲另类激情小说| 欧美日韩国产成人在线免费| 欧美日韩黄视频| 精品久久人人做人人爽| 国产欧美一区二区精品婷婷| 中文字幕一区av| 一区二区三区视频在线观看| 日韩高清不卡一区二区| 激情都市一区二区| 成人午夜av电影| 欧洲一区在线观看| 欧美一二三区在线| 欧美激情在线免费观看| 亚洲精品国产a| 性久久久久久久久久久久| 捆绑调教美女网站视频一区| 不卡的av网站| 欧美日韩在线播放| 国产欧美一区二区三区鸳鸯浴| 一区二区三区资源| 久久国产精品无码网站| 不卡av在线免费观看| 91精品欧美综合在线观看最新| 国产欧美一区二区三区沐欲 | 国产不卡在线一区| 色综合网站在线| 欧美xxxx老人做受| 1000部国产精品成人观看| 手机精品视频在线观看| 成人免费电影视频| 欧美日本视频在线| 国产女主播在线一区二区| 三级欧美在线一区| av在线一区二区| 精品国产乱码久久久久久牛牛 | 日韩精品中文字幕一区| 亚洲乱码国产乱码精品精98午夜|