- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言_产生警报声程序设计_实验报告,汇编语言程序设计实验,汇编程序设计实验报告,汇编程序实验报告,汇编语言实验报告,中考物理实验题汇编,汇编实验报告,东北大学汇编实验报告,高考物理实验题汇编,实验室制度汇编
产生警报声程序设计
目录
产生警报声程序设计 1
目录 1
1 绪论 2
1.1设计目的和意义 2
1.2背景知识交代 2
1.3设计内容 2
1.4 程序设计说明 3
2 程序设计 3
2.1程序设计原理 3
2.2设计环境与工具 3
2.3发声程序设计主要步骤 3
2.4程序流程图 4
3 程序运行与调试 5
3.1程序源码 5
3.2截图 12
结语 13
参考文献 13
1 绪论
1.1设计目的和意义
1.2背景知识交代
I/O接口部件中一般有三种寄存器:一是用作数据缓冲的数据寄存器;二是用作保存设备和接口的状态信息,提供CPU对外设进行测试的状态寄存器;三是用来保存CPU发出的命令以控制接口和设备的操作的命令寄存器,这些寄存器都分配有各自的端口号,CPU就是通过不同的端口号来选择各种外部设备的。
在自然中,各种声音都是通过振动产生的。人耳能听到的频率大概在20Hz~20KHz范围内。查阅相关资料,可以得到如下常见警报声的频率表:
车型 音调名称 音响频率(Hz) 重复变调周期(s)
警车 紧急调频调 6000-50~15000+50 0.333~0.385
双音转换调 f1:800±50 f2:1000±50 0.455~0.556
消防车 连续调频调 6000-50~15000+50 3.000~5.000
救护车 慢速双音转换调 f 1:800±50 f2:1000±50 1.667~2.500
工程抢险车 单音断鸣高 800±50 0.455~0.556
1.3设计内容
产生急速上滑报警音响,要求变化率可控,由键盘输入控制值。按“Q”键退出。
1.4 程序设计说明
根据1.2中所述,常见警报声的频率基本是固定的,分别作不同的用途,因此本程序中规定警报声的频率从20Hz~1500Hz。变化率的改变则是通过每次选择不同的频率增量来实现。而不同的频率增量已经提前存储在程序中,提供给用户的是选择几种比较感性的选项:非常慢,慢速,常速,快速以及非常快。
2 程序设计
2.1程序设计原理
计算机的发声原理:在计算机内部有一个可编程时间间隔定时器8253/54 (Programmable internal timer, PIT), 它能根据程序提供的计数值和工作模式,产生各种形状和各种频率的计数/定时脉冲,提供给系统的各个部件使用。例如,提供计时信号给系统日时期,提供刷新定时信号给动态存储器,对分时系统产生时间片等。它还可以产生不同频率的脉冲作为扬声器的声源。
2.2设计环境与工具
DOS操作系统
编辑工具EDIT.EXE
汇编工具MASM.EXE(5.0)
连接工具LINK.EXE
调试工具DEBUG.EXE
2.3发声程序设计主要步骤
1.在8253/54中的43端口送一个控制字0B6H),该控制字对定时器2进行初始化,使定时器2准备接收计数初值。
2.在8253/54中的42H端口(Timer2)装入一个16位的计数值(533H*896/频率),以建立要产生的声音频率。
3.把输出端口61H的0、1两位置1,发出声音。
2.4程序流程图
3 程序运行与调试
3.1程序源码
;******************************************
;Programmer:孔祥振
;Date:2010/1/3-2010/1-6
;Function:To generate alarm sound that can
; be controlled.
; Press Q to exit
;******************************************
;******************************************
datas segment
messinfo1 db ———Please input 1~5,which represents the changing level of the alarm,———,$
messveryslow db | 1. very slow |,$
messslow db |
文档评论(0)