单片机发声唱歌.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机发声实验( 1) 我们知道, 喇叭或蜂鸣器两端加上波动的电流喇叭或蜂鸣器就会发声。 单片机 要产生声音, 硬件电路较简单, 在某端口如下图所示接上一只三极管、 电阻和喇 叭或蜂鸣器即可。 简单的发声程序在光盘 \McuCai\sund 目录下,文件名为 sund1.asm。请将该文 件复制到 c:\c51\mypro 目录下并取掉只读属性,用 Medwin打开。 现在让我们看看程序是如何控制 spk1 发声的: bb bit p2.4 ; 定义 bb 在下面程序中代表 p2.4 star : clr bb ; 使 v1 9015 导通 acall d1ms ; 延时 setb bb ; 使 v1 9015 截止 acall d1ms ljmp star d1ms: mov r0,#2 dloop : mov r1,#250 ; 改变 r0 的数值将改变声音频率 djnz r1,$ djnz r0, dloop ret end 第 1 行,我们使用了 bit 位定义伪指令,将 bb 定义为 p2.4 ,这样,在下面的 程序中直接使用字母“ bb”就替代了 p2.4 。其好处是显而易见的:便于程序的 编写和阅读,便于程序移植,既将这段程序放到别的 51 单片机程序中,只要改 变 p2.4 为当前硬件的发生输出脚即可。 从 star 开始,将 bb 脚清 0,v1 9015 三极管导通, spk1 得电,延时 1ms,再 将 bb 脚置高, v1 关闭, spk1 失电,再延时 1ms,如此反复, spk1 便发出 500Hz 的声响。 改变延时子程序中 r0 ,r1 的赋值,将改变声音频率。 在下一讲中,我们将介绍声音的控制。 单片机发声实验( 2 ) 控制发声的例子程序在光盘 \McuCai\sund 目录下,文件名为 sund2.asm。请将 该文件复制到 c:\c51\mypro 目录下并取掉只读属性,用 Medwin打开。 ; 主程序 bb bit p2.4 ; 定义 bb 在下面程序中代表 p2.4 star: acall sund acall d05s ljmp star ; 声子程序 sund: mov r2,#250 ; 响 250 个周期 slop1: clr bb ; 使 v1 9015 导通 acall d1ms ; 延时 setb bb ; 使 v1 9015 截止 acall d1ms djnz r2,slop1 ret ;1ms 延时子程序 d1ms: mov r0,#2 dloop: mov r1,#250 ; 改变 r0 的数值将改变声音频率 djnz r1,$ djnz r0,dloop ret ;0.5s 延时子程序 d05s: mov r0,#5 d05l1: mov r1,#200 d05l2: mov r2,#250 djnz r2,$ djnz r1,d05l2 djnz r0,d05l1 ret

文档评论(0)

ZCL123000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档