找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2392|回复: 8
收起左侧

这个51单片机程序中这三个数组什么意思?

[复制链接]
ID:841280 发表于 2020-11-20 20:16 | 显示全部楼层 |阅读模式
unsigned char code DUTable[16] =
{
        0x3F,0x06,0x5B,0x4F,
        0x66,0x6D,0x7D,0x07,
        0x7F,0x6F,0x77,0x7C,
        0x39,0x5E,0x79,0x71
};

unsigned char code WETable[8] =
{
        ~0x80,~0x40,~0x20,~0x10,
        ~0x08,~0x04,~0x02,~0x01
};

unsigned char LedBuff[8] =
{
        0x3F,0x3F,0x00,0X00,
        0X00,0X00,0X00,0X00
};

回复

使用道具 举报

ID:716656 发表于 2020-11-21 13:48 | 显示全部楼层
1.数码管(转换成二进制看一下就明白了)2.01111111到11111110(右移)   
回复

使用道具 举报

ID:701852 发表于 2020-11-21 16:26 | 显示全部楼层
第一个段选(看起来像7段)控制亮的内容
第二个位选 控制亮的位置
第三个像控制led的
回复

使用道具 举报

ID:851329 发表于 2020-12-17 20:03 | 显示全部楼层
你把十六进制换出来,换成二进制,看看自己的程序需要到了那些东西控制,然后想一想这个对应得控制什么。
回复

使用道具 举报

ID:160500 发表于 2020-12-17 20:07 | 显示全部楼层
数组的意义完全看你程序里怎么使用它。也就hi是说你使用它是啥就是啥
回复

使用道具 举报

ID:517951 发表于 2020-12-18 09:23 | 显示全部楼层
看着像是控制LED8段码的控制符。第一组是段码,第二组是位码,第三组是buf
回复

使用道具 举报

ID:591676 发表于 2020-12-18 10:17 | 显示全部楼层
数码管的程序
回复

使用道具 举报

ID:824490 发表于 2020-12-18 11:46 | 显示全部楼层
看字识义:
1、段表
2、位表
3、显示缓存
回复

使用道具 举报

ID:797483 发表于 2020-12-18 14:30 | 显示全部楼层
第一个数组中,0x3F,化为二进制为0011 1111。一位十六进制代表8位二进制。我举个例子P1=DUTable[0];那么对应你这个程序就是P1=0x3F;(数组中的16表示一共16位,但按照次序排列为0-15),表示把0011 1111这个数送给P1口,P1口也有八个位。0代表低电平,1代表高电平。就实现了对应的控制。同理,可以通过数组事先定义好高低电平,转为十六进制,加以调用。楼上楼下所说数码管控制就是这个原理,将二进制位与数码管的LED一段段对应起来。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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