- 相关推荐
电子琴实训报告范文
项目描述
电子琴是现代科技与音乐结合的产物,是一种新型的键盘乐器。电子琴在现代音乐中扮演着重要的角色。单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本项目中的主要内容是以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