久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
用51單片機實現密碼鎖Proteus仿真圖+代碼
[打印本頁]
作者:
15689692883
時間:
2018-11-4 15:34
標題:
用51單片機實現密碼鎖Proteus仿真圖+代碼
單片機密碼鎖仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(15.59 KB, 下載次數: 65)
下載附件
2018-11-4 15:56 上傳
簡單密碼鎖源程序:
/*******************************************
密碼鎖:基本功能
1 開機顯示“-”,無密碼輸入時也顯示“-”,表示鎖定;
2 密碼為1位密碼;
3 輸入密碼正確,顯示“P”,開鎖;
4 輸入密碼錯誤,顯示“E”,繼續鎖定;
*******************************************/
#include <REGX51.H>
#define LED P0 //一位數碼管顯示端口
#define KEY P2 //鍵盤端口
//共陽極數碼管字形碼
unsigned char code ledSeg[]={
//0 1 2 3 4 5 6 7 8 9
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
//A B C D E F
0x88,0x83,0xc6,0xa1,0x86,0x8e,
//P16 -17
0x8c,0xbf
};
void delay(unsigned int i)
{
unsigned char j;
while(i--)
for(j=0;j<123;j++);
}
/*矩陣4x4鍵盤函數
行列反轉法,行在低四位,
返回值:按鍵ascii碼,無按鍵返回0*/
char rdmkey(void)
{
char cin,rin; //列,行輸入值
char keyv=0; //鍵號
static char preCin=0; //上次輸入
KEY = 0x0f; //列輸出0,行輸出1
delay(1);
rin = KEY; //讀入行,只關心低四位
rin &= 0x0f;
if(rin==0x0f) return 0; //讀入行全為1,無按下,返回0
//有鍵按下,行列反轉,繼續判斷在哪一列
KEY = 0xf0; //行輸出0,列輸出1
delay(1);
cin = KEY; //讀入列輸入值cin只關心高四位
cin &= 0xf0;
if(cin==0x0f) return 0; //讀入行全為1,無按下,返回0
cin = cin+rin; //鍵碼=cin+rin,保存在cin中,查表得到鍵碼
if(cin == preCin)
return 0;//和上次相同,返回0
else
preCin=cin;
switch(cin) //查表得到鍵碼
{
case 0xee: keyv='1'; break; //0行0列 (列行1110 1110)
case 0xde: keyv='2'; break; //0行1列 (列行1101 1110)
case 0xbe: keyv='3'; break; //0行2列 (列行1011 1110)
case 0x7e: keyv=0; break; //0行3列 (列行0111 1110)
case 0xed: keyv='4'; break; //1行0列 (列行1110 1101)
case 0xdd: keyv='5'; break; //1行1列 (列行1101 1101)
case 0xbd: keyv='6'; break; //1行2列 (列行1011 1101)
case 0x7d: keyv=0; break; //1行3列 (列行0111 1101)
case 0xeb: keyv='7'; break; //2行0列 (列行1110 1011)
case 0xdb: keyv='8'; break; //2行1列 (列行1101 1011)
case 0xbb: keyv='9'; break; //2行2列 (列行1011 1011)
case 0x7b: keyv=0; break; //2行3列 (列行0111 1011)
case 0xe7: keyv='*'; break; //3行0列 (列行1110 0111)
case 0xd7: keyv='0'; break; //3行1列 (列行1101 0111)
case 0xb7: keyv='#'; break; //3行2列 (列行1011 0111)
case 0x77: keyv=0; break; //3行3列 (列行0111 0111)
default: ;
}
return keyv; //返回鍵碼
}
void main()
{
char keyv;
LED=ledSeg[17]; //顯示-,鎖定
while(1)
{
keyv=rdmkey();
if (keyv!=0)
{
if(keyv=='6')LED=ledSeg[16]; //顯示 P
else LED=ledSeg[14]; //顯示 E
}
}
}
復制代碼
0.png
(38.19 KB, 下載次數: 76)
下載附件
2018-11-4 15:57 上傳
全部資料51hei下載地址:
51單片機實現密碼鎖.rar
(9.2 KB, 下載次數: 35)
2018-11-4 15:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
ll20012
時間:
2020-6-19 18:10
我是小白,問一下proteus仿真的時候總是會出現led或者數碼管不亮的情況,電路圖和程序都是對的,這個是什么原因。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产网站在线播放
|
亚洲综合三区
|
国产日韩久久久久69影院
|
国产成人一区在线
|
一区二区三区国产在线观看
|
久久久久成人精品亚洲国产
|
日韩欧美一级精品久久
|
欧美日韩不卡
|
天堂一区在线
|
黄在线免费观看
|
日本超碰在线
|
亚洲成人一区二区
|
国产一区二区三区四区
|
日本精品一区二区在线观看
|
亚洲精品中文字幕
|
av网站免费看
|
久久精品亚洲精品
|
亚洲精品91
|
精品国产欧美一区二区
|
免费的日批视频
|
91玖玖
|
色又黄又爽网站www久久
|
日韩手机视频
|
久久综合99
|
国产黄色一级片
|
久久久久国产
|
国产精品a久久久久
|
日韩成人在线播放
|
中文字幕乱码一区二区三区
|
欧美一区二区三区四区在线
|
亚洲不卡一
|
伊人影院99
|
精品一级
|
亚洲欧美国产视频
|
色婷婷婷婷色
|
一级h片
|
久久99国产精品久久99果冻传媒
|
久久免费视频网
|
午夜免费看视频
|
蜜桃视频在线观看免费视频网站www
|
色中文在线
|