找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2946|回复: 14
收起左侧

关于单片机C语言LED=0x255的理解,LED闪烁程序

  [复制链接]
ID:666571 发表于 2020-7-17 10:31 | 显示全部楼层 |阅读模式
单片机LED闪烁实验:

#include "reg51.h"

typedef unsigned char  u8;
typedef unsigned int u16;    /*小于65535*/

#define LED P0

void delay3s(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=189;c>0;c--)
        for(b=230;b>0;b--)
            for(a=33;a>0;a--);
}

void main ()
{
   while (1)
  {
   LED=0x00;
   delay3s()  ;
   LED=~LED;
   delay3s() ;
  }
}
main函数中的LED控制口替换成以下编码:
while (1)
  {
   LED=0x00;
   delay3s()  ;
   LED=0x255;
   delay3s() ;
  }
结论,
我的理解(我的单片机二极管低电平亮)是LED=0x00;对应的二进制数(0000  0000)全亮,LED=0x255;时对应二进制(1111  1111)全灭才对。但3秒后只有D1,D3,D5,D7四个灯管灭。原本的代码里的LED=~LED;的话达到预期效果全灭。不知道是不是我的理解错了。

回复

使用道具 举报

ID:247125 发表于 2020-7-17 14:11 | 显示全部楼层
理解的没错。上述现象可能是IO口没有配置成输出模式导致?
回复

使用道具 举报

ID:452950 发表于 2020-7-17 14:13 | 显示全部楼层
0X00取非是0XFF
0XFF是16进制,转换成二进制是11111111,转换成十进制是255

回复

使用道具 举报

ID:804727 发表于 2020-7-17 14:14 | 显示全部楼层
这看得我有点懵
回复

使用道具 举报

ID:267932 发表于 2020-7-17 14:48 | 显示全部楼层
你应该写 255 不应该是0X255吧,
回复

使用道具 举报

ID:716656 发表于 2020-7-17 15:18 来自手机 | 显示全部楼层
你写的ox255是十六进制255,转化成二进制是1001010101。你试试LED=255.
回复

使用道具 举报

ID:451718 发表于 2020-7-17 15:24 | 显示全部楼层
0x255   是几个意思, 为什么不是0xff 。 0x255 是三位16进制数了。   
回复

使用道具 举报

ID:536119 发表于 2020-7-17 15:55 | 显示全部楼层
0x00是0000 0000,低电平所以都亮,而0x255是0010 0101 0101,所以会间隔亮,你应该是16进制与二进制的转换搞错了,可以把0x255换成0xff也就是1111 1111 或者换成255或者换成8进制的0377
回复

使用道具 举报

ID:331263 发表于 2020-7-17 15:56 | 显示全部楼层
写错了吧,十进制和16进制搞混了吧
回复

使用道具 举报

ID:342822 发表于 2020-7-17 16:09 | 显示全部楼层
  要学会使用现有的计算工具
回复

使用道具 举报

ID:97554 发表于 2020-7-17 16:21 | 显示全部楼层
当256是十进制数时换成十六进制为0xFF即为二进制数B1111 1111,但是0x256表示16进制数,已经超过八位了 转换为二进制数为10 0101 0110。在C51里,二进制数前加B,十六进制前加0x。
回复

使用道具 举报

ID:282850 发表于 2020-7-17 16:44 | 显示全部楼层
LED=0x255;时对应二进制(1111  1111)?
0xff是255,
0x255是1001010101
回复

使用道具 举报

ID:636538 发表于 2020-7-17 16:48 | 显示全部楼层
兄弟0x代表16进制,十进制255,确实就对应16进制FF,但是0x255对应二进制0010 0101 0101,那灯灭的现象正确
回复

使用道具 举报

ID:981034 发表于 2022-1-21 14:33 | 显示全部楼层
咋是3位十六进制?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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