📄 timer.c
字号:
#include "Include.h"
sbit K_SEARCH=P3^3;//P33口查询
sbit K_ADD_ADM=P2^0;//P20口增加管理员
sbit K_DEL_ADM=P2^1;//P21口删除管理员
sbit K_ADD_USER=P2^2;//P22口增加用户
sbit K_DEL_USER=P2^3;//P23口删除用户
sbit K_UP_SOUND=P2^4;//P24口增加音量
sbit K_DOWN_SOUND=P2^5;//P25口减小音量
uchar Timer = 0;
//uchar Timer2 = 0;
uchar BellTimer = 0;
extern uchar NowKey; //当前按键
extern bit ReceiveOK; //数据包接收完成标志位
//Timer0初始化
void Timer0Init(void)
{ TMOD|=1;//设置为16位定时器
TH0=0; TL0=0; ET0=1; TR0=1;}
uint Tc=0;//超时计时器
uchar KeyStep[]={0,0,0,0,0,0,0};//步骤
void ISRTimer0(void) interrupt 1
{ TH0=0;TL0=0;//按键判断
if(0==K_SEARCH) //P33口查询指纹记录并反向开启电机
{ if(1==KeyStep[0])
{ KeyStep[0]=2;//有按键
NowKey=SEARCH_KEY;}//成功增加管理员
else KeyStep[0]=1;}
else if(NowKey!=K_SEARCH)KeyStep[0]=0;//再查询P33口的状态
//
if(0==K_ADD_ADM)
{ if(1==KeyStep[1])
{ KeyStep[1]=2;//有按键
NowKey=ADD_ADMINISTRATORS_KEY;}//增加管理员
else KeyStep[1]=1;}
else
{ if(NowKey!=K_ADD_ADM) KeyStep[1]=0;}
//
if(0==K_DEL_ADM)
{ if(1==KeyStep[2])
{ KeyStep[2]=2;//有按键
NowKey=DEL_ADMINISTRATORS_KEY;}//删除管理员
else KeyStep[2]=1;}
else
{ if(NowKey!=K_DEL_ADM)KeyStep[2]=0;}
//
if(0==K_ADD_USER)
{ if(1==KeyStep[3])
{ KeyStep[3]=2;//有按键
NowKey=ADD_USE_KEY;}//增加用户
else KeyStep[3]=1;}
else{ if(NowKey!=K_ADD_USER)KeyStep[3]=0;}
//
if(0==K_DEL_USER)
{ if(1==KeyStep[4])
{ KeyStep[4]=2;//有按键
NowKey=DEL_USE_KEY;}//删除用户
else KeyStep[4]=1;}
else{ if(NowKey!=K_DEL_USER)KeyStep[4]=0;}
if(Tc>0)Tc--;
if(Timer>0)Timer--;
if(0==Timer)ReceiveOK = 0;
if(BellTimer>0)
{ BellTimer--;
if(0 == BellTimer)BellOff();}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -