1.基于51單片機的電子密碼鎖系統設計制作材料要買些什么東西,詳細
購買的東西是很多,不知道你PCB板是不是有了?
1、必須購買的硬件:
單片機 1片 stc89系列
按鍵 13個
晶振 1個 11.0592
瓷片電容 2個 30P
復位電容 1個 10@
復位電阻 1個 10K
USB座 1個
發光二極管 10個
蜂鳴器 1個
隔離電阻 10個 1K
2、硬件的焊接:
單片機最后安裝在插座內,因為40腳的單片機直接焊接,如果單片機燒毀,不容易換。
其他電阻、電容、按鈕類的,直接焊接便可。
千萬注意的是,焊接過程中防止靜電擊穿器件。
電烙鐵選擇30W左右的為宜。
3、單片機軟件的編寫:
硬件焊接無誤后,便可以著手軟件的編寫。
2.基于51單片機的密碼鎖的設計都用到哪些知識
做個密碼鎖可算是比較考驗綜合應用單片機基礎知識的了。
1、鍵盤處理: 按鍵設計、鍵值獲取、鍵值處理
2、顯示處理:如果有顯示,那要看是數碼管顯示,還是液晶屏顯示,還是其他方法顯示,顯示的內容是什么,什么時候顯示什么內容?
3、聲光處理:密碼輸入正確時的提示,輸入錯誤后的提示。
4、機械驅動:密碼輸入正確后怎么開鎖,初始化的時候是什么狀態
5、通信處理:有的密碼鎖要求有串口通信。
就簡單寫這些吧,具體還是應用中會體現出更多。
3.(80C51單片機)設計4*4鍵盤及8位數碼管顯示構成的電子密碼鎖.的C語
4*4矩陣鍵盤檢測程序(新手用),本程序用于檢測4*4矩陣按鍵,先檢測是否有按
鍵按下,如果有按鍵按下,由P1口讀出相應的編碼值,由P0經兩片74HC573輸出給
8位數碼管,P2^0位選,P2^1段選,P1接4*4矩陣按鍵
#include
#include//頭文件
#define uchar unsigned char //宏定義
#define uint unsigned int
sbit du=P2^1; //段選位
sbit we=P2^0; //位選位
uchar code duanma[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(xms) //延時函數
{
uchar i,j;
for(xms=i,i>0;i--;)
for(j=11;j>0;j--);
}
void main() //主函數
{
we=1; //位選開
P0=0; //8位數碼管全部顯示
we=0; //位選關
du=1; //段選開
P1=0x00; //初始化,8位數碼管無顯示
while(1)
{
uchar a,b;
P1=0xf0;
a=P1;
if(a!=0xf0)
{
delay(5); //去抖動
b=P1;
if(a==b)
{
a=0xfe;
do
{
P1=a;
if(a!=P1)
{
switch(P1)
{
case 0x7e:{P0=duanma[0];break;} //編碼檢測,第一個鍵按下顯示0,第16個按鍵按下顯示F
case 0xbe:{P0=duanma[1];break;}
case 0xde:{P0=duanma[2];break;}
case 0xee:{P0=duanma[3];break;}
case 0x7d:{P0=duanma[4];break;}
case 0xbd:{P0=duanma[5];break;}
case 0xdd:{P0=duanma[6];break;}
case 0xed:{P0=duanma[7];break;}
case 0x7b:{P0=duanma[8];break;}
case 0xbb:{P0=duanma[9];break;}
case 0xdb:{P0=duanma[10];break;}
case 0xeb:{P0=duanma[11];break;}
case 0x77:{P0=duanma[12];break;}
case 0xb7:{P0=duanma[13];break;}
case 0xd7:{P0=duanma[14];break;}
case 0xe7:{P0=duanma[15];break;}
}
}
a=_crol_(a,1); //循環移位去檢測按鍵
}while(a!=0xef);
}
}
}
}
轉載請注明出處華閱文章網 » 基于80c51單片機電子密碼鎖設計簡短些