找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机数码管仿真中遇到的数码管显示乱码问题

查看数: 2418 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-4-5 06:52

正文摘要:

如下图:网上下载的一个数码管计数器,原程序及其仿真是共阳极数码管,因我手上只有共阴极的数码管,所以我就将原程序里共阳极编码表换成了共阴极编码表。问题来了,计数器加减复位功能都正常,也能显示数字,但单位 ...

回复

ID:979299 发表于 2022-4-5 17:37
  1. 代码不需要修改换取反即可。
复制代码

就是,段码也不用换的,只需要把所有赋值段码和位码前写上~这个取反符号即可
ID:121859 发表于 2022-4-5 15:50
段码修改后,位码也需要同时修改,其实不用那么麻烦,控制程序中,将段码和位码送IO扣前取反就可以了。
ID:332444 发表于 2022-4-5 12:27
代码不需要修改换取反即可。
ID:149451 发表于 2022-4-5 11:25
兴安xa 发表于 2022-4-5 10:51
P2口位显也得改啊。
//***********************************************
//显示程序

多谢多谢......菜鸟基础不够,现在明白了,改好了。
ID:149451 发表于 2022-4-5 11:24
mffhxa 发表于 2022-4-5 10:39
改共阴数码管后段码要变,位码也要变啊。P2=0X0E; //显示个位,P2=0X0D; //显示十位,,P2=0X0B; //显示百 ...

多谢多谢......明白了,改好了。
ID:979299 发表于 2022-4-5 10:51
P2口位显也得改啊。
//***********************************************
//显示程序
//***********************************************
void display(void)
{
        P2=0X07;
        P1=table[m%10];   //显示个位
        delayms(5);  
        P2=0X0B;
        P1=table[m/10];   //显示十位
        delayms(5);                                                              
        P2=0X0D;
        P1=table[n%10];   //显示百位
        delayms(5);
        P2=0X0E;
        P1=table[n/10];   //显示千位
        delayms(5);
}
ID:195446 发表于 2022-4-5 10:39
改共阴数码管后段码要变,位码也要变啊。P2=0X0E; //显示个位,P2=0X0D; //显示十位,,P2=0X0B; //显示百位,P2=0X07; //显示千位。

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

Powered by 单片机教程网

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