Altium Designer画的密码锁原理图和PCB图如下:(51hei附件中可下载工程文件)
带限时锁死功能的单片机密码锁仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机密码锁源程序如下:
- #include <reg51.h>
- #include <intrins.h>
- #include <stdio.h>
- int flag=1;
- int num=0;
- typedef unsigned char uchar;
- typedef unsigned int uint;
- sbit beep=P2^2;//蜂鸣器接口
- sbit KS=P2^4;//开锁信号
- sbit CSMM=P3^2;//恢复初始密码按键
- sbit RS=P2^5;//数据命令选择
- sbit RW=P2^6;//读写控制
- sbit E=P2^7;//液晶使能
- sbit SDA=P2^0; //数据线接口
- sbit SCL=P2^1;//时钟线接口
- sbit ZS=P2^3;//开锁指示灯
- uchar idata table1[4]={8,8,8,8}; //初始密码
- void timelimit();
- void inputlock();
- uchar dd;
- int aa=0;//存放密码错误的次数,够三次报警
- int bb;
- uchar cc;
- //延时子函数
- void delay1(uint z)
- {
- uint x,y;
- for(x=0;x<z;x++)
- for(y=0;y<110;y++);
- }
- void delay2()
- {
- ;;
- }
- void Delay10000ms() //@11.0592MHz
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 165;
- j = 59;
- k = 28;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
- void Delay30000ms() //@11.0592MHz
- {
- unsigned char i, j, k;
- _nop_();
- i = 211;
- j = 30;
- k = 11;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
复制代码
所有资料51hei提供下载:
资料合集密码锁.7z
(240.68 KB, 下载次数: 139)
|