找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机C语言增加数值问题

[复制链接]
回帖奖励 10 黑币 回复本帖可获得 10 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:168461 发表于 2023-7-25 09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   请教各位大佬,如何使用C语言对51单片机对一个数进行固定步长的增加,每按一下增加按钮加1,长按加5。问题在于如何每次增加都要是5 10 15以此类推,比如:01. 02 03...小于五的时候长按要变成05 大于等于5的时候长按变成10。描述能力有限,表达不是很清晰,求大佬解答,先谢谢了。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:855733 发表于 2023-7-25 14:32 | 只看该作者
也就是说你每次长按增加按钮数值必须为5的倍数是吧,短按则在原变量上加1。短按比较简单直接在原变量上加1即可,长按我的思路是先判断变量大小,如果小于5直接赋值5即可,第二种情况大于等于5,先将变量除以5取余,然后再用变量+(5-余数)=变量即可。例如已经短按加到了7,7除5取余等于2,最终结果应该是7+(5-2)=10.这样就达成要求啦
回复

使用道具 举报

板凳
ID:320306 发表于 2023-7-25 15:59 | 只看该作者
正常加,比如短按+1,长按的时候+5,长按的数据除以5的余数,得到余数后用5减,得到的数和原来的数相加就可以了。
回复

使用道具 举报

地板
ID:168461 发表于 2023-7-25 16:22 | 只看该作者
zsyzdx 发表于 2023-7-25 15:59
正常加,比如短按+1,长按的时候+5,长按的数据除以5的余数,得到余数后用5减,得到的数和原来的数相加就可 ...

谢谢解答
回复

使用道具 举报

5#
ID:168461 发表于 2023-7-25 16:23 | 只看该作者
热度三分 发表于 2023-7-25 14:32
也就是说你每次长按增加按钮数值必须为5的倍数是吧,短按则在原变量上加1。短按比较简单直接在原变量上加1 ...

谢谢解答
回复

使用道具 举报

6#
ID:161164 发表于 2023-7-25 22:09 | 只看该作者
  1. if(KeyVal==Press_Short)
  2. {
  3.         KeyVal=Press_Null;
  4.         TarVal++;       
  5. }else if(KeyVal==Press_Long)
  6. {
  7.         uint i = 5;
  8.         KeyVal=Press_Null;
  9.         while(TarVal>=i)
  10.         {
  11.                 i+=5;
  12.         }
  13.         TarVal=i;       
  14. }
复制代码
回复

使用道具 举报

7#
ID:213173 发表于 2023-7-25 22:18 | 只看该作者
num不等于5的整数倍+-到5的整数倍
长按+5操作 num-=num%5;num+=5;
长按-5操作 if(num%5==0)num-=5;else num-=num%5;
回复

使用道具 举报

8#
ID:1012735 发表于 2023-7-26 02:24 | 只看该作者
FiveNum = FiveNum  - FiveNum%5;
or
FiveNum = FiveNum - FiveNum%5 + 5;
回复

使用道具 举报

9#
ID:168461 发表于 2023-7-26 08:20 | 只看该作者
wulin 发表于 2023-7-25 22:18
num不等于5的整数倍+-到5的整数倍
长按+5操作 num-=num%5;num+=5;
长按-5操作 if(num%5==0)num-=5;else n ...

谢谢解答
回复

使用道具 举报

10#
ID:168461 发表于 2023-7-26 08:21 | 只看该作者
hy47566398 发表于 2023-7-26 02:24
FiveNum = FiveNum  - FiveNum%5;
or
FiveNum = FiveNum - FiveNum%5 + 5;

谢谢解答
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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