(完整word版)电子发声实验课程设计

合集下载

电子发声实验报告

电子发声实验报告

一、实验目的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.实验目的本实验旨在通过搭建一个简单的电子发声系统,掌握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. 学生能理解并掌握基本的发声原理,了解声音的产生、传播和接收过程。

2. 学生能掌握并运用正确的呼吸方法,了解呼吸在发声中的重要性。

3. 学生能了解并区分不同类型的发声方式,如胸声、混声和头声等。

技能目标:1. 学生能通过练习,正确运用腹式呼吸进行发声,提高发声效果。

2. 学生能运用所学的发声方法,进行歌曲演唱、朗读等实践活动,提升表达能力和表演技巧。

3. 学生能通过自我评估和他人反馈,调整发声方法,不断优化发声效果。

情感态度价值观目标:1. 学生培养对音乐的热爱,增强对歌唱、朗读等艺术形式的兴趣。

2. 学生在集体活动中,学会倾听、协作和尊重他人,培养团队精神。

3. 学生通过发声训练,增强自信心,敢于表达自我,提升个人魅力。

课程性质:本课程为音乐学科发声方法训练课程,针对学生年龄特点和知识水平,注重实践性和趣味性。

学生特点:学生处于青少年阶段,好奇心强,活泼好动,但注意力容易分散,需要通过生动有趣的教学方法激发学习兴趣。

教学要求:教师需关注学生的个体差异,因材施教,注重启发式教学,引导学生主动参与,培养其独立思考和解决问题的能力。

同时,注重教学过程中的评价与反馈,帮助学生不断调整和优化发声方法。

二、教学内容1. 发声原理介绍:声音的产生、传播和接收过程,呼吸与发声的关系。

教材章节:《音乐》教科书,第三章“呼吸与发声”。

2. 呼吸方法训练:腹式呼吸、胸腹联合呼吸的练习方法及要领。

教材章节:《音乐》教科书,第三章“呼吸与发声”,第二节“呼吸训练”。

3. 发声方式区分:胸声、混声、头声的特点及运用。

教材章节:《音乐》教科书,第三章“呼吸与发声”,第三节“发声方法”。

4. 发声技巧实践:歌曲演唱、朗读等实践活动,培养学生正确的发声习惯。

教材章节:《音乐》教科书,第四章“歌唱与表达”,第一节“歌曲演唱”;《语文》教科书,相关课文。

5. 发声效果优化:通过自我评估和他人反馈,调整发声方法,提高发声效果。

电子发声设计实验

电子发声设计实验

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、要求:根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。

要求至少要完成下列项目的一项(1)可播放两首不同的乐曲(2)根据不同的按键播放不同的音乐(3)可改变音乐的音调(4)可显示播放乐曲的名称2、所设计的电路实现的功能:设计中完成了实验要求中提出的要求。

设计中实现了,用按键进行随时切换两首音乐(友谊地久天长,两只老虎)和对所播放的当前音乐进行两种不同音调(中音和低音)的随时切换的控制操作,其中用总开关K_7进行播放开关的总控制,开关K_0用于音乐播放的选择,开关K_1用于对当前播放音乐的音调进行选择。

设计中还实现了对16×16的LED 管的控制运用点阵汉字输出歌名。

三、方案、系统组成框图和工作原理说明1、设计方案及原理:本设计中音乐播放控制为利用对8255和8254芯片的控制操作得以实现。

音乐名的输出为利用总线对16×16点阵地控制来实现。

(1)本设计中PC发声系统以8254的计数器0为核心。

系统初始化时,计数器0工作在方式3的“方波发声器”方式,同过将音乐频率转换为相应的计数初值,改变计数器0的计数初值就可以使扬声器发出不同的频率的音响。

(2)发生系统控制为受8255芯片控制,外界通过改变对8255芯片的PA口的不同输入来实现播放功能上的选择。

(3)演奏但音符,为利用一个音符对应一个频率,将与一个频率对应的计数初值写入计数器0,扬声器就发出相应的音调。

计数器初值的计算公式为:计数初值=1MHZ÷输出频率,其中1MHZ转换为16进制为0F4240H。

(4)控制音符的演奏时间,是通过每一个音符规定一个“单位时间”:单位时间×N=音符的演奏时间。

