- 相關推薦
電子琴實訓報告范文
項目描述
電子琴是現代科技與音樂結合的產物,是一種新型的鍵盤樂器。電子琴在現代音樂中扮演著重要的角色。單片機具有強大的控制功能和靈活的編程實現特性,它已經融入現代人們的生活中,成為不可替代的一部分。本項目中的主要內容是以AT89C51單片機為核心的控制元件,設計一個多音階電子琴。它具有硬件電路簡單,軟件功能完善,控制系統可靠,性價比高等優點,具有一定的實用價值。
項目要求
基于AT89C51單片機的多音階電子琴設計要求如下:
(1) 由4*4組成16個按鍵矩陣,設計成16個音節。
(2) 可隨意彈奏想要表達的音樂。
系統設計
3.1 框圖設計
基于AT89C51單片機的多音階電子琴系統框圖
硬件設計
4.1 電路原理圖
4.2 元器件清單
序號 元件名稱 規格 數量 用途
1 51單片機 AT89C51 1 控制核心
2 晶振 12M立式 1 晶振電路
3 三極管 9012 1 音頻放大電路
4 按鍵 16 按鍵電路
5 電解電容 10uF/10V 1 復位電路
6 瓷片電容 30PF瓷片電容 2 晶振電路
7 電阻 10K 1 音頻放大電路
電阻 4.7K 1
電阻 100歐 1
8 喇叭 8歐/0.5W 1 揚聲器
9 電源 5V/0.5A 1 提供+5V
軟件設計
5.1程序流程圖
5.2 電子琴程序:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TIMER0
ORG 0100H
MAIN:
DATABUF DATA 30H
MOV DPTR,#TAB
MOV TMOD,#01H ;設置定時器0和定時器1工作方式1下
SETB EA ;開中斷
SETB ET0 ;開定時器0中斷
START:
MOV R7,#11110111B ;R7暫存鍵掃描碼,低4位作為鍵掃描輸出
MOV R6,#00H ;R6作為鍵值的暫存寄存器
MOV R5,#04H ;R5作為行掃描的計數器
MOV P2,R7 ;掃描口送P2口
KEY_SCAN:
MOV R4,#04H ;R4作為列掃描的計數器
ORL P2,#0F0H ;設置P2.4—P2。7為讀引腳模式
MOV A,P2 ;讀P2口引腳的數據
MOV DATABUF,A ;將讀入的P2口數據存入DATABUF單元
SETB C ;CY=1
LINE_DEC:
RLC A ;A中數據循環左移
JNC KEY_VAL ;若CY=0,表明某列某鍵被按下,轉去執行取鍵值程序
INC R6 ;若CY=1,某列無按鍵被按下,R6遞增
DJNZ R4,LINE_DEC ;判斷每行的第4列是否掃描完畢,沒有則繼續
MOV A,R7 ;每行的4列都掃描完,無按鍵下,去掃描碼
RR A ;右移A中的數據
MOV R7,A ;掃描碼存回R7
MOV P2,A ;掃描碼送P2口
DJNZ R5,KEY_SCAN ; 判斷4行是否掃描完畢
LJMP START ;掃描完的話,跳回START
KEY_VAL:
LCALL DELAY20MS ;延時20ms
ORL P2,#0F0H ;置P2口為讀引腳
MOV A,P2 ; P2口數據送給A
CJNE A,DATABUF,START ;新讀入的數據和上次讀入的數據比較,若相同表明是某鍵被按下
MOV 31H,R6 ;R6中存的是對應的鍵值送31H單元保存
LCALL TABLE ;調用查表程序,給定時器0賦初值
SETB TR0 ;啟動T0
LOOP:
MOV P2,#0F0H
MOV A,P2
CJNE A,#0F0H,LOOP ;判斷按鍵是否釋放
CLR TR0 ;已釋放按鍵,關閉T0
LJMP START
;******定時器0中斷服務程序******
TIMER0:
PUSH ACC
PUSH PSW
CLR TR0 ;關閉T0
MOV TH0,32H ;TH0←(32H),計數器初值高8位賦值
MOV TL0,33H ;TH0←(33H),計數器初值低8位
SETB TR0 ;啟動T0
CPL P1.0 ;P1.0輸入取反
POP PSW
POP ACC
RETI
DELAY20MS: ;延時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
;每個音符對應的計數初值表
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單片機引腳介紹
牐燗T89S51有PDIP、PLCC、TQFP三種封裝方式,其中最常見的就是采用40Pin封裝的雙列直接PDIP封裝,芯片共有40個引腳,引腳的排列順序為從靠芯片的缺口(見右圖)左邊那列引腳逆時針數起,依次為1、2、3、4。。。40,其中芯片的1腳頂上有個凹點(見右圖)。在單片機的40個引腳中,電源引腳2根,外接晶體振蕩器引腳2根,控制引腳4根以及4組8位可編程I/O引腳32根。
【電子琴實訓報告】相關文章:
實訓的報告01-01
電工實訓報告【經典】09-16
電工實訓報告07-12
金工實訓報告08-03
安裝實訓報告08-28
外匯實訓報告09-07
物流的實訓報告09-08
測量實訓報告05-10
運營實訓報告06-15