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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课程设计报告.docx

1、单片机课程设计报告武夷学院单片机原理与应用课程设计报告基于AT89S52的简易电子琴院 系 :机电工程学院专业(班级):xx电子信息工程(x)姓 名:xxx学 号:xxxxxxxxxxx指导教师:xxxx职 称:讲师完成日期: 2013 年 12月 20 日目 录1 设计任务 - 1 -2 系统设计方案 - 1 -2.1 设计目的 - 1 -2. 2设计要求 - 1 -3 系统硬件设计 - 1 -3.1 基本原理 - 1 -3.2 芯片及原理图介绍 - 3 -3.2.1 AT89C52简介 - 3 -3.2.2 电子琴设计的原理图 - 3 -3.3 各个模块介绍 - 3 -3.3.1 系统硬件

2、设计 - 4 -3.3.2 子系统模块一 - 4 -3.3.3 子系统模块二 - 5 -3.3.4 子系统模块三 - 5 -3.3.5 AT89C52晶振模块 - 6 -4 系统软件设计 - 6 -4. 1 软件设计总流程图流程 - 7 -4. 2 软件程序 - 8 -5 系统的硬件调试及软件调试 - 8 -5.1 软件调试 - 8 -5、2 硬件调试 - 9 -6 课程设计心得体会 - 10 -参 考 文 献 - 11 -附录1 源程序 - 12 -附录2 仪器清单 - 16 -附录3 系统原理图 - 17 -简易电子琴1 设计任务实现电子琴发声控制系统;要求电路实现如下功能:利用蜂鸣器作为

3、发声部件,两个数码管作为显示部件,设置16个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。用PROTEUS实现的电子琴仿真设计。说明:单片机的工作时钟频率为11.0592MHz。2 系统设计方案2.1 设计目的本次设计提出了用AT89C52单片机为核心控制元件,设计一个简易的电子琴. 本方案以AT89C52单片机作为主控核心,与键盘、蜂鸣器等模块组成核心主控制模块在主控模块上设有4*4个按键和蜂鸣器。根据使用者的操作随意弹奏想要表达的音乐。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来

4、产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号。2. 2设计要求1、4*4键盘组成16个按钮,可以随意弹奏想要表达的音乐。2、通过数码管显示按的是哪个键,发出哪个音高。3 系统硬件设计 3.1 基本原理 要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P3.3反相,然后重复计时再反相。就可在P3.3引脚上得到此频率的脉冲。利用AT89C52的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T

5、1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是:Nfi2fr,式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T65536N65536fi2fr例如:设K65536,fi1MHz,求中音DO(261Hz)。T65536N65536fi2fr6553610000002fr65536500000/fr,中音DO的T65536500000/52364580。 单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示:

6、音符频率(HZ)简谱码(T值) 音符频率(HZ)简谱码(T值)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 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

7、 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率

8、的关系。3.2 芯片及原理图介绍3.2.1 AT89C52简介 AT89C52(图1-1)为8位低功耗单片机,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和GND(20 脚)为供电端口,分别接+5V电源的正

9、负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)定义为双向8位三态I/O接口,它既可以作为通用I/O接口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口;P1端口(18脚)定义为准双向I/O接口,内部具有上拉电阻;P2端口(2128脚)定义为8位准双向I/O接口,内部具有上拉电阻,可直接连接外部I/O设备,同时与地址高8位复用;P3端口(1017)定义为8位准双向I/O接口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL负载。 图1-1 AT89C52 3.2.2 电子琴设计的原理图(见附录) 3.3 各个模块介绍本系

10、统采用单片机AT89C52为电子琴的控制核心,系统主要包括按键弹奏模块,数码管显示模块。下面对各模块的设计逐一进行论证比较。3.3.1 系统硬件设计 停止键 开始键 播放键 图2-1 总体硬件组成框图实验中每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置,通过程序来控制,使喇叭发出不同频率(音调)的声音,声音延迟一段时间,等到按键放开之后,声音停止。然后再继续扫描,看是否有键按下。如此循环,即可实现基本的琴键功能。3.3.2 子系统模块一琴键模块如图2-2所示,利用AT89C52单片机的P1端口及P2端口与键盘(图2-2 a)、数码管(图2-2 b)的连接。 图2-2(a) 单片机

