找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2936|回复: 4
收起左侧

单片机问题,为什么我这样写寄存器低8位加不进寄存器高8位啊?

[复制链接]
ID:609524 发表于 2020-8-4 16:53 | 显示全部楼层 |阅读模式
为什么我这样写寄存器低8位加不进寄存器高8位啊,请大佬们指点指点
BPT%CZQ6[7HA7DT{QYQF{]5.png
回复

使用道具 举报

ID:86926 发表于 2020-8-4 17:17 | 显示全部楼层
因为8位数据最大值是256,但是在编译环境中是从0开始的,也就是0-255,所以256是不存在的,永远也不会>=256;
回复

使用道具 举报

ID:804115 发表于 2020-8-4 17:29 | 显示全部楼层
楼上说的对,仔细想想,if(P1ADTL >= 256)什么时候为真?有可能为真吗?如果有,你举例说明一下?
回复

使用道具 举报

ID:609524 发表于 2020-8-4 18:25 | 显示全部楼层
蓝魄 发表于 2020-8-4 17:17
因为8位数据最大值是256,但是在编译环境中是从0开始的,也就是0-255,所以256是不存在的,永远也不会>=256 ...

我重新改了一下,你帮我看看我这个为什么还会无限的加下去
else if(RF_KEY==0x0D)        //亮度减少
                {
                         if(RF_PWM_JIE)
                         {
                                 RF_PWM_JIE = 0;
                                   //每次按下按键寄存器低8位加10
                             if(P1ADTL>=246)
                                 {
                                         P1ADTL = P1ADTL-245;                                       
                     P1ADTH=P1ADTH+1;
                                 }
                 else
                 {
                       P1ADTL = P1ADTL+10;       
                        if(P1ADTH>=1)
                       {
                             if(P1ADTL>=145)
                             {
                                  P1ADTL=145;
                              }
                        }
                 }
               
                         }
                }
回复

使用道具 举报

ID:739545 发表于 2020-8-5 16:24 | 显示全部楼层
可以连调么,可以的话看下TL和TH的值,怀疑TL和TH不能用作数据判断,用一个中间变量试一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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