搜档网
当前位置:搜档网 › 基于Proteus和Keil的单片机演奏乐曲的仿真

基于Proteus和Keil的单片机演奏乐曲的仿真

- 103 -

收稿日期:2014-02-09 稿件编号:201402018

基金项目:教育部“本科教学工程”地方高校专业综合改革试点项目(ZG0550);昌吉学院科研基金资助项目(2011SSQD019)作者简介: 王 超(1979—),男,新疆昌吉人,硕士,讲师。研究方向:自动化技术、计算机仿真等。

在用单片机实现乐曲演奏的课程实践教学中,多是通过开发板与仿真器或者实验箱来完成,这种调试过程由于硬件设备固定,难以有更多的扩展和创新,借助Proteus 和Keil 软件可极大的克服上述不足。通过搭建虚拟仿真平台,使用虚拟测试仪器,根据需要可随时更换原器件和修改程序,完成乐曲播放的功能。

Proteus 是世界上著名的EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC、AVR、ARM、8086和MSP430等,近两年,又增加了Cortex 和DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil 和MPLAB 等多种编译器

[1-2]

Keil 是美国Keil Software 公司出品的51系列兼容单片机C 语言软件开发系统,是优秀的第三方软件,它提供了丰富的库函数和功能强大的开发调试工具,是众多单片机应用开发软件中最优秀的软件之一[3-4]。

基于Proteus 和Keil 的单片机演奏乐曲的仿真

王 超,符晓玲

(昌吉学院 物理系,新疆 昌吉 831100 )

电子设计工程

第 14 期第22卷Vol.22No.14Electronic Design Engineering

Jul. 2014

2014年7月摘要:针对乐曲演奏在单片机实践教学中实现的不足,介绍了基于Proteus 和Keil 联调的单片机演奏乐曲的设计方法,通过对乐谱的音符和节拍进行编码,实现了乐曲演奏的功能。仿真结果表明:该方法电路简单、调试方便,只需简单的修改程序就可实现其它歌曲的演奏。关键词:Proteus;Keil;单片机;乐曲

中图分类号:TN710.9 文献标识码:A 文章编号:1674-6236(2014)14-0103-04

Simulation of MCU’s music playing based on Proteus and Keil

WANG Chao,FU Xiao-ling

(Department of Physics,Changji University,Changji 831100,China )

Abstract: According to shortage of the music playing in MCU practical teaching, the design method of MCU’s music playing based on the joint of Proteus and Keil is introduced, and it can achieve music playing function by the coding of notes and beats of music. The result of simulation shows that the method of design is simple, easily debugging and has achieved other song’s playing for simple modification program.Key words:Proteus;Keil ;MCU ; music

1 Proteus 仿真软件及Keil 软件简介

2 仿真举例

Proteus 仿真软件由3种调试方法,分别是:扩展名为HEX 文件、源代码级调试和KeilC 与Proteus 联合调试3种。

在联合调试方式中,Keil 中执行程序,在Proteus 原理图中显示变化情况,两种软件分工合作、各负其责,可充分发挥各自的优势。

以单片机控制音乐“南泥湾”为例,详细介绍歌曲演奏原理和仿真调试过程。

2.1 单片机实现歌曲演奏的原理

单片机演奏音乐基本都是单音频率,不包含相应幅度的谐波频率,也就是说不能像电子琴那样能演奏出各种音色的声音,音调和节拍是单片机奏乐的两个重要概念,音调表示了一个音符唱多高的频率,节拍表示一个音符唱多长的时间。只需要用程序控制单片机的某个I /O 口,按照一定频率输出对应的矩形波形,就可实现歌曲的演奏[5]。2.1.1 T 值计算方法

利用T =65 536-F i ÷2÷F r 就可以计算出给定频率下的定时器计数初值,其中,F i 为单片机晶振频率,一般取12 MHz,F r 为要产生的频率。对51单片机来说,可以使用其

相关主题