听觉实验提示音与报警音_第1页
听觉实验提示音与报警音_第2页
听觉实验提示音与报警音_第3页
听觉实验提示音与报警音_第4页
听觉实验提示音与报警音_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新编电类专业计算机基础 5.2 听觉实验:提示音与报警音 目 录 如何控制蜂鸣鸣器随机发发声 蜂鸣鸣器是如何发发声的 小 结结 蜂鸣器发声原理 听觉觉是人对对振动动产产生的感觉觉 20Hz20KHz 次声 超声人耳能识别识别 的范围围 蜂鸣器 电电流的导导通和截止 所产产生的电电能 机械振动动 给给蜂鸣鸣器加载载一定音 频频变变化的脉冲电电流 产产生与脉冲电电流频频率 相同的机械振荡荡音 蜂鸣器发声原理 交流蜂鸣器驱动电路 P1.0 P1.0 = 1,三极管截止, 蜂鸣鸣器断电电,无响声 P1.0 = 0,三极管导导通, 蜂鸣鸣器通电电,发发出响声 0 1 将B2实验实验 区与单单片机 P1.0相连连的JP31_2连连 接至此 蜂鸣鸣器通电时间电时间 + 断电时间电时间 = 振荡荡周期 稍做转换转换 可得 到确定的音 频频脉冲频频率 .AREAHOME(ABS,CODE) .ORG0x0000 Start:CPLP1.0 MOVR7,#0x00 DJNZR7, . SJMPStart ;蜂鸣器驱动电平取反 ;单机器周期指令 ;双机器周期指令 ;返回Start,循环执行程序 产产生通断电电 电电平 蜂鸣器发声原理 直接使用指令驱动蜂鸣器,频率过高,超出工作范围及 人的听觉范围,使用延时。 延 时 延时时间 = 机器周期数 机器周期耗时 = (1 + 2 256) 1.085 = 556.605us振荡时间 = 通电时间 + 断电时间 = 556.605 2 = 1113.21us 振荡频率 = 1 / 1113.21us = 898.3Hz 20 20000Hz间间,属于人的听觉觉范围围 总结总结:适当延时时的交替高低电电平(音频频脉冲频频率)便可驱动驱动 蜂鸣鸣器发发声 特定声音频率 令蜂鸣器按要求发出特定声音。 音乐乐小知识识 264Hz(“多”) . . . 297Hz(“来”) 330Hz(“咪”)352Hz(“发发”) 396Hz(“索”)440Hz(“啦”) 495Hz(“西”) 528Hz(高音“多”) 规律: 8度音阶间存在倍频关系 高音“多”范例1 高音“多”振荡频荡频 率为为528Hz,即每秒振荡荡528次,每次用 时时(1 / 528)s = 1.894ms, 蜂鸣鸣器通电时间电时间 + 断电时间电时间 = 振荡荡周期 故延时时1.894 / 2 = 0.947ms。 占用机器周期数 = 延时时间时时间 / 机器周期耗时时 = 0.967ms / 1.085us = 873 单级单级 8位寄存器最大延时为时为 513个机器周期 使用多级级延时时 延时时周期数 = 513 高音“多”范例1 .AREAHOME(ABS,CODE) .ORG0x0000 Start:CPLP1.0 MOVR7,#0x00 DJNZR7, . SJMPStart ;蜂鸣器驱动电平取反 ;单机器周期指令 ;双机器周期指令 ;返回Start,循环执行程序 MOVR7,#179 DJNZR7, . ;单机器周期指令 ;双机器周期指令 NOP;单周期指令 延时时513个 机器周期 + 179 2 + 1 = 872+ 1 = 873 使高低电电平共用延时时程序,巧妙 但对对不同I/O操作时时受限制 编编程中另一种更方便的程序共用法 子程序 高音“多”范例2 .AREAHOME(ABS,CODE) .ORG0x0000 Start:CLRP1.0 ACALL Delay SETBP1.0 SJMPStart ;P1.0口清0,蜂鸣器通电 ;调延时873时钟周期子程序 ;P1.0口置1,蜂鸣器断电 ;返回Start,循环执行程序 ACALL Delay;调延时873时钟周期子程序 Delay:MOVR7,#0;延时513个机器周期 DJNZR7, . ;延时360个机器周期 MOVR7,#178 DJNZR7, . NOP RET 子程序 被其它程序 共用 占用2个机器周期 从延时循环中减2 个机器周期 非常重要, 务务必掌握 思考题 如何得到音阶阶“多”“来”“咪”“发发”“索”“啦”“西” 的延时时子程序 尝试尝试 使用实验实验 模拟拟出变变化的声音,如电话电话 机的铃铃声等 目 录 如何控制蜂鸣鸣器随机发发声 蜂鸣鸣器是如何发发声的 小 结结 蜂鸣器开关控制电路 控制蜂鸣器随机发声 蜂鸣鸣器可按要求产产生特定声音,根据外界输输入信号的不 同,单单片机控制其随机发发声。 外界输输入信号:开关 P1.6、P1.7与开关相连连 作为为输输入口 高电电平低电电平 编编程实现实现 功能: K1为为低电电平时时,蜂鸣鸣器 发发出高音“多”音阶阶声音; K2为为低电电平时时,蜂鸣鸣器 发发出“多”声音; K1、K2都为为高电电平时时, 蜂鸣鸣器不发发音 解决问题问题 : 输输入信号的程序处处理; “多”与高音“多”的产产生 输入信号的程序处理 虽虽然开关是最简单简单 的输输入器件,但用开关构建的输输入电电路所牵牵扯的程序 处处理方式是应应用非常广泛的,初学者一定要认认真对对待。 P1为为准双向口,作为为输输入口时时,在 读读取I/O数据前,必须须先向I/O口写 入“1”以防读读到错误错误 数据 SETB P1.6 判断I/O口电电平 JBP1.6,rel JNBP1.6,rel ;若P1.6为高电平,跳转 ;若P1.6为低电平,跳转 “多”与高音“多”的产生 Delay:MOVR7,#0;延时513个机器周期 DJNZR7, . ;延时360个机器周期 MOVR7,#178 DJNZR7, . NOP RET 高音“多”延时时: 264Hz(“多”) 528Hz(高音“多”) 两个高音“多”延时时 实现实现 “多”音 倍频频关系 开关控制蜂鸣器范例1 Start:SETBP1.7 JBP1.7,Buzz1 CLRP1.0 ;P1.7置1,准备读取数据 ;P1.7为1,转Buzzr执行程序 ;蜂鸣器导通 ACALL Delay;调用两个高音“多”延时, ACALL Delay;产生“多”音 SETBP1.6;蜂鸣器截止 ACALL Delay ACALL Delay Buzz1:SETBP1.6 JBP1.6,Start CLRP1.0 ;P1.6置1,准备读取数据 ;P1.6为1,转Start执行程序 ;蜂鸣器导通 ACALL Delay ;延时产生高音“多” SETBP1.6 ACALL Delay SJMPStart ;蜂鸣器截止 “多”音处处理 程序 高音“多” 处处理程序 P1.7为为0(K1 为为0),产产生 “多”音 P1.6为为0(K2 为为0),产产生 高音“多” 发发出“多”与 高音“多”混音 蜂鸣器开关控制电路 无声音 开关控制蜂鸣器范例1 10 发发出高音“多”发发出 “多”音 011100 增加“补丁”程序 程序产生“Bug” 实际实际 上只要在程序中预预知 这这种情况并加以处处理,便 可避免“Bug”。 开关控制蜂鸣器范例2 Start:SETBP1.7 JBP1.7,Buzz1 CLRP1.0 ;P1.7置1,准备读取数据 ;P1.7为1,转Buzz1执行程序 ;蜂鸣器导通 ACALL Delay;调用两个高音“多”延时, ACALL Delay;产生“多”音 SETBP1.6;蜂鸣器截止 ACALL Delay ACALL Delay .AREAHOME(ABS,CODE) .ORG0x0000 SETBP1.6 JNBP1.6,Buzz1 ;P1.6置1,准备读取数据 ;若P1.6同时为0,则跳转到Buzz1 若 P1.6、 P1.7 同时为0, 不 产生“多 ”音 开关控制蜂鸣器范例2 Buzz1:SETBP1.6 JBP1.6,Start CLRP1.0 ;P1.6置1,准备读取数据 ;P1.6为1,转Start执行程序 ;蜂鸣器导通 ACALL Delay;延时产生高音“多” SETBP1.6 ACALL Delay SJMPStart ;蜂鸣器截止 SETBP1.7 JNBP1.7,Start ;P1.7置1,准备读取数据 ;若P1.6同时为0,则跳转到Start Delay:MOVR7,#0;延时513个机器周期 DJNZR7, . ;延时360个机器周期MOVR7,#178 DJNZR7, . NOP RET 若P1.6、P1.7 同时为时为 0,不 产产生高音“多” P1.6、P1.7都为为0,蜂鸣鸣器不发发声音 思考题 如果希望在K1和K2同时为时为 0时时保持前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论