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

基于51單片機的八鍵電子琴( proteus仿真+程序+設(shè)計報告+原理圖PCB+講解視頻)

04/17 08:40
805
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

共1個文件

基于51單片機的八鍵電子琴( proteus仿真+程序+設(shè)計報告+原理圖PCB+講解視頻)

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:S0102

1. 主要功能:

電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演重要的角色,單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。單片機的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項重大課題。我們對于電子琴如何實現(xiàn)其功能,如音色選擇、聲音強弱控制、節(jié)拍器、自動放音功能等等也很好奇,設(shè)計要求:

(1)用AT89C51單片機為核心控制元件,設(shè)計一個電子琴。

(2)以單片機作為主控核心,與鍵盤揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有8個按鍵,和一個復(fù)位按鍵。每一個按鍵分別指示不同的音符。

(3)數(shù)碼管顯示按下的音符標號。

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

img

資料下載鏈接:

通過網(wǎng)盤分享的文件:KEY_S0102

鏈接: https://pan.baidu.com/s/1DS052dZFL8HxKB-q9g5hXg?pwd=e353

提取碼: e353

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

2. 講解視頻:

講解視頻包含仿真運行講解和代碼講解

3. 仿真

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

按下DO按鍵,數(shù)碼管顯示1,蜂鳴器波放DO音調(diào)。

img

按下MI按鍵,數(shù)碼管顯示3,蜂鳴器波放MI音調(diào)

img

4. 原理圖PCB

有原理圖PCB

imgimg

5. 程序代碼

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

sbit K1=P1^0;  //音符按鍵
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
sbit K5=P1^4;
sbit K6=P1^5;
sbit K7=P1^6;
sbit K8=P1^7;

sbit Speak=P2^0; //喇叭
/***********************1ms*****************************/
void delay_1ms(unsigned int q)
{
	unsigned int i,j;
	for(i=0;i<q;i++)
		for(j=0;j<120;j++);
}

void main(void)   //主程序
 {			 
  TMOD=0x01;
	ET0=1;
	EA=1;
	while(1)
		{
	
      if(!K1)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K1)
				  {
           key=0;//將音樂的值賦值給定時器以便發(fā)出對應(yīng)的聲音
					 P0=distab[key+1];//顯示1
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K1)
				   ;
          }
        }
				
			 if(!K2)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K2)
				  {
           key=1;
					 P0=distab[key+1];//顯示2
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K2)
				   ;
          }
        }
				
			if(!K3)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K3)
				  {
           key=2;
					 P0=distab[key+1];//顯示3
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K3)
				   ;
          }
        }
				
			if(!K4)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K4)
				  {
           key=3;
					 P0=distab[key+1];//顯示4
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K4)
				   ;
          }
        }
				
			if(!K5)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K5)
				  {
           key=4;
					 P0=distab[key+1];//顯示5
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K5)
				   ;
          }
        }
				
			if(!K6)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K6)
				  {
           key=5;
					P0=distab[key+1];//顯示6
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K6)
				   ;
          }
        }
				
			if(!K7)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K7)
				  {
           key=6;
					 P0=distab[key+1];//顯示7
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K7)
				   ;
          }
        }
				
		if(!K8)	       
		    {
			   delay_1ms(20);//延時去抖
				  if(!K8)
				  {
           key=7;
					P0=distab[key+1];//顯示8
           STH0=tab[key]/256;	//計算音符對應(yīng)的定時器計數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K8)
				   ;
          }
        }
				
			
			  delay_1ms(20);
				TR0=0;
			  Speak=1;//當按鍵彈起的時候,蜂鳴器停止發(fā)音
				
}			

//文章有下載鏈接有完整代碼
}

img

6. 設(shè)計報告

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

img

隨著現(xiàn)代電子技術(shù)的持續(xù)進步與革新,數(shù)字電壓表在電子測量領(lǐng)域的應(yīng)用范圍愈發(fā)廣泛,其重要性也日益凸顯。傳統(tǒng)的指針式電壓表,盡管在早期的電子測量中發(fā)揮了重要作用,但其固有的缺陷,如讀數(shù)誤差較大、精度相對較低以及讀數(shù)不夠直觀等問題,已經(jīng)難以滿足當前高精度、高效率的測量需求。相比之下,數(shù)字電壓表以其讀數(shù)準確無誤、測量精度高、顯示結(jié)果直觀明了等顯著優(yōu)勢,成為了電子測量領(lǐng)域的主流工具。

鑒于數(shù)字電壓表的諸多優(yōu)點,我們計劃設(shè)計一款基于51單片機和ADC0808模數(shù)轉(zhuǎn)換器的數(shù)字電壓表。這款設(shè)計不僅具備重要的實際應(yīng)用價值,能夠廣泛應(yīng)用于各種需要精確測量電壓的場合,如電子實驗室、工業(yè)生產(chǎn)線等,而且對于學生而言,更是一次深入理解單片機應(yīng)用技術(shù)和模數(shù)轉(zhuǎn)換原理的絕佳機會。通過親手設(shè)計并制作這款數(shù)字電壓表,學生將能夠親身體驗從理論到實踐的轉(zhuǎn)化過程,從而更加深入地掌握單片機的硬件電路設(shè)計、軟件編程以及模數(shù)轉(zhuǎn)換技術(shù)的核心要點。同時,這一過程也將極大地鍛煉學生的實踐能力、創(chuàng)新能力和解決問題的能力,為他們未來的學習和職業(yè)生涯奠定堅實的基礎(chǔ)。

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

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

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

1、程序代碼注釋

2、proteus仿真

3、功能要求

4、軟硬件流程圖

5、開題報告

6、設(shè)計報告

7、原理圖

8、PCB圖

9、元器件清單

10、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機仿真設(shè)計教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機學習資料

相關(guān)數(shù)據(jù)手冊

答辯技巧

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

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

img

資料下載鏈接:

通過網(wǎng)盤分享的文件:KEY_S0102

鏈接: https://pan.baidu.com/s/1DS052dZFL8HxKB-q9g5hXg?pwd=e353

提取碼: e353

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

相關(guān)推薦