IC解密单片机的AS608指纹锁源程序
IC解密单片机源程序如下:
- #include<reg52.h>
- #include<intrins.h>
- #define MAIN_Fosc 11059200//宏定义主时钟频率
- #define LINE1 0x80 //1602屏地址定义 第一行地址
- #define LINE2 0xc0 //1602屏地址定义 第二行地址
- #define DataPort P0 //LCD1602操作位定义
- typedef unsigned char INT8U;
- typedef unsigned char uchar;
- typedef unsigned int INT16U;
- typedef unsigned int uint;
- sbit EN = P3^4; //读写数据使能 0:停止 1:启动
- sbit RS = P3^5; //寄存器选择 0:指令寄存器 1:数据寄存器
- sbit RW = P3^6; //读写控制 0:写 1:读
- sbit KEY_DOWN=P2^4;
- sbit KEY_OK=P2^2;
- sbit KEY_CANCEL=P2^0;
- sbit beep=P2^6;
- uchar flag=0;
- extern char local_date=0; //全局变量,当前箭头位置
- extern unsigned int finger_id = 0;
- //uart 函数
- void Uart_Init(void)
- {
- SCON=0x50; //UART方式1:8位UART; REN=1:允许接收
- PCON=0x00; //SMOD=0:波特率不加倍
- TMOD=0x20; //T1方式2,用于UART波特率
- TH1=0xFD;
- TL1=0xFD; //UART波特率设置:FDFD,9600;FFFF,57600
- TR1=1; //允许T1计数
- EA=1; //开总中断
- }
- void Uart_Send_Byte(unsigned char c)//UART Send a byte
- {
- SBUF = c;
- while(!TI); //发送完为1
- TI = 0;
- }
- unsigned char Uart_Receive_Byte()//UART Receive a byteg
- {
- unsigned char dat;
- while(!RI); //接收完为1
- RI = 0;
- dat = SBUF;
- return (dat);
- }
- //延时函数
- void Delay_us(int i)
- {
- while(--i);
- }
- void Delay_ms(INT16U ms)
- {
- INT16U i;
- do{
- i = MAIN_Fosc / 96000;
- while(--i); //96T per loop
- }while(--ms);
- }
- //蜂鸣器函数
- void Beep_Times(unsigned char times)
- {
- unsigned char i=0;
- for(i=0;i<times;i++)
- {
- beep=0;
- Delay_ms(200);
- beep=1;
- Delay_ms(200);
- }
- }
- //按键操作函数
- void Key_Init(void)
- {
- //定义按键输入端口
- KEY_DOWN=1; // 下一项
- KEY_OK=1; // 确认
- KEY_CANCEL=1; // 取消
- }

芯片解密