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

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

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

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

共1個(gè)文件

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

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):S0102

1. 主要功能:

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

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

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

(3)數(shù)碼管顯示按下的音符標(biāo)號(hào)。

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

img

資料下載鏈接:

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

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

提取碼: e353

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

2. 講解視頻:

講解視頻包含仿真運(yùn)行講解和代碼講解

3. 仿真

打開仿真工程,雙擊proteus中的單片機(jī),選擇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);//延時(shí)去抖
				  if(!K1)
				  {
           key=0;//將音樂的值賦值給定時(shí)器以便發(fā)出對(duì)應(yīng)的聲音
					 P0=distab[key+1];//顯示1
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K1)
				   ;
          }
        }
				
			 if(!K2)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K2)
				  {
           key=1;
					 P0=distab[key+1];//顯示2
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K2)
				   ;
          }
        }
				
			if(!K3)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K3)
				  {
           key=2;
					 P0=distab[key+1];//顯示3
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K3)
				   ;
          }
        }
				
			if(!K4)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K4)
				  {
           key=3;
					 P0=distab[key+1];//顯示4
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K4)
				   ;
          }
        }
				
			if(!K5)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K5)
				  {
           key=4;
					 P0=distab[key+1];//顯示5
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K5)
				   ;
          }
        }
				
			if(!K6)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K6)
				  {
           key=5;
					P0=distab[key+1];//顯示6
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K6)
				   ;
          }
        }
				
			if(!K7)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K7)
				  {
           key=6;
					 P0=distab[key+1];//顯示7
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K7)
				   ;
          }
        }
				
		if(!K8)	       
		    {
			   delay_1ms(20);//延時(shí)去抖
				  if(!K8)
				  {
           key=7;
					P0=distab[key+1];//顯示8
           STH0=tab[key]/256;	//計(jì)算音符對(duì)應(yīng)的定時(shí)器計(jì)數(shù)值
				   STL0=tab[key]%256;
				   TR0=1;
				   while(!K8)
				   ;
          }
        }
				
			
			  delay_1ms(20);
				TR0=0;
			  Speak=1;//當(dāng)按鍵彈起的時(shí)候,蜂鳴器停止發(fā)音
				
}			

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

img

6. 設(shè)計(jì)報(bào)告

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

img

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

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

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

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

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

1、程序代碼注釋

2、proteus仿真

3、功能要求

4、軟硬件流程圖

5、開題報(bào)告

6、設(shè)計(jì)報(bào)告

7、原理圖

8、PCB圖

9、元器件清單

10、講解視頻

Altium Designer 安裝破解

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

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡(jiǎn)易使用教程

單片機(jī)學(xué)習(xí)資料

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

答辯技巧

設(shè)計(jì)報(bào)告常用描述

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

img

資料下載鏈接:

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

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

提取碼: e353

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

相關(guān)推薦