找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5224|回复: 9
收起左侧

那位大侠可帮我做一个51单片机光电开关控制3组继电器的C程序呢?

[复制链接]
ID:98244 发表于 2015-12-3 23:41 | 显示全部楼层 |阅读模式
当光电开关感应到的时候,3组继电器同时闭合,且每一组的继电器闭合的延时时间不一样。

                                                                                                                                 谢谢!
回复

使用道具 举报

ID:79544 发表于 2015-12-4 12:48 | 显示全部楼层
很简单的,扫描IO口,低电平就控制pnp三极管驱动继电器。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:79544 发表于 2015-12-4 12:49 | 显示全部楼层
我的QQ1074757990.
回复

使用道具 举报

ID:98244 发表于 2015-12-4 20:49 | 显示全部楼层
腾飞的龙 发表于 2015-12-4 12:48
很简单的,扫描IO口,低电平就控制pnp三极管驱动继电器。

谢谢 !3组继电器同时闭合,然后闭合的延时不一样。
回复

使用道具 举报

ID:92873 发表于 2015-12-19 13:23 | 显示全部楼层

试着完成你的任务

本帖最后由 a15616 于 2015-12-19 13:34 编辑

#include <reg51.h>sbit K1=P0^0;                //继电器1
sbit K2=P0^1;                //继电器2
sbit K3=P0^2;                //继电器3
sbit ON=P1^4;                //控制回路电源开关
sbit  gd1=P3^2;                //光电感应开关
unsigned int n;                //定义一个无符号变量
char bt;                //定义一个标志

void in()                //初始化函数
{
IE=0x82;                 //总中断开,定时0中断开
TMOD=0x02;                 //定时器0方式2
TH0=0x06;TL0=0x06;        //装定时初值
K1=1;
K2=1;
K3=1;
n=0;
ON=0;                    //打开断电器回路供电
bt=1;
}
void main()
{
in();
         while(1)
         {
                while(!gd1)
                 {
                 K1=0;
                 K2=0;
                 K3=0;
                 TR0=0;
                 n=0;
                 bt=1;
                }
         if(bt)
         {
         TR0=1;
                 if(n==20000)
                        K1=1;
                 if(n==40000)
                         K2=1;
                 if(n==60000)
                {
                K3=1;
                 TR0=0;
                bt=0;
                }
        }
        }
}
void inttime() interrupt 1
  {
n++;
}



评分

参与人数 2威望 +5 黑币 +55 收起 理由
lwt7456 + 5 + 5
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:98244 发表于 2015-12-23 21:51 | 显示全部楼层
a15616 发表于 2015-12-19 13:23
#include sbit K1=P0^0;                //继电器1
sbit K2=P0^1;                //继电器2
sbit K3=P ...

非常感谢!我下载试过了。可以的。还想请教 您一个问题,如果要增加加、减按键来调节每个继电器的延时时间间,不知道可以吗?
回复

使用道具 举报

ID:96682 发表于 2015-12-23 23:13 | 显示全部楼层
会的不难,难的不会,好可惜没能帮到你,帮你顶一下,求大虾赐教。
回复

使用道具 举报

ID:84566 发表于 2016-1-3 11:13 来自手机 | 显示全部楼层
自己编写可能更有收获
回复

使用道具 举报

ID:101815 发表于 2016-1-4 19:23 | 显示全部楼层
自己写啊
回复

使用道具 举报

ID:101815 发表于 2016-1-4 19:46 | 显示全部楼层
加油!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表