您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 子程序指针 >

微机与接口技术课程设计音乐发生器实验

发布时间:2019-07-05 03:13 来源:未知 编辑:admin

  编写一个程序来初始化 8253 定时/计数器和 8255 并行通信接口芯片。通过接口 控制音乐发声器的播放和灯光的闪烁,实现通过运行在 MFDI 平台运行程序对硬件电 路的控制。

  2.1 原理 编写程序对 8253 和 8255 芯片进行初始化,按照音符来设定频率和 8253 定时/ 计数器的延时时间。对 8255 芯片 pc0 和 pc6 口的置 0 和 1 来控制扬声器的开关,对 pc4 口的置 0 和 1 控制 LED 灯的闪烁。 2.2 要求 (1)熟悉电路,理解各个元件之间的控制流程。 (2)熟悉 MFDI 平台的运行环境。 (3)熟练掌握 C 语言,调用中断子程序和端口函数对端口进行读写数据的操作。 (4)理解乐谱知识,熟悉音频转换表和节拍的延长时间 2.3 任务 (1)曲谱转换 (2)分析电路图 (3)画出程序流程图 (4)编写代码 (5)程序分析与调试 (6)测试 2.4 运行环境 (1)WINDOWS2000/XP 系统 (2)MFDI 实验平台 (3)VC 编译环境 2.5 开发工具

  读文件子程序 1 播放子程序 1 读文件子程序 2 播放子程序 2 读文件子程序 3 播放子程序 3 读文件子程序 4 播放子程序 4

  开始 初始化歌曲的频率及延时 初始化 8255 和 8253 取歌曲的第一个音符的频率和时延

  是否按了任意键或遇到 了音符频率的结束? N 根据频率计算计数初值并送往 8253 置 8255 的 pc6、pc0 为 1,使扬声器发声 调用延时子程序 置 8255 的 pc6、pc0 为 0,关闭扬声器 取下一个音符的频率和时延

  4.1 歌曲编排 根据歌曲的音符来获取它的频率和延时时间,具体介绍请参考《音乐发声器-音 乐篇》 4.2 分析和设计 在程序的开头部分是声明了四首歌曲的频率和延时时间然后分别定义了指向频 率数组和延时数组的指针, void interrupt (*oldhandler)(__CPPARGS); void interrupt handler(__CPPARGS) { (*pTimeDelay) -- ; // 延时点数减一 oldhandler(); // 调用原例程 } 这个函数表示的是调用的延时子程序。然后声明了 4 个 Playing 函数,来调用 4 首歌的播放子程序。下面是编写的 4 个 read 函数,分别是从文件里读出 4 首歌的音 符。通过转换表转换成 16 进制的数字(如表 4.1) 。 表 4.1 音符——灯光闪烁频率表

  通过这次课程设计使我充分理解了 8253 和 8255 两个芯片的工作原理,知道了 音乐发声器的硬件和软件的实现过程, 并且通过自己动手编写的程序来控制音乐发器 的工作,我感到非常有成就感,也锻炼了我的编程能力。在刚开始编程的时候,我感 到很茫然,不知道怎么样下手,但是通过自己的仔细的分析和老师的细心的指导,在 认真分析了原来已有的代码后,又加入了现实灯光闪烁的效果,而且现实从文件读取 音符来转换成相应的频率和延时数组,在此之后,我又编写了一个主界面,在里面编 写了一个菜单,来实现程序的跳转。

http://rasptools.com/zichengxuzhizhen/207.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有