找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4140|回复: 7
收起左侧

单片机四位数码管已经可以显示数字了,怎么显示ABCD

[复制链接]
ID:944932 发表于 2021-6-27 22:55 | 显示全部楼层 |阅读模式
四位数码管显示数字已经可以了,现在如果我想放字母在数组里,应该怎么修改呢,求指教
比如说n=abcd
怎么可以让abcd分别显示在四位数码管呢
求大佬给个思路。


以下是显示数字的一点儿程序:

unsigned int n[]={2020,1024,2383,1234};


display(n[t%4]/1000,(n[t%4]/100)%10,(n[t%4]%100)/10,n[t%4]%10);//调用显示函数

void display(unsigned int first,unsigned int second,unsigned int third,unsigned int fourth)
{        
        
        wei=0x01;
        duan=tab[first];
        delay(10);

        
        
        wei=0x02;
        duan=tab[second];
        delay(10);
        
        wei=0x04;
        duan=tab[third];
        delay(10);
        
        wei=0x08;
        duan=tab[fourth];
        delay(10);

}


显示数字已经能ok了

显示数字已经能ok了
回复

使用道具 举报

ID:554500 发表于 2021-6-28 08:00 | 显示全部楼层
数字你都可以显示了,ABCD还不会吗?看来你还是不清楚数码管结构啊。
回复

使用道具 举报

ID:942056 发表于 2021-6-28 08:01 来自手机 | 显示全部楼层
先取字母的模,然后duan=tab[字母的位数,比如a在取模中排3位,就填3,]
回复

使用道具 举报

ID:377210 发表于 2021-6-28 09:31 | 显示全部楼层
如楼上所说的一样的方法,先编码,然后放进数组里,再调用显示。
回复

使用道具 举报

ID:824490 发表于 2021-6-28 09:40 | 显示全部楼层
0123456789ABCDEF按这顺序做进码表
回复

使用道具 举报

ID:313048 发表于 2021-6-28 09:43 | 显示全部楼层
从你程序中看出,你是直接显示,0-9你都可以直接用坐标搞定,一一对应字模,但是ABCD代表着10,11,12,13,在你的显示函数中无法直接结算然后显示出来,你得重新写一个函数才可以。
回复

使用道具 举报

ID:944932 发表于 2021-6-28 17:15 | 显示全部楼层
AUG 发表于 2021-6-28 09:43
从你程序中看出,你是直接显示,0-9你都可以直接用坐标搞定,一一对应字模,但是ABCD代表着10,11,12,13,在 ...

谢啦,既然ABCD就是11 12 13 14的话,将这个代替掉是不是应该也可以
回复

使用道具 举报

ID:944932 发表于 2021-6-28 17:16 | 显示全部楼层
MOVEORDIE 发表于 2021-6-28 09:31
如楼上所说的一样的方法,先编码,然后放进数组里,再调用显示。

ok啦,谢谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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