当前位置:首页 >> 信息与通信 >>

微机原理实验报告六


微型计算机原理与接口技术 实验报告
一、 实验内容
实验6 音乐编程设计 实验题目 编写发音子程序,编程实现简单乐曲。 内容提要 掌握8255 可编程I/O 的使用;8253 可编程定时器的使用,学习 根据不同时钟频率,调整音调的频率和歌曲的节拍。

实验的源代码( 文件内容) 二、 实验的源代码(.asm 文件内容)
STACK SEGMENT PARA STACK 'STACK' DB 64 DUP(?) STACK ENDS DSEG SEGMENT PARA'DATA' MUSFREQ DW 330,392,330,294,330,392,330,294,330 DW 330,392,330,294,262,294,330,392,294 DW 262,262,220,196,196,220,262,294,330 DW 262,-1 MUSTIME DW 3 DUP(1000),500,500,1000,500,500,2000 DW 2 DUP(1000,1000,500,500),2000 DW 3 DUP(1000,500,500),2000 DSEG ENDS CSEG SEGMENT PARA 'CODE' ASSUME CS:CSEG,DS:DSEG,SS:STACK MUSIC2P PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DSEG MOV DS,AX LEA SI,MUSFREQ LEA BP,MUSTIME FREQ: MOV DI,[SI] CMP DI,-1 JE ENDMUS MOV BX,DS:[BP] SAL BX,1 SAL BX,1 CALL GENSOUND ADD SI,2 ADD BP,2 JMP FREQ

ENDMUS: RET MUSIC2P ENDP GENSOUND PROC PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI MOV AL,0B6H OUT 43H,AL MOV DX,12H MOV AX,533H*896 DIV DI OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,3 OUT 61H,AL WAITL: MOV CX,8888 DELAY: LOOP DELAY DEC BX JNZ WAITL MOV AL,AH OUT 61H,AL POP DI POP DX POP CX POP BX POP AX RET GENSOUND ENDP CSEG ENDS END MUSIC2P

实验的(显示) 三、 实验的(显示)结果
如果频率以及持续时间设置的比较恰当的话(与运行电脑的主频相匹配) ,运行 之后会有音乐响起。

进行 CV 调试按下 F5 键后的结果如下:

实验(调试) 四、 实验(调试)心得
通过这个实验程序的编写,我掌握了 8255 可编程 I/O 的使用方法,学会使用 8253 可编程定时器,并且学会了根据不同时钟频率,调整音调的频率和歌曲的 节拍。 通过对 8255A 的输出端口 61H 的低两位的状态进行控制, 确定扬声器有无驱动信 号输入。通过对 8253A 的编程,控制器通道 2 产生不同频率的波形,使扬声器发 出不同频率的声音。而乐曲是按照一定的高低、长短、强弱关系组成的音调,在 一首乐曲中,每个音符的音高和音长与声音的频率及持续时间有关,因此,可通 过编程控制驱动扬声器信号的发声频率级时间长短,达到演奏的目的。8253A 靠 内部计数器控制输出波形的频率,因此控制其计数器就完成对频率的控制。 在本实验中,我们对一首具体的乐曲,将乐谱数据化,转化为频率表及时间表, 在程序中顺序取出两个表中的值,经过计算及执行相关指令,使扬声器按乐谱发 音,便完成了乐曲的演奏。


赞助商链接
相关文章:
微机原理实验报告六
南昌大学微机原理与接口技术实验报告 实验六 8259 外部中断实验 1、实验要求:用 8088/86 控制 8259 可编程中断控制器,实现对外部中断的响应和处理。要求程序中 对...
(微机原理实验报告)
(微机原理实验报告)_电脑基础知识_IT/计算机_专业资料。6个实验报告实验报告 课程名称 专班学业级号 微机原理与接口(技术) 通信工程 通信 1301B 1334140157 刘欢 ...
微机原理实验报告_图文
实验地点 2015 ~ 2016 学年第 二 学期 《微机原理与接口技术》实验一(1)实验名称 姓名 系院专业 2016.6.14 存贮器内部数据传送 电子信息类 指导教师 班级 ...
微机原理实验报告_图文
微机原理实验报告 - 此实验报告是我二人进行讨论后共同编写,其中主要负责写实验一、四、 六部分,主要负责写实验二、三、五部分。 实验一 (1) 一.实验内容: ...
微机原理实验报告
微机原理实验报告_工学_高等教育_教育专区。微机原理华北电力大学科技学院实验报告 课程名称:微机原理实验 指导老师:郭军 学生姓名:牛玺童 班学级:电气11k6 号:1119...
微机原理实验报告_图文
微机原理实验报告 - 微机原理实验报告 班级: 指导老师: 学号: 姓名: 实验一 一、实验目的 两个多位十进制数相加的实验 学习数据传送和算术运算指令的用法 熟悉...
微机原理及应用实验报告
微机原理及应用实验报告_工学_高等教育_教育专区。实课 程名称实验名称实验日期...6FH OUT 21H,AL ;初始化 8254 MOV DX,CON8254 MOV AL,___11h___ OUT ...
微机原理实验报告六
实验六 一、实验目的 数学表达式计算 1. 掌握算术运算指令的应用方法。 2. 理解计算机中除法溢出的含义。 二、实验内容 1.设 W、X、Y、Z 均为 l 6 位带...
北京交通大学微机原理实验报告
北京交通大学微机原理实验报告北京交通大学微机原理实验报告隐藏>> 微机原理实 验...六号功能判断若无字符输入ZF=1继续循环 ;---MOV AH,4CH INT 21H ;---延时...
微机原理实验报告2011
6 云南农业大学工程技术学院---微机原理与应用实验报告 实验三姓名: 一、实验目的 学号: 8255A 并行口实验报告专业: 年级: 1、 掌握 8255A 和微机接口方法 2...
更多相关标签: