完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
轻触按键控制继电器的奇怪问题,有时按键按下时继电器动作一下瞬间又关断了,单片机STC12c5a60s2,io口通过ULN2803来驱动继电器,总计六个按键控制六个继电器,程序如下,
#include "STC12C5A60S2.h" #define uint unsigned int ***it KEY5=P2^5;//按键操作 ***it KEY6=P2^6; ***it KEY7=P2^7; ***it LED0=P1^0; ***it LED1=P1^1; ***it LED2=P1^2; void delay(uint a); void main() { LED0=LED1=LED2=0; KEY5=KEY6=KEY7=1; while(1) { if(KEY5==0) { delay(150); if(KEY5==0){LED0=~LED0;} while(!KEY5); } if(KEY6==0) { delay(150); if(KEY6==0){LED1=~LED1;} while(!KEY6); } if(KEY7==0) { delay(150); if(KEY7==0){LED2=~LED2;} while(!KEY7); } } } void delay(uint a) { uint i,j; for(i=0;i<200;i++) for(j=0;j |
|
相关推荐
7个回答
|
|
应该是硬件问题
|
|
|
|
|
|
|
|
云汉达人
关断是什么意思,是又断开了么? 估计你的继电器还没有接什么负载吧。 如果你的电路没有问题,也有续流二级管。 这个可能的原因是你的电源的功率不够吧。继电器接通后,由于继电器只有线圈,电阻很小,电流会很大。从而拉低电压,导致MCU复位吧。 解决: 1、增加电源功率。 2、继电器电源处增加大的电容 3、继电器的先型要正确,你是继电器是脉冲的还是常开常闭的,看功能。最好不要长时间导通。 |
|
|
|
有問題的是
1. Code不完整,只有LED輸出? 沒有看到輸出給ULN2803的腳位,還是LED輸出也是接到ULN2803? 附上完整Code比較好解決問題 2. 可以的話附上電路原理圖,確定防突波Diode和各接線正確,且各元件需共地 以上可再討論喔 |
|
|
|
|
|
|
|
你按键按下,有相应反应,说明程序软件应该是可行的。但是动作的一瞬间继电器又关断说明是硬件的问题
建议 1、继电器前面加个好点的光耦,这种现象十有八九是干扰产生的 2、“轻触”这个。。加个按键防抖动 3、检查一下硬件电路板有没出现短路之类的问题 |
|
|
|
程序应该没有什么问题 看看是不是应为继电器所需的电流太大,让单片机掉电复位了??
|
|
|
|
只有小组成员才能发言,加入小组>>
660 浏览 0 评论
1083 浏览 1 评论
2454 浏览 5 评论
2779 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2615 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
637浏览 9评论
632浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
765浏览 6评论
610浏览 5评论
651浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 04:32 , Processed in 0.965324 second(s), Total 60, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号