加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

【普中開發(fā)板】基于51單片機的簡易密碼鎖設計( proteus仿真+程序+設計報告+講解視頻)

11/06 08:38
2556
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關方案
  • 方案介紹
    • 1.主要功能:
    • 實物圖:
    • 2.仿真
    • 3. 程序代碼
    • 4. 設計報告
    • 5. 設計資料內(nèi)容清單
  • 相關文件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

仿真圖proteus8.16(有低版本)

程序編譯器:keil 4/keil 5

編程語言:C語言

設計編號:P10

1.主要功能:

基于51單片機AT89C51/52(與AT89S51/52、AT89C51/52、STC89C51/52等51內(nèi)核單片機通用)

基于51單片機的簡易密碼鎖設計數(shù)碼管顯示

以單片機為核心,設計一個六位電子密碼鎖。利用矩陣鍵盤輸入密碼,8位數(shù)碼管顯示輸入的內(nèi)容,要求如下:

1、初始狀態(tài)數(shù)碼管為熄滅狀態(tài),不顯示內(nèi)容,系統(tǒng)等待按鍵按下。

2、矩陣鍵盤按下,數(shù)碼管按順序顯示被按下的按鍵數(shù)字,共六位。

3、每按下六次按鍵,系統(tǒng)判斷一次密碼。密碼正確,數(shù)碼管顯示open,然后回到初始狀態(tài);密碼錯誤,數(shù)碼顯示------,持續(xù)2秒,然后回到初始狀態(tài)。

4、密碼錯誤3次以上,禁止輸入,如需再輸入,需按下復位按鍵。

4、密碼為六位,初始密碼為000 000。

5、使用keil編程,proteus仿真調(diào)試,普中開發(fā)板完成實物演示。

(目前僅完全適配普中開發(fā)板A234,其他普中開發(fā)板型號可能需要做代碼修改或接線)

需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。

資料下載鏈接:

P系列單片機設計下載鏈接(復制到瀏覽器打開)

https://docs.qq.com/doc/DS2pPenNRaHB6SlR1

以下為本設計資料展示圖:

實物圖:

img

2.仿真

開始仿真

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。

imgimg

3. 程序代碼

使用keil4或者keil5編譯,代碼有注釋,可以結合報告理解代碼含義。

img

#include<reg52.h>
完整代碼在文章開頭下載鏈接
#define uchar unsigned char
#define uint unsigned int

uchar old1,old2,old3,old4,old5,old6; //原始密碼000000
uchar new1,new2,new3,new4,new5=1,new6=1;  //每次MCU采集到的密碼輸入
uchar a=16,b=16,c=16,d=16,e=16,f=16; //送入數(shù)碼管顯示的變量
uchar wei,key,temp,num1;
uint tt=100;
uchar allow,wanbi,cwflag;	 //各個狀態(tài)位

sbit beep=P1^7;
sbit jdq=P1^0;

uchar code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,	//數(shù)碼管段碼
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40,
0x3f,0x73,0x79,0x37		 //open
};  //
uchar code table[]={0x00,0x04,0x08,0x0c,0x10,0x14,0x18,0x1c};  //數(shù)碼管位選
void delay(unsigned int i)			   //延時
{
	uint j,k;
  for(j=i;j>0;j--)
    for(k=125;k>0;k--);
}

void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)  //數(shù)碼管顯示
{
   P0=0x00;				   //數(shù)碼管關閉
   P0=led[a];			   //段選
   P2=table[7];				   //位選
   delay(5);			   //延時
   
   P0=0x00;
   P0=led[b];
   P2=table[6];
   delay(5);

   P0=0x00;
   P0=led[c];
   P2=table[5];
   delay(5);
   
   P0=0x00;
   P0=led[d];
   P2=table[4];
   delay(5);
   
   P0=0x00;
   P0=led[e];
   P2=table[3];
   delay(5);
   
   P0=0x00;
   P0=led[f];
   P2=table[2];
   delay(5);
   
  
}


void delay_uint(uint i)//延時
{
   while(i--);
}
uchar scan_key=0;
uchar Matrix_buttons_scan(){

	uchar i,j;
	i=0;
	j=0;
	P1=0x0f;
	if(P1!=0x0f) //檢測有無按下
	{
	 	delay_uint(10000);
		if(P1!=0x0f) //檢測有無按下
		{
		 switch(P1)//檢測行
		 {
		  case 0x0e:i=3;break;
		  case 0x0d:i=2;break;
		  case 0x0b:i=1;break;
		  case 0x07:i=0;
		 }
		 P1=0xf0;
		 switch(P1)//檢測列
		 {
		  case 0xe0:j=13;break;
		  case 0xd0:j=9;break;
		  case 0xb0:j=5;break;
		  case 0x70:j=1;
		 }
		}
	}
	
	if(scan_key!=i+j)
	{
		scan_key=i+j;
		return scan_key;
	}else{
		return 0;
	}

}
//按鍵掃描子函數(shù)
void keyscan()
{
	uchar i=0;
	i=Matrix_buttons_scan();//按鍵檢測

	if(i==1) 
	{
       key=0;		   //按鍵0定義
	   wei++;		   //輸入位數(shù)+1	
	}else if(i==2)    
	{
		key=1;		  //按鍵1定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==3)    
	{
		key=2;		  //按鍵2定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==4)    
	{
		key=3;		  //按鍵3定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==5)    
	{
		key=4;		  //按鍵4定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==6)    
	{
		key=5;		  //按鍵5定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==7)    
	{
		key=6;		  //按鍵6定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==8)    
	{
		key=7;		  //按鍵7定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==9)    
	{
		key=8;		  //按鍵8定義
		wei++;		  //輸入位數(shù)+1    
	}else if(i==10)    
	{
		key=9;		  //按鍵9定義
		wei++;		  //輸入位數(shù)+1    
	}
}

4. 設計報告

6198字設計報告,內(nèi)容包括目錄,硬件設計、軟件設計、軟硬件框圖、調(diào)試、結論等

img

5. 設計資料內(nèi)容清單

資料設計資料包括仿真,程序代碼、講解視頻、功能要求、設計報告、軟硬件設計框圖等。

0、常見使用問題及解決方法–必讀?。。?!

1、仿真圖

2、程序源碼注釋

3、功能要求

4、開題報告

5、設計報告

6、軟硬件流程框圖

7、燒錄工具

8、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機仿真設計教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機學習資料

普中-2&普中-3&普中-4開發(fā)板原理圖.pdf

相關數(shù)據(jù)手冊

答辯技巧

設計報告常用描述

鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設計.url

img

  • 設計資料獲取聯(lián)系方式.doc

相關推薦

電子產(chǎn)業(yè)圖譜