微机原理 音乐播放程序设计.doc

微机原理 音乐播放程序设计.doc

ID:57067747

大小:2.44 MB

页数:15页

时间:2020-07-31

微机原理 音乐播放程序设计.doc_第1页
微机原理 音乐播放程序设计.doc_第2页
微机原理 音乐播放程序设计.doc_第3页
微机原理 音乐播放程序设计.doc_第4页
微机原理 音乐播放程序设计.doc_第5页
资源描述:

《微机原理 音乐播放程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告(2016/2017学年第二学期)课程名称微机原理与接口技术实验名称音乐播放程序设计实验时间2017年6月13日学院电子信息学院指导教师严华学生姓名学号学院(系)电子信息学院专业光电信息科学与工程1、实验目的通过编写程序控制8253和8255A芯片,实现一个简单的音乐播放程序。2、实验原理我们在这次课设选择了音乐程序设计,音乐程序设计可以实现至少两首歌的可选择播放。对于歌曲的播放我们采用的是计数器/定时器8253芯片,而对于选择哪首歌播放则是利用可编程并行接口8255A芯片来实现的。基于8253定时计数接口芯片的工作原理,本次

2、课设实现了音乐演奏系统程序设计。当运行程序时,扬声器便发出优美的音乐。首先要解决发声并发出相应音符声音的问题,由8253计数器0在初始化时用来产生一定频率的方波来使扬声器发声,再根据不同音符对应的频率写入计数初值发出相应的音符声。对8255芯片PA0和PA1口的置0和1来控制扬声器的开关。其次实现唱歌功能即实现歌曲的节拍通过调用延时子程序控制音符发音的长短,实现连续发声把[SI]是否为0作为循环的条件在每一次扬声器发出一个相应音符之后做无条件转移,从而使扬声器连续发声。3、实验内容A.实验环境搭建B.编程由于选取的乐曲音符音调幅度较大

3、,故利用表格,算出其初值计数初值=1193180(8253输入频率)/音符频率以下为程序代码#include#include#defineINIT_T20xb6#definePORT_T20x42#defineCTRL_T0x43#definePORT_PB0x61#defineDDO4554#defineDRUI4058#defineDMI3616#defineDFA3419#defineDSO3044#defineDLA2712#defineDXI2415#defineDO2281#defineRU

4、I2033#defineMI1811#defineFA1709#defineSO1522#defineLA1356#defineXI1208#defineGDO1140#defineGRUI1015#defineGMI905#defineGFA854#defineGSO761#defineGLA678#defineGXI604voidsing(unsignedintfrq,unsignedintms){unsignedcharvalue;union{unsignedintdivisor;unsignedchard[2];}tone;i

5、f(frq!=0){tone.divisor=frq;outportb(CTRL_T,INIT_T2);outportb(PORT_T2,tone.d[0]);outportb(PORT_T2,tone.d[1]);value=inportb(PORT_PB);outportb(PORT_PB,(value

6、0x03));}delay(ms);outportb(PORT_PB,(value

7、0xfc));}voidmain(){sing(DSO,400);sing(DLA,400);sing(DO,400);sing(RUI,400)

8、;sing(MI,600);sing(RUI,200);sing(RUI,400);sing(DO,400);sing(DLA,1600);sing(0,1600);sing(DSO,400);sing(DLA,400);sing(DO,400);sing(RUI,400);sing(MI,400);sing(SO,800);sing(RUI,2000);sing(0,2000);sing(RUI,800);sing(DSO,400);sing(RUI,400);sing(RUI,400);sing(MI,400);sing(RUI,

9、400);sing(DO,1600);sing(0,2000);sing(RUI,400);sing(RUI,400);sing(RUI,400);sing(DSO,400);sing(DLA,400);sing(DO,400);sing(DLA,2000);sing(0,2000);sing(FA,800);sing(FA,400);sing(MI,400);sing(RUI,400);sing(DO,400);sing(RUI,2000);sing(0,2000);sing(RUI,400);sing(RUI,400);sing(

10、RUI,400);sing(RUI,400);sing(DSO,400);sing(DLA,400);sing(DO,400);sing(DLA,2000);sing(0,2000);sing(SO,400);sing(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。