取反操作的陷阱及一个电阻的迷惑
2015-06-29 16:35
211 查看
蜂鸣器电路是这样的:
这种是经典电路大家看没问题吧哈哈。
然后看看我的程序:
在定时器里面不断的取反,来驱动2k的蜂鸣器 定时器是0.25ms一次中断,正好2k频率波形。这样可以完全实现波形的驱动,大家看没问题是吧。
但是最后我看到我看我的电源,空载的情况下竟然有5w 的功率,这实在是不合理,查找了很多方面都没有发现问题,最后发现蜂鸣器两端的电压竟然有4v。三极管的电压只有0.9v,这更奇怪了。最后测量了一下b极电压。发现竟然是5v这更不合理,按道理说我应该是关闭了的。最后查查程序,刚开始感觉也没有问题,就这样让单片机插电了一个小时。最后发现蜂鸣器声音越来越小。很明显,蜂鸣器被烧坏了。还是没发现问题,无奈,之后看看程序,最后发现这个取反操作。并不确定 最后io口是低电平状态。而且我的设定时间是beepCountLevel是偶数。那么最后beep位取反肯定是奇数才关闭的,也就导致,三极管一直处于导通状态。最后结束状态时把,beep=0;问题完美解决。
这明显就是软硬件结合的问题。觉得值得分享。
这种是经典电路大家看没问题吧哈哈。
然后看看我的程序:
在定时器里面不断的取反,来驱动2k的蜂鸣器 定时器是0.25ms一次中断,正好2k频率波形。这样可以完全实现波形的驱动,大家看没问题是吧。
但是最后我看到我看我的电源,空载的情况下竟然有5w 的功率,这实在是不合理,查找了很多方面都没有发现问题,最后发现蜂鸣器两端的电压竟然有4v。三极管的电压只有0.9v,这更奇怪了。最后测量了一下b极电压。发现竟然是5v这更不合理,按道理说我应该是关闭了的。最后查查程序,刚开始感觉也没有问题,就这样让单片机插电了一个小时。最后发现蜂鸣器声音越来越小。很明显,蜂鸣器被烧坏了。还是没发现问题,无奈,之后看看程序,最后发现这个取反操作。并不确定 最后io口是低电平状态。而且我的设定时间是beepCountLevel是偶数。那么最后beep位取反肯定是奇数才关闭的,也就导致,三极管一直处于导通状态。最后结束状态时把,beep=0;问题完美解决。
这明显就是软硬件结合的问题。觉得值得分享。
相关文章推荐
- BeagleBone折腾记(一):连接你的狗板
- 计算机软硬件日常维护管理规程
- OCS2007R2部署之一软硬件环境准备
- OCS2007R2部署之一软硬件环境准备
- VMware HA实战攻略之一软硬件环境准备 推荐
- 第二章 vSphere可用性之准备软硬件环境 推荐
- 服务器状态监控之二软硬件环境介绍
- 一个老嵌入式工程师给新手的十大建议
- Address already in use: JVM_Bind
- 剑指offer 面试题11
- uva 624 CD
- UVA 10943 How do you add?(隔板法)
- css中vertical-align(垂直对齐)的使用
- Java程序设计实用教程(第四版,叶贺亚)考试复习题-纯属个人思想
- 深入浅出 Java Concurrency(二)—锁机制(一)
- 腾讯视频解析接口
- 01背包问题
- 4.17
- Android动画效果translate、scale、alpha、rotate详解(基础篇)
- apache 禁止爬虫