北邮,单片机,实验报告,电子琴
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北邮,单片机,实验报告,电子琴
北邮单片机实验报告简易电子琴
2014年小学期单片机设计实验报告题目:基于单片机的电子音乐发生器
班级:班内序号:实验组号:学生姓名:指导教师:
基于单片机的电子音乐发生器
实验摘要
此次本组制作的基于PIC单片机的电子音乐发生器是具有LCD显示屏提示的音乐简单演奏、播放、存储等功能的演示作品,拥有以下4种功能:
1.按键演奏:即“电子琴”功能,可以用键盘上的“1”到“A”键演奏从低音sol到高音do等11个音;
2.点歌功能:即按动“B”“C”键分别演奏两首乐曲(可以表现准确的音高和音长)。
3.存储音乐功能:即按右下角“F存储”键,然后按键演奏并存储,随后按“E”键结束,之后按“D键”就可以播放存储的乐曲了;
4.液晶显示功能:即在开始时显示“hello!”,在点播时分别显示“song b”、“song c”,在存储时显示“saving”。
电子音乐发生器采用以Microchip公司的PIC16F877芯片为核心的简单控制系统,外部电路连接有喇叭、键盘、LCD液晶显示屏以及其他必要系统调节元件。
软件设计中涉及PORTB\PORTC\PORTD\PORTE用作普通数字I/O脚功能。
本实验用
单片机PORTB\D接收来自键盘输入的指令信息,由此确定LCD液晶屏幕显示以及喇叭播放内容,再通过PORTC\D\E输出声音或字幕信息。
关键字
单片机——microcontroller芯片——CMOS chip
音乐发生器——music generator 分频——fractional frequency 一、实验论证与比较
本设计的核心器件是单片机芯片和音频功放芯片。
单片机采用以Microchip公司的PIC16F87X系列中的PIC16F877芯片为核心构建简单控制系统,它完全可以满足本设计功能的需要。
此音乐发生器设计利用单片机的输入输出功能,当按下播放功能键时,单片机的输出功能使外部电路连接的喇叭和LCD液晶显示屏同时播放声音及显示文字,从而实现各种复杂音乐播放器的功能。
在嵌入式系统设计中,扬声器等是常用的输出设备,它具有使用方便、价格便宜、电路接口简单等优点,因此,在嵌入式系统中被广泛使用。
同时随着单片机的发展,其功能越来越强大,技术也越来越成熟,由此生产的音乐播放器越来越受到人们的喜爱。
因此,在技术性操作、社会因素和经济方面都具有良好的可行性。
我在实验中负责了全部软件设计,代码的编写,电路图的设计,以及部分硬件焊接。
其中,困难的部分在于,理论上认为电子音乐发生器模拟真正乐器的仿真实现方法,与现实电路实现起来有着一定的差别,在长音、乐谱存储播放上,以及存储功能的代码
编写都有一定的难度。
二、系统总体设计
1、系统模块总体框图
2、系统整体流程图
3、发音原理
播放一段音乐需要的是两个元素,一个是音调,另一个是音符。
首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。
对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。
另外,音符的频率有所不同。
基于上面的内容,这样就对发音的原理有了一些初步的了解。
将相应音高的分频值存储在寄存器里,并将其与对应的按键进行关联,通过键盘扫描子程序将对应的分频值送入单音播放子程序即可产生相应频率的电压方波,再将其输出到喇叭
即可产生对应的音高实现电子琴功能。
将音符按音高和音长直接存储在数据存储器里并与按键相关联,调用自动演奏子程序产生相应频率和时长的方波电压输出到喇叭即可。
三、硬件连接
1、键盘和单片机的连接
选择用4*4行列式键盘完成输入。
4*4行列式键盘又称为矩阵键盘,它是用4条I/O线作
为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每一
个交叉点上,设置一个按键。
这样键盘中按键的个数是4×4个。
这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
2、LCD和单片机的连接
采用型号为RT1602C的液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见, 与传统的阴极射线管相比,液晶显示屏具有占用空间小、低功耗、低辐射、无闪烁、降低视觉疲劳等优点。
字符型液晶屏是一种用5*7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,最常用的为2
篇二:北邮小学期AVR单片机电子琴实验报告
小学期AVR单片机实验报告
实验题目:基于ATmega16L单片机的电子琴设计
学生姓名:学渣
班级:2012XXXXXX
班内序号:XX
学号:2012XXXXXX
日期:2014年9月30日
同组同学:学渣
目录:
一、实验介绍 (3)
1.1实验课题名称 (3)
1.2实验平台 (3)
1.3实验课题关键字..............................3
1.4实验摘要 (3)
二、小组分工 (3)
三、基本题目训练——流水灯与数码管秒表计时器 (3)
3.1实现功能 (3)
3.2程序代码分析 (4)
3.3实验结果图片 (7)
四、有关发声的基础知识 (7)
五、电子琴的设计与测试 (9)
5.1设计过程 (9)
5.2实验所需元器件 (9)
5.3实验程序主要流程图 (10)
5.4实验原理及原理图 (10)
5.4.1实验原理 (10)
5.4.2原理图 (11)
5.5各个模块的设计与讲解 (11)
5.6程序源代码及程序分析 (14)
5.7实验结果..................................... ..24
六、排错过程............................ . (26)
七、心得体会 (29)
八、参考文献 (32)
九、意见与建议 (33)
一、实验介绍:
1.1实验课题名称:基于ATmega16L单片机的电子琴设计
1.2实验平台:本实验所用平台为AVR Studio 4
1.3实验课题关键字:
ATmega16L型单片机电子琴键盘按键LCD液晶显示屏
1.4实验摘要:
本实验设计的电子琴拥有可视化操作界面,能实现即时弹奏音乐、音乐播放、音乐变速、音乐变调,并可以进行任意长度录音(通过按键记录音阶)等功能
二、小组分工:
? XXX负责电路硬件的连接和报告的撰写
? XXX负责程序代码的编写
? XXX负责资料的收集整理和查阅
三、基本题目训练——流水灯与数码管秒表计时器
3.1功能:八盏LED二极管按顺序依次循环点亮,实现流水灯的效果,同时两只数码管分别代表秒和十分之一秒,进行秒表计时,配有
两个按键,实现计时过程中的暂停和继续,同时在按下暂停键的时候蜂鸣器会响一声。
利用ATmega1
6的寄存器中断功能,实现流水灯和数码管秒表计时器在实验板上同时工作,并且互相独立不影响。
3.2程序代码分析:
#includeavr/io.h
#include avr/interrupt.h char b[10] = {
0b11111010,//0
0b00110000,//1
0b11011001,//2
0b01111001,//3
0b00110011,//4
0b01101011,//5
0b11101011,//6
0b00111000,//7
0b11111011,//8
0b01111011,//9
};
char a[10] = {
0b11111010,//0
0b00110000,//1
0b11011001,//2
0b01111001,//3
0b00110011,//4
0b01101011,//5
0b11101011,//6
0b00111000,//7
0b11111011,//8
0b01111011,//9
};
volatile char temp;
int main(void)
{
DDRA = 0xff;
PORTA = 0b10000000;
DDRC = 0xff;
DDRD = 0b11111011; DDRB = 0b11111011; TCNT0 = 55; PORTB = b[0]; PORTD = a[0]; PORTC |= (1 0); TCCR0 |= (1 CS01);
int count1 = 0,count2 = 0,i;
MCUCR |= (1 ISC00)|(1 ISC01);//INT0上升沿触发GICR |= (1 INT0);//使能INT0,INT1
sei();//使能全局中断
while(1)
{
for(i = 0;i9000;i++)
{
while(!(TIFR & (1TOV0)));
TCNT0=55;
}
count1++;
if(count1!=10)
PORTD = a[count1];
else
{
count2++;
count1 = 0;
if (count2 == 10)
count2 = 0;
temp = PORTA;
PORTA = PORTA 1;
if(temp & 0b00000001) {
PORTA = PORTA | 0b10000000; }
PORTB = b[count2];
PORTD = a[0];
}
}
}
SIGNAL(SIG_INTERRUPT0)//INT0中断服务程序{
int count3 = 0,count4=0;
篇三:北邮小学期PIC单片机-蓝牙电子琴-实验报告
2013年小学期PIC单片机实验报告
题目:蓝牙电子琴
组号:
班级:
学号:
姓名:
老师:
目录
一摘要
二论证与比较
三原理
1 蓝牙控制原理 (2)
发音原理……………………………………………………… 3 中断控制………………………………………………………
四硬件
1 框图…………………………………………………………………………………
2 原理图………………………………………………………………………
…………
五软件
1 流程图………………………………………………………………………………
2 程序…………………………………………………………………………………
六实验总结
七参考文献
一摘要
Microcontroller is known as the single chip microcomputer and single chip microcomputer. It is the central processing unit (CPU), random access memory (RAM), read-only memory (ROM), input/output port (I/O), etc. The main function of computer components are integrated on a chip microcomputer. Experiments using PIC16F877 single-chip microcomputer with a serial communication port (USART port), through the USART port with bluetooth module connection, you can through the mobile phone bluetooth bluetooth device to control the single-chip computer, also can realize the serial communication with other modules. PIC16F877 single chip microcomputer to control the corresponding port produce a certain frequency of square wave, amplification and then
sent to the speakers can emit a certain frequency of sound. Interrupt to use bluetooth to real-time control MCU, thus realize the electric .
单片机被称为单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
实验中用到的PIC16F877单片机具有串行通信端口(USART端口),通过与蓝牙模块的USART端口连接,就可以通过手机蓝牙等蓝牙设备来控制单片机,也可以实现
与其他模块进行串行通信。
PIC16F877单片机控制相应的端口产生一定频率的方波,再经放大送到喇叭就可以发出一定频率的声音。
可以通过中断来实时用蓝牙来控制单片机,这样就实现了电子琴的相应的功能。
在实验中,程序部分使用了汇编语言。
二方案论证与比较
PIC16F877单片机有USART端口(RC6,RC7),可以进行串行通信。
本次实验主要是单片机的开发,只需借助有USART端口的蓝牙模块,就可以通过蓝牙模块来与蓝牙设备进行通信,这样就可以手机来控制单片机来产生调用相应的程序来产生一定频率的声音,这样来看用PIC16F877单片机来制作蓝牙电子琴是可行的。
弹奏音乐是随时的,这样就要求手机能通过蓝牙来实时控制单片机,PIC16F877的串行通信模块,在接收缓冲寄存器满时,在中断使能的情况下可以产生中断,这样就可以跳入中断子程序,从而
就能够实时控制单片机,来实时弹奏音乐。
所以蓝牙电子琴是可行的。
基于PIC16F877单片机的电子琴已经有人实现了,实验中的蓝牙电子琴的发生原理与它们基本相同。
本组蓝牙电子琴的重点不在电子琴,而是在蓝牙通信。
实现了蓝牙控制的电子琴就可以实现蓝牙控制其他功能,蓝牙控制的原理是一样的。
现在的智能手机几乎都有蓝牙功能,因此就可以用手机来控制单片机从而实现一些功能,此应用拥有很大的情景,可以应用与家庭和公司的遥控控制等等,而且成本较低。
三原理
1蓝牙控制原理
通过手机蓝牙,向和单片机相连接的蓝牙模块发送一些数据,蓝牙模块接收到数据后通过USART模块传输给单片机,单片机接收到数据后进行判断,完成相应的功能,这样就实现了蓝牙控制。
在实验时,单片机的波特率设置要和蓝牙模块的波特率一致。
2 发音原理
单片机最小系统使用4MHZ的晶振,单片机的指令周期为1us,通过使一个输出端口反复向喇叭输出一定频率的高低电平来产生所需的声音。
查阅7种音调的高中低音的频率,在通过软件实现分频。
(延时一段时间后再用1和相应的输出端口异或,反复这样就可以产生一定频率的声音。
)
3中断控制
单片机的串行接收缓冲寄存器满后,就会使中断标志由0变成1,如果相应的中断使能已经置为1,这时就产生中断,开始执行中断子程序。
如果中断使能没有事先置为1,则不产生中断,不会跳入中断子程序,但是中断标志还是为1。
当单片机从接收缓冲寄存器中取出数据后,相应的中断标志自动清为0。
四硬件
1框图。