您好,欢迎来到99网。
搜索
您的当前位置:首页最新优秀范文: 电子琴实训报告 心得 总结 范本 模板.doc

最新优秀范文: 电子琴实训报告 心得 总结 范本 模板.doc

来源:99网


电子琴实训报告

项目描述

电子琴是现代科技与音乐结合的产物,是一种新型的键盘乐器。电子琴在现代音乐中扮演着重要的角色。单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本项目中的主要内容是以ATC51单片机为核心的控制元件,设计一个多音阶电子琴。它具有硬件电路简单,软件功能完善,控制系统可靠,性价比高等优点,具有一定的实用价值。 项目要求

基于ATC51单片机的多音阶电子琴设计要求如下: (1)由4*4组成16个按键矩阵,设计成16个音节。 (2)可随意弹奏想要表达的音乐。 系统设计 3.1框图设计

基于ATC51单片机的多音阶电子琴系统框图

硬件设计 4.1电路原理图

4.2元器件清单

序号元件名称规格数量用途 151单片机ATC511控制核心 2晶振12M立式1晶振电路 3三极管90121音频放大电路 4按键16按键电路

5电解电容10uF/10V1复位电路 6瓷片电容30PF瓷片电容2晶振电路 7电阻10K1音频放大电路 电阻4.7K1 电阻100欧1

8喇叭8欧/0.5W1扬声器 9电源5V/0.5A1提供+5V 软件设计 5.1程序流程图

5.2电子琴程序: ORG0000H LJMPMAIN ORG000BH LJMPTIMER0 ORG0100H MAIN:

DATABUFDATA30H MOVDPTR,#TAB

MOVTMOD,#01H;设置定时器0和定时器1工作方式1下 SETBEA;开中断

SETBET0;开定时器0中断 START:

MOVR7,#11110111B;R7暂存键扫描码,低4位作为键扫描输出

MOVR6,#00H;R6作为键值的暂存寄存器 MOVR5,#04H;R5作为行扫描的计数器 MOVP2,R7;扫描口送P2口 KEY_SCAN:

MOVR4,#04H;R4作为列扫描的计数器

ORLP2,#0F0H;设置P2.4—P2。7为读引脚模式 MOVA,P2;读P2口引脚的数据

MOVDATABUF,A;将读入的P2口数据存入DATABUF单元 SETBC;CY=1 LINE_DEC:

RLCA;A中数据循环左移

JNCKEY_VAL;若CY=0,表明某列某键被按下,转去执行取键值程序

INCR6;若CY=1,某列无按键被按下,R6递增

DJNZR4,LINE_DEC;判断每行的第4列是否扫描完毕,没有则继续

MOVA,R7;每行的4列都扫描完,无按键下,去扫描码 RRA;右移A中的数据 MOVR7,A;扫描码存回R7 MOVP2,A;扫描码送P2口

DJNZR5,KEY_SCAN;判断4行是否扫描完毕 LJMPSTART;扫描完的话,跳回START KEY_VAL:

LCALLDELAY20MS;延时20ms ORLP2,#0F0H;置P2口为读引脚 MOVA,P2;P2口数据送给A

CJNEA,DATABUF,START;新读入的数据和上次读入的数据比较,若相同表明是某键被按下

MOV31H,R6;R6中存的是对应的键值送31H单元保存 LCALLTABLE;调用查表程序,给定时器0赋初值 SETBTR0;启动T0 LOOP: MOVP2,#0F0H MOVA,P2

CJNEA,#0F0H,LOOP;判断按键是否释放 CLRTR0;已释放按键,关闭T0

LJMPSTART

;******定时器0中断服务程序****** TIMER0: PUSHACC PUSHPSW CLRTR0;关闭T0

MOVTH0,32H;TH0←(32H),计数器初值高8位赋值 MOVTL0,33H;TH0←(33H),计数器初值低8位 SETBTR0;启动T0 CPLP1.0;P1.0输入取反 POPPSW POPACC RETI

DELAY20MS:;延时20ms子程序 MOVR1,#20 LOOP2:MOVR0,#149 LOOP1:DJNZR0,LOOP1 DJNZR1,LOOP2 RET TABLE: MOVA,31H CLRC

RLCA MOVR2,A MOVCA,@A+DPTR MOV32H,A MOVTH0,A INCR2 MOVA,R2 MOVCA,@A+DPTR MOV33H,A MOVTL0,A RET

;每个音符对应的计数初值表 TAB:

DW021,103,260,400 DW524,580,684,777 DW820,8,968,65030 DW65058,65110,65157,65178 END

5.3AT98C51引脚图

ATS51单片机引脚介绍

ATS51有PDIP、PLCC、TQFP三种封装方式,其中最常

见的就是采用40Pin封装的双列直接PDIP封装,芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4。。。40,其中芯片的1脚顶上有个凹点(见右图)。在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务