91 基于单片机指纹开打开锁密码锁系统设计【毕设课设】

 

#include <reg52.h>
#include "1602.h"
#include <stdio.h>
#include "KEY4X4.h"
#include "eeprom2.h"
static bit	flag;                   /* 定义刷新标志 */
volatile uchar	Key_Value = 0xff;
uint		count;                  /* 定义计数标志 */
uchar		input_state = 0;        /* 输入状态 0显示时间 1输入密码 2指纹录入 */

extern void DS1302Init();
sbit LED = P3^1;


extern void read_time( uchar curr_time[] );


extern void set_time( uchar *pSecDa );


/*typedef struct Timer{
 * uchar year;
 * uchar month;
 * uchar day;
 * uchar hour;
 * uchar min;
 * }Timer;
 * Timer Timer_now;*/
uchar	getTimebuf[7]; /* 存放时间数据 */
uchar	position_input = 0;
uchar	key_buf[6];
uchar	password[6];

uchar	mode;
char	shwobuf[15] = "";

#define CHK_PASSWORD (password[0] == key_buf[0]) && (password[1] == key_buf[1]) && (password[2] == key_buf[2]) && (password[3] == key_buf[3]) && (password[4] == key_buf[4]) && (password[5] == key_buf[5])

void Timer0Init()               /* 定时计0数器初始化 */
{
	TMOD	= 0x01;
	TH0	= 0xf8;         /* 2ms定时 */
	TL0	= 0x30;
	ET0	= 1;
	TR0	= 1;
	EA	= 1;
	flag	= 1;            /* 定时1秒标志 */
}


void Initial_com()
{
	TMOD	&= 0x0f;        /* 设置定时器模式 */
	TMOD	|= 0x20;        /* 定时器T1,在方式2中断产生波特率 */
	PCON	= 0x00;         /* SMOD=0 */
	SCON	= 0x50;         /* 方式1 由定时器控制 */
	TH1	= 0xfd;         /* 波特率设置为9600 */
	TL1	= 0xfd;
	TR1	= 1;            /* 开定时器T1运行控制位 */
	ES	= 1;
}

sbit DOOR = P3 ^ 0;

uchar	usrcnt	= 0;
uchar	redflg	= 0;
uchar	user[8];
uchar	msg_cnt = 0;

void delaylong()
{
	uint x, y;
	for ( x = 0; x < 400; x++ )
		for ( y = 0; y < 1000; y++ )
			;
}

void Delay_1ms( unsigned int i ) /* 1ms延时 */
{
	unsigned int x, j;
	for ( j = 0; j < i; j++ )
		for ( x = 0; x <= 148; x++ )
			;
}


void main()
{
	uchar	usr_tmp, sign_user;
	uint	chk_cnt;

	init_1602();
	Timer0Init();
	Initial_com();
	user[0] = 0;
	user[1] = 0;
	user[2] = 0;
	user[3] = 0;
	user[4] = 0;
	user[5] = 0;
	user[6] = 0;
	user[7] = 0;
	LED = 1;

	RW24XX( &redflg, 1, 0x0000, READEEP, M24128 );
	if ( redflg != 0xaa )
	{
		redflg	= 0xaa;
		usrcnt	= 0;
		msg_cnt = 0;
		RW24XX( &redflg, 1, 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值