数码之家

 找回密码
 立即注册
搜索
查看: 3946|回复: 21

大神们帮帮忙,用STC15F104W写一个延时控制代码,谢谢

[复制链接]
发表于 2019-11-30 16:45:39 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 long2012 于 2019-11-30 16:45 编辑

小白一个,英文又很菜,可我爱国,只会中文。。。:lol:看不懂英文代码,又想用单片机,简单控制一下两个继电器工作;STC15F104W
按键-----------------P3.3
继电器1-------------P3.4
继电器2-------------P3.5
通电,P3.3、P3.4、P3.5   全部高电平
按键---低电平,继电器1(P3.4)、低电平输出(保持工作);20秒后,继电器2(P3.5)低电平工作1秒。。。。


按键---高电平,继电器2低电平工作1秒(P3.5);20秒后,继电器1(P3.4)、高电平输出(保持工作),。。。。



希望各位大神帮忙 ,谢谢
发表于 2019-11-30 17:42:36 | 显示全部楼层
估计不会有人免费给你写,不知道有没有初学者愿意练练手帮你写一个。
回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-30 18:36:06 来自手机浏览器 | 显示全部楼层
代码跟英文其实没有多大的关系…
回复 支持 反对

使用道具 举报

发表于 2019-12-1 11:45:01 来自手机浏览器 | 显示全部楼层
同一个按键要么低要么高,所以你的状态二,是默认工作状态?
回复 支持 反对

使用道具 举报

发表于 2019-12-2 01:06:07 | 显示全部楼层
电路图是不是这样的?




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +10 收起 理由
家睦 + 10

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-12-2 13:38:57 | 显示全部楼层
按键当计数器用的。确实很简单,不过手上stc15F的单片机用完了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-6 23:02:16 | 显示全部楼层
lyy-cy 发表于 2019-12-2 01:06
电路图是不是这样的?

对的,就是这样的电路。。。:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-6 23:07:10 | 显示全部楼层
就是差代码 了。。。。:loveliness::loveliness::loveliness::loveliness:
回复 支持 反对

使用道具 举报

发表于 2019-12-7 08:35:58 | 显示全部楼层
本帖最后由 netbeetle 于 2019-12-7 09:14 编辑

SW1是按键?你的画法是个常开开关。你这个SW1应该是关了就一直关着,开就一直开着的吧。几分钟写好,部分代码:
void Key_Sacn(void) _task_ 1
{
led0=0;
while(1)
{
  if(Key1==0)
  {
   os_wait(K_TMO,300/portTICK_RATE_MS,0);//消抖延迟
   if(Key1==0)
   {
    if(key_press_set1==0)
    {
     J1=0;//继电器1接通
     vTaskDelay_s(20);//延迟20秒
     J2=0;//继电器2接通
     vTaskDelay_s(1);//延迟1秒
     J2=1;//继电器2断开
     key_press_set1=1;//按键状态1标志
     key_press_set2=0;//复位按键状态2标志
    }
   }
  }

打赏

参与人数 1家元 +20 收起 理由
long2012 + 20 以資鼓勵

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-12-7 17:22:08 | 显示全部楼层
本帖最后由 zhuls 于 2019-12-7 17:23 编辑

一个按键,一高一低2种状态,控制2个继电器不同工作状态,(稳态和暂稳),逻辑上没有问题 吗?有没有空闲模式?
开机后如果一直不按键,某个状态一直维持吗?那这电路要来何用?
回复 支持 反对

使用道具 举报

发表于 2019-12-8 00:17:31 | 显示全部楼层
楼主你这是即不会写代码,也不会写需求。请描述清楚你的4个句号是什么意思。如果是循环请具体描述如何循环?把时序图画下
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-12-9 09:28:08 | 显示全部楼层
elecfunwb 发表于 2019-12-8 00:17
楼主你这是即不会写代码,也不会写需求。请描述清楚你的4个句号是什么意思。如果是循环请具体描述如何循环 ...

不循环:smile:就是太菜了,所以需求都不会写
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 09:30:19 | 显示全部楼层
netbeetle 发表于 2019-12-7 08:35
SW1是按键?你的画法是个常开开关。你这个SW1应该是关了就一直关着,开就一直开着的吧。几分钟写好,部分代 ...

原理图上,按键常开状态:smile:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 22:47:28 | 显示全部楼层
netbeetle 发表于 2019-12-7 08:35
SW1是按键?你的画法是个常开开关。你这个SW1应该是关了就一直关着,开就一直开着的吧。几分钟写好,部分代 ...

if(Key1==0)
   {
    if(key_press_set1==0)



这里报错。。。:sad:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 22:49:38 | 显示全部楼层
main.c(29): error C202: 'Key1': undefined identifier
main.c(31): error C202: 'key_press_set1': undefined identifier
main.c - 5 Error(s), 0 Warning(s).


看不懂:sad::sad::sad::sad:
回复 支持 反对

使用道具 举报

发表于 2019-12-12 14:37:55 | 显示全部楼层
long2012 发表于 2019-12-9 22:49
main.c(29): error C202: 'Key1': undefined identifier
main.c(31): error C202: 'key_press_set1': undef ...

我这里只是部分代码,肯定报错了
回复 支持 反对

使用道具 举报

发表于 2019-12-12 20:28:33 | 显示全部楼层
本帖最后由 Never。 于 2019-12-12 20:32 编辑

把用处完整发出来,说不定还有别的代替方案  
一个io和继电器 出现两种电平状态不现实吧 ,继电器要么高电平动作要么低电平动作
不能实现你的要求吧,我也是小白。对单片机不懂
回复 支持 反对

使用道具 举报

发表于 2019-12-12 22:34:26 来自手机浏览器 | 显示全部楼层
确实很简单,另外代码基本个英文无关,你非要说英文字母的话当我没说
回复 支持 反对

使用道具 举报

发表于 2019-12-12 22:46:53 | 显示全部楼层
楼上代码不完整,肯定报错。
没有头文件,keil第一步就报错了
回复 支持 反对

使用道具 举报

发表于 2019-12-13 15:28:25 | 显示全部楼层
需求看不懂,一堆句号当省略号是为了省略什么?
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-5 11:37 , Processed in 0.327600 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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