内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)音频驱动实验

一、蜂鸣器接口 当单片机应用系统发生故障或处于某种紧急状态时,单片机系 统应能发出提醒人们警觉的声音报警。使用单片机系统的/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、思考题:谈谈音频信号的产生方法,节拍的产生 方法,乐曲库的建立

(二)实验程序 /*音频驱动—演奏《青花瓷》 实验连线:单片机P1.7连接音频驱动单元AFIN*/ #include sbit BEEP=P17; unsigned char m,n; code unsigned char T[49][2]= {0,0}, {0xF8,0x8B,{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14,{0xFA,0x66, {0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B}, {0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33}, {0xFD,0x5B),{0xFD,0x81},{0xFD,0xA5,{0xFD,0xC7},{0xFD,0xE7,{0xFE,0x05}, {0xFE,0x21,{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99, {0xFE,0xAD},{0xFE,0xCO},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02}, {0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36,{0xFF,0x42,{0xFF,0x4C}, {0xFF,0x56,{0xFF,0x60,{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81} };
(二)实验程序 /* 音频驱动——演奏《青花瓷》 实验连线:单片机P1.7连接音频驱动单元AFIN*/ #include sbit BEEP = P1^7; unsigned char m,n; code unsigned char T[49][2] = { {0,0}, {0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66}, {0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B}, {0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33}, {0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05}, {0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99}, {0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02}, {0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C}, {0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81} };

