• 方案介紹
    • 1.主要功能:
    • 2.仿真
    • 3. 程序代碼
    • 4. 原理圖
    • 5. 設(shè)計報告
    • 6. 設(shè)計資料內(nèi)容清單&&下載鏈接
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機的簡易計算器數(shù)碼管顯示仿真設(shè)計( proteus仿真+程序+原理圖+報告+講解視頻)

2024/09/18
3568
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

共1個文件

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:S0049

1.主要功能:

本設(shè)計旨在設(shè)計一個基于51單片機的簡易計算器仿真設(shè)計。

功能要求:實現(xiàn)加減乘除四則簡單運算數(shù)碼管顯示

1、能通過矩陣鍵盤輸入正確鍵值;

2、能進行簡單的四則運算;

3、能以數(shù)碼管正確顯示數(shù)值;

4、最大支持999*999;

5、輸入數(shù)字能重復(fù)操作,取后三位數(shù)字。

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

以下為本設(shè)計資料展示圖:

2.仿真

開始仿真

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。開始仿真后,數(shù)碼管顯示000000。

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。開始仿真后,數(shù)碼管顯示000 000。

img

由于數(shù)碼管顯示有局限,本設(shè)計的運算符號加減乘除分別按照下圖的標點顯示:

img

加法驗證:矩陣鍵盤輸入123+456后,按下按鍵=即顯示運算結(jié)果 00579。剪輯如下圖所示:

img

減法驗證:矩陣鍵盤輸入789-456后,按下按鍵=即顯示運算結(jié)果000333。剪輯如下圖所示:

img

乘法驗證:矩陣鍵盤輸入999*999后,按下按鍵=即顯示運算結(jié)果998001。剪輯如下圖所示:

img

除法驗證:矩陣鍵盤輸入666*3后,按下按鍵=即顯示運算結(jié)果000222。剪輯如下圖所示:

img

以上加減乘除運算均符合數(shù)學(xué)運算規(guī)則,滿足設(shè)計要求。

3. 程序代碼

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

img

主函數(shù)代碼

void main()//主函數(shù)
{
	unsigned char i;
	unsigned int m=0;
	while(1)
	{
		//顯示
		if(fuhao<5)
		{
		P0=smgduan[a%1000/100];smg1=0;delay(100);smg1=1;
		P0=smgduan[a%100/10];smg2=0;delay(100);smg2=1;
		P0=smgduan[a%10];smg3=0;delay(100);smg3=1;	//顯示第一個數(shù)

		switch(fuhao)//顯示運算符號
		{
			case 1:P0=0x01;break;
			case 2:P0=0x40;break;
			case 3:P0=0x08;break;
			case 4:P0=0x80;break;
			default:P0=0;
		}
		smg4=0;delay(100);smg4=1;

		P0=smgduan[b%1000/100];smg5=0;delay(100);smg5=1; //顯示第二個數(shù)
		P0=smgduan[b%100/10];smg6=0;delay(100);smg6=1;
		P0=smgduan[b%10];smg7=0;delay(100);smg7=1;
		}
		else//顯示結(jié)果
		{
			P0=smgduan[c%1000000/100000];smg2=0;delay(100);smg2=1;
			P0=smgduan[c%100000/10000];smg3=0;delay(100);smg3=1;
			P0=smgduan[c%10000/1000];smg4=0;delay(100);smg4=1;
			P0=smgduan[c%1000/100];smg5=0;delay(100);smg5=1;
			P0=smgduan[c%100/10];smg6=0;delay(100);smg6=1;
			P0=smgduan[c%10];smg7=0;delay(100);smg7=1;
		}
		//==================================================
		i=key_scan();//檢測
		if((i>0)&&(i<11))//輸入數(shù)值
		{
			if(fuhao==0)//第1個輸入
			{
				a=a*10+i-1;
				if(a>999)
					a=a%1000;				
			}
			else //第2個輸入
			{
				b=b*10+i-1;
				if(b>999)
					b=b%1000;				
			}
		}
		if(i==13)//+	加法
		{
			fuhao=1;
		}
		if(i==14)//-	  減法
		{
			fuhao=2;
		}
		if(i==15)//*		乘法
		{
			fuhao=3;
		}
		if(i==16)// /	   除法
		{
			fuhao=4;
		}
		if(i==11)//ok		 等于
		{						
			switch(fuhao)	   //判斷按下的運算法則是什么
			{
				case 1:c=a+b;break;		   //加
				case 2:c=a-b;break;		   //減
				case 3:c=a;c=c*b;break;	   //成
				case 4:c=a/b;			   //除法
			}
			fuhao=5;						
		}
		if(i==12)//清除
		{			 
			 a=0;
			 b=0;
			 c=0;
			 fuhao=0;
		}
	}
}

4. 原理圖

原理圖使用AD繪制,可供實物參考,仿真不同于實物,經(jīng)驗不足不要輕易搞實物。

img

Proteus仿真和實物作品的區(qū)別:

1.運行環(huán)境:Proteus仿真是在計算機上運行的,而實物則是在硬件電路板上運行。

2.調(diào)試方式:在Proteus仿真中,可以方便地進行單步調(diào)試和觀察變量值的變化,而在實物中則需要通過調(diào)試器或者串口輸出等方式進行調(diào)試。

電路連接方式:在Proteus仿真中,可以通過軟件設(shè)置進行電路連接的修改,而在實物中則需要通過硬件電路板和連接線進行修改。

3.運行速度:Proteus仿真通常比實物運行速度快,因為仿真是基于計算機運行的,而實物則需要考慮電路板上的物理限制和器件的響應(yīng)時間等因素。

4.功能實現(xiàn):在Proteus仿真中,可以通過軟件設(shè)置實現(xiàn)不同的功能,而在實物中則需要根據(jù)電路設(shè)計和器件的性能進行實現(xiàn)。

5. 設(shè)計報告

6249字設(shè)計報告

img

6. 設(shè)計資料內(nèi)容清單&&下載鏈接

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

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

1、仿真圖

2、程序源碼

3、開題報告

4、原理圖

5、功能要求

6、元器件清單

7、設(shè)計報告

8、軟硬件流程框圖

9、講解視頻

Altium Designer 軟件資料

filename.bat

KEIL軟件資料

Proteus軟件資料

單片機學(xué)習資料

目錄清單.txt

答辯技巧

設(shè)計報告常用描述

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

img

資料下載鏈接:

https://docs.qq.com/doc/DS2RTaGxZUktTRnRE
  • 設(shè)計資料獲取聯(lián)系方式.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應(yīng)!