




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机及DSP课程设计报告专业:通信工程班级:姓名:学号:指导教师:李贺时间:2015-06-222015-07-03通信与电子工程学院基于单片机的电子琴设计课设的目的及内容本设计主要是用单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成的功能:电子琴弹奏并显示所按的按键 对应音的唱名。关于声音的处理,使用单片机 C语言,利用定时器来控制频率,而 每个音符的符号只是存在自定义的表中。总之,本设计的电子琴有以下要求:(1)用键盘作出电子琴的按键,共 7个,每键代表1个音符。各音符按照
2、符 合电子琴的按键顺序排列;(2)达到电子琴的基本功能,可以用弹奏出简单的乐曲;(3)在按下按键发出音符的同时显示出音符所对应的唱名即 1 (dao)、2 (ruai )、3 (mi)、4 (fa )、5 (sao)、6 (la )、7(xi )。、问题分析、解决思路及原理图本系统采用STC89C52R为主控芯片,因其精度较高,操作比较灵活,输入电 路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。其中,输入电 路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路, 中央处理器通过识别,解码输出音符,在蜂鸣器中发出有效的声音。由于需要显示 的信息不多,显示电路未采用
3、液晶屏显示,而是使用数码管显示电路负责显示按下 的琴键所对应音符的唱名,这样既节省了成本,又降低了编程难度。图1如图1所示基于单片机STC89C52R的电子琴电路,它主要由琴键控制电路、 数码管显示电路、音频功放电路和时钟-复位电路四部分所构成。三、硬件设计(一)琴键控制电路琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的 重要组成部分。本设计采用独立式键盘的思路。独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O 口线,通过检测I/O输入线的电平状态,可判断出被按下的按键。?显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。 适用于键盘按键数
4、目较少的场合,不适用于键盘按键数目较多的场合,因为将占用 较多的I/O 口线。?独立式键盘的7个独立按键分别对应一个I/O 口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。数码管显示电路LED (Light Emitting Diode )发光二极管缩写。LED数码管是由发光二极管 构成的。常见的LED数码管为“8”字型的,共计8段。它由七个条形发光二极管 和一个小圆点发光二极管组成,每一段对应一个发光二极管。一般来说分共阳极和 共阴极两种接法,如图二所示为八段 LED数码
5、管结构及外形。图二共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示,如图二a所示。反之,共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高 电平时,发光二极管点亮,如图二 b所示。LED数码管的a至g七个发光二极管因接得电压不同而导致不同亮暗的组合就 能形成不同的字形,这种组合称之为字形码,如表一所示为八段LED数码管的字形码表。表一本设计所采用的是共阴二极管。(三)音频功放电路本设计采用蜂鸣器作为音频发生的设备,而若将蜂鸣器的正极直接与单片机 端口相连,由于单片机端口的电流值太小而无法驱动蜂鸣器发声
6、,所以本设计采用 三极管放大电流的方法来完成目的的,如图三所示,图三(四)时钟、复位电路1、时钟电路时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系 统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种 是外部时钟方式。?STC89C5内部有一个用于构成振荡器的高增益反相放大器,输入端为芯 片引脚XTAL1输出端为引脚XTAL2这两个引脚跨接石英晶体振荡器和微 调电容,构成一个稳定的自激振荡器,图四是 STC89C5初部时钟方式的电 路,C1和C2的典型值通常选择为30pF,石英晶体常选6MHz或 12MHZ勺。 本设计米用内部时钟方式做时钟电路图四2、复位电路单片机
7、的初始化操作,给复位脚 RST加上大于2个机器周期(即24个 时钟振荡周期)的高电平就使 STC89C5复位。这些操作都是由复位电路来 实现。在单片机的实用系统中,一般有两种复位操作形式:上电复位和手 动复位。上电复位在单片机系统每次通电时执行。上电时,电容C充电加给RST引脚一个短的高电平信号,此信号随着 VCC对电容C的充电过程而 逐渐回落,即RST引脚上的高电平持续时间取决于电容 C充电时间。为保 证系统可靠复位,RST引脚上的高电平必须维持足够长的时间。手动复位在 系统出现操作错误或程序运行出错时使用。在单片机系统运行过程中,按 下复位键,高电平输入RST引脚,单片机被强制执行复位操作
8、,系统可以 退出错误运行状态,恢复正常工作。四、软件设计1、硬件接口定义引脚名接口说明P0.0 P0.7数码管与单片机通信口P1.0 P1.7独立按键接口P3.3控制蜂鸣器2.发声原理若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除 以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将 P3.3反相,然后重复计时再反相。就可在 P1.0引脚上得到此频率的脉冲。利 用STC89C52勺内部定时器使其工作计数器模式(MODE)下,改变计数值TH0 及TL0以产生不同频率的方法产生不同音阶。例如,频率为523Hz其周期T= 1/523 = 1912卩s,因此只要令计
9、数器计时 956卩s/1卩s= 956,每计数956次时将I/O 反相,就可得到中音 DO(523HZ。 计数脉冲值与频率的关系式是:N= fi - 2-fr,式中,N是计数值;fi是机器 频率(晶体振荡器为12MHZ寸,其频率为1MHZ ; fr是想要产生的频率。其计 数初值 T 的求法如下:T = 65536- N= 65536- fi - 2-fr 例如:设 K= 65536, fi = 1MHz 求中音 DO( 261HZ。T= 65536- N= 65536- fi - 2-fr = 655361000000- 2-fr = 65536- 500000/fr,中音 DO的 T= 65
10、536- 500000/523 = 64580。3. 程序流程3.1主函数运用模块化的思想,流程如图所示。3.2初始化函数流程图如下图所示,该函数对所需的I/O 口、定时器0以及数码管蜂鸣器进行 初始化配置。五、源程序#in clude是#define keyport P1 #defi ne uchar un sig ned char#defi ne uint un sig ned intsbit SPK=P3A3;/蜂鸣器接口定义uchar high,low;/定时器预装值的高八位和低八位uchar code fre2= /频率值0x44,0xfc,/中音10xac,0xfc,/中音20x0
11、9,0xfd,/中音30x34,0xfd,/中音40x82,0xfd,/中音50xc2,0xfd,/中音60x06,0xfe,/中音7;uchar code table=0x06,0x5b,0x4f,0x66,0x6d, /数码管显示1,2,3,4,5,6,7所对应的P0 口电0x7d,0x07,0x7f,0x6f,0x77,;void delay( uint x);void In it(void);void main (void)Ini t();while(1)uchar num;switch(keyport)case 0xfe:delay(1);if(keyport=0xfe) /P0=t
12、able0;/延时函数/初始化函数/主函数开始/先进行初始化/扫描按键及判断键值消抖/数码管显示音的唱名num=1;break;case Oxfd:delay(1);if(keyport=Oxfd)PO=table1;num=2;break;case 0xfb:delay(1);if(keyport=0xfb)P0=table2;num=3;break;case 0xf7:delay(1);if(keyport=0xf7)P0=table3;num=4;break;case Oxef:delay(1);if(keyport=0xef)P0=table4;num=5;break;case 0xd
13、f:delay(1);if(keyport=0xdf)P0=table5;num=6;break;case 0xbf:delay(1);if(keyport=Oxbf)P0=table6;num=7;break;case 0x7f:delay(1);if(keyport=0x7f)P0=table7;num=8;break;default:num=0;break;/没按按键if(num=0)TR0=0;elsehigh=fre nu m-11;/将按键所对应的频率值装入定时器的高八位与低八位low=fre num-10;TR0=1;/定时器打开delay(500);/将其延时SPK=0;/延时
14、后关闭P0=0x00;void In it(void)/初始化函数SPK=0;P0=0x00;TMOD = 0x01;/中断函数/延时函数EA=1;ET0=1;TRO=O;void Timer0_isr(void) interrupt 1SPK=!SPK;TH0=high;TL0=low;void delay( uint x)int a,b;for(a=x;a0;a-)for(b=110;b0;b-)六、Proteus仿真Proteus软件是英国Labcenter?Electronics公司研发的EDA工具软件。它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和
15、仿真平台。是目前同类软件中最先进、最完整的电子类仿真平台之一。它真 正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系 统测试与功能验证到PCB板生成的完整的电子产品研发过程。?最新Keil?uVision4?IDE,旨在提高开发人员的生产力,实现更快,更有效的 程序开发。Keil?uVisio n4 引入了灵活的窗口管理系统,能够拖放到视图内的任何 地方,包括支持多显示器窗口。Keil?uVision4 在Keil?uVision3?IDE 的基础上,增加了更多大众化的功能:多显示器和灵活的窗口管理系统;系统浏览器窗口的显 示设备外设寄存器信息;调试还原视图创建并保存多
16、个调试窗口布局;多项目工作区简化与众多的项目仿真结果七、设计过程中遇到的问题及解决的方法电子琴在设计过程中并非一帆风顺的,前前后后遇到了各种各样的问题,说几 个关键的问题。首先是数码管的问题,焊接刚刚完成的时候,数码管完全是没有任 何的反应的,反复检查程序,没有发现问题。又检查电路是否连接正确,也没有发 现什么问题,完全是按照仿真图来连接的。直到用电压表检查端口电压时才发现问 题出在哪。原来是最新系统上的上拉电阻阻值过大导致的,找到问题解决就容易多 了,我重新找了 1k的电阻作为上拉电阻,焊接完成后,再重新运行单片机,数码 管便正常了。第二个问题是蜂鸣器发声问题,也是很多同学都遇到的问题,就是
17、蜂鸣器对频率的敏感性太差,同样的电路用扬声器就很完美,但用蜂鸣器效果就比较差。八、设计体会总体来说,此次单片机课程设计使我收获良多,虽然课程设计的过程中遇到了 很多困难与问题,但我最终还是完成了设计的任务及要求。具体来说可以分为以下 几点:第一,不够细心,不够严谨(如因为粗心大意而焊错线);第二,因对课本 理论的掌握度不够导致编程出现错误;第三,硬件方面,刚开始有的程序模块不能 实现预期的效果,对于有的硬件,在实物制作过程中焊了比较多的排线,同时对于 整体各元器件的布局都有很高的要求。不过在向同学请教,各方面都有了不同程度 的改善;第四,在做人方面,我认识到,无论做什么事情,只要你足够坚强,有足 够的毅力和决心,有足够的挑战困难的勇气,就没有什么办不到的。通过这次课设,也使我进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤,?掌握了单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版39上公司兜底协议:绿色环保项目投资风险控制合同
- 二零二五年度厂房装修工程合同纠纷解决协议书
- 二零二五年度医疗设备采购合作协议
- 二零二五年度先进KN95口罩机居间合作协议文本
- 二零二五年度智能安全监控厂房出租协议
- 二零二五版高空作业安全责任协议
- 二零二五年度智能物流车辆运输服务承包协议书
- 2025年中国金狮玉印行业市场发展前景及发展趋势与投资战略研究报告
- 自动晾衣架项目可行性研究报告
- 中国深圳市产权式酒店行业市场调查研究及投资前景预测报告
- 2024年银行外汇业务知识理论考试题库及答案(含各题型)
- 护理管道风险
- 2022年安全工程师《道路运输安全》真题及答案
- 六年级上册字词句篇全部内容
- 未婚同居协议
- GB/T 13818-2024压铸锌合金
- 兽药制剂辅料及附加剂
- 房屋油漆装修承揽合同合集
- 中风康复临床路径
- 《混凝土用化学锚栓》
- 师承指导老师学术思想工作总结
评论
0/150
提交评论