code unsigned char music[2] {0,4},{0,4},{24,4},{24,4},{21,4},{19,4},{21,4,{14,8},{19,4},{21,4},{24,4, {21,4,{19,16},{0,4},{24,4},{24,4,{21,4,{19,4},{21,4},{12,8,{19,4,{21,4}, {24,4},{19,4},{17,16},{0,4,{17,4},{19,4},{21,4},{24,4,{26,4},{24,4,{22,4, {24,4},{21,4},{21,4},{19,4,{19,16},{0,4},{17,4},{19,4},{17,4},{17,4,{19,4}, {17,4,{19,4},{19,4,{21,8},{24,4,{21,4},{21,12,{0,4,{24,4},{24,4},{21,4, {19,4,{21,4},{14,8},{19,4},{21,4},{24,4},{21,4},{19,16,{0,4},{24,4,{24,4, {21,4},{19,4},{21,4},{12,83,{19,4,{21,4},{24,4},{19,4,{17,16},{0,4,{17,4, {19,4},{21,4},{24,4,{26,4},{24,4},{22,4,{24,4},{21,4},{21,4},{19,4,{19,12, {12,4,{21,8},{19,4},{19,8},{17,16},{0xff,0xff ; void delay(unsigned char p) { unsigned char i,j; for(;p>0;p-) for(i=81;i>0;i-) forj=81;j>0;j-);
code unsigned char music[][2] = { {0,4},{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{14,8},{19,4},{21,4},{24,4}, {21,4},{19,16},{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{12,8},{19,4},{21,4}, {24,4},{19,4},{17,16},{0,4},{17,4},{19,4},{21,4},{24,4},{26,4},{24,4},{22,4}, {24,4},{21,4},{21,4},{19,4},{19,16},{0,4},{17,4},{19,4},{17,4},{17,4},{19,4}, {17,4},{19,4},{19,4},{21,8},{24,4},{21,4},{21,12},{0,4},{24,4},{24,4},{21,4}, {19,4},{21,4},{14,8},{19,4},{21,4},{24,4},{21,4},{19,16},{0,4},{24,4},{24,4}, {21,4},{19,4},{21,4},{12,8},{19,4},{21,4},{24,4},{19,4},{17,16},{0,4},{17,4}, {19,4},{21,4},{24,4},{26,4},{24,4},{22,4},{24,4},{21,4},{21,4},{19,4},{19,12}, {12,4},{21,8},{19,4},{19,8},{17,16},{0xff,0xff} }; void delay(unsigned char p) { unsigned char i,j; for(; p>0; p-) for(i=81;i>0;i-) for(j=81;j>0;j-); }

void pause() { { else if(m== unsigned char i,j; m=music[i]0]; music[i+1][0]) for(i=50;i>0;i-) n music[i][1]; { for(j=50;j>0;j-); if(m=0x00) TR0=1; delay(n); TR0=0; TR0=0; void To int()interrupt 1 delay(n); pause(; { 计+; i计+; BEEP=!BEEP; } } THO-T[m][O]; else if(m ==0xFF) else TL0=T[m][1]; { TR0=0; TRO =1; lay(30) void mainO) i=0: { unsigned char i=0; } TMOD=0x01; } EA=1; ET0=1; while(1)
void pause() { unsigned char i,j; for(i=50; i>0; i-) for(j=50;j>0;j-); } void T0_int() interrupt 1 { BEEP =! BEEP; TH0=T[m][0]; TL0=T[m][1]; } void main() { unsigned char i = 0; TMOD = 0x01; EA = 1; ET0 = 1; while(1) { m = music[i][0]; n = music[i][1]; if(m == 0x00) { TR0 = 0; delay(n); i++; } else if(m == 0xFF) { TR0 = 0; delay(30); i = 0; } else if(m == music[i+1][0]) { TR0 = 1; delay(n); TR0 = 0; pause(); i++; } else { TR0 = 1; delay(n); i++; } } }

结束
结 束
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)数字温度传感器实验.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)LCD1602显示实验.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)外部中断计数实验.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)P1口流水灯实验(风标电子).pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第十章 单片机应用系统设计方法与综合案例.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第九章 80C51的串行总线扩展及应用.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第八章 常用外围设备接口电路.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第七章 80C51单片机的串行数据通信.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第六章 80C51单片机的定时和计数器.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第五章 80C51单片机的中断系统.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第四章 单片机C语言程序设计基础.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第三章 编译与仿真软件操作基础.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第二章 80C51单片机的硬件结构及原理.pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)第一章 单片机概述(授课教师:曲辉).pdf
- 内蒙古农业大学:《单片机原理及应用》课程教学大纲 The principle and application of single chip microcomputer A.pdf
- 西安邮电学院:《数字电路与逻辑设计》课程教学资源(试卷习题)2008数电A卷(试题).doc
- 西安邮电学院:《数字电路与逻辑设计》课程教学资源(试卷习题)2009数电C卷(答案).doc
- 西安邮电学院:《数字电路与逻辑设计》课程教学资源(试卷习题)2009数电C卷(试题).doc
- 西安邮电学院:《数字电路与逻辑设计》课程教学资源(试卷习题)2009数电B卷(答案).doc
- 西安邮电学院:《数字电路与逻辑设计》课程教学资源(试卷习题)2009数电A卷(试题).doc
- 内蒙古农业大学:《单片机原理及应用》课程教学课件(讲稿)LED点阵显示实验.pdf
- 西安邮电大学:《光纤传输技术》课程教学大纲 Optical Fiber Transmission Technology.pdf
- 西安邮电大学:《光纤传输技术》课程授课教案(共六部分).pdf
- 西安邮电大学:《光纤传输技术》课程教学实验指导书(共二十七个实验).pdf
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)第二章 光源与光探测器.ppt
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)绪论 Fiber-Optic Communication Technology.ppt
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)第三章 无源器件技术.ppt
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)第一章 光纤技术.ppt
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)第六章 光纤信息传输系统.ppt
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)第五章 光纤传输线路技术.ppt
- 西安邮电大学:《光纤传输技术》课程教学课件(PPT讲稿)第四章 有源器件技术.ppt
- 石河子大学:《电力电子技术》课程教学资源(授课教案,任课教师:龚立娇).doc
- 《电力电子技术》课程实验指导(参考资料)mosfet.pdf
- 《电力电子技术》课程实验指导(参考资料)IGBT-INTRO.pdf
- 《电力电子技术》课程实验指导(参考资料)5SGA 30j2501.pdf
- 《电力电子技术》课程实验指导(参考资料)IGBT.pdf
- 《电力电子技术》课程实验指导(参考资料)Classification.pdf
- 《电力电子技术》课程实验指导(参考资料)scr.pdf
- 《电力电子技术》课程实验指导(参考资料)MOS管——8N60.pdf
- 石河子大学:《电力电子技术》课程教学实验指导书(2014版).doc