電子琴實(shí)訓(xùn)報(bào)告_第1頁
電子琴實(shí)訓(xùn)報(bào)告_第2頁
電子琴實(shí)訓(xùn)報(bào)告_第3頁
電子琴實(shí)訓(xùn)報(bào)告_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

單片機(jī)應(yīng)用技術(shù)實(shí)訓(xùn)報(bào)告方法。二、實(shí)訓(xùn)時(shí)間:15周~16周三、實(shí)訓(xùn)內(nèi)容:單片機(jī)設(shè)計(jì)電子琴原理圖〔Protel〕PCB軟件調(diào)試四、-實(shí)訓(xùn)步驟:1.分析、繪制原理圖;PCB板4.C程序;5.Proteus仿真調(diào)式。五、結(jié)果分析:設(shè)計(jì)思路:單片機(jī)電子琴設(shè)計(jì)時(shí),最小系統(tǒng)是必不行少的,按鍵比較多,為了節(jié)約I/O口,按鍵承受了4*4矩陣式按鍵,輸出是通過P1口的音頻放大電路輸出;在編程序時(shí),先要確定按下一個(gè)按鍵就會(huì)有一個(gè)對應(yīng)的音輸出,就想到要用到按鍵識(shí)別程序,由于有12個(gè)按鍵,就用到數(shù)碼管的值,使得按鍵按下會(huì)有對應(yīng)的音和對應(yīng)的數(shù)值輸出。原理圖4*4距陣試按鍵,音頻放大電路構(gòu)成。8051經(jīng)過脈沖電路輸入聲音,通過三極管放大電路放大聲音輸出。PCB板PCB板,區(qū)分好電源線和一般導(dǎo)線的粗細(xì),要留意要將電源線和地線設(shè)置DRC規(guī)章檢查。U1C1D1R5 C2R6Q2LS1D2電路分析:將原理圖繪制好,將編好的程序放進(jìn)at89c51單片機(jī)里,Proteus就可以對電驅(qū)動(dòng)電路放大濾波后,就會(huì)發(fā)出相應(yīng)的音調(diào),并數(shù)碼顯示管顯示相應(yīng)的數(shù)值。掌握鍵盤的SW-0~SW-11十二個(gè)鍵能發(fā)出十二個(gè)不同的音調(diào),按下按鍵發(fā)聲,松開延時(shí)一段時(shí)間停頓。假設(shè)在前一個(gè)按下的鍵發(fā)聲的同時(shí)有另一個(gè)鍵被按下轉(zhuǎn)到后按的鍵的發(fā)音程序,發(fā)出后按的鍵的音?!?〕C程序#include<reg51.h> //包含頭文件reg51.h,定義了MCS-51單片機(jī)的特別功能存放器#defineucharunsignedcharsbitP1_0=P1^0; //定義位名稱〔P1.0外接揚(yáng)聲器〕ucharfind,temp,STH0,STL0,keyvalue;ucharcodedisplay[]= //顯示對應(yīng)按鍵號(hào)字型碼{0x11,0xd7,0x32,0x92, //0,1,2,30xd4,0x98,0x18,0xd3, //4,5,6,70x10,0x90};//,0x50,0x1c};//8,9,A,b//0x39,0x91,0x30,0x78};//c,d,e,Funsignedintcodetab[]= //定時(shí)半周期的初始值{64021,64103,64260,64400, //345664524,64580,64684,64777, //7,12364820,64898,64968,65030}; //4567ucharline[4]={0xf7,0xef,0xdf,0xbf};voiddelay50ms{uchari; //50ms函數(shù)for(i=0;i<1;i++){TMOD=0x11; //T11TH1=0x3c; //設(shè)置定時(shí)器初值TL1=0xb0;TR1=1; //啟動(dòng)定時(shí)器T1while(!TF1); //查詢計(jì)數(shù)是否溢出,即50ms定時(shí)時(shí)間到,TF1=1TF1=0; } //50ms定時(shí)時(shí)間到,將定時(shí)器溢出標(biāo)志TF1由軟件清零}voiddelay_t(uchart) //函數(shù)名:delay_t〔25.6s〕{uchari; //形式參數(shù):unsignedchari;延時(shí)時(shí)間為50msfor(i=0;i<t;i++)delay50ms; //承受全局變量t作為循環(huán)掌握變量}ucharkeyscan(void); //按鍵掃描聲明voiddelay(uchari);intmain(void) //主函數(shù){TMOD=0x01; //T01ET0=1; //允許T0中斷EA=1; //開總中斷find=0; //有鍵按下標(biāo)志位TR0=0;while(1){keyvalue=keyscan; //讀入按鍵if(keyvalue!=-1) //有鍵按下{ P3=0x7f; //選中P3.7掌握的數(shù)碼管P0=display[keyvalue%10]; //顯示按鍵個(gè)位delay(20230); //延時(shí)20msP3=0xbf; //選中P3.6掌握的數(shù)碼管P0=display[keyvalue/10]; //顯示按鍵十位delay(20230); //延時(shí)20ms// P0=display[keyvalue]; //顯示字型碼并送到P0口STH0=tab[keyvalue]/256; //找出鍵對應(yīng)的頻率的時(shí)間,作為定時(shí)器中斷初始值STL0=tab[keyvalue]%256; //依據(jù)鍵值,取出定時(shí)半周期的初始值TR0=1; //啟動(dòng)定時(shí)器T0delay_t(20); //1sTR0=0; //1s延時(shí)時(shí)間到,將定時(shí)器溢出標(biāo)志位TF0清零P3=0xff; //同時(shí)將P3口復(fù)位}}}voidISR_t0(void)interrupt1using0 // interrupt11〔定時(shí)/計(jì)數(shù)T0〕的中斷函數(shù){TH0=STH0; //載入定時(shí)半周期的初始值TL0=STL0;P1_0=~P1_0; //發(fā)音}ucharkeyscan(void) //函數(shù)功能:用掃描法讀P2外接4×4鍵盤;函數(shù)返回:按下鍵:返回鍵值、如無鍵按下:返回-1。{uchari,m,n;find=0; //有鍵按下的標(biāo)志P2=0xff; //將P2口取出〔低四位做輸入口,先輸出全1〕for(i=0;i<4;i++) //使P2_0~P2_3分別為低電平,這樣可以推斷四列有沒有鍵按下{P2=line[i]; //循環(huán)四次,掃描四列temp=~P2; //讀行值,并取反temp=temp&0x07; //屏蔽掉行值高五位if(temp!=0x00) //推斷有無鍵按下,為0則無鍵按下{delay50ms; //50ms去抖temp=~P2; //再次讀讀行值,并取反temp=temp&0x07; //屏蔽掉行值高五位}if(temp!=0x00) //0則無鍵按下{m=i; //保存列號(hào)至m變量find=1; //置找到按鍵標(biāo)志switch(temp) //推斷哪一行有鍵,記錄行號(hào)到n變量{case0x01:n=0;break; //第0行有鍵按下case0x02:n=1;break; //第1行有鍵按下case0x04:n=2;break; //第2行有鍵按下//case0x08:n=3;break;//3行有鍵按下default:break;}}}if(find==0)return-1; //沒有鍵按下就返回-1elsereturn(n*4+m); //否則返回取得的按鍵值,鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論