源程序部分
#include	//P2为键盘接口 P0为数码管接口
#define uint unsigned int
#define uchar unsigned char
//译码器数码管位选译码控制
sbit A=P1^0;
sbit LSB=P1^1;
sbit C=P1^2;
//电动机正反转控制脚
sbit DJA=P1^3;
sbit bp=P1^4; //蜂鸣器输出端
uchar hm; //中断毫秒变量
uchar KG;	//开关按键判断
uchar szMm; //解锁密码设置确认值
uchar cwjs;	//密码错误计数器变量
uint cwdjs; //错误倒计时变量
uint djsj=2000;	//电动机转动时间控制
uint Mm;	//电机转动密码控制。
uint Mmsz;	//数码管显示值
uchar code ledchar[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};	//数组内有需要显示的内容之外还有16个关闭数码管led的段码,由于设计缺陷造成。
void delay(uint x)	//一毫秒延时
{
uint i,j;
for(i=x;i>0;i--)
{
for(j=0;j