找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2102|回复: 4
打印 上一主题 下一主题
收起左侧

单片机外部按键来调整红绿灯的时长,求思路 目前想的是按键输入直接套到记时的程序里

[复制链接]
跳转到指定楼层
楼主
ID:948736 发表于 2021-7-3 16:29 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要问题是,师傅要求要从外部按键来调整红绿灯的时长,怎么整不太会,目前想的是按键输入直接套到记时的程序里,还不知道行不行,各位有什么高见吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:401564 发表于 2021-7-3 20:51 | 只看该作者
设定一个全局变量,按一下,这个变量加一下
延时根据这个变量来延时,这不就可以了吗?
回复

使用道具 举报

板凳
ID:161164 发表于 2021-7-4 01:18 | 只看该作者
  1. void main()
  2. {
  3.         KeyInc=1;//0 = Push
  4.         KeyDec=1;//0 = Push
  5.         KeyIncOld=1;
  6.         KeyDecOld=1;
  7.         ScanCNT = 0;
  8.         LightOnTime = 5000;//Unit = ms
  9.         LightRed = 0;//0 = On, 1 = Off
  10.         LightGreen = 1;//0 = On, 1 = Off
  11.        
  12.         while(1)
  13.         {
  14.                 if(ScanCNT++ > 100)
  15.                 {
  16.                         ScanCNT = 0;
  17.                         if(KeyIncOld && !KeyInc)
  18.                         {
  19.                                 LightOnTime+=1000;
  20.                         }KeyIncOld = KeyInc;
  21.                         if(KeyDecOld && !KeyDec)
  22.                         {
  23.                                 LightOnTime-=1000;
  24.                         }KeyDecOld = KeyDec;
  25.                         if(millis > LightOnTime)//millis在一个毫秒定器时中断中不断加一
  26.                         {
  27.                                 millis = 0;
  28.                                 LightRed = !LightRed;
  29.                                 LightGreen = !LightGreen;                               
  30.                         }
  31.                 }               
  32.         }
  33. }
复制代码


回复

使用道具 举报

地板
ID:123289 发表于 2021-7-5 13:19 | 只看该作者
红绿灯的时长可以存在红绿寄存器中(存储器就行)
你只要考虑如何通过外键修改红绿寄存器中的值就可以了。
回复

使用道具 举报

5#
ID:539024 发表于 2021-7-8 12:32 | 只看该作者
这个你可以定义一个变量,然后按键按下后,可以直接对这个变量操作(加减),然后红绿灯倒计时就显示这个变量

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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