其中,N为调试参数,一首歌只有一个调试参数。

2、系统组成(电路图):图1. 对8254与系统的连接图2.对8255单元的连接图3.点阵汉字的接线四、程序功能描述及程序流程(1)程序功能描述:如程序流程图所示。

《电子知了发声器的制作》

《电子知了发声器的制作》

《电子知了发声器的制作》实验指导书适用于:电子专业自动化专业计算机专业及电子爱好者南昌航空大学工程训练中心电工电子部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档测量扬声器,注意测量时间不宜过长。

电子发声实验课程设计

电子发声实验课程设计

电子发声实验课程设计一、课程目标知识目标:1. 学生能理解电子发声的基本原理,掌握声音产生、传播和接收的相关知识。

2. 学生能够描述不同电子器件在发声实验中的作用,如扬声器、麦克风等。

3. 学生能够解释声音的三个基本特征:音调、响度和音色,并了解它们在电子发声实验中的应用。

技能目标:1. 学生能够独立完成电子发声实验,包括搭建简单的电路,进行声音的录制与播放。

2. 学生能够运用所学知识,设计并实施简单的电子发声装置,锻炼动手操作能力。

3. 学生能够通过实验观察、数据分析,培养科学探究能力和问题解决能力。

情感态度价值观目标:1. 学生对电子发声产生兴趣,培养对科学技术的热爱和探究精神。

2. 学生在实验过程中,学会合作、分享,培养团队意识和沟通能力。

3. 学生能够关注声音在生活中的应用,认识到科技与生活的紧密联系,增强社会责任感。

本课程旨在通过电子发声实验,使学生在掌握相关知识和技能的同时,培养科学素养、团队协作能力和创新思维,激发学生对科学的兴趣和热情。

针对学生的年级特点,课程内容紧密联系课本,注重实践操作,让学生在动手实践中学习,提高学生的综合运用能力。

二、教学内容1. 声音基本原理:声音的产生、传播和接收过程,声音的特征(音调、响度、音色)。

- 教材章节:第一章第三节《声音的产生与传播》2. 电子器件介绍:扬声器、麦克风、放大器等电子器件的工作原理与应用。

- 教材章节:第二章第二节《电子器件及其应用》3. 电子发声实验:a) 电路搭建:学习基本电路知识,搭建简单的电子发声电路。

- 教材章节:第三章第一节《基本电路的搭建与应用》b) 声音录制与播放:使用电子设备进行声音的录制与播放,了解数字化声音处理。

- 教材章节:第四章第三节《声音的录制与播放》4. 创意电子发声装置设计:结合所学知识,设计并制作简单的创意发声装置。

- 教材章节:第五章《电子创新设计与实践》教学内容按照课程目标进行科学性和系统性的组织,教学大纲明确了教学内容的安排和进度。

课堂发声训练教案模板范文

课堂发声训练教案模板范文

一、教学目标1. 让学生掌握正确的发声方法,提高语音表达能力和语言美感。

2. 培养学生良好的语言习惯,提高课堂参与度和表达能力。

3. 增强学生的自信心,提高课堂互动效果。

二、教学重难点1. 重点:正确发声方法、气息控制、音准、节奏。

2. 难点:气息控制、音准、节奏的协调运用。

三、教学准备1. 教学场地:宽敞的教室,避免嘈杂声音干扰。

2. 教学器材:黑板、粉笔、录音设备(可选)。

3. 教学资料:发声训练教材、歌曲选段。

四、教学过程(一)导入1. 老师简要介绍发声训练的重要性,激发学生学习兴趣。

2. 学生分享自己在日常学习中遇到的发音问题,引起共鸣。

(二)发声训练1. 气息控制训练a. 腹式呼吸练习:让学生学会用腹部呼吸,提高气息控制能力。

b. 憋气练习:培养学生长时间憋气的能力,提高胸廓固定能力。

c. 数数练习:锻炼气息控制,提高肺活量。

2. 发声技巧训练a. 音准练习:让学生学会辨别音高,掌握音准。

b. 节奏练习:让学生掌握节奏感,提高音乐素养。

c. 咽音法发声训练:教授咽音法发声技巧,提高语音表达效果。

(三)歌曲演唱训练1. 选择适合学生水平的歌曲,进行演唱训练。

