基于单片机的简易门铃制作方案+资料-电路方案

上传者: 38716081 | 上传时间: 2021-10-04 21:37:21 | 文件大小: 271KB | 文件类型: -
本次设计采用了在主程序中进行中断等待,并通过按键使计数器溢出,产生中断服务程序,在中断程序中实现叮咚clock()函数的执行、计数器的置初值初始化,然后再次回到主程序中,等待下一次的按键触发中断——触发“叮咚”的门铃声。对于clock()叮咚函数,本实验采用的通过设置for循环次数的方式来控制声音的持续时间和频率高低。除此方法外还可以通过设置一个一定频率的定时器,也可使clock()实现叮咚功能,此时在计数器中断函数中只需打开定时器(对定时器初始化)。相比之下,利用for循环控制“叮咚”门铃的方案更为简便。 硬件仿真图的实现 原理仿真电路图中选用的器件有80C51,一个蜂鸣器和一个button按键。电路如下图所示。我们蜂鸣器选用了无源的sounder,只需提供符合一定要求的方波或正弦波即可使之发出声音。80C51是此电路图中的核心,通过。P2口作为clock()输出一定频率方波的输出口。并通过P3.4口连接按键以触发计数器T0的中断服务程序。按下按键可听到电脑音箱发出来类似“叮咚”的声音。仿真电路图如下。 问题与解决 在第一次调试运行时,仿真中按下按键,蜂鸣器未发出声音。通过查阅资料得知,这是由于,使用了protues仿真元件库里的speaker,和其参数设置有关,默认的控制电压过大,使输出的方波信号电压无法正常驱动蜂鸣器,于是改变参数或换用sounder即可解决。 修改好protues仿真电路后,按下按键,蜂鸣器依旧没反映,仔细观察发现,方便输出端的P2^0的电平一直未变,检查软件代码发现,计数器的初始化里计数器中断允许位未打开致使无法进入计数器中断里面执行clock()叮咚函数,修改代码后,点击重新生成.hex文件,用protues仿真便正常运行了,蜂鸣器发出了声音。 (3)未成功使蜂鸣器发出“叮咚”。由于软件中设置的发音频率即方波频率不合适,通过不断调整控制频率的for循环的循环次数,并通过protues仿真测试蜂鸣器,最后找到了合适的参数使之发出了叮咚声。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明