板子是普中的,按键按下10为0,按键11为确认,按键12为取消。
输入密码正确时LED D8闪烁(正确密码为5555)
#include <REGX52.H>//头文件定义
unsigned char nixie[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示的段码
unsigned int Code = 0;//用于保存密码的变量
void Tim_int(void);//定时器初始化函数声明
void delay(unsigned int t);//延时函数声明
void wei(unsigned char pizz);//用于显示第几个数码管的函数声明
unsigned char Key(void);//检测按键的函数声明
void Password();//判断密码
int main()
{
unsigned char Num;//接收按键值
unsigned char k;//限制按下次数
Tim_int();//定时器初始化
while(1)
{
Num=Key();
if(Num!=0)
{
if(Num<=10)
{
if(k<4)
{
Code*=10;
Code+=Num%10;
k++;
}
}
else if(Num==12)
{
k=0;
Code=0;
}
else if(Num==11)
{
k=0;
Password();//判断密码