2. 老师逐句指导,纠正发音错误。

3. 学生分组演唱,培养团队合作精神。

(四)课堂互动1. 老师随机抽取学生进行即兴发言,锻炼学生的语言表达能力。

2. 学生分组进行角色扮演,提高课堂互动效果。

(五)总结与反思1. 老师总结本节课的学习内容,强调重点和难点。

2. 学生分享自己在课堂上的收获和感悟。

3. 老师布置课后作业,巩固所学知识。

五、教学评价1. 学生在课堂上的参与度、互动效果。

2. 学生发音的正确性、气息控制能力。

3. 学生歌曲演唱的音准、节奏感。

4. 学生课后作业完成情况。

六、教学反思1. 教师针对学生在课堂上的表现,调整教学策略。

2. 教师反思自己在教学过程中的不足,提高教学质量。

3. 教师关注学生的个体差异,因材施教,激发学生的学习兴趣。

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

微机原理课程设计课题:电子发声设计实验专业:学号:姓名:、课题名称及设计组成员、课题内容及要求课题名:电子发声设计实验1、要求:根据实验提供的音乐频率表和时间表,编写程序控制8254 ,使其输出连接到扬声器上能发出相应的乐曲。

要求至少要完成下列项目的一项( 1)可播放两首不同的乐曲( 2)根据不同的按键播放不同的音乐( 3)可改变音乐的音调( 4)可显示播放乐曲的名称2、所设计的电路实现的功能:设计中完成了实验要求中提出的要求。

设计中实现了,用按键进行随时切换两首音乐(友谊地久天长,两只老虎)和对所播放的当前音乐进行两种不同音调(中音和低音)的随时切换的控制操作,其中用总开关 K_7 进行播放开关的总控制,开关 K_0 用于音乐播放的选择,开关 K_1 用于对当前播放音乐的音调进行选择。

设计中还实现了对 16×16的 LED 管的控制运用点阵汉字输出歌名。

三、方案、系统组成框图和工作原理说明1、设计方案及原理:本设计中音乐播放控制为利用对8255 和 8254 芯片的控制操作得以实现。

音乐名的输出为利用总线对 16×16 点阵地控制来实现。

(1)本设计中 PC发声系统以 8254的计数器 0 为核心。

系统初始化时,计数器 0 工作在方式 3 的“方波发声器”方式,同过将音乐频率转换为相应的计数初值,改变计数器 0 的计数初值就可以使扬声器发出不同的频率的音响。

( 2)发生系统控制为受 8255 芯片控制,外界通过改变对 8255 芯片的 PA 口的不同输入来实现播放功能上的选择。

3)演奏但音符,为利用一个音符对应一个频率,将与一个频率对应的计数初值写入计数器 0,扬声器就发出相应的音调。

计数器初值的计算公式为: 计数初值 =1MHZ ÷输出频率, 其中 1MHZ 转换为 16 进制为 0F4240H 。

( 4)控制音符的演奏时间,是通过每一个音符规定一个“单位时间” :单位时间× N=音符的演奏时间。

其中, N 为调试参数,一首歌只有一个调试参数。

2、系统组成(电路图) :图 1. 对 8254 与系统的连接.XD0XD7.D0 D7系统 XA1A0 总 XA2A1线IOW#WRIOR#RDIOY3CS图 3. 点阵汉字的接线四、程序功能描述及程序流程(1)程序功能描述:如程序流程图所示。

程序下载链接、并运行后,开始通过对外界按键扫描,来检查应进行采取的操作,根据外界不同的输入,完成不同的程序跳转,从而实现相应的播放功能。

其中 K0、 K1 为外界电子控制单元。

分为 0 和 1,即低电平和高电平。

2)程序流程图:五、程序源代码及注释 1.在LED 单元中显示歌曲名称ROW1 EQU 0600H ;端口定义ROW2 EQU 0640HCOL1 EQU 0680HCOL2 EQU 06C0HSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDS;定义为数据段INCLUDE HZDOTht.ASM ;数据字段为汉字点阵库 , 在 HZDOTht.ASM;文件中CODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, ROW1MOV AL, 00HOUT DX, ALMOV DX, ROW2OUT DX, ALMOV AL, 0ffHMOV DX, COL1OUT DX, ALMOV DX, COL2OUT DX, ALBG0: MOV AX, 160MOV SI, OFFSET HZDOThtBG1: CALL DISPADD SI, 2DEC AXJZ BG0JMP BG1显示汉字子程序; 入口参数 : SI = 存放汉字起始地址DISP: MOV CX, 000FHPUSH AXML0: PUSH CXMOV BL, 01HMOV CX, 0008HML1:MOV DX, ROW1MOV AL, 00H OUT DX,AL MOV AL, [SI] notal ;控制 0--7行MOV DX, COL1OUT DX, ALINC SIMOV AL, [SI] not al;0--7 列MOV DX, COL2OUT DX, ALINC SI;8--15 列MOV DX, ROW1MOV AL, BL OUT DX, ALROL BL, 1CALL DELAYLOOP ML1MOV DX, ROW1MOV AL, 00H OUT DX, ALMOV CX, 0008H;控制 0--7 行ML2:MOV DX, ROW2MOV AL, 00H OUT DX,ALMOV AL, [SI] not al;控制 8--15 行MOV DX, COL1 OUTDX, AL INC SIMOV AL, [SI] not al;0--7 列MOV DX, COL2OUT DX, ALINC SI;8--15 列MOV DX, ROW2 ;控制 8--15行MOV AL, BL OUT DX, AL ROL BL, 1 CALL DELAY LOOP ML2 MOV DX, ROW2 MOV AL, 00H OUT DX, AL SUB SI, 32 POP CX LOOP ML0 POP AX RETDELAY: PUSH CX;延时子程序MOV CX, 0100HDL1: PUSH AXPOP AX LOOP DL1 POP CX RETCODE ENDSEND START此程序中 8255 芯片和点阵 LED 单元的连接,用来实现在点阵 LED 显示单元来显示汉 字的功能。

通过调用汉字存放单元的地址,在 LED 单元中可以显示出流动的字体。

此程序 实现的字体是“友谊天长地久” 。

2.此程序用来实现程序流程图中所示的功能, 即通过开关来控制播放曲目的的切 换和音调的改变。

IOY3 EQU 06C0HIOY0EQU 0600HMY8255 AEQU IOY0+00HMY8255 B EQU IOY0+02H MY8255 C EQU IOY0+04H MY8255 MODE EQUIOY0+06HSTACK1 SEGMENT STACKDW 256 DUP(?)MY8254_COUNT0 MY8254_COUNT1 MY8254_COUNT2MY8254_MODE EQU IOY3+00H EQU IOY3+02H EQU IOY3+04HEQU IOY3+06H;8254 计数器 0 端口地址;8254 计数器 1 端口地址;8254 计数器 2 端口地STACK1 ENDSDATA SEGMENTFREQ_LIST DW 371,495,495,495,624,556,495,556,624 表DW 495,495,624,742,833,833,833,742,624DW 624,495,556,495,556,624,495,416,416,371DW 495,833,742,624,624,495,556,495,556,833DW 742,624,624,742,833,990,742,624,624,495DW 556,495,556,624,495,416,416,371,495,0TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 表DB 6, 2, 4, 4, 12, 1, 3, 6, 2DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 6, 2, 4, 4, 12 ;第一首歌时间FREQ_LIST1 DW 330,371,416,330 歌频率表;第二首DW 330,371,416,330DW 416,441,495DW495,556,495,441,416,330 DW495,556,495,441,416,330 DW 330,248,330DW 330,248,330,0 TIME_LIST1 DB 4,4,4,4 DB4,4,4,4 DB4,4,8 DB4,4,8 DB2,2,2,2,4,4DB2,2,2,2,4,4DB 4,4,8 DB4,4,8 ;第二首歌时间表FREQ_LIST2 音后;第一首歌频率表变;第一首歌频率TIME_LIST2 歌时间表变音后;第一首FREQ_LIST3DB 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 2, 1, 3, 6, 2DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 2, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 6, 2, 4, 4, 12;第二首歌频率表变音后TIME_LIST3DB 4,4,4,4DB 4,4,4,4DB 4,4,8DB 4,4,8DB2,2,2,2,4,4DB2,2,2,2,4,4DB 4,4,8DB 4,4,8 ;第二首歌时间表变音后DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART: MOV AX, DATAMOV DS, AXMOV DX, MY8255_MODE ;初始化 8254 工作方式MOV AX,90HINPUT:MOV DX,AX ;A 口作为输入MOV DX, MY8254_MODE ;初始化8254 工作方式MOV AL, 36H OUT DX, AL ;定时器0、方式 3MOV DX, MY8255_A ;检查输入,是否要设中断问题IN AL,DXCMP AL,80HJZ NEAR PTRCMP AL,81H BEGINJZ NEAR PTR BEGIN1CMP AL,82HJZ NEAR PTR BEGIN2CMP AL,83HJZ NEAR PTR BEGIN3JNZ INPUTBEGIN: MOV SI,OFFSET FREQ LIST ;装入频率表起始地址MOV DI,OFFSET TIME_LIST ;装入时间表起始地址PLAY:MOV DX,MY8255_AIN AL,DXCMP AL,80HJNZ NEAR PTR INPUTMOV DX,0FH ;输入时钟为 1MHz ,1M = 0F4240H MOV 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],0JE NEAR PTR INPUTJMP PLAY;判断是否到曲末?BEGIN1: MOV SI,OFFSET FREQ_LIST1 MOV DI,OFFSET TIME_LIST1 PLAY1:MOV DX,MY8255_AIN AL,DXCMP AL,81HJNZ NEAR PTR INPUTMOV DX,0FHMOV AX,4240H DIV WORD PTR[SI]MOV DX,MY8254_COUNT0OUT DX,ALMOV AL,AHOUT DX,ALMOV DL,[DI]CALL DALL YADD SI,2INC DI CMP WORD PTR [SI],0JE NEAR PTR INPUT JMP NEARPTR PLAY1BEGIN2: MOV SI,OFFSET FREQ_LIST2 MOV DI,OFFSET TIME_LIST2 PLAY2:MOV DX,MY8255_AIN AL,DXCMP AL,82HJNZ NEAR PTR INPUTMOV DX,0FHMOV AX,4240H DIV WORD PTR[SI]MOV DX,MY8254_COUNT0OUT DX,ALMOV AL,AHOUT DX,ALMOV DL,[DI];装入频率表起始地址;装入时间表起始地址;输入时钟为 1MHz ,1M = 0F4240H ;取出频率值计算计数初值, 0F4240H / 输出频率 ;装入计数初值;取出演奏相对时间,调用延时子程序;判断是否到曲末?;装入频率表起始地址;装入时间表起始地址;输入时钟为 1MHz ,1M = 0F4240H ;取出频率值计算计数初值, 0F4240H / 输出频率 ;装入计数初值;取出演奏相对时间,调用延时子程序;判断是否到曲末?;装入频率表起始地址 ;装入时间表起始地址;输入时钟为 1MHz ,1M = 0F4240H;取出频率值计算计数初值, 0F4240H / 输出频率 ;装入计数初值;取出演奏相对时间,调用延时子程序 ;判断是否到曲末?DALL Y PROC ;延时子程序D0: MOV CX,0010H D1: MOV AX,0F00H D2:DEC AX JNZ D2 LOOP D1 DEC DL JNZ D0 RETDALL Y ENDP DONE: MOV AX,4C00HINT 21HCODE ENDSCALL DALL Y ADD SI,2 INC DICMP WORD PTR [SI],0 JE NEAR PTR INPUT JMP PLAY2BEGIN3: MOV SI,OFFSET FREQ_LIST3MOV DI,OFFSET TIME_LIST3 PLAY3:MOV DX,MY8255_A IN AL,DX CMP AL,83HJNZ NEAR PTR INPUT MOV DX,0FHMOV AX,4240H DIV WORD PTR [SI] MOV DX,MY8254_COUNT0 OUT DX,AL MOV AL,AH OUT DX,AL MOV DL,[DI] CALL DALL Y ADD SI,2 INC DICMP WORD PTR [SI],0 JE NEAR PTR INPUT JMP PLAY3END START本程序中,分别设定了 TIME_LIST1 TIME_LIST2 TIME_LIST3 和 FREQ_LIST1 FREQ_LIST2 FREQ_LIST3 ,其中 TIME_LIST 是歌曲时间表, FREQ_LIST 是歌曲频率表。

相关文档
最新文档