11、与键盘的连接 图2-2 (b)单片机与数码管的连接3.3.3 子系统模块二播放模块是蜂鸣器构成。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 图2-3 发声模块电路图 3.3.4 子系统模块三电子琴设有16个按键,分别代表16个音符,包括中音段的全部音符。通过软硬件设计,按键触发外部中断,中断使

12、程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现各种琴键的声音。矩阵键盘模块图如下: 图2-4 矩阵键盘模块3.3.5 AT89C52晶振模块 XTAL1脚为片内振荡电路的输入端,XTAL2脚为片内振荡电路的输入端。8952的时钟有两种方式:一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(频率为1.212MHZ)和振荡电容,振荡电容值一般取1030pf,典型值为30pf;另一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。下面为方式一电路图。 图2-6 晶振模块4 系统软件设计软件是该电子琴控制系统

13、的重要组成部分,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。KEIL C51 Vision2集成开发环境是KEIL Software,Inc/KEIL electronik GmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。4. 1 软件设计总流程图流程4. 2 软件程序本系统的上位机软件主要是编辑电子琴播放状态的内容,

14、在设计中采用C语言编写了电子琴控制系统控制和播放内容的程序。见附录一。5 系统的硬件调试及软件调试5.1 软件调试。利用protuse与keil联调,对电路原理图进行仿真。当按下K0按键的时候,数码管显示如下,同时,蜂鸣器发出音乐的(音高)。 当按下K6按键的时候,数码管显示如下,同时,蜂鸣器发出音乐(音高。)5、2 硬件调试。将焊接好的硬件接到电源上,进行调试。按下K0键时,数码管显示为0,并且蜂鸣器有发出相对应的音高。按下K6键时,数码管显示为9,并且蜂鸣器有发出相对应的音高。按下K15键时,数码管显示为F,并且蜂鸣器有发出相对应的音高。综合以上几次操作,发现硬件调试成功,硬件的功能与仿真

15、的功能一样。6 课程设计心得体会通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 在这周的单片机课程设计中,我合理的安排的时间。提前确定自己要做的课程,以及提前去查找资料,去购买元器件。在这次的课程设计中,我学到了很多只是,这些知识在课堂上很难学到。这次课程让我受益颇多,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理

16、论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。课程设计中,我加强了自己的动手能力,以及更好的将理论的只是运用到实践当中去。在这次课程设计中又让我体会到了合作与团结的力量,这实验中,我也遇到了很多难题,当遇到不会或是设计不出来的地方,我们就会去询问同学和老师,老师都会很认真的给予我们帮助。同学之间还互相交流,互帮互助,遇到问题能够相互探讨,体现了团结的力量。参 考 文 献1 杨凌霄. 微型计算机原理与应用,中国矿业大学出版社.2008年8月第一版2 康华光. 电子技术基础(数字部分),高等教育出版社.第五版3 邓红. 单片机实验与应用设计教程 出版日期:2004年05月第1版4 余

17、发山、王福忠. 单片机原理及应用技术. 中国矿业大学出版社.2008年6月第1 版附录1 源程序#include#define uchar unsigned char#define uint unsigned intuchar code DSY_Table=0x7e,0x18,0x6d,0x3d,0x1b,0x37,0x77,0x1c,0x7f,0x3f,0x5f,0x73,0x66,0x79,0x67,0x47;uint code Tone_Delay_Table=64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,6496

18、8,65030,65058,65110,65157,65178;sbit BEEP=P30;uchar KeyNo;void DelayMS(uchar x) uchar i; while(x-) for(i=0;i4)0x0F; switch(Tmp) case 1:k+=0;break; case 2:k+=4;break; case 4:k+=8;break; case 8:k+=12;break; default:return; KeyNo=k;void play_Tone() interrupt 1 TH0=Tone_Delay_TableKeyNo/256; TL0=Tone_Delay_TableKeyNo%256; BEEP=BEEP;void main() P2=0xBF; TMOD=0x01; IE=0x82; while(1) P1=0xF0;/初始值 if(P1!=0xF0)/有按键按下 Keys_Scan();/调用按键发音子程序 P2=DSY_TableKeyNo;/显示按键的键位 TR0=1;/开中断 else TR0=0;/关中断 DelayMS(2); 附录2 仪器清单仪器名称个数4*4矩阵键盘1电阻若干STC89C521蜂鸣器1三极管(NPN)1晶振11.0592MHZ1数码管1电容2附录3 系统原理图

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

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