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

微机原理实验报告六


微型计算机原理与接口技术 实验报告
一、 实验内容
实验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 可编程中断控制器,实现对外部中断的响应和处理。要求程序中 对...
微机原理实验报告5
微机原理实验报告5_工学_高等教育_教育专区。实验报告 课程名称: 《微机原理》...余数 六、实验数据误差分析及反思: 1、在做双字节无符号数除法时,首先多留...
微机原理实验报告
物理与信息工程学院 微机原理 实验报告 实验一 1. 写出完成下列功能的指令序列 ...实验结果: 四个偶数的和:2+4+6+8=20 实验七代码转换:设计将十六位二进制...
微机原理实验报告4
微机原理实验报告4_工学_高等教育_教育专区。实验报告 课程名称: 《微机原理》...0CA6 1C03 281F 0820 07A2 1803 0AA3 0821 07A3 0CA3 0CA2 0CA5 0CA4 ...
uestc微机原理实验报告1
微机原理实验报告一 电子科技大学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY...实验(实现字符串拷贝功能) 4.汇编调用 C 实验 5.ARM 汇编实现冒泡算法 六、...
微机原理实验报告
华北电力大学 实验报告 | | 实验名称 微机原理与汇编语言程序设计课程实验 课程...实验原理 四、实验方法与步骤 五、实验结果与数据处理 六、讨论与结论(对实验...
微机原理实验报告一
微机原理实验报告一_调查/报告_表格/模板_实用文档。微机原理与接口技术实验...6.核心就是减去一个数等于加上这个数的补码。 五、讨论和心得: 本次实验我...
微机原理实验报告
微机原理实验报告_其它_总结/汇报_实用文档。实验一 汇编语言的编译、链接和调试...6) 总结该程序实现了什么功能,考虑用循环的方式改写程序调试。 五、实验报告...
微机原理实验报告
微机原理与接口技术 实验报告 学院:信息工程学院 班级: 学号: 姓名: 实验一:...6, 2, 4, 4, 6, 2, 4, 4 ; 时间表 DB 6, 2, 4, 4, 12, 1,...
微机原理实验报告6
8254 定时/计数器应用实验 1. 实验目的 :(1) 、掌握 8254 的工作方式及应用编程。 (2) 、掌握 8254 的典型应用电路接法。 2. 3. 实验设备 : PC 微机一...
更多相关标签:
微机原理实验报告 | 微机原理上机实验报告 | 北航微机原理实验报告 | 微机原理实验报告总结 | 南邮微机原理实验报告 | 浙大微机原理实验报告 | 广工微机原理实验报告 | 华科微机原理实验报告 |