找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机C语言数码管的查表运算digitron=table[j];结果怎么理解?

[复制链接]
跳转到指定楼层
楼主
ID:1083165 发表于 2023-8-2 08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  unsigned char table[10]={0x40,0x73,0x89,0x21,0x32,0x24,0x04,0x71,0x00,0x20};
void display (unsigned char display_data)
{   //两位数码管显示驱动
    unsigned char y,j,digitron;
    decimal_point_off;                   //小数点关
    for(y=0;y<10;y++)
        {   j=display_data/10;          //取整,十位数
            digitron=table[j];
            PA0=1;

            if(digitron&0x01)   PC0=1;  //数码管第1笔
            else                      PC0=0;  
            if(digitron&0x02)   PC1=1;  //数码管第2笔
            else                      PC1=0;
            if(digitron&0x04)   PC2=1;  //数码管第3笔
            else                      PC2=0;
            if(digitron&0x08)   PA5=1;  //数码管第4笔
            else                      PA5=0;
            if(digitron&0x10)   PC4=1; //数码管第5笔
            else                      PC4=0;
            if(digitron&0x20)   PC5=1; //数码管第6笔
            else                      PC5=0;
            if (digitron&0x40)  PA4=1; //数码管第7笔
            else                      PA4=0;
            PA6=0;      
            DelayMs(5);


新手小白,搞不懂上面的那句digitron=table[j];的结果是怎么运算出来的?

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

使用道具 举报

沙发
ID:17647 发表于 2023-8-2 10:13 | 只看该作者
j=display_data/10;         
digitron=table[j];
回复

使用道具 举报

板凳
ID:1087948 发表于 2023-8-2 14:37 | 只看该作者
在上述代码中,digitron=table[j];是将数组table中的元素赋值给变量digitron。  首先,j是通过将display_data除以10来获取十位数。例如,如果display_data为47,则j将被赋值为4。  然后,table[j]将访问数组table中索引为j的元素。这意味着如果j为4,则table[4]将返回数组中索引为4的元素值,即0x32。  最后,将这个值赋给变量digitron,使得digitron等于0x32。接下来的代码会根据digitron的不同位状态来控制数码管的显示。  注意:在你提供的代码中,并没有给出table数组的定义和decimal_point_off、PA0、PC0等标识符的定义。请确保这些定义在代码的其他部分存在,并正确设置相应的值和功能。

评分

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

查看全部评分

回复

使用道具 举报

地板
ID:1083165 发表于 2023-8-2 14:53 | 只看该作者
liyonghua111 发表于 2023-8-2 14:37
在上述代码中,digitron=table[j];是将数组table中的元素赋值给变量digitron。  首先,j是通过将display_da ...

谢谢大佬,讲的特别详细,终于明白了!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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