1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
單片機電子密碼鎖proteus仿真程序都有
[打印本頁]
作者:
zysjs138
時間:
2017-5-7 13:24
標題:
單片機電子密碼鎖proteus仿真程序都有
電子密碼鎖仿真程序都有
下面是proteus仿真原理圖:
0.png
(27.93 KB, 下載次數: 37)
下載附件
2017-5-7 17:00 上傳
0.png
(60.26 KB, 下載次數: 71)
下載附件
2017-5-7 16:59 上傳
單片機源程序:
#include <reg52.H>
#include<math.h>
#include<stdio.h>
#include<intrins.h>
#include<string.h>
#include "1602.h"
#include "key4x4.h"
#include "uart.h"
sbit LOCK=P2^2; //鎖接P3.7; 低電平有效開鎖
sbit ALARM=P2^3; //報警接P2.3
unsigned char ShowAddr=0;
#define WELCOME 0 //開機界面
#define PW_PUT 1 //輸入密碼
#define PW_ERROR 2 //密碼錯誤
#define PW_OK 3 //密碼正確
#define PW_SET 4 //密碼設定
#define PW_SET_OK 5 //密碼設定成功
#define MAX_ERROR_TIMES 3
#define KEYBUFLEN 17
char KeyBuf[KEYBUFLEN],KeyCnt=0;
char KeyBuf1[KEYBUFLEN];
char PW[KEYBUFLEN]="123456"; //密碼
unsigned char Error_times;
void LcdShow();
void Timer0Init(void);
void main()
{
unsigned char key_val; //顯示緩沖區
LCD1602_Init() ; //液晶初始化
CleanSreen();
Timer0Init();
UartInit();
while(1)
{
key_val=KeyScan(); //查詢數據字是否按下
if(RecFlag)
{
RecFlag=0;
key_val=UartDat;
}
if(key_val>='0'&&key_val<='9'&&KeyCnt<KEYBUFLEN&&ShowAddr!=WELCOME)
{
KeyBuf1[KeyCnt]='*';
KeyBuf[KeyCnt++]=key_val;
}
else if(key_val==CANCEL&&KeyCnt>0)
{
KeyCnt--;
KeyBuf[KeyCnt]='\0';
CleanSreen();
}
else if(key_val==PWSET)
{
ShowAddr=PW_SET;
memset(KeyBuf,'\0',KEYBUFLEN);
KeyCnt=0;
CleanSreen();
}
else if(key_val==PWPUT)
{
ShowAddr=PW_PUT;
memset(KeyBuf,'\0',KEYBUFLEN);
KeyCnt=0;
CleanSreen();
}
else if(key_val==OK) //確認鍵
{
switch(ShowAddr)
{
case PW_PUT: //密碼輸入
if(strcmp(PW,KeyBuf)==0)
{
ShowAddr=PW_OK;
ALARM=1; //取消報警
CleanSreen();
Error_times=0;
}
else
{
Error_times++;
if(Error_times>MAX_ERROR_TIMES)
ALARM=0; //報警
ShowAddr=PW_ERROR;
CleanSreen();
}
break;
case PW_SET: //密碼設定
{
strcpy(PW,KeyBuf);
ShowAddr=PW_SET_OK;
CleanSreen();
}
break;
}
memset(KeyBuf,'\0',KEYBUFLEN);
KeyCnt=0;
}
LcdShow();
//Displaystr(0,1,KeyBuf); //顯示按鍵值
Displaystr(0,1,KeyBuf1); //顯示按鍵值
}
}
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
i = 2;
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
程序2.7z
(76.34 KB, 下載次數: 31)
2017-5-7 13:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1