单片机课程设计报告蜂鸣器

  • 格式:doc
  • 大小:801.00 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南师范大学

新联学院

单片机课程设计报告

课程单片机原理及接口技术设计题目蜂鸣器演奏歌曲

年级专业 2011级计算机科学与技术学号 11 047000000

学生姓名李

指导教师莹

2014年 6 月 15 日

蜂鸣器演奏歌曲实验报告

一、要求

完成驱动蜂鸣器歌曲演奏的实验

二、目的

1、学习KEIL软件的使用方法;

2、掌握BST-V51单片机学习板设计蜂鸣器音乐的发生;

3、掌握设计中各模块的功能,能够填入并演奏曲子;

4、学习乐谱的基本知识,掌握其演奏的原理。

三、分析

1、基本原理简述

声音是通过振动产生的。单片机对某一引脚以一定的频率循环置1置0,该引脚便产生一定频率的方波,方波通过放大,作用于一定的物理实件(蜂鸣器),就产生了一定频率的声音。若改变输出方波的频率,产生的声音随之改变。通过控制输出方波的时间长短,声音的长短也可以得到控制,因此,根据乐谱,以类似的音及同样的节拍,单片机就可以产生电子音乐。音乐的播放选择可以通过按键的输入得以实现。

为简便起见,以一定的频率方波产生的音在其每个周期内高低幅值得时间各占一半。因此,输出引脚在每个方波周期内要动作两次:一次升高,一次降低。即输出引脚的频率是原音频率的两倍。

2、单片机产生不同频率脉冲信号的原理

(1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后

将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:

例如,频率为523Hz,其周期天/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。

计数脉冲值与频率的关系公式如下:

N=Fi/2/Fr

(N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率)

(3)其计数值的求法如下:

T=65536-N=65536-Fi/2/Fr

计算举例:

设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO (523Hz)、高音DO(1046Hz)的计数值。

T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音DO的T=65536-500000/262=63627

中音DO的T=65536-500000/523=64580

高音DO的T=65536-500000/1047=65059

(4)C调个音符频率与计数值T的对照表如下表所示:

C调各音符频率与计数值T的对照如下:

每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍

为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。

节拍与节拍码对照如下:

1/4节拍与1/8节拍的时间设定如下:

(5)建立音乐的步骤:

1)先把吧乐谱的音符找出,然后由上表建立T值表的顺序。

2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。 3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。

四、设计

1、硬件设计

1.1总体设计框图

1.2硬件设计及原理

1.2.1 BST-V51单片机学习板简介:

实验板资源配置如下:

BST-V51单片机学习板包括STC89C52单片机,其支持USB口或者是串口两种下载程序方式不用另买烧写器编程器等产品可以方便的烧写程序到单片机里。USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直电源。以及包括8位LED发光二极管(做跑马灯实验交通灯实验)、8位数码管、4*4矩阵键盘、蜂鸣器(做单片机发声实验播放音乐实验报警实验等声响实验)、DS18B20温度传感器、AT24C08外部EEPROM存储芯片、SPI串行实时时钟DS1302、MAX232芯片RS232通讯接口、字符液晶1602LCD接口、图形点阵液晶12864接口和ISP下载接口。BST-V51单片机学习板如下图:

1.2.2 AT89C52 简介

AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控

制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。其主要工作特性是:

片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;

片内数据存储器内含256字节的RAM;

具有32根可编程I/O口线;

具有3个可编程定时器;

中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;

串行口是具有一个全双工的可编程串行通信口;

具有一个数据指针DPTR;

低功耗工作模式有空闲模式和掉电模式;

具有可编程的3级程序锁定位;

AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;

AT89C52最高工作频率为24MHz,在这里我们用的是11.0592MHz。AT89C52图如下: