第一篇:数字化声音格式转换与采编实验报告
数字化声音格式转换与采编
(班级:09级3班姓名:王莉学号:2009100334)
一、实验目的1、掌握数字化声音的采集、录制、与编辑
2、掌握数字化声音的格式转换
一、实验环境
1、计算机、耳机、话筒、声音素材若干
2、WindowsXP系统、千千静听软件
二、实验步骤
1、连接耳机和话筒到声卡
2、启动录音机
(1)序。
(2)录音操作
A、选择所录声音信号来源
将鼠标放在Windows界面任务栏右下角“音量”图标上,单击鼠标右键,在弹出的快捷菜单中单击“打开声音控制”命令,即弹出“声音控制窗口”
单选按钮,并在“显示下列音量控制”列表框中选中与已同计算机连接的音源
单击 “确定“按钮,在弹出的窗口中选择所录声音信号点来源——话筒。
B、调整录音量大小
单击“录音机”窗口的“开始录制”按钮,然后对话筒说话或者输送其他声音,这些声音将被录音机录入,在该窗口中有实时的震动波形出现。
调整“录音控制”窗口中的音量,是震动的波形最大振幅不超过窗口。
C、正式录音
单击“录音”按钮,对话筒说话,结束后单击“停止”;每次录音时间最长可达60s,但可多次单击录音键,每次得到60s的声音,累计在一起,就可得到较长时间的声音。
D、播放录入的声音
录入声音后,单击“停止”按钮,再单击“播放”按钮播放所录声音,检查录音
是否成功。
E、保存录入的声音
默认以WAV的形式保存文件,可通过改变声音的属性,以其他的文件格式保存。
在所弹出的对话框的下拉列表中选择“MPEG Layer-3”选项,在 属性中选择适当的播放速率,单击“确定”按钮,这样,文件就变成MP3格式了,变成文件的时候,使用MP3.文件后缀名。
3、数字化声音的格式转换
先将背景音乐从MP3转换成WAV格式。(由于在“录音机”软件中只能导入WAV格式的声音文件,所以其他格式的文 件只能转换成WAV格式后才能编辑,同时由于WAV格式的文件量太大,在实际使用中多是编辑后再转换成MP3格式)。
千千静听
将影音文件导入“千千静听“软件,在播放列表中选中要转换的文件,单击鼠标右键,在弹出的快捷菜单中单击“转换格式”命令,在所弹出的对话框中的输出格式下拉菜单中选择索要转换的格式,保存文件,在其目标文件夹处选择存储位置。
4、数字化声音的编辑
声音的编辑在录音机的编辑菜单中
(1)剪切
将背景音乐的长度剪切到与录音的长度相当
(2)连接与插入
连接是将两个或多个数字声音文件结合为一个声音文件。首先打开第一个声音文件,再在编辑菜单中插入要链接的第二、三……个文件。插入点为前一文件的结束点。
(3)录音与背景音乐的合成启动“录音机”程序,单击”文件“菜单中的 “打开“命令,在弹出窗口中,打开已剪切好的背景音乐,在”效果“菜单中选择”降低音量“命令,使其音量比录音音量小。
单击“编辑”菜单中的“与文件混合”命令,在弹出的对话框中,选择一个已录好的声音文件。录音文件与背景音乐就混合好了。
(4)保存新生成的声音文件
单击“文件”菜单中的“另存为“命令,在弹出的对话框中,选择保存路径及输入文件名后,单击”保存“按钮。
(5)再次转换格式
由于WAV格式占内存量太大,在实际运用中多编辑后再用MP3格式转换器转换成MP3格式来使用。
三、注意事项
1、自行准备MP3背景音乐素材
2、软件的具体使用方法可以参考有关书籍,也可以直接通过软件的帮助功能,查阅相
应的操作方法。
第二篇:数字化声音编辑教案
第3节《数字化声音编辑》教案
滨城区梁才中学 苏志君
一、课前准备
1、素材准备:把“李明”文件夹提前发送到学生机的桌面上;
2、学生准备:录音机会用吗?(1)如何打开“录音机”?
(2)会用“录音机”听音乐吗?
3、通过听“李明”文件夹中的声音文件,检查耳机情况。
二、教学设计
1、教学目标
(1)掌握用“录音机”合并声音文件;(2)学会用“录音机”混合声音文件;
(3)能根据需要用“录音机”调整声音效果。
2、重难点分析
教学重点:用“录音机”合并、混合声音的方法
教学难点:综合运用各种技术手段编辑出优美的配乐诗朗诵
投影仪、多媒体网络教室;学生分组并安排机器座位;编辑声音练习所需要的声音文件。
三、教学过程 I、新课导入
同学们,刚才大家听到的是朱自清的配乐散文《春》,今天我来的时候,我的学生让把它带给大家听,并且好还有话对大家说,我们一起来听一听吧。
你愿意帮助李明完成这项操作吗?怎样操作呢?这正是今天我们要学习的《第3节 数字化声音编辑》,不但能够很好的帮助李明,还可以为后面的学习打下坚实的基础。
目标是成功的前提条件。我们先看看本节的学习目标?出示教学目标(找一生读吗?强化)
通过本节课的学习,你将掌握以下技能:(1)掌握用“录音机”合并声音文件;(2)学会用“录音机”混合声音文件;
(3)能根据需要用“录音机”调整声音效果。
明确了教学目标后,我们帮李明完成第一项操作,进行“录音剪接”。学而知困,请大家完成“自主学习1:请大家参照课本15页上面的‘录音剪接'的三个步骤,通过自主学习帮李明把‘春1'和‘春2'按顺序合成一个声音文件,并以‘春3'进行保存。” II、知识讲解
(一)录音剪接
(1)学生自学,教师巡回指导,强调一定要认真看操作步骤,留心查看学生操作中的问题,也可以进行讨论。师巡视指导:在操作过程中要提醒学生,合并前要将滑块移动到合适的位置,这需要先试听再确定:如果两段声音文件刚好首尾相连即可,那直接把滑块移动到文件一的结尾部分即可,反之,则需要通过试听确定合并的确切位置,这就要考验每位同学准确的判断能力和娴熟的操作技巧了。当你打开一个声音文件,文件长度以秒数的形式显示在界面的右侧,而左侧则是滑块的当前位置,所以建议大家在试听的同时随时留意声音文件长度的变化,并配合“停止”键和“播放”键,以便于准确定位。
屏幕显示步骤如下:
第一步:用“录音机”程序打开声音文件“春1.wav”,并将滑块移动到要插入声音的地方。
第二步:执行“编辑/插入文件”菜单项,选择声音文件“春2.wav”,这样就可以完成两个文件的合并。
第三步:以“春3.wav”为名保存合成后的声音。
(2)师选出一名操作熟练的学生,利用网络教室演示并讲解操作步骤(哪位同学愿意到教师机展示自己的操作过程,让我们共同学习,好吗?)老师针对学生的演示给出有针对性的总结和指导。
设疑1:保存合并后的声音文件时就选择哪个菜单项?若选择“保存”会有什么后果?
小结:应使用“文件”菜单中的“另存为”选项进行保存。如果选择“保存”菜单的话,将会将文件“春1”替换。我们编辑多媒体时,应当养成保留原素材的习惯,以备再用。另外,如果滑块没移到正确位置就插入了“春2”,未保存之前还有补救措施,就是……还记得学习“word”时,出现误操作时可以用“撤消”按钮吗?录音机也有类似的功能,那就是用“文件”菜单中的“恢复”选项。
请大家再看看课本上的三个步骤,加深印象。
录音机不只可以合成两个声音文件,还可以合成两个以上的声音文件,简单易学。
(3)好!下面用1分钟的时间继续完成刚才的任务,并且注意观察“‘春3'的播放长度和‘春1'、‘春2'的播放长度的关系”。要让所有的同学都能学会,才能更好地学习下面的内容。
设疑2:“春3”的播放长度和“春1”、“春2”的播放长度有什么关系? 小结:对!“春3”的播放长度是“春1”、“春2”的播放长度的总和,但这也不是固定不变的,我们有时候可以利用合并声音文件时的精确定位来对其中某一声音文件进行变相取舍,从而放弃掉一部分声音素材,在这种情况下,合并后的声音文件长度可能要短于各声音文件长度之和。
建立好“春3”的同学请举手!
我们知道,好的音乐可以渲染气氛,烘托主题,同时也是一种美好的享受。接下来,我们帮李明合成配乐朗诵,即学习“混合声音”,请完成“自主学习2:请大家参照课本15页中间的‘混合声音'的三个步骤,自主完成给‘春3'加上背景音乐‘春之声'。”
(二)混合声音
(1)参照课本操作步骤,学生自主操作练习,操作完成试听混音效果,找出需要进一步完美的地方,邻近的学生互相交流,取长补短;操作较快的学生可参照课本步骤自主练习声音效果的设置,并播放设置效果后的声音,注意声音文件的变化,体会声音效果的作用。
屏幕显示步骤如下:
第一步:准备好朗读和背景音乐两个声音文件。
第二步:打开其中一个文件;将滑块拖到准备开始混音的位置。
第三步:执行“编辑/与文件混音”菜单项,从出现的“文件”对话框中选择另一个文件。
(2)找一生到教师机上演示(哪位同学愿意到教师机展示自己的操作过程,让我们共同学习,好吗?也是锻炼勇气与表达能力的机会。)
强调:
正确定位滑块的位置后,再进入声音混合,朗诵与音乐混合协调; 背景音乐要与声音文件内容相吻合。
设疑1:通常情况下,人们一般习惯在背景音乐响起后再开始朗诵,也就是有一个前奏,那么,在这种情况下,应该先打开哪一个声音文件后再混入另一个文件更好一点儿呢?是朗诵还是背景音乐?
小结:背景音乐!的确,同学们在进行声音处理时,必须考虑到一些细节处理,才能让你们的作品焕发生机,包括在我们的学习、生活中,又何尝不是如此?
设疑2:声音文件的合并与混合有什么异同点?
师生总结:声音的合并意味着二者“合二为一”,在合并点上两个声音文件只选其一;而声音的混合则是“共生共荣”,是一种互相协作与美化的作用。
(3)好!下面再用1分钟的时间完成刚才的任务。
我们已经帮李明加上背景音乐了,大家在欣赏的时候,有没有发现需要改进的地方?(有!“春之声”的音乐要比“春3”的录音时间长一些。)
那么怎样处理?
对!把多余的音乐部分去掉,让背景音乐和朗读声音同时结束。怎样去掉呢?下面,我们就来学习第三个内容“去掉不需要的声音”。
(三)、去掉不需要的声音
(1)参照课本操作步骤,学生自主操作练习,将声音多余的部分删除;部分完成操作的学生考虑如果背景音乐时间过短应该怎样操作,并自己操作实践,老师可给予相应指导。
屏幕显示步骤如下:
第一步:用“录音机”打开要剪辑的声音文件,播放到要保存的位置,单击“停止”按钮。
第二步:执行“编辑/删除当前位置以后的内容”菜单项。第三步:单击“确定”按钮,将多余的声音删除。(2)找一学生到教师机上演示 设疑:如果音乐比朗诵短怎么办(前提是不得另外选择其它音乐片断)? 师生总结:利用合并,可将同一首音乐重复播放,再将多余的音乐删除。强调:我们在删除的时候,还是要正确定位滑块的位置,实际上,两个声音文件长度不一定等长,例如涉及到有前奏时,背景音乐可适当长一点等等,总之,和谐是美,大家一定要根据实际情况作出取舍与选择。另外录音机无法直接删除中间的部分,只有较专业的录音软件才能实现这项功能。但是,不能“直接删除”,不代表不能“间接删除”,实际上,我们可以巧妙利用“删除当前位置以后(或以前)的内容”这一功能,多次操作,就可达到目的。
(3)好!下面再用1分钟的时间完成刚才的任务,争取所有同学都能完成任务。
(4)编辑好后不要忘记保存啊。
同学们,小小的录音机还有一些优化效果呢?想知道吗?那下面我们再帮李明的配乐朗诵加上适合的效果,感受声音的变化。请完成“自主学习4:请大家参照课本16页中下部的‘混合声音'的三个步骤添加优化效果,可以先尝试收听不同的效果,然后再选择最佳的播放效果,并进行保存。”
(四)、优化音效
学生自学的时候,自己巡回指导,强调一定要认真看操作步骤,留心查看学生操作中的问题,也可以进行讨论。
屏幕展示调整音效步骤:
第一步:使用“录音机”打开要处理的声音文件。
第二步:打开菜单栏上的“效果”菜单,选择其中的某一项,即可完成相应的处理。
到此为止,我们已经很圆满的帮李平完成了任务,她知道了肯定会特别高兴。
(五)提高
请本节任务没有完成的同学继续完成,完成任务的同学请打开“提高”文件夹,按要求完成任务。
III展示作品,共享成功
大家学得很好,哪些同学愿意把“春3”进行展示,请举手!(在教师机上展示两个同学的“春3”。)
然后,我们共同回顾这节课学会了什么?谁能说说? IV归纳总结,完成建构
今天我们接触到声音文件编辑的一些基础操作,包括声音文件的合并、混合、剪辑与效果调整,也许结果不完美,但毕竟我们在这一领域迈出了实实在在的一步。要成为专业的录音师,需要专业的录音软件,更需要高超的操作技巧和良好的审美素养,在课本17页为大家提供了这方面的参考,爱唱爱跳的同学们课后可以尝试为自己录制一首个人专辑,希望同学们能在探索的道路上越走越远,创作出更多更好、个性十足的作品。
第三篇:声音录制与编辑实验报告参考范文
实 实 验 报 告 告
课程名称:
计算机音频视频处理
实验名称:
声音的录制与编辑
所在学院:
姓名:
学号:
实验时间:
一、实验目的 的(1)掌握利用 Adobe Audition 进行录音。
(2)掌握利用 Adobe Audition 对所录制的音乐进行降噪等各种处理,使声音听起来很丰满,同时加入背景音乐,进行混合处理,提高这段音频的震摄力。
(3)熟悉一种音频处理软件的使用方法。
(4)通过声音加深对声音数字化的了解。
二、实验环境 1.高档微机:MPC(附带耳机和麦克风)。
2.操作系统:Windows XP 中文版。
3.音频处理软件:Audition CS 3。
三、实验内容 制作配乐诗,利用 Adobe Audition 录音,在此过程中朗诵一首诗歌,对声音进行各种编辑,包括对所录制的音频文件进行降噪处理。插入背景音乐,再进行进一步的完美编辑。完成实验后导出在一个文件夹中。并把实验过程撰写成实验报告文档。
四、实验步骤 把实验所用的素材存放在一个文件夹中。
(1)素材准备:上百度 mp3 搜一首背景音乐,根据所选择的音乐长度及风格准备一篇诗歌,使得朗诵文章所用的时间小于背景音乐的长
度。当然,也可以先准备诗歌,再根据诗歌内容情调选一首符合的背景音乐。把背景音乐和朗诵的诗分别储存在一个文件夹中。文件名可分别为“朗诵诗、背景音乐”
(2)录音前的准备。在录音前先要对声卡进行简单的录音设置。
○1 实验中请戴好耳机,以免影响别人,同时也可以使自己听得更清楚。
○2 双击 Windows 任务栏右侧的音量图标,打开“音量控制”对话框。如图 1 所示。
“音量控制”对话框
○3 选择“选项”/“属性”菜单项,在打开的“属性”对话框中,在“调节音量”框中选择“录音”单选按钮,然后在“显示下列音量控制”框中勾选“麦克风”复选框。如图 2 所示。
图 2“属性”对话框
○4 单击“确定”按钮调整音量到合适的位置。
如果听不到麦克风中的声音,则执行“程序”->“附件”->“娱乐”->“音量控制”。将麦克风选项下的静音取消,然后试一下有没有声音。注意,试好声音以后,要将麦克风选项下的静音重新设置好。
图 3 “录音”对话框
○5 如果想录音质量更好可以单击“高级”按钮,打开“麦克风的高级控制”对话框,在此对话框的“其它控制”框中勾选“麦克风加强”复选框。
图-4 “麦克风的高级控制”对话框
○6 关闭所有的对话框,完成对声卡的设置。
(3)启动 Adobe Audition 程序,单击“编辑查看”按钮,进入单轨波形编辑界面。
图 6 录音前准备
2)按下“传送器”面板中的红色录音按钮开始录制声音,结束后再等待几秒钟,录进去一段环境噪音,为后期进行采样降噪获取样本。单击“停止”按钮结束录音。如图 7 所示。
图-7 录音
3)单击“播放”键进行试听,检查录制的声音有无严重的出错,是否要重新录制。
4)检查确认无误后,双击录制的音频文件,进入单轨波形编辑界面,将音频以“朗诵诗.mp3”文件名保存在指定文件夹中。
红色 录音键 正录制的音频
(4)编辑音频,删除前后没声音即空白的地方。试听多几遍,如果中间某段朗诵间隔太短,可以复制空白处然后粘贴到指定位置。
(5)降噪。
1)在单轨波形编辑界面中,放大波形,选中一段刚录的纯噪音,时间长度不少于 0.5 秒。
2)选择“效果”/“恢复”/“降噪(处理)”菜单项,打开“降噪”对话框,如图 8 所示,在此对话框中单击“采集预置文件”按钮,进行噪音采样。
图-8 降噪采样
3)单击“选择整个文件”按钮,以对整个音频文件进行降噪处理。
4)在如图-9 所示的对话框中设置相应的参数值后,单击“确定”按钮,系统就开始自动清除噪声。
图 9 “降噪”对话框
(9)降噪处理结束,试听确认无误后,点击保存。
(10)对自己制作的音频文件处理效果满意后,切换到多音轨编辑界面。
(11)在左侧面板及朗诵诗文件下面双点击鼠标左键,然后选择所存的背景音乐。
(11)打开多轨界面中,在轨道一处点击鼠标右键“插入/背景音乐”,然后在轨道二处插入朗诵诗
如图 10
图 10
(12)在背景音乐中间处点击右键“分离”,点击右段然后按右键“删除”,把背景音乐另一端删除后,调整前段的长度。然后点击主群组上面标题框第三个键后,把朗诵诗音频拉向背景音乐轨道的右边一点。如图 11
图 11
图 12,淡入淡出处理图
(13)进行淡入淡出处理拖动节点,形成“/-----”型曲线,拖动节点时要注意,淡入淡出至少需要 4 个节点,峰段需要平稳的保持上升的或在最后保持直线下降。根据所读诗的内容声调等调节何时淡入淡出。如图 12
(14)为了增加音效,可对音频进行回声处理。先暂停播放音频,然后在轨道处按下“fx”后按下“主控”然后出现下图的版面,然后点循环播放,先点击 lock left/right 复选框将左右声道关联。在此过程中不断地跳动下图所示的滑轮,直到听到声音听起来很丰满。当然,也可以根据情况选择 Delay 的延时效果,模拟各种房间效果,模拟空中回声、隧道、立体声远处演示效果等。
图 13
(15)选择“文件/导出/混音频/ MP3 格式”保存文件,命名为“学号+姓名+配乐诗朗诵”实验就完成了。
五、结果与分析
六、心得体会
第四篇:数码转换 实验报告 微机原理
实验九
数码转换
一、实验目的
1、掌握计算机常用数据编码之间的相互转换方法。
2、进一步熟悉DEBUG软件的使用方法。
二、实验内容
1.ACSII码转换为非压缩型BCD码
编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。将其转换成非压缩型(非组合型)BCD码后,再存入DATA2开始的单元中。若输入的不是十进制数,则相应单元中存放FFH。调试程序,用D命令检查执行结果。
2.BCD码转换为二进制码
编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码DATA1,转换成二进制数存入DATA2字单元中。调试程序,用D命令检查执行结果。3.十六进制数转换为ASCII码
编写并调试正确的汇编语言源程序,使之将内存DATA1字单元中存放的4位十六进制数,转换为ASCⅡ码后分别存入DATA2为起始地址的4个单元中,低位数存在低地址的字节中,并在屏幕上显示出来。
三、实验预习
1.复习材料中有关计算机数据编码部分的内容。2.按要求编写程序。
四、实验步骤
1.编辑源文件,经汇编连接产生EXE文件。2.用DEBUG调试、检查、修改程序。
五、实验内容
1.ACSII码转换为非压缩型BCD码 STACK SEGMENT PARA STACK 'STACK'
DB 256 DUP(?)
;为堆栈段留出256个字节单位
STACK ENDS DATA SEGMENT PARA 'DATA';定义数据段
DATA1 DB 32
;缓冲区最大长度
DB ? DB 32 DUP(?)DATA2 DB 32 DUP(?)DATA ENDS CODE SEGMENT
;定义代码段 ASSUME SS:STACK ASSUME CS:CODE ASSUME DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,DATA1
;规定:DX存放输入字符串的缓冲区首地址 MOV AH,0AH INT 21H
;字符串输入 AL=键入的ASCII码 LEA SI,DATA1 LEA DI,DATA2 INC SI MOV CL,[SI] INC SI LP1: MOV AL,[SI] SUB AL,30H CMP AL,0 JL LP2 CMP AL,9 JG LP2 MOV BL,AL MOV [DI],BL INC DI INC SI DEC CL JMP LP1 LP2: MOV AL,0FFH MOV BL,AL MOV [DI],BL INC DI INC SI DEC CL CL=CL-1 JNZ LP1 LP3: MOV AH,4CH INT 21H CODE ENDS END START
;DI存放DATA2首地址
;取输入字符串长度
;指向第一个输入字符
;输入的字符存为ASCII码,将其转换成十进制数
;若AL<0(AL-0<0),跳转到LP2
;若AL>9(AL-9>0),跳转到LP2
;将AL->BL
;将结果存到DATA2开始的单元中
;若输入的不是十进制数,在相应的单元存放FFH
;以字母开头的十六进制数前面需加'0'
;将AL->BL
;CL=0,执行LP3中的语句
2.BCD码转换为二进制码
DATA
SEGMENT
DATA1 DW 2497H
DATA2 DW ?
DATA
ENDS
CODE
SEGMENT
ASSUME SS:STACK,CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
XOR BX,BX
;累加单元清0(BX=0)
MOV SI,0AH
;设置乘数10
MOV CL,4
;指4位BCD码
MOV CH,3
;循环次数=3 MOV AX,DATA1
;取十进制数
LP:
ROL AX,CL
;取数字
MOV DI,AX
;保存当前AX值
AND AX,0FH
;屏蔽高位
ADD AX,BX
;累加
MUL SI
MOV BX,AX
MOV AX,DI
DEC CH
;循环次数减1
JNZ LP
;以上完成循环三次
ROL AX,CL
;取个位数字
AND AX,0FH
;屏蔽高位
ADD AX,BX
;进行累加,直接将最后的累加结果放到AX中
MOV DATA2,AX
MOV AH,4CH
INT 21H
CODE
ENDS
END START
3.十六进制数转换为ACSII码 STACK
SEGMENT
DB 256 DUP(?)
STACK
ENDS
DATA
SEGMENT
DATA1 DB 24H,06DH
DATA2 DB 4 DUP(?)
;存放ASCII码
JUMP DB 4 DUP(?)
;4位十六进制数分别存放在DATA3的4个字节中
DATA ENDS
CODE
SEGMENT
ASSUME SS:STACK,DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA SI,DATA1
LEA DI,JUMP
MOV CL,2
;循环2次,取两次两位十六进制数
LP0:
MOV AL,[SI]
;取2位十六进制数
AND AL,0F0H
;低四位为零
ROR AL,4
;右移4位
相当于除以16
MOV [DI],AL
;高位数存放在高地址字节中
INC DI
MOV AL,[SI]
;取2位十六进制数
AND AL,0FH
;高四位为零
MOV [DI],AL
;低位数存放在低地址字节中
INC SI
INC DI
DEC CL
JNZ LP0
LEA SI,JUMP
LEA DI,DATA2
MOV CL,4
LP1:
MOV AL,[SI]
CMP AL,9
JG LP3
ADD AL,30H
JMP LP3
LP2:
ADD AL,37H
LP3:
MOV [DI],AL
INC DI
INC SI
DEC CL
JNZ LP1
MOV AH,09H
INT 21H
MOV DX,OFFSET DATA2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE
ENDS
END START
;SI=JUMP的首地址偏移量
;DI=DATA2的首地址偏移量
;因为是四位十六进制数,所以设置为循环4次
;取JUMP中的十六进制数
;若AL>9(AL-9>0),跳转到LP3
;0~9H+30H=ASCII
;A~FH+30H=ASCII
;将ASCII码依次存入DATA2中
六、实验习题与思考
1.编程实现:从键盘上输入两位十六进制数,转换成十进制数后显示在屏幕上。STACK SEGMENT
DB
256 DUP(?)
STACK ENDS
DATA SEGMENT
DATA1 DB
5,?,2 DUP(?)
DATA2 DB
DUP(?)
DATA3 DB
DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME
SS:STACK,DS:DATA,CS:CODE
START:MOV
AX,DATA
MOV
DS,AX
LEA
DX,DATA1
MOV
AH,0AH
INT
21H
;输入字符串
LEA
SI,DATA1+2
LEA
DI,DATA2
MOV
CL,2
;将ASC码转换为十六进制数
LP1: MOV
AL,[SI]
SUB
AL,30H
CMP
AL,9
JA
LP2
MOV
[DI],AL
INC
DI
INC
SI
DEC
CL
JZ
LP3
JNZ
LP1
LP2: SUB
AL,7
MOV
[DI],AL
INC
DI
INC
SI
DEC
CL
JNZ
LP1
;将十六进制数转换成十进制数,并保存
LP3: LEA
DI,DATA2
MOV
AL,[DI]
MOV
BL,[DI+1]
MOV
CL,4
SHL
AL,CL
ADD
AL,BL
MOV
[DI],AL
LEA
SI,DATA3
XOR
AH,AH
MOV
CL,100
DIV
CL
;AH=AX%100,AL=AX/100
MOV
[SI],AL
;保存百位数
MOV
AL,AH
XOR
AH,AH
MOV
CL,10
DIV
CL
MOV
[SI+1],AL
;保存十位数
MOV
[SI+2],AH
;保存个位数
;屏幕显示十进制数
LP4: MOV
DL,[SI]
;取百位数送显
OR
DL,30H
MOV
AH,02H
INT
21H
MOV
DL,[SI+1]
;取十位数送显
OR
DL,30H
MOV
AH,02H
INT
21H
MOV
DL,[SI+2]
;取个位数送显
OR
DL,30H
MOV
AH,02H
INT
21H
MOV
AH,4CH
INT
21H
CODE ENDS
END
START
2.十进制数转换为七段码。
为了在七段显示器上显示十进制数,需要把十进制数转换为七段代码。转换可采用查表法。设需要转换的十进制数已存放在起始地址为DATA1区域中,七段代码转换表存放在起始地址为TABLE表中,转换结果存放到起始地址为DATA2区域。若待转换的数不是十进制数,则相应结果单元内容为00H。
STACK SEGMENT
DB
256 DUP(?)
STACK ENDS
DATA SEGMENT
DATA1 DB
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,'A','B','C','$'
TABLE DB
00H,40H,01H,79H,02H,24H,03H,30H,04H,19H,05H,12H,06H,02H, 07H,78H,08H,00H,09H,18H,0AH,08H,0BH,03H,0CH,46H,0DH,21H,0EH,06H,0FH,0EH
;实际数据定义必须在同一行
DATA2 DB
DUP(0)
COUNT EQU
DATA ENDS CODE SEGMENT
ASSUME SS:STACK,DS:DATA,CS:CODE
START: MOV
AX,DATA
MOV
DS,AX
LEA
SI,DATA1
LEA
BX,DATA2
LEA
DI,TABLE
XOR
AH,AH
LP1: MOV
AL,[SI]
;外循环DATA1指向下一个
INC
SI
MOV
CX,16
;内循环TABLE 16次
LP2: CMP
[DI],AL
JE
LP3
ADD
DI,COUNT
;内循环TABLE指向下一组
DEC
CX
JNZ
LP2
MOV
BYTE PTR[BX],00H 若不是十进制数,则结果保存为00H
INC
BX
CMP
AL,'$'
;设置结束标志
JNZ
LP1
JZ
LP4
LP3: MOV
AL,[DI+1]
MOV
[BX],AL
;转换结果保存在DATA2中
INC
BX
LEA
DI,TABLE
CMP
CL,0
JNZ
LP1
LP4: MOV
AH,4CH
INT
21H
CODE ENDS
END START
第五篇:二进制到BCD转换实验报告
二进制到BCD转换实验报告
班级
姓名
学号
日期
一、实验目的:1.掌握简单的数值转换算法
2.基本了解数值的各种表达方法
二、实验要求:
将给定的一个二进制数,转换成十进制(BCD)码。
三、实验内容:
1、给累加器赋值,如#123
2、将累加器的内容拆分为三个BCD码,并存入Result开始的三个单元。
四、程序及运行结果截图
DATA
SEGMENT RESULT_1
DB
RESULT_2
DB
RESULT_3
DB
DATA
ENDS
STACK
SEGMENT
ATACK STA
DB
DUP(0)STACK_TOP DB
0 STACK
ENDS
CODE
SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:
MOV
AX,DATA MOV
DS,AX MOV
AX,STACK MOV
SS,AX LEA
SP,ATACK_TOP MOV
AX,123H MOV
CL,100 DIV
CL MOV
RESULT_1,AL
MOV
CL,8 SHR
AX,CL MOV
CL,10 DIV
CL MOV
RESULT_2,AL MOV
RESULT_3,AH
ADD
RESULT_1,30H ADD
RESULT_2,30H ADD
RESULT_3,30H
MOV
DL, RESULT_1 MOV
AH,02H INT
21H
MOV
AX,4C00H INT
21H CODE
ENDS
END
START
五、实验过程中遇到的主要问题
;将 A 拆为三个 BCD 码, 并存入 Result 开始的叁个单元
Result equ
20h
org
0
ljmp Start
BinToBCD:
mov
b, #100
div
ab
mov
Result, a
;除以 100, 得百位数
mov
a, b
mov
b, #10
div
ab
mov
Result+1, a
;余数除以 10, 得十位数
mov
Result+2, b
;余数为个位数
ret
Start:
mov
sp, #40h
mov
a, #123
call BinToBCD
ljmp $
end
六、实验后的心得体会