1. 利用系统机8254的2号计数器,对其重新初始化。 2. 选择一首自己喜欢的乐曲。 3. 定义好自己选择的乐曲的频率和节拍数据,设计一个完整的音乐程序。 4. 运行以后机器能自动重复演奏音乐,直到主机有键盘输入时才停止。 实验报告“南京邮电大学微机原理实验报告(音乐程序设计)”主要涉及微机原理中的音乐合成技术,以及8254定时/计数器的使用。该实验旨在通过编程实现利用微机系统播放音乐,让学生掌握汇编语言编程、8254的工作原理及其初始化编程设计。 实验的核心知识点包括: 1. **汇编语言编程**:实验使用汇编语言编写程序,以控制8254计数器实现音乐播放。汇编语言是一种低级语言,直接对应机器指令,用于精确控制硬件资源。 2. **8254可编程定时/计数器**:8254是Intel 8086微处理器系统中常见的定时/计数器芯片,有三个独立的计数通道,可以被配置为不同的工作模式。在实验中,学生需要了解其工作原理,特别是2号计数器,并对其进行初始化编程以产生特定频率的方波。 3. **音乐频率和节拍数据**:实验中,学生需要为所选乐曲定义频率和节拍数据。这些数据决定了音乐的音高和节奏。例如,数据段中的`TABF`和`TABT`分别存储了音符的频率值和持续时间,其中负数表示休止符。 4. **音乐播放逻辑**:程序通过读取频率和节拍表,将频率转换为8254计数器的初始值,然后调用延迟函数等待一定时间,模拟音符的播放。同时,程序会检查键盘输入,以便在有输入时停止音乐播放。 5. **延迟函数**:`DELAY PROC`部分的代码实现了延迟功能,通过循环计算和调用中断服务程序来延时,确保音符的准确播放。 6. **8254的计数器操作**:在实验中,使用了8254的写命令初始化计数器,然后通过读取并更新计数器的值来控制音乐的播放。8254的计数器可以工作在多种模式,如波特率发生器、脉宽调制等。 7. **汇编语言开发环境**:实验使用Windows操作系统和汇编语言开发工具MASM或TASM。这些工具提供了一个平台,用于编写、编译和调试汇编语言程序。 实验中遇到的问题及解决方法包括调整N1和N2的值以优化音乐播放速度,以及修正播放结束时的额外音符问题,这反映了实际编程中对细节的关注和调试技巧的重要性。 通过这个实验,学生不仅能深入理解微机系统的内部工作,还能体验到将理论知识应用于实践的乐趣,提升解决问题的能力,同时也加深了对音乐与数字信号之间关系的理解。
- 粉丝: 3w+
- 资源: 107
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助