




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8255并行接口B口(端口地址0 x61),音乐程序设计,1.PC机的扬声器驱动系统,与门,8254的2号定时器,76543210,1.193MHz输入脉冲,1,1,1,8255并行接口B口的第0位为1时,定时器开始工作,产生音频信号。,8255并行接口B口的第1位为1时,与门打开,音频信号送到扬声器。,控制扬声器发声,8254是可编程的定时器,有0号、1号、2号共3个可独立编程的16位定时器,还有一个控制字寄存器。,2号定时器工作在方波频率发生器方式,即输出方波信号。输出方波的频率为:1193180Hz/计数初值。向2号定时器写入不同的计数初值,可控制输出方波的频率。,控制字寄存器的I/O端口地址是0 x430号定时器的I/O端口地址是0 x401号定时器的I/O端口地址是0 x412号定时器的I/O端口地址是0 x42,计数初值是16位的,要分两次写入2号定时器,先写低8位,再写高8位。,8位端口输入函数inportb(),函数原型:unsignedcharinportb(intportid);,功能:从地址为portid的8位端口输入一个字节(8位),所读的值是该函数的返回值,由头文件dos.h说明。,用法:#includeunsignedcharb;b=inportb(端口地址);,8位端口输出函数outportb(),函数原型:voidoutportb(intportid,unsignedcharvalue);,功能:向地址为portid的8位端口输出一个字节(8位),其值为value,由头文件dos.h说明。,用法:#includeoutportb(端口地址,无符号字符型数据或变量);,音符的定义,音频信号的频率范围是202000Hz,音乐中使用的频率一般为1311976Hz,包括中央C调及其前后的4个八度的音程。音符与频率的关系如下表所示。,音长的定义,音长即一个音符持续的时间。N1表示全音符N2表示半音符N4表示4分音符N8表示8分音符N16表示16分音符,用C语言定义音乐,1234567C0D0E0F0G0A0B0,第一小节:D0,N4+N8,E0,N16,D0,N16,C0,N4+N8,A0,N8,第二小节:G0,N4,E0,N8,G0,N8,A0,N4+N8,C0,N8,源程序,#include#include#include#include#include#include#defineN164#defineN232#defineN416#defineN88#defineN164#defineEND0,enumNOTESC10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494,C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988,C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976;typedefenumNOTESSONG;SONGsong=D0,N4,E0,N8,D0,N8,C0,N4,A10,N4,G10,N8,E10,N8,G10,N8,A10,N8,C0,N2,A10,N4,A10,N8,C0,N8,G10,N8,A0,N8,E0,N8,G0,N8,D0,N2,E0,N4,D0,N8,E0,N8,G0,N4,E0,N4,G0,N8,E10,N8,G10,N8,A10,N8,C0,N2,A10,N4,A10,N8,C0,N8,A10,N8,A10,N8,D10,N8,E10,N8,G10,N2,D0,N4,D0,N4,G0,N4,A0,N8,G0,N8,F0,N2,G0,N2,A0,N4,G0,N8,E0,N8,D0,N8,E0,N8,C0,N8,A10,N8,D0,N2,E0,N4,G0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,G10,N8,A10,N8,C0,N4,A10,N4,A10,N8,C0,N8,D0,N8,A10,N8,C0,N8,E0,N8,D0,N1,END,END;,main()intnote=0,fre,dur,control;clock_tgoal;while(songnote!=END)fre=songnote;dur=songnote+1;if(kbhit()break;if(fre)/*若频率值fre非0*/outportb(0 x43,0 xb6);/*初始化2号定时器*/fre=(unsigned)(1193180L/fre);/*计算计数初值*/outportb(0 x42,(char)fre);/*先写计数初值的低8位*/outportb(0 x42,(char)(fre8);/*再写计数初值的高8位*/control=inportb(0 x61);/*读0 x61的状态*/outportb(0 x61,control|0 x03);/*将第0位,第1位置1,使喇叭发声*/,goal=(clock_t)dur+clock();while(goalclock();if(dur)outportb(0 x61,c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电力驿站文旅客服经理竞聘面试常见问题及高频答案
- 机电安装施工课件
- 课件Flash步骤教学课件
- 2025年政府会计准则制度考试备考手册及答案
- 2025年基金会筹资笔试高频解析题库
- 2025年房地产估价师专业技能考核试题及答案解析
- 2025年电子商务经理资格认证考试试题及答案解析
- 诸葛亮《出师表》课件
- 2025年传播总监慈善考试预测
- 2025年财务管理笔试模拟题及答案
- 国家级自然保护区乡土文化遗产灾后恢复重建项目可行性研究报告
- 集团公司校园招聘计划实施方案
- JJF 1002-2010国家计量检定规程编写规则
- GB/T 6663.1-2007直热式负温度系数热敏电阻器第1部分:总规范
- GB/T 6344-2008软质泡沫聚合材料拉伸强度和断裂伸长率的测定
- GA/T 1163-2014人类DNA荧光标记STR分型结果的分析及应用
- 蒸汽发生器设计、制造技术要求
- 全套课件-水利工程管理信息技术
- 施工员钢筋工程知识培训(培训)课件
- 《阿房宫赋》全篇覆盖理解性默写
- 学校体育学(第三版)ppt全套教学课件
评论
0/150
提交评论