ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:180.63KB ,
资源ID:7742227      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7742227.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机的简易电子琴设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机的简易电子琴设计.docx

1、51单片机的简易电子琴设计课 程 设 计课程设计名称: 单片机课程设计 专 业 年 级:电子信息科学与技术 学 生 姓 名: 学 号: 指 导 教 师: 课程设计时间:2013.9.30-2013.10.7 10级电科 专业课程设计任务书学生姓名专业班级电科学号题 目51单片机的简易电子琴设计课题性质工程设计课题来源自拟指导教师同组姓名主要内容设计一个51单片机系统,实现简易电子琴操作的电路。要求:1 设计51单片机最小系统;2. 设置至少8个按键,能发出do re mi fa sol la SI DO; 能播放示范曲;3. 能够调节低音、高音和中音。任务要求1 根据功能要求选择设计方案,并进

2、行论证。2 画出电路的总体方框图和电路原理图。3 说明系统工作原理,对系统进行调试。4 写出课程设计报告。参考文献1 单片机技术有关教材2 电路设计手册3 其他资料审查意见指导教师签字: 教研室主任签字: 年 月 日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1任务及要求1.1 设计任务 1设计一个2X4的8个按键矩阵,并且每个键对应一个音。2. 设计一个3个按键来控制低,中,高三种频段的声音。3. 设计完整的原理图电路,包括时钟电路、复位电路以及键盘接口电路等。4用AT89C51将键盘连接设计成为电子琴。5编写电子琴的程序,要达到可以随意弹奏想要表达的

3、音乐的目的。6程序的分析与调试。1.2 设计要求1用C语言编程实现程序设计。2利用查表,定时中断等方式实现目的。3系统的各各功能模块要清楚,有序。2设计思想2.1 硬件设计思想电子琴的原理框图如图一所示。它由以下几个部件组成:单片机AT89C51、2*4的8个按钮矩阵、3个频段控制开关,时钟电路,复位电路,音频放大模块。2.2 软件设计思想本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定时设置程序三大模块。定时器初始化函数:void Init_timer0() TMOD=0x01; /使用定时器0的16位工作模式 TR0 = 0; ET0 = 1; EA = 1; P2=0XF

4、F; P3=0XFF; 定时器溢出中断函数:void timer0() interrupt 1 TL0=tl0_f; TH0=th0_f; /调入预定时值 BEEP=BEEP; /取反音乐输出IO3电路原理与电路图3.1 电路原理主要分为二个部分:4放大电路分析 此部分的放大电路简单容易实现。可以采用一个小功率PNP型硅管9012,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择1K和5.5K。蜂鸣器一端接+5V电压,一端接晶体管的发射极。由P1.0输出预定的方波,加到晶体管进行放大,再输出到嗡宁器,很好的实现了频率、声音的转换。 放大电路输出原理图5时钟电路分

5、析 此系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。MCS-51内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容CX1和CX2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12 MHz,电容应尽可能的选择陶瓷电容,电容值约为30pF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,

6、以减少寄生电容,更好地保证震荡器稳定和可靠地工作。下图为复位电路的原理图。 复位电路原理图MSC-51片内振荡电路时钟电路原理图 6复位电路的论证和分析:MS-51的复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图所示。当时钟频率选用12MHz时,C取1F,R1约为10K。(1)2X4行列式键盘识别;(2)音乐产生的方法;一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率

7、,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,列出高中低音符与单片机计数T0相关的计数值如表3.1所示.下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音015之间,中音在1631之间,高音在3247之间uchar code freq=0xf8,0x8c,0xf9,0x5b,0xfa,0x15,0xfa,0x67, 0xfb,0x04,0xfb,0x90,0x

8、fc,0x0c,0xfc,0x44, 0xfc,0x44,0xfc,0xac,0xfd,0x09,0xfd,0x34, 0xfd,0x82,0xfd,0xc8,0xfe,0x06,0xfe,0x22, 0xfe,0x22,0xfe,0x56,0xfe,0x85,0xfe,0x9a, 0xfe,0xc1,0xfe,0xe4,0xff,0x03,0xf8,0x8c;表3.1 高中低音符与单片机计数T0相关的计数值表音符频率(HZ)简谱码(T值) 音符频率(HZ)简谱码(T值)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE2946

9、3835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400 # 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#14806

10、5198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI1967652833.2 电路原理图 4流程图与算法描述4.1 流程图 图4.1 系统主程序流程图 图4.24.3程序清单#include#includeintrins.h#define uchar unsigned char#define uint unsigned intsbit BEEP=P10;sbit b1=P

11、35;sbit b2=P36;sbit b3=P37;sbit p20=P20;sbit p21=P21;uchar key;uchar code freq=0xf8,0x8c,0xf9,0x5b,0xfa,0x15,0xfa,0x67, 0xfb,0x04,0xfb,0x90,0xfc,0x0c,0xfc,0x44, 0xfc,0x44,0xfc,0xac,0xfd,0x09,0xfd,0x34, 0xfd,0x82,0xfd,0xc8,0xfe,0x06,0xfe,0x22, 0xfe,0x22,0xfe,0x56,0xfe,0x85,0xfe,0x9a, 0xfe,0xc1,0xfe,0

12、xe4,0xff,0x03,0xf8,0x8c;uchar th0_f,tl0_f;void timer0() interrupt 1 TL0=tl0_f; TH0=th0_f; /调入预定时值 BEEP=BEEP; /取反音乐输出IOvoid keyscan() uchar i,j; key=0; i=0xef; for(j=0;j4;j+) P2=i; if(p20=0) break; key+; if(p21=0) break; key+; i=_crol_(i,1); void speak() uint i; keyscan(); if(b1=0&key!=8) th0_f=freq2

13、*key; tl0_f=freq2*key+1; TL0=tl0_f; TH0=th0_f; TR0=1; for(i=0;i10000;i+); if(b2=0&key!=8) th0_f=freq2*key+16; tl0_f=freq2*key+17; TL0=tl0_f; TH0=th0_f; TR0=1; for(i=0;i10000;i+); if(b3=0&key!=8) th0_f=freq2*key+32; tl0_f=freq2*key+33; TL0=tl0_f; TH0=th0_f; TR0=1; for(i=0;i10000;i+); TR0=0;void Init_

14、timer0() TMOD=0x01; /使用定时器0的16位工作模式 TR0 = 0; ET0 = 1; EA = 1; P2=0XFF; P3=0XFF; void main() Init_timer0(); while(1) speak(); 4.4仿真图图4.34.5 结果分析本设计主要是通过对电子琴主体部分的电路进行设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。最后,下载到实验板上测试发出不同音调5总结通过这次设计,我感觉收获了很多,我加深了对单片机系列知识及其系统的认识。这个设计题目并不怎么新颖,但从中体现到了个系统开发设计的过程,足以让我们受益匪浅。在这次的设计中,让我更进一步的提高了动手能力,也重新复习了一次单片机的程序编程能力,在这期间,让我更加深刻了体会到了汇编程序的思路,加强了对编程能力的理解和对相应资料的查阅。另外,我们还要在下面多动手实践,来提高自己的实战能力,已达到学以致用。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1