#ifndef _PWLOCK_H // 防止PWLock.h被重复引用
#define _PWLOCK_H
#include 《reg52.h》
#include 《absacc.h》
#include 《stdio.h》
#include 《math.h》
#define uchar unsigned char
#define uint unsigned int
uchar px;
uint a;
uint b;
uint c; //为0XFF
uint i;
uchar digbit; // 字位
uchar dy;
uchar wordbuf[2]; // 字型码缓冲区
uchar count; // 位计数
uchar pwbuf[2]; // 输入数字存储区
bit enterflag; // 确认键按下与否标志
bit lh;
bit pwflag; // 密码正确与否标志
bit showflag; // 数码管显示与否标志
sbit P20=P2^0;
sbit P21=P2^1;
void display(void); // 显示函数
#endif
//#include “PWLock.h”
/* 键消抖延时函数 */
void delay(void)
{
uint i;
for (i=4000;i》0;i--);
}
/* 键扫描函数 */
uchar keyscan(void)
{
uchar scancode,tmpcode;
P1 = 0xf0; // 发全0行扫描码
if ((P1&0xf0)!=0xf0) // 若有键按下
{
delay(); // 延时去抖动
if ((P1&0xf0)!=0xf0) // 延时后再判断一次,去除抖动影响
{
scancode = 0xfe;
while((scancode&0x10)!=0) // 逐行扫描
{
P1 = scancode; // 输出行扫描码
if ((P1&0xf0)!=0xf0) // 本行有键按下
{
tmpcode = (P1&0xf0)|0x0f;
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !