一、蜂鸣器接口 当单片机应用系统发生故障或处于某种紧急状态时,单片机系 统应能发出提醒人们警觉的声音报警。使用单片机系统的/O口很 容易实现该功能。 ·1、蜂鸣音报警接口 ·单片机应用系统通常使用电磁式蜂鸣器实现蜂鸣音报警电路。 ·电磁式蜂鸣器有两种:一种是有源蜂鸣器(内部含有音频振荡源 ),只要接上额定电压就可以连续发生;二是无源蜂鸣器,由于内 部没有音频振荡源,工作时需要接入音频方波,改变方波频率可以 得到不同音调的声音。 有源蜂鸣器和无源蜂鸣器驱动电路相同,只是驱动程序不同。单 片机应用系统利用蜂鸣器发出的不同声音提示操作者系统的状况。 。 通常单片机的输出端口不足以驱动蜂鸣器,可加一级三极管放大 电路如图(a)所示,也可以增加驱动集成电路,如74LS06,如 图(b)所示
一、蜂鸣器接口 当单片机应用系统发生故障或处于某种紧急状态时,单片机系 统应能发出提醒人们警觉的声音报警。使用单片机系统的I/O口很 容易实现该功能。 • 1、蜂鸣音报警接口 • 单片机应用系统通常使用电磁式蜂鸣器实现蜂鸣音报警电路。 • 电磁式蜂鸣器有两种:一种是有源蜂鸣器(内部含有音频振荡源 ),只要接上额定电压就可以连续发生;二是无源蜂鸣器,由于内 部没有音频振荡源,工作时需要接入音频方波,改变方波频率可以 得到不同音调的声音。 有源蜂鸣器和无源蜂鸣器驱动电路相同,只是驱动程序不同。单 片机应用系统利用蜂鸣器发出的不同声音提示操作者系统的状况。 • 通常单片机的输出端口不足以驱动蜂鸣器,可加一级三极管放大 电路如图(a)所示,也可以增加驱动集成电路,如74LS06,如 图(b)所示
VCC AT89C52 oVcc 蜂鸣器 AT89C52 蜂鸣器 4.7k2 P1.2 8550 P1.2 74LS06 (a)蜂鸣器由三极管驱动 (b)蜂鸣器由集成电路驱动 图蜂鸣音报警接口电路
P1.2 VCC AT89C52 + - 4.7kW 8550 蜂 鸣 器 P1.2 A VCC T89C52 + - 1 蜂 鸣 器 74LS06 图 蜂鸣音报警接口电路 (a)蜂鸣器由三极管驱动 (b)蜂鸣器由集成电路驱动
2.音频信号的产生方法 要产生音频脉冲,只要算出某一音频的周期(1/频率),然 后将此周期除以2,即为半周期的时间,然后利用计时器计时半 周期时间,每当计时到后就将输出脉冲的/O反相,然后重复计 时此半周期时间再对/O反相,如此就可在/O脚上得到此频率的 脉冲。 例如:要产生中音的D0,其频率为523Hz,其周期为1/523s,即 1912S,取半周期为956S,若晶振频率为12MH2,则要让定 时器计数956,在每计满956次时,就将/O口线反相。 若设置定时器工作在方式1,则 计数初值=65536-956=64580=FC44H 按此计算方法,可逐一计算出各音符(高、中、低音符) 频率与单片机定时/计数器计数初值的关系表
2.音频信号的产生方法 要产生音频脉冲,只要算出某一音频的周期(1/频率),然 后将此周期除以2,即为半周期的时间,然后利用计时器计时半 周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计 时此半周期时间再对I/O反相,如此就可在I/O脚上得到此频率的 脉冲。 例如:要产生中音的DO,其频率为523HZ,其周期为1/523s,即 1912 ,取半周期为956 ,若晶振频率为12MHZ,则要让定 时器计数956,在每计满956次时,就将I/O口线反相。 s s 若设置定时器工作在方式1,则 计数初值=65536-956=64580=FC44H 按此计算方法,可逐一计算出各音符(高、中、低音符) 频率与单片机定时/计数器计数初值的关系表
3.节拍的产生方法 通过控制定时器定时时间的不同可以产生不同频率的方波, 用于驱动喇叭发出不同的音符,再利用软件延时来控制发音时 间的长短,即可控制节拍。 这里假设1拍是0.8s,设计一个200ms的延时子程序,则1拍 需循环调用延时子程序4次,同理,半拍就需用2次,1/4拍就需 用1次。 4.乐曲库的建立 由于歌曲的音符和节拍都是随乐谱变化的,因此必须将 这些歌曲中的音符和相应的节拍变换成定时器计数初值和节 拍对应的延时常数,作为数据表格存放在存储器中。由程序 查表得到定时器计数初值和调用延时子程序的次数,分别用 以控制定时器产生方波的频率和发出该频率方波的持续时间。 当延时时间到时,再查下一个音符的定时常数和延时常数。 依次进行下去。 5.程序设计
3.节拍的产生方法 通过控制定时器定时时间的不同可以产生不同频率的方波, 用于驱动喇叭发出不同的音符,再利用软件延时来控制发音时 间的长短,即可控制节拍。 这里假设1拍是0.8s,设计一个200ms的延时子程序,则1拍 需循环调用延时子程序4次,同理,半拍就需用2次,1/4拍就需 用1次。 4.乐曲库的建立 由于歌曲的音符和节拍都是随乐谱变化的,因此必须将 这些歌曲中的音符和相应的节拍变换成定时器计数初值和节 拍对应的延时常数,作为数据表格存放在存储器中。由程序 查表得到定时器计数初值和调用延时子程序的次数,分别用 以控制定时器产生方波的频率和发出该频率方波的持续时间。 当延时时间到时,再查下一个音符的定时常数和延时常数。 依次进行下去。 5.程序设计
二、音频驱动实验 (一)实验报告包括: 1、实验名称:音频驱动实验 2、实验目的:学习单片机的定时/计数器输出信号使 蜂鸣器发声的方法。 3、实验设备:PC计算机一台,Dais-52PRO+实验系 统一套。 4、实验内容:连接实验电路,编写程序,控制P1.7端 口,使其输出连接到蜂鸣器上能发出相应的乐曲。 5、实验电路; 6、实验现象:连接实验电路,全速运行程序,蜂鸣 器开始演奏音乐。 7、思考题:谈谈音频信号的产生方法,节拍的产生 方法,乐曲库的建立
二、音频驱动实验 (一)实验报告包括: 1、实验名称:音频驱动实验 2、实验目的:学习单片机的定时/计数器输出信号使 蜂鸣器发声的方法。 3、实验设备:PC计算机一台,Dais-52PRO+实验系 统一套。 4、实验内容:连接实验电路,编写程序,控制P1.7端 口,使其输出连接到蜂鸣器上能发出相应的乐曲。 5、实验电路; 6、实验现象:连接实验电路,全速运行程序,蜂鸣 器开始演奏音乐。 7、思考题:谈谈音频信号的产生方法,节拍的产生 方法,乐曲库的建立