单片机课程设计报告蜂鸣器DOC 下载本文

内容发布更新时间 : 2024/12/25 15:47:22星期一 下面是文章的全部内容请认真阅读。

河南师范大学 新联学院

单片机课程设计报告

课 程 单片机原理及接口技术 设计题目 蜂鸣器演奏歌曲 年级专业 2011级计算机科学与技术 学 号 11 047000000 学生姓名 李 指导教师 莹

2014年 6 月 15 日

蜂鸣器演奏歌曲实验报告

一、要求

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

二、目的

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

2、掌握BST-V51单片机学习板设计蜂鸣器音乐的发生; 3、掌握设计中各模块的功能,能够填入并演奏曲子; 4、学习乐谱的基本知识,掌握其演奏的原理。

三、分析

1、基本原理简述

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

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

(1)要产生音频脉冲,只要算出某一音频的脉冲(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的对照表如下表所示:

2