(微机)综合实验一__电子发声
- 格式:pdf
- 大小:30.93 KB
- 文档页数:3
一、实验目的1. 理解电子发声的基本原理。
2. 掌握电子振荡电路的搭建方法。
3. 学习电子发声装置的调试技巧。
4. 分析不同电子元件对发声效果的影响。
二、实验原理电子发声实验主要基于振荡电路的工作原理。
当电路中的电子元件(如电容、电感、电阻等)满足一定的条件时,电路中会产生周期性的电流和电压变化,从而产生声波。
本实验中,我们将搭建一个LC振荡电路,通过调节电感和电容的值来改变振荡频率,进而控制发声频率。
三、实验器材1. 信号发生器2. 振荡电路板3. 电容4. 电感5. 电阻6. 晶体管7. 扬声器8. 万用表9. 钳子10. 焊锡丝11. 焊台12. 实验桌四、实验步骤1. 搭建LC振荡电路:- 将电感L和电容C按照电路图连接在振荡电路板上。
- 搭建完成后,使用万用表检测电路的通断情况。
2. 调试电路:- 调节电感L和电容C的值,观察扬声器是否发声。
- 当扬声器发声时,记录此时的电容C和电感L的值。
3. 分析不同元件对发声效果的影响:- 更换不同容值的电容C,观察扬声器发声频率的变化。
- 更换不同电感的电感L,观察扬声器发声频率的变化。
- 分析不同电阻对电路稳定性和发声效果的影响。
4. 实验数据记录:- 记录不同电容C和电感L值下的扬声器发声频率。
- 记录不同电阻值下的电路稳定性和发声效果。
五、实验结果与分析1. 实验结果:- 当电容C为100nF,电感L为1μH时,扬声器发声频率约为1kHz。
- 当电容C为220nF,电感L为1μH时,扬声器发声频率约为500Hz。
- 当电容C为100nF,电感L为10μH时,扬声器发声频率约为100Hz。
2. 分析:- 根据振荡电路的公式,振荡频率f与电容C和电感L的值有关,即f=1/(2π√(LC))。
- 通过改变电容C和电感L的值,可以调节扬声器发声频率。
- 电阻值对电路稳定性和发声效果有一定影响,电阻值过小可能导致电路不稳定,电阻值过大可能导致发声效果变差。
一、实验目的通过本次实验,了解声音的产生原理,掌握制造声音的方法,加深对声音传播、反射、吸收等特性的理解。
二、实验器材1. 收音机2. 扬声器3. 音频线4. 音箱5. 音源(如手机、电脑等)6. 线圈7. 电磁铁8. 磁铁9. 纱布10. 玻璃杯11. 水盆12. 金属棒13. 铃铛14. 耳塞15. 测量尺三、实验原理声音是由物体振动产生的,通过介质(如空气、水等)传播到人耳,使人产生听觉。
声音的传播速度、频率、振幅等特性与介质、物体等因素有关。
四、实验步骤1. 实验一:收音机发声实验(1)将收音机打开,调整音量至适中;(2)用音频线将收音机与扬声器连接;(3)观察扬声器振动,用手触摸,感受声音产生的振动。
2. 实验二:线圈电磁铁发声实验(1)将线圈缠绕在铁芯上,形成电磁铁;(2)将电磁铁靠近磁铁,使磁铁吸引线圈;(3)观察线圈振动,用手触摸,感受声音产生的振动。
3. 实验三:玻璃杯水声实验(1)在玻璃杯中注入不同量的水;(2)用金属棒轻轻敲击玻璃杯,观察水振动产生的声音;(3)比较不同水量下产生的声音,分析声音频率与水量之间的关系。
4. 实验四:铃铛声实验(1)将铃铛悬挂在空中;(2)用线轻轻拉扯铃铛,观察铃铛振动产生的声音;(3)用手触摸铃铛,感受声音产生的振动。
5. 实验五:耳塞隔音实验(1)将耳塞插入耳朵;(2)播放音乐,感受隔音效果;(3)比较佩戴耳塞前后的声音,分析耳塞对声音传播的影响。
五、实验结果与分析1. 实验一:收音机发声实验表明,声音是由物体振动产生的,扬声器振动产生了声音。
2. 实验二:线圈电磁铁发声实验表明,电磁铁的振动可以产生声音。
3. 实验三:玻璃杯水声实验表明,声音的频率与水量有关,水量越多,声音频率越低。
4. 实验四:铃铛声实验表明,铃铛的振动产生了声音。
5. 实验五:耳塞隔音实验表明,耳塞可以降低声音传播,起到隔音效果。
六、实验总结通过本次实验,我们了解了声音的产生原理,掌握了制造声音的方法,加深了对声音传播、反射、吸收等特性的理解。
电子发声设计实验1.实验目的本实验旨在通过搭建一个简单的电子发声系统,掌握Arduino的基本操作、MIDI的基本概念和相关音频处理技术,以及提高学生对声音合成的理解和实践能力。
2.实验内容(1)搭建硬件平台:使用Arduino开发板来作为硬件平台,根据实验需要连接音频输出、控制电路等组件。
可以选择一款常见的Arduino开发板,如Arduino UNO。
将Arduino连接到计算机,并安装相关的开发环境和驱动程序。
(2)接收MIDI信号:使用MIDI控制器来发送MIDI信号,将MIDI信号通过USB或MIDI接口连接到Arduino开发板。
使用Arduino的串行通信接口(Serial)来接收MIDI信号数据。
(3)解析MIDI信号:使用Arduino代码来解析接收到的MIDI信号数据。
根据MIDI消息类型和参数,将其转换为相应的控制指令和数值,用于控制音频合成和处理。
(4)音频合成和处理:根据接收到的MIDI信号,使用Arduino的PWM输出来控制声音的频率和幅度。
通过PWM信号的调制和滤波等音频处理技术,将数字信号转化为模拟声音信号,并通过音频输出接口连接到扬声器或耳机。
(5)设计音频合成算法:设计和实现音频合成算法,根据MIDI信号的音高和时值等参数,生成相应的波形信号。
可以使用基本的波形发生器(如正弦波、方波等),也可以实现更复杂的合成算法。
可以调节音高、音量、音色等参数,让合成的声音更加丰富和生动。
3.实验步骤(1)搭建硬件平台:根据实验需要连接Arduino开发板、音频输出接口和控制电路。
接线顺序和方式可以参考相关的电路图和文档,确保连接正确和可靠。
(2)配置开发环境:安装Arduino开发环境,并选择正确的Arduino开发板和串行端口。
配置相关的库文件和驱动程序,确保能够正常编译和上传代码。
(3)编写代码:根据实验要求和设计思路,编写Arduino代码。
实现MIDI信号接收、解析和音频合成算法等功能,并通过PWM输出来控制声音的发声。
1电子发声设计实验1.1实验内容根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。
1.2实验原理一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。
将一段乐曲的音符对应频率的方波依次送到扬声器,就可以演奏出这段乐曲。
利用8254的方式3—“方波发生器”,将相应一种频率的计数初值写入计数器,就可产生对应频率的方波。
计数初值的计算如下:计数初值=输入时钟÷ 输出频例如输入时钟采用1MHz,要得到800Hz的频率,计数初值即为1000000÷800。
音符与频率对照关系如表1所示。
对于每一个音符的演奏时间,可以通过软件延时来处理。
首先确定单位延时时间程序(根据CPU的频率不同而有所变化)。
然后确定每个音符演奏需要几个单位时间,将这个值送入DL中,调用DALLY子程序即可。
下面提供了乐曲《友谊地久天长》实验参考程序。
频率表和时间表是一一对应的,频率表的最后一项为0,作为重复的标志。
根据频率表中的频率算出对应的计数初值,然后依次写入8254的计数器。
将时间表中相对时间值带入延时程序来得到音符演奏时间。
实验参考程序流程如图1所示。
1.3实验步骤1. 参考图2所示连接实验线路;2. 编写实验程序,经编译、连接无误后装入系统;3. 运行程序,听扬声器发出的音乐是否正确。
1.4程序代码1.4.1第一个程序IOY0 EQU 0600HMY8254_COUNT0 EQU IOY0+00H ;8254计数器0端口地址MY8254_COUNT1 EQU IOY0+02H ;8254计数器1端口地址MY8254_COUNT2 EQU IOY0+04H ;8254计数器2端口地址MY8254_MODE EQU IOY0+06H ;8254控制寄存器端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDA TA SEGMENTFREQ_LIST DW 196,262,262,262,330,294,262,294,330,262,262,330,393 ;频率表DW 441,441,393,330,330,262,294,262,294,330,262,221,221,196DW 262,441,393,330,330,262,294,262,294,441,393,330,330,393DW 441,525,393,330,330,262,294,262,294,330,262,221,221,196,262,0 TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4, 12DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,36H ;定时器0、方式3OUT DX,ALBEGIN: MOV SI,OFFSET FREQ_LIST ;装入频率表起始地址MOV DI,OFFSET TIME_LIST ;装入时间表起始地址PLAY: MOV DX,0FH ;输入时钟为1MHz,1M = 0F4240HMOV AX,4240HDIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率MOV DX,MY8254_COUNT0OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DL,[DI] ;取出演奏相对时间,调用延时子程序CALL DALL YADD SI,2INC DICMP WORD PTR [SI],0 ;判断是否到曲末?JE BEGINJMP PLAYDALL Y PROC ;延时子程序D0: MOV CX,0010HD1: MOV AX,0FF0HD2: DEC AXJNZ D2LOOP D1DEC DLJNZ D0RETDALL Y ENDPCODE ENDSEND START1.4.2第二个程序【实验内容】按下键盘上的数字键1—7,使得扬声器发出音乐乐谱的1-7音【实验代码】IOY0 EQU 0600HMY8254_COUNT0 EQU IOY0+00H ;8254计数器0端口地址MY8254_COUNT1 EQU IOY0+02H ;8254计数器1端口地址MY8254_COUNT2 EQU IOY0+04H ;8254计数器2端口地址MY8254_MODE EQU IOY0+06H ;8254控制寄存器端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDA TA SEGMENTtable1 DW 262,294,330,340,393,441,495info db 0ah,0dh,"Please input an integer(1~7):$"DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,36H ;定时器0、方式3OUT DX,ALPLAY:mov si,offset table1mov dx,offset infomov ah,09hint 21hmov ah,01hint 21hsub al,30hxor ah,ahcmp al,0hjz doneadd ax,axadd si,axdec sidec siMOV DX,0FH ;输入时钟为1MHz,1M = 0F4240HMOV AX,4240HDIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率MOV DX,MY8254_COUNT0OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DL,01h ;取出演奏相对时间,调用延时子程序CALL DALL YJMP PLAYDALL Y PROC ;延时子程序D0: MOV CX,0010HD1: MOV AX,0FF0HD2: DEC AXJNZ D2LOOP D1DEC DLJNZ D0RETDALL Y ENDPdone:CODE ENDSEND START【下载本文档,可以自由复制内容或自由编辑修改内容,更多精彩文章,期待你的好评和关注,我将一如既往为您服务】。
第1篇一、实验目的1. 了解按键电路的工作原理。
2. 掌握蜂鸣器的工作原理及其控制方法。
3. 学习使用C语言进行嵌入式编程。
4. 培养动手实践能力和团队合作精神。
二、实验原理1. 按键电路:按键电路由按键、上拉电阻和下拉电阻组成。
当按键未被按下时,上拉电阻将输入端拉高;当按键被按下时,下拉电阻将输入端拉低。
2. 蜂鸣器电路:蜂鸣器是一种发声元件,其工作原理是利用电磁铁的磁力使振动膜片振动,从而产生声音。
蜂鸣器的控制主要通过改变输入信号的频率来实现。
3. 计数原理:通过按键输入信号,实现计数器的计数功能。
当按键被按下时,计数器加一;当按键被连续按下时,计数器的计数值随之增加。
三、实验器材1. 单片机开发板(如STC89C52)2. 按键3. 蜂鸣器4. 电阻5. 接线6. 电脑7. 调试软件(如Keil uVision)四、实验步骤1. 设计电路图:根据实验要求,设计按键、蜂鸣器和单片机的连接电路图。
2. 编写程序:使用C语言编写程序,实现按键计数和蜂鸣器控制功能。
3. 编译程序:将编写好的程序编译成机器码。
4. 烧录程序:将编译好的机器码烧录到单片机中。
5. 调试程序:通过调试软件对程序进行调试,确保程序正常运行。
6. 测试实验:将单片机连接到实验电路中,进行按键计数和蜂鸣器控制测试。
五、实验代码```cinclude <reg52.h>define uchar unsigned chardefine uint unsigned intsbit key = P3^2; // 按键连接到P3.2端口sbit buzzer = P1^0; // 蜂鸣器连接到P1.0端口uchar count = 0; // 计数器void delay(uint t) {uint i, j;for (i = 0; i < t; i++)for (j = 0; j < 127; j++);}void buzzer_on() {buzzer = 0; // 使蜂鸣器发声}void buzzer_off() {buzzer = 1; // 使蜂鸣器停止发声}void main() {while (1) {if (key == 0) { // 检测按键是否被按下delay(10); // 消抖if (key == 0) {count++; // 计数器加一buzzer_on(); // 使蜂鸣器发声delay(500); // 发声时间buzzer_off(); // 停止发声}}}}```六、实验结果与分析1. 当按键未被按下时,蜂鸣器不发声。
单片机《蜂鸣器》实验报告单片机《蜂鸣器》实验报告一、实验目的本次实验旨在通过单片机的控制,实现对蜂鸣器的驱动和发声控制,进一步了解蜂鸣器的工作原理及应用。
二、实验原理蜂鸣器是一种电子发声器件,常用于发出警告、提示或声音信号。
其工作原理是利用电磁感应原理,在蜂鸣器线圈中通入电流时,会产生磁场,该磁场与蜂鸣器内部的一块磁铁产生相互作用力,使蜂鸣器内部的膜片发生振动,从而发出声音。
在本实验中,我们将通过单片机控制蜂鸣器的驱动信号,使其发出不同的声音,从而实现单片机对蜂鸣器的控制。
三、实验步骤1、准备实验器材:单片机开发板、蜂鸣器模块、杜邦线等。
2、将蜂鸣器模块连接至单片机开发板的某个数字引脚上。
3、通过单片机编程软件编写控制程序,实现对蜂鸣器的控制。
4、将编写好的程序下载到单片机开发板中,并进行调试。
5、通过单片机控制蜂鸣器发出不同的声音,观察其工作情况。
四、实验结果与分析1、实验结果通过本次实验,我们成功实现了单片机对蜂鸣器的控制,可以通过编写不同的程序,使蜂鸣器发出不同的声音。
以下是实验中蜂鸣器发出的声音及其对应的程序代码:(1) 发出“滴”的一声(2) 发出“嘟嘟”的警告声2、结果分析通过实验结果可以看出,通过单片机对蜂鸣器进行控制,可以实现发出不同声音的效果。
在第一个实验中,我们通过设置引脚的高低电平及延时时间,使蜂鸣器发出一声“滴”的声音。
在第二个实验中,我们通过一个无限循环,使蜂鸣器发出“嘟嘟”的警告声。
五、结论与展望通过本次实验,我们深入了解了蜂鸣器的工作原理及应用,并成功实现了单片机对蜂鸣器的控制。
实验结果表明,我们可以根据实际需要编写不同的程序,实现对蜂鸣器的灵活控制。
展望未来,我们可以进一步研究蜂鸣器的其他应用场景,例如在智能家居、机器人等领域中的应用。
我们也可以通过其他方式对蜂鸣器进行控制,例如通过传感器采集信号或者通过无线网络进行远程控制等。
《电子知了发声器的制作》实验指导书适用于:电子专业自动化专业计算机专业及电子爱好者南昌航空大学工程训练中心电工电子部2013年3月电子知了发声器的制作一、实验目的1、通过本实验认识基本元器件及万用表的使用;2、熟练掌握焊接技术;3、掌握多谐振荡器电路原理;4、能够自行焊接制作电子知了发声器。
二、实验元件及工具1、电子元器件若干2、焊接工具:电烙铁、斜口钳、焊锡丝;3、通用电路板一块。
三、实验原理电子知了发声器即通过基本元器件组成电路模拟知了的声音。
本电路由多谐振荡器和音频振荡器组成。
原理图如图一所示:图一VT1、VT2两晶体三极管及R1、R2、R3、R4、C1、C2、VD1、VD2等阻容元件和发光二极管构成多谐振荡器。
输出信号B从点(C2与C3之间)通过电容器C3、电阻R5送到VT3管的基极。
VT3、VT4管以及R6、R7、C4和扬声器等组成音频振荡器,其振荡频率有R7、C4的数值决定并受多谐振荡器输出电压的控制。
当VT2管由导通变为截止时,B 点电压有低电平迅速变为高电平,这一正跳变脉冲加到VT3管的基极和发射极之间,使VT3管正偏压增大,音频振荡频率增高;反之,当VT2管由截止变为导通时,使VT3管正偏压减少,音频振荡频率变低。
于是这一频率高低变化的音频信号经扬声器后,即发生连续不断的“知了”声,发光管也同时闪烁,增加动态美感。
四、实验步骤1、认识元器件并学习如何使用万用表检测元器件的完好性;2、学习焊接技术,利用通用焊接板进行焊接练习;3、仔细观察电子知了发声器的原理图,理解其工作原理;4、按照原理图焊接装配、调试与检测;按照焊接图安装元器件。
检查印刷电路板上所装配的元器件无搭焊、无装错后,方可接通电源。
接通电源,扬声器应发出声响,同时发光二极管闪烁。
如果发现发光二极管闪烁而扬声器不响,则应检查扬声器和音频振荡器工作是否正常。
5、具体方法:先用万用表的R×10档测量扬声器,注意测量时间不宜过长。
四川大学计算机学院、软件学院
实验报告
学号:_201514146xxxx 姓名:xxx 专业:计算机科学与技术班级:1班第 13 周
课程
名称
微机系统与接口技术实验实验课时 4
实验
项目
电子发声设计实验(4.10)实验时间2017.12.01
实验
目的
学习用8254 定时/计数器使蜂鸣器发声的编程方法。
实验
环境
PC机一台,TD-PITE 实验装置一套。
实验内容(算法、程序、步骤和方法)1、实验内容
根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。
2、实验步骤
3、实验程序
1、接线图
数据
记录
和计
算
2、结果
《友谊天长地久》响起。
结
论
《友谊天长地久》响起。
(结
果)。
电子发声实验课程设计一、课程目标知识目标:1. 学生能理解电子发声的基本原理,掌握声音产生、传播和接收的相关知识。
2. 学生能够描述不同电子器件在发声实验中的作用,如扬声器、麦克风等。
3. 学生能够解释声音的三个基本特征:音调、响度和音色,并了解它们在电子发声实验中的应用。
技能目标:1. 学生能够独立完成电子发声实验,包括搭建简单的电路,进行声音的录制与播放。
2. 学生能够运用所学知识,设计并实施简单的电子发声装置,锻炼动手操作能力。
3. 学生能够通过实验观察、数据分析,培养科学探究能力和问题解决能力。
情感态度价值观目标:1. 学生对电子发声产生兴趣,培养对科学技术的热爱和探究精神。
2. 学生在实验过程中,学会合作、分享,培养团队意识和沟通能力。
3. 学生能够关注声音在生活中的应用,认识到科技与生活的紧密联系,增强社会责任感。
本课程旨在通过电子发声实验,使学生在掌握相关知识和技能的同时,培养科学素养、团队协作能力和创新思维,激发学生对科学的兴趣和热情。
针对学生的年级特点,课程内容紧密联系课本,注重实践操作,让学生在动手实践中学习,提高学生的综合运用能力。
二、教学内容1. 声音基本原理:声音的产生、传播和接收过程,声音的特征(音调、响度、音色)。
- 教材章节:第一章第三节《声音的产生与传播》2. 电子器件介绍:扬声器、麦克风、放大器等电子器件的工作原理与应用。
- 教材章节:第二章第二节《电子器件及其应用》3. 电子发声实验:a) 电路搭建:学习基本电路知识,搭建简单的电子发声电路。
- 教材章节:第三章第一节《基本电路的搭建与应用》b) 声音录制与播放:使用电子设备进行声音的录制与播放,了解数字化声音处理。
- 教材章节:第四章第三节《声音的录制与播放》4. 创意电子发声装置设计:结合所学知识,设计并制作简单的创意发声装置。
- 教材章节:第五章《电子创新设计与实践》教学内容按照课程目标进行科学性和系统性的组织,教学大纲明确了教学内容的安排和进度。
第1篇实验目的通过本次实验,探究声音的产生原理,即发声体的振动与声波传播的关系,了解不同发声体在振动时产生的声音特性,并掌握通过实验观察和分析振动与声音之间关系的方法。
实验器材1. 扬声器2. 音频信号发生器3. 秒表4. 纸张5. 橡皮筋6. 玻璃杯7. 水盆8. 摄像头9. 个人电脑10. 相关音频处理软件实验步骤1. 扬声器振动观察:- 将扬声器接入音频信号发生器,输出稳定的音频信号。
- 使用摄像头捕捉扬声器的振动情况,并记录视频。
- 通过个人电脑播放视频,观察扬声器振动的频率和幅度。
2. 橡皮筋振动实验:- 将橡皮筋固定在玻璃杯的杯口,轻轻拉紧。
- 使用秒表测量拉紧橡皮筋的时间,并记录下来。
- 在橡皮筋上放置纸张,观察纸张在橡皮筋振动时的跳动情况,记录纸张振动的频率。
- 比较橡皮筋振动频率与音频信号发生器输出的音频频率,分析声音的音调。
3. 玻璃杯与水振动实验:- 在玻璃杯中加入不同量的水,观察玻璃杯振动时的频率变化。
- 使用摄像头捕捉玻璃杯振动时的声波传播情况,并记录视频。
- 分析不同水量下玻璃杯振动产生的声音特性。
4. 声波传播实验:- 在空旷的场地,使用音频信号发生器发出不同频率的音频信号。
- 在不同距离的位置,使用麦克风捕捉音频信号,并记录数据。
- 分析声波在不同距离传播过程中的衰减情况。
5. 共振现象实验:- 使用摄像头捕捉不同物体振动时的共振现象,如弦乐器、管乐器等。
- 分析共振现象对声音特性的影响。
实验结果与分析1. 扬声器振动观察:- 观察到扬声器在音频信号作用下产生振动,振动频率与音频信号频率一致。
- 摄像头捕捉到的扬声器振动视频显示,振动幅度与音频信号的强度成正比。
2. 橡皮筋振动实验:- 橡皮筋振动频率与音频信号发生器输出频率一致,纸张跳动频率与橡皮筋振动频率一致。
- 通过实验得出,橡皮筋振动产生的声音音调与振动频率有关。
3. 玻璃杯与水振动实验:- 随着水量的增加,玻璃杯振动频率降低,声音音调降低。
电子发声设计实验
1 实验目的
学习用8253定时/计数器使蜂鸣器发声的编程方法。
2 实验设备
PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。
3 实验内容
根据实验提供的音乐频率表和时间表,编写程序控制8253,使其输出连接到扬声器上
能发出相应的乐曲。
4 实验说明及步骤
一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。
将一段乐曲的音符对应频率的方波依次送到扬声器,就可以演奏出这段乐曲。
利用8254的方式3——“方波发生器”,将相应一种频率的计数初值写入计数器,就可产生
对应频率的方波。
计数初值的计算如下:
计数初值=输入时钟÷输出频率
例如输入时钟采用1MHz,要得到800Hz的频率,计数初值即为1000000÷800。
音符与频率对照关系如表 4.8所示。
对于每一个音符的演奏时间,可以通过软件延时来处
理。
首先确定单位延时时间程序(根据CPU的频率不同而有所变化)。
然后确定每个音符演奏需要几个单位时间,将这个值送入DL中,调用DALLY子程序即可。
;单位延时时间
DALLY PROC
D0: MOV CX, 0010H
D1: MOV AX, 0F00H
D2: DEC AX
JNZ D2
LOOP D1
RET
DALLY ENDP
; N个单位延时时间(N送至DL)
DALLY PROC
D0: MOV CX, 0010H
D1: MOV AX, 0F00H。