音乐演奏程序设计解析.pdfVIP

  • 1
  • 0
  • 约1.78万字
  • 约 18页
  • 2021-03-25 发布于天津
  • 举报
信息与电气工程学院 电子信息工程 CDIO 一级项目 (2013/2014 学年第一学期) 题 目 : 音乐演奏程序设计 专业班级 : xxxxxxxxxxxxxxxxx 学生姓名 : xxxxxxx 学 号: xxxxxxxxx 指导教师 : xxxxxxx 设计周数 : 设计成绩 : 2013 年 12 月 28 日 1、项目设计目的 1.1 掌握接口电路的应用和设计技术。 1.2 掌握汇编语言的设计思路。 1.3 掌握 8086 的控制流程,以及 8255 和 8253 芯片的功能。 1.4 用汇编程序完成键控音乐播放器 , 用 8253 定时器来产生声音。 1.5 使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言 程序的设计和调试。 2、项目设计正文 2.1 设计内容 要求完成一个音乐程序,即通过按下键盘上某个按键就可以按预先设定的程序播放音乐或者终止程 序。比如:按大写字母“ 1”,唱乐曲“沂蒙山小调” ;按大写字母“ 2”,唱乐曲“生日快乐”按大写字母 “3”,唱乐曲“棉花糖” ;按 4 键,退出。并且可以重复操作。 2.2 总体设计思路 在 IBM-PC/XT 机中都带有 8253-5 定时 / 计数器, IBM-PC/AT 中带有 8254 定时 / 计数器, 这两种芯片功 能十分类似。 本文通过对 8253-5 定时 / 计数器芯片的操作实现音乐演奏。 该声音接口通过汇编语言对 8253-5 的端口直接进行操作,可以不必要过多的使用 BIOS 的调用和 DOS的调用。 计数器芯片有 3 个通道,各自具有专用功能。通道 0 时系统的始终节拍计时器,通道 1 专用于产生动 态 RAM的定时刷新信号, 通道 2 用来控制计算机的扬声器的声音频率。 该音乐演奏主要用到通道 2 的功能, 使通道 2 工作在“方波发生器”方式,产生相应频率的音调送至喇叭驱动电路,使喇叭发出不同音调的声 0 1 音。使用 8255A 的 PB 控制通道 2 的计数, PB 控制通道 2 的输出对扬声器产生控制的时间。 人机交互包括屏幕显示提示语以及人工输入相应参数,主要应用到 BIOS 的 10H号中断调用以及 DOS 的 21H 号中断调用。 BIOS 的 10H号中断调用用于显示器驱动,设置显示模式和光标位置; DOS的 21H 号中 断调用用于单字符输入以及多字符输出显示。 音乐演奏实现的一个主要步骤是乐谱编程。 通过相应的频率表将乐谱中对应的音符转化为计数器的计 数初值,节奏通过延时程序转化为对喇叭发音时间的控制,从而实现音符和节拍的数字化。 2.3 流程图 2.3.1 主程序流程图 - 1 - 开始 显示提示信息 接收键盘输入 是

文档评论(0)

1亿VIP精品文档

相关文档