#include #include #include #include "main.h" #include "slrc632.h" #include "iso14443a.h" #include "iso14443b.h" #include "iso15693.h" /*Declare SFR associated with the IAP */ sfr IAP_DATA = 0xE2; //Flash data register sfr IAP_ADDRH = 0xE3; //Flash address HIGH sfr IAP_ADDRL = 0xE4; //Flash address LOW sfr IAP_CMD = 0xE5; //Flash command register sfr IAP_TRIG = 0xE6; //Flash command trigger sfr IAP_CONTR = 0xE7; //Flash control register //硬件版本號 unsigned char code hardmodel[12] = {"SL601F-0512"}; bit g_bReceOk; //正確接收到上位機指令標志 bit g_bReceAA; //接收到上位機發送的AA字節標志 bit g_bRc632Ok; //RC632復位正常標志 bit g_bIblock; void outputconvery (); unsigned char Readcard_flag,start_flag=0,startnum=0; unsigned int idata g_cReceNum; //接收到上位機的字節數 unsigned int data g_cCommand; //接收到的命令碼 unsigned char data g_cSNR[4]; //M1卡序列號 unsigned char g_cIcdevH; //設備標記 unsigned char g_cIcdevL; //設備標記 unsigned char g_cFWI; // unsigned char idata g_cCidNad,huankuaiflag=0; // unsigned char idata g_cReceBuf[64]; //和上位機通訊時的緩沖區 unsigned char idata canshu[5]={0x00,0x00,0x00,0x10,0x01};//0:扇區,1:塊,2-3:卡號首尾位置,4:讀卡方式 unsigned char idata key[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};//密碼 unsigned char idata canshuflag=0,timenum=0,UID[4]; struct TranSciveBuffer{unsigned char MfCommand; unsigned int MfLength; unsigned char MfData[64]; }; /***************************定時器0初始化********************************/ void timer0init (void)//22.1184MHZ,20ms { TH0=0x70; TL0=0x00; ET0=1; TR0=1; TMOD=0x21; } /*****************************定時器0中斷函數********************************/ void timer0(void) interrupt 1 { TH0=0x70; TL0=0x00; timenum++; if(timenum==100) canshuflag=1,timenum=0; } void gonggongdaima(void) { IAP_TRIG = 0x46;//發送46h到觸發寄存器 IAP_TRIG = 0xB9;//發送B9h到觸發寄存器 _nop_();//延時 IAP_CONTR = 0;//關閉IAP功能 IAP_CMD = 0;//清空命令寄存器 IAP_TRIG = 0;//清空命令觸發寄存器 IAP_ADDRH = 0;//清空地址高位 IAP_ADDRL = 0;//清空地址低位 } /**************************字節讀函數***************************************/ unsigned char Byte_Read(unsigned int add) { IAP_DATA = 0x00;//清空數據 IAP_CONTR = 0x81;//打開IAP,設置操作等待時間 IAP_CMD = 0x01;//字節讀命令 IAP_ADDRH = add>>8;//設置高8位地址 IAP_ADDRL = add&0x00ff;//設置低8位地址 gonggongdaima(); return (IAP_DATA);//返回讀到的數據 } /*****************************字節編程函數*****************************/ void Byte_Program(unsigned int add, unsigned char dat) { IAP_CONTR = 0x81;//打開IAP,設置操作等待時間 IAP_CMD = 0x02;//字節編程命令 IAP_ADDRH = add>>8;//設置高8位地址 IAP_ADDRL = add&0x00ff;//設置低8位地址 IAP_DATA = dat;//要編程的數據先送進IAP_DATA寄存器 gonggongdaima(); } /*****************************扇區擦除函數****************************/ void Sector_Erase(unsigned int add) { IAP_CONTR = 0x81;//打開IAP,設置操作等待時間 IAP_CMD = 0x03;//扇區擦除命令 IAP_ADDRH = add>>8;//設置高8位地址 IAP_ADDRL = add&0x00ff;//設置低8位地? gonggongdaima(); } /****************************讀取參數函數************************/ void Read_canshu(void) { canshu[0]=Byte_Read(0x8000); canshu[1]=Byte_Read(0x8001); canshu[2]=Byte_Read(0x8002); canshu[3]=Byte_Read(0x8003); canshu[4]=Byte_Read(0x8004); } void Read_Akey(void) { key[0]=Byte_Read(0x8200); key[1]=Byte_Read(0x8201); key[2]=Byte_Read(0x8202); key[3]=Byte_Read(0x8203); key[4]=Byte_Read(0x8204); key[5]=Byte_Read(0x8205); } void Read_Bkey(void) { key[0]=Byte_Read(0x8400); key[1]=Byte_Read(0x8401); key[2]=Byte_Read(0x8402); key[3]=Byte_Read(0x8403); key[4]=Byte_Read(0x8404); key[5]=Byte_Read(0x8405); } /****************************保存參數函數****************************/ void Save_canshu(void) { Sector_Erase(0x8000);//擦除扇區 Byte_Program(0x8000,canshu[0]); Byte_Program(0x8001,canshu[1]); Byte_Program(0x8002,canshu[2]); Byte_Program(0x8003,canshu[3]); Byte_Program(0x8004,canshu[4]); } void Save_Akey(void) { Sector_Erase(0x8200);//擦除扇區 Byte_Program(0x8200,key[0]); Byte_Program(0x8201,key[1]); Byte_Program(0x8202,key[2]); Byte_Program(0x8203,key[3]); Byte_Program(0x8204,key[4]); Byte_Program(0x8205,key[5]); } void Save_Bkey(void) { Sector_Erase(0x8400);//擦除扇區 Byte_Program(0x8400,key[0]); Byte_Program(0x8401,key[1]); Byte_Program(0x8402,key[2]); Byte_Program(0x8403,key[3]); Byte_Program(0x8404,key[4]); Byte_Program(0x8405,key[5]); } void delay(unsigned int i) { unsigned char j; while(i--) for(j=0;j<200;j++); } void BEEP(unsigned char i) { unsigned char k; k=100; sond = 0; redled = 1; blueled = 0; delay(k); sond =1; blueled = 1; redled = 0; } void REDON(void) { redled = 1; } void REDOFF(void) { redled = 0; } void BLUEON(void) { blueled = 1; } void BLUEOFF(void) { blueled = 0; } void main( ) { InitializeSystem( ); Rc632Ready( ); PcdConfigISOType( '1' ); BEEP(2); DelayMs(1000); RC632_CE=0;
上一篇:51單片機pwm調制 產生多路分頻信號 倍頻
下一篇:基于51單片機8音鍵電子琴DIY制作
推薦閱讀
史海拾趣
在競爭激烈的電子行業中,DBM Optix深知只有不斷創新才能保持領先地位。因此,公司始終將研發作為核心競爭力之一,持續投入大量資金用于新技術、新產品的開發。通過與高校、研究機構等合作,DBM Optix不斷引入新技術、新材料,并將其應用于產品中,從而不斷提升產品的性能和品質。這些創新舉措使得DBM Optix在光學通信領域始終保持領先地位。
隨著全球對環保和可持續發展的重視,DBM Optix也積極響應這一趨勢。公司在生產過程中注重節能減排、降低廢棄物排放等措施,同時積極開發環保型產品,以滿足客戶對綠色環保的需求。此外,DBM Optix還積極參與各種環保活動和社會公益事業,為推動電子行業的可持續發展貢獻自己的力量。這些舉措不僅提升了公司的社會形象,也為公司的長遠發展奠定了堅實的基礎。
近年來,Eclipse Magnetics公司在電火花加工領域取得了顯著的成就。他們推出的Micromag磁過濾器產品在電火花加工過程中實現了巨大的成本節約。通過與ADM精密工具和Sodi-tech EDM有限公司的合作,Eclipse Magnetics成功提高了Sodick AQ600L線蝕機的效率,減少了停機時間,為客戶帶來了顯著的經濟效益。
近年來,Eclipse Magnetics公司在電火花加工領域取得了顯著的成就。他們推出的Micromag磁過濾器產品在電火花加工過程中實現了巨大的成本節約。通過與ADM精密工具和Sodi-tech EDM有限公司的合作,Eclipse Magnetics成功提高了Sodick AQ600L線蝕機的效率,減少了停機時間,為客戶帶來了顯著的經濟效益。
在電子行業快速發展的背景下,Cermetek Microelectronics公司深知創新的重要性。公司不斷加大對研發的投入,引進先進的研發設備和人才,持續推出具有創新性的微電子產品。這些新產品不僅具有更高的性能和更低的功耗,還更加符合市場需求,為公司帶來了更多的商業機會。
在圖中R1與R5相等,是為了在3引腳處取得1/2Vin嗎? IC1A為電壓跟隨器也就是在VHALF處輸出1/2Vin 的正半周期,負半周呢?是在IC1B的6引腳處輸入了嗎? 還有R2的作用是什么,為什么要是R3,R4的一半,IC1A的負反饋的作用是什么?IC1A的輸出從第5引腳 ...… 查看全部問答∨ |
網監控通常涉及諸多復雜環節,設備改造、網絡規劃,安保整合、業務系統整合等。作為一個龐大的系統工程,實現高效的投資回報,合理規劃、循序漸進很有必要。中國建設銀行云南省分行安全保衛部安全技術防范管理科經理謝濤結合自身經驗表示,“在項目 ...… 查看全部問答∨ |
dwRet=RasDial(NULL,NULL,&RasDialParams,0xFFFFFFFF,hWnd, &m_hRasConn); // 執行正常,不多說了 dwRet=RasDial(NULL,NULL,&RasDialParams,0,RasDialFunc,&m_hRasConn); static void WINAPI RasDialFunc(UINT unMsg,RASCO ...… 查看全部問答∨ |
|
目前只有份TM-U220的指令集,程序也是按這個指令集寫的,現在用戶想確認是否支持TM-U295打印機,可網上找了半天都照不到TM-U295是用的什么指令系統,EPSON網站上的用戶手冊上也沒說明. 目前關鍵點是用了一個TM-U220的 DLE EOT(即時狀態傳送)指令,如果D ...… 查看全部問答∨ |
|
這個技術文檔提供用軟件的方式模擬LCD的時序,范例中用MSP430G2333的范例實現了一個LCD的驅動,并且完成了數字鐘的功能。文檔可以作為G2系列MSP430驅動LCD的一個很好的設計參考。… 查看全部問答∨ |