- 相關(guān)推薦
電子琴實(shí)訓(xùn)報(bào)告范文
項(xiàng)目描述
電子琴是現(xiàn)代科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。電子琴在現(xiàn)代音樂(lè)中扮演著重要的角色。單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)融入現(xiàn)代人們的生活中,成為不可替代的一部分。本項(xiàng)目中的主要內(nèi)容是以AT89C51單片機(jī)為核心的控制元件,設(shè)計(jì)一個(gè)多音階電子琴。它具有硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比高等優(yōu)點(diǎn),具有一定的實(shí)用價(jià)值。
項(xiàng)目要求
基于AT89C51單片機(jī)的多音階電子琴設(shè)計(jì)要求如下:
。1) 由4*4組成16個(gè)按鍵矩陣,設(shè)計(jì)成16個(gè)音節(jié)。
(2) 可隨意彈奏想要表達(dá)的音樂(lè)。
系統(tǒng)設(shè)計(jì)
3.1 框圖設(shè)計(jì)
基于AT89C51單片機(jī)的多音階電子琴系統(tǒng)框圖
硬件設(shè)計(jì)
4.1 電路原理圖
4.2 元器件清單
序號(hào) 元件名稱 規(guī)格 數(shù)量 用途
1 51單片機(jī) AT89C51 1 控制核心
2 晶振 12M立式 1 晶振電路
3 三極管 9012 1 音頻放大電路
4 按鍵 16 按鍵電路
5 電解電容 10uF/10V 1 復(fù)位電路
6 瓷片電容 30PF瓷片電容 2 晶振電路
7 電阻 10K 1 音頻放大電路
電阻 4.7K 1
電阻 100歐 1
8 喇叭 8歐/0.5W 1 揚(yáng)聲器
9 電源 5V/0.5A 1 提供+5V
軟件設(shè)計(jì)
5.1程序流程圖
5.2 電子琴程序:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TIMER0
ORG 0100H
MAIN:
DATABUF DATA 30H
MOV DPTR,#TAB
MOV TMOD,#01H ;設(shè)置定時(shí)器0和定時(shí)器1工作方式1下
SETB EA ;開中斷
SETB ET0 ;開定時(shí)器0中斷
START:
MOV R7,#11110111B ;R7暫存鍵掃描碼,低4位作為鍵掃描輸出
MOV R6,#00H ;R6作為鍵值的暫存寄存器
MOV R5,#04H ;R5作為行掃描的計(jì)數(shù)器
MOV P2,R7 ;掃描口送P2口
KEY_SCAN:
MOV R4,#04H ;R4作為列掃描的計(jì)數(shù)器
ORL P2,#0F0H ;設(shè)置P2.4—P2。7為讀引腳模式
MOV A,P2 ;讀P2口引腳的數(shù)據(jù)
MOV DATABUF,A ;將讀入的P2口數(shù)據(jù)存入DATABUF單元
SETB C ;CY=1
LINE_DEC:
RLC A ;A中數(shù)據(jù)循環(huán)左移
JNC KEY_VAL ;若CY=0,表明某列某鍵被按下,轉(zhuǎn)去執(zhí)行取鍵值程序
INC R6 ;若CY=1,某列無(wú)按鍵被按下,R6遞增
DJNZ R4,LINE_DEC ;判斷每行的第4列是否掃描完畢,沒(méi)有則繼續(xù)
MOV A,R7 ;每行的4列都掃描完,無(wú)按鍵下,去掃描碼
RR A ;右移A中的數(shù)據(jù)
MOV R7,A ;掃描碼存回R7
MOV P2,A ;掃描碼送P2口
DJNZ R5,KEY_SCAN ; 判斷4行是否掃描完畢
LJMP START ;掃描完的話,跳回START
KEY_VAL:
LCALL DELAY20MS ;延時(shí)20ms
ORL P2,#0F0H ;置P2口為讀引腳
MOV A,P2 ; P2口數(shù)據(jù)送給A
CJNE A,DATABUF,START ;新讀入的數(shù)據(jù)和上次讀入的數(shù)據(jù)比較,若相同表明是某鍵被按下
MOV 31H,R6 ;R6中存的是對(duì)應(yīng)的鍵值送31H單元保存
LCALL TABLE ;調(diào)用查表程序,給定時(shí)器0賦初值
SETB TR0 ;啟動(dòng)T0
LOOP:
MOV P2,#0F0H
MOV A,P2
CJNE A,#0F0H,LOOP ;判斷按鍵是否釋放
CLR TR0 ;已釋放按鍵,關(guān)閉T0
LJMP START
;******定時(shí)器0中斷服務(wù)程序******
TIMER0:
PUSH ACC
PUSH PSW
CLR TR0 ;關(guān)閉T0
MOV TH0,32H ;TH0←(32H),計(jì)數(shù)器初值高8位賦值
MOV TL0,33H ;TH0←(33H),計(jì)數(shù)器初值低8位
SETB TR0 ;啟動(dòng)T0
CPL P1.0 ;P1.0輸入取反
POP PSW
POP ACC
RETI
DELAY20MS: ;延時(shí)20ms子程序
MOV R1,#20
LOOP2: MOV R0,#149
LOOP1: DJNZ R0,LOOP1
DJNZ R1,LOOP2
RET
TABLE:
MOV A,31H
CLR C
RLC A
MOV R2,A
MOVC A,@A+DPTR
MOV 32H,A
MOV TH0,A
INC R2
MOV A,R2
MOVC A,@A+DPTR
MOV 33H,A
MOV TL0,A
RET
;每個(gè)音符對(duì)應(yīng)的計(jì)數(shù)初值表
TAB:
DW 64021,64103,64260,64400
DW 64524,64580,64684,64777
DW 64820,64898,64968,65030
DW 65058,65110,65157,65178
END
5.3 AT98C51引腳圖
AT89S51單片機(jī)引腳介紹
牐燗T89S51有PDIP、PLCC、TQFP三種封裝方式,其中最常見(jiàn)的就是采用40Pin封裝的雙列直接PDIP封裝,芯片共有40個(gè)引腳,引腳的排列順序?yàn)閺目啃酒娜笨冢ㄒ?jiàn)右圖)左邊那列引腳逆時(shí)針數(shù)起,依次為1、2、3、4。。。40,其中芯片的1腳頂上有個(gè)凹點(diǎn)(見(jiàn)右圖)。在單片機(jī)的40個(gè)引腳中,電源引腳2根,外接晶體振蕩器引腳2根,控制引腳4根以及4組8位可編程I/O引腳32根。
【電子琴實(shí)訓(xùn)報(bào)告】相關(guān)文章:
實(shí)訓(xùn)的報(bào)告01-01
電工實(shí)訓(xùn)報(bào)告【經(jīng)典】09-16