FT61F022A单片机使用红外遥控控制单片机解密
| /*************************************** * 单片机解密* IC:FT61F022A * 功能:使用红外遥控控制LED灯的亮度 * 芯片解密****************************************/ #include "SYSCFG.h"; /***********************宏定义**************************/ #define unchar unsigned char #define unint unsigned int #define unlong unsigned long #define LED_S2 RA6 #define LED_S1 RC3 #define IR_Input RC1 /******************************************************/ void Ir_work(void); volatile bit bit_bit; volatile bit IR_Input_Old; volatile bit REC_DATA_OK; volatile bit REC_BIT_OK; volatile unsigned char bit_count; volatile unsigned char byte_count; volatile unsigned char irdata[4]; volatile unsigned char irtime; /*------------------------------------------------- * 函数名:POWER_INITIAL * 功能: 上电系统初始化 * 输入: 无 * 输出: 无 --------------------------------------------------*/ void POWER_INITIAL (void) { OSCCON = 0B01110001; //WDT 32KHZ IRCF=111=16MHZ/2=8MHZ,0.125US/T //Bit0=1,系统时钟为内部振荡器 //Bit0=0,时钟源由FOSC<2:0>决定即编译选项时选择 INTCON = 0; //暂禁止所有中断 PORTA = 0B00000000; TRISA = 0B10111111; //PA输入输出 0-输出 1-输入 //PA6->输出 PORTC = 0B00000000; TRISC = 0B11110111; //PC输入输出 0-输出 1-输入 WPUA = 0B00000000; //PA端口上拉控制 1-开上拉 0-关上拉 WPUC = 0B00000010; //PC端口上拉控制 1-开上拉 0-关上拉 OPTION = 0B00001000; //Bit3=1 WDT MODE,PS=000=1:1 WDT RATE //Bit3 预分频器分配位 0-Timer0 1-WDT //Bit7(PAPU)=0 ENABLED PULL UP PA MSCKCON = 0B00000000; //Bit6->0,禁止PA4,PC5稳压输出 //Bit5->0,TIMER2时钟为Fosc //But4->0,禁止LVR CMCON0 = 0B00000111; //关闭比较器,CxIN为数字IO口 ANSEL=0X0B00000000; } /*------------------------------------------------- * 函数名称: TIMER1_INITIAL * 功能: 初始化设置定时器1 * 相关寄存器: T1CON TMR1H TMR1L TMR1IE TMR1ON PEIE GIE -------------------------------------------------*/ void TIMER1_INITIAL (void) { //需要在中断里重新赋初始值 T1CON = 0B00000000; //B[5:4]=00,T2时钟分频 1:1 //B1=0,T1时钟源选择内部时钟 //T1SYNC=16M/2T=8M=0.125US TMR1L = 0XC0; //定时500US=>TMR1=8000*0.125US=1MS //初值=65536-8000=57,536=>0XE0C0 TMR1H = 0XE0; //赋初值=>TMR1H=E0;TMR1L=0XC0 // TMR1L = (65536 - 40000) % 256; // TMR1H = (65536 - 40000) / 256; // TMR1L =0XA0; // TMR1H =0XFF; TMR1IE = 1; //使能TMER1的中断 TMR1ON = 1; //使能TMER1启动 PEIE = 1; //使能外设中断 GIE = 1; //使能全局中断 } |

芯片解密