找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1063|回复: 10
收起左侧

C语言判断程序怎么写?

[复制链接]
ID:72649 发表于 2022-4-4 06:37 来自手机 | 显示全部楼层 |阅读模式
是这样的if(key=1)执行p1=1;p3=1;否则执行p0=0;但是在key=1时的执行过程中,如果p1=1超过1分钟后,应该停止p1=0
回复

使用道具 举报

ID:161164 发表于 2022-4-4 12:59 | 显示全部楼层

  1. 用定时器产生1ms心跳Flag1ms = 1;
  2. unsigned int i = 0;//全局变量
  3. if(key1==1)
  4. {
  5.         if(Flag1ms)
  6.         {
  7.                 Flag1ms = 0;
  8.                 if(i < 0xFFFF)i++;//防止溢出
  9.                 if(i < 60000)
  10.                 {
  11.                         p0=1;
  12.                 }
  13.                 else
  14.                 {
  15.                         P0=0;
  16.                 }
  17.         }
  18.         p3=1;
  19. }
  20. else
  21. {
  22.         p0=0;
  23.         i=0;
  24. }
复制代码
回复

使用道具 举报

ID:72649 发表于 2022-4-6 08:16 来自手机 | 显示全部楼层
lkc8210 发表于 2022-4-4 12:59

如果2分钟怎样修改?
回复

使用道具 举报

ID:1016026 发表于 2022-4-6 10:02 | 显示全部楼层
就在if(key=1)后面再写个时间判断程序呗,根据单片机晶振写个延时程序,在应用到这里就可以了
回复

使用道具 举报

ID:1006076 发表于 2022-4-6 10:06 | 显示全部楼层
hjx5548 发表于 2022-4-6 08:16
如果2分钟怎样修改?

如果是我的话,就把那个60000再执行一次,不就是2分钟了
回复

使用道具 举报

ID:807651 发表于 2022-4-6 10:24 | 显示全部楼层
hjx5548 发表于 2022-4-6 08:16
如果2分钟怎样修改?

直接改定时器生产的时间,原来1ms产生一次Flag1ms  改成2ms产生一次Flag2ms.
回复

使用道具 举报

ID:883242 发表于 2022-4-6 14:14 | 显示全部楼层
千万别写if(key=1)这种!改成if(1=key)你就知道错在哪里了。
回复

使用道具 举报

ID:72649 发表于 2022-4-6 16:20 来自手机 | 显示全部楼层
chen_天天来 发表于 2022-4-6 10:06
如果是我的话,就把那个60000再执行一次,不就是2分钟了

具体怎么修改最执行一次
回复

使用道具 举报

ID:72649 发表于 2022-4-6 16:21 来自手机 | 显示全部楼层
wd1988 发表于 2022-4-6 10:24
直接改定时器生产的时间,原来1ms产生一次Flag1ms  改成2ms产生一次Flag2ms.

关键我其它程序里面有1ms,不能修改2ms啊
回复

使用道具 举报

ID:72649 发表于 2022-4-6 16:22 来自手机 | 显示全部楼层
Hephaestus 发表于 2022-4-6 14:14
千万别写if(key=1)这种!改成if(1=key)你就知道错在哪里了。

能不能说说原理
回复

使用道具 举报

ID:101869 发表于 2022-4-6 22:44 来自手机 | 显示全部楼层
(key=1)少了一个等号,超过一分钟需要用定时器,到时间执行P1等于1就行了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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