- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3 蜂鸣器救护车
救护车
1. 实验任务
实现开发板上的蜂鸣器发出救护车鸣笛声。通过这个实验,掌握采用 Verilog
HDL 语言编程实现蜂鸣器发声的方法。
2. 实验环境
硬件实验环境为艾米电子工作室型号 EP2C8Q208C8 增强版开发套件。
软件实验环境为 Quartus II 8.1 开发软件。
3. 实验原理
艾米电子工作室开发板板载 50MHZ 的晶振,通过 Verilog HDL 语言编程将
此频率分频后驱动一个 I/O 口。这个 I/O 口连接到一个交流蜂鸣器。通过改
变这个 I/O 口的输出频率, 就可以使蜂鸣器发出各种声音和音乐。 本次实验
实现蜂鸣器发出救护车鸣笛声, 我们可以通过让蜂鸣器交替发出两个音调来
实现。 首先我们使用一个 24 位的计数器“tone”来产生一个低频的方波。 其最
高有效位 (tone[23]) 以大约 1.5Hz 的频率翻转。 我们使用这一位 (tone[23])
来控制主计数器产生在两个频率之间切换的输出波形, 这样一来就可以交替
发出两个音调。
4.蜂鸣器电路图
5. 实验程序
org 0000h
ajmp main
org 0030h
main:
MOV R2,#08H
DLV1: MOV R3,#0FAH
DLV2: CPL P1.5
LCALL DELAY1 ;延时
DJNZ R3,DLV2
DJNZ R2,DLV1
MOV R2,#10H ;改变循环初值
DLV3: MOV R3,#0FAH
DLV4: CPL P1.5
LCALL DELAY2
DJNZ R3,DLV4
DJNZ R2,DLV3
ajmp main
delay1:
mov r7,#00h
LLA: DJNZ R7,LLA
ret
delay2:
mov r7,#128
LLB: DJNZ R7,LLB
ret
end
6. 实验现象
开发板上的蜂鸣器发出救护车鸣笛声。大家可以试着编写程序通过改变输出
频率,使蜂鸣器发出其他各种声音。
实验总结
通过这次实验我懂得了救护车的鸣笛声是怎么发出来的,同时也知道了怎么样使蜂鸣器发出救护车的鸣笛声,更深刻了解了这次的实验原理。微机也做过了这样的实验,那时是使蜂鸣器唱一曲长亭外,两相结合感到收获良多。
原创力文档


文档评论(0)