1 / 26
文档名称:

单片机密码锁仿真图+原理图+PCB电路图毕业设计.doc

格式:doc   页数:26
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机密码锁仿真图+原理图+PCB电路图毕业设计.doc

上传人:799474576 2013/11/5 文件大小:0 KB

下载得到文件列表

单片机密码锁仿真图+原理图+PCB电路图毕业设计.doc

文档介绍

文档介绍:单片机密码锁课程设计
仿真图
原理图
部分图
代码
#include <>
#include<>
#define LCM_Data P0
#define uchar unsigned char
#define uint unsigned int
#define w 6 //定义密码位数
sbit lcd1602_rs=P2^5;
sbit lcd1602_rw=P2^6;
sbit lcd1602_en=P2^7;
sbit Scl=P3^4; //24C02串行时钟
sbit Sda=P3^5; //24C02串行数据
sbit ALAM = P2^1; //报警
sbit KEY = P3^6; //开锁
sbit open_led=P2^2; //开锁指示灯
bit operation=0; //操作标志位
bit pass=0; //密码正确标志
bit ReInputEn=0; //重置输入充许标志
bit s3_keydown=0; //3秒按键标志位
bit key_disable=0; //锁定键盘标志
unsigned char countt0,second; //t0中断计数器,秒计数器
void Delay5Ms(void);
unsigned char code a[]={0xFE,0xFD,0xFB,0xF7}; //控盘扫描控制表
unsigned char code start_line[] = {"password: "};
unsigned char code name[] = {"===Coded Lock==="}; //显示名称
unsigned char code Correct[] = {" correct "}; //输入正确
unsigned char code Error[] = {" error "}; //输入错误
unsigned char code codepass[] = {" pass "};
unsigned char code LockOpen[] = {" open "}; //OPEN
unsigned char code SetNew[] = {"SetNewWordEnable"};
unsigned char code Input[] = {"input: "}; //INPUT
unsigned char code ResetOK[] = {"ResetPasswordOK "};
unsigned char code initword[] = {"Init password..."};
unsigned char code Er_try[] = {"error,try again!"};
unsigned char code again[] = {"input again "};
unsigned char InputData[6]; //输入密码暂存区
unsigned char CurrentPassword[6]={1,3,1,4,2,0}; //当前密码值
unsigned char TempPassword[6];
unsigned char N=0; //密码输入位数记数
unsigned char ErrorCont; //错误次数计数
unsigned char CorrectCont; //正确输入计数
unsigned char ReInputCont; //重新输入计数
unsigned char code initpassword[6]={0,0,0,0,0,0};
//=====================5ms延时==============================
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc--);
}
//===================400ms延时==============================
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
}
}
//=======================================================================