极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13040|回复: 2

这么几句简单的代码可以用什么电路代替吗

[复制链接]
发表于 2017-2-8 19:58:07 | 显示全部楼层 |阅读模式
int out1 = 2;
int out1_kg1 = 0;
int out1_kg1_st = LOW;
void setup()  //程序初始化  
{  
  pinMode(out1_kg1,INPUT);
  pinMode(out1,OUTPUT);
  //Serial.begin(9600);//设置波特率9600
  //delay(500);
  out1_kg1_st = digitalRead(out1_kg1);
}

void cf()
{
  digitalWrite(out1,HIGH);
  delay(50);
  digitalWrite(out1,LOW);
}
  
void loop()//程序主体循环  
{
  int tp1 = digitalRead(out1_kg1);
  //Serial.println(tp1);
  if(out1_kg1_st!=tp1){
    out1_kg1_st=tp1;
    cf();
  }
  delay(20);  
}  


前段时间提了个问题,开=》关,关=>开,触发一个脉冲的电路很多给出了双稳态,单稳态倍频电路等,但是都不是我想实现的功能,所以我把代码发出来了,功能其实很简单,但是这么简单的功能用arduino来实现感觉太浪费了,所以把代码发出来了,代码应该很好理解吧,我只是需要实现这么一个简单功能的电路图,谢谢了
回复

使用道具 举报

发表于 2017-2-10 23:37:58 | 显示全部楼层
本帖最后由 Ansifa 于 2017-2-10 23:43 编辑

看代码是按下一个50ms脉冲松开一个脉冲。用双稳态单稳态是可以解决不过电路复杂BOM成本高。要不浪费的话,用单片机吧,STC15F104W就能解决了,代码区别不大把setup写在main开头,loop写在while(1)死循环即可。一个裸IC加一个usb串口下载器就能解决问题。如果你对STC完全不懂可以看看这个烧录方法介绍http://www.geek-workshop.com/forum.php?mod=viewthread&tid=530
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-11 09:00:54 | 显示全部楼层
Ansifa 发表于 2017-2-10 23:37
看代码是按下一个50ms脉冲松开一个脉冲。用双稳态单稳态是可以解决不过电路复杂BOM成本高。要不浪费的话, ...

非常感谢哦,我试试看
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-23 16:12 , Processed in 0.038262 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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