51内核的单片机有个比较恼人的特性就是复位期间,IO口呈高电平状态,万一IO口控制的设备是使用高电平触发的话,在复位的瞬间会造成设备触发。
总结一下接触过的解决方法:
1、把MCU换成别的体系的,譬如AVR、PIC等,这些单片机复位时IO口呈浮空高阻状态,不会造成触发。
2、使用反相驱动,MCU输出低电平反相成高电平再去控制设备。复位时的高电平反相后变成低电平,不会触发。这是比较常用的方法,稳定,但布线复杂了不少。
3、使用光耦隔离。光耦隔离后MCU也是输出低电平打开光耦再驱动被控设备,复位时的高电平不会打开光耦,不会造成误触发。
4、使用多余的IO口锁定,这种方法比较奇怪,在没用的IO口里挑一个出来接到NPN管的基极,再把NPN管的发射极接到被控的IO口,复位时所有的IO口呈高电平,NPN管导通,把被控的IO口强行拉低,相当于把被控IO口的电平锁定为低,避免触发被控的设备。这种方法必须配合软件,复位完毕后必须软件把接NPN管基极的那根IO置低电平,释放被控的IO口。这种方法比较少用,毕竟需要有多余的IO口,还必须加上三极管、电阻,布线复杂了不少,成本也增加不少。
5、使用滤波电容。在被控IO口对地之间接一uF级电容及K级电阻,类似缓冲作用。开机瞬间IO口通过电阻向电容充电,电平有一个逐渐上升的过程。只要电容及电阻的参数选择得当,那么复位时由于缓冲作用IO口还没来得及触发设备时那么MCU已经复位完毕把电平拉低了,这样也就避免了误触发。这种方法有一定限制,会造成设备的响应速度变慢,因此被控的IO口电平不能变化太快,否则由于电容的缓冲作用,设备无法有效控制。
-
AVR
+关注
关注
11文章
1125浏览量
78945 -
PIC
+关注
关注
8文章
507浏览量
87903 -
51单片机
+关注
关注
274文章
5705浏览量
124494
原文标题:总结51单片机避免复位触发的几种方法
文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
51单片机几种实用的复位电路设计
MCS-51单片机控制跑马灯的三种方法
![MCS-<b class='flag-5'>51</b><b class='flag-5'>单片机</b>控制跑马灯的三<b class='flag-5'>种方法</b>](https://file1.elecfans.com//web2/M00/A7/17/wKgZomUMQlSAJjXuAAA9EJJIN4w758.png)
51单片机控制NandFlash读写的两种方法
![<b class='flag-5'>51</b><b class='flag-5'>单片机</b>控制NandFlash读写的两<b class='flag-5'>种方法</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
总结51单片机避免复位触发的几种方法
![总结<b class='flag-5'>51</b><b class='flag-5'>单片机</b>避免<b class='flag-5'>复位</b><b class='flag-5'>触发</b>的几<b class='flag-5'>种方法</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论