找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3173|回复: 6
收起左侧

单片机数码管显示不全,怎么解决?

[复制链接]
ID:723431 发表于 2020-4-6 15:19 | 显示全部楼层 |阅读模式
要做一个60秒的倒计时,十位显示正常,个位显示不全,想问一下怎么解决?
[FBHB]TUU96{`F{_G[MJVSH.png
回复

使用道具 举报

ID:723431 发表于 2020-4-6 15:22 | 显示全部楼层
程序如下
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ge[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x90};       
uchar code zixingma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x90};       
sbit P10=P1^0;
sbit P11=P1^1;
uchar s,k;
void delay5ms()
{
        uchar i,j;
        for(i=10;i>0;i--)
                for(j=248;j>0;j--);
}
void t_0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        k--;
        if(k==0)
                {       
                        k=20;
                        s--;
                        if(s==0)
                        {
                                s=60;
                        }
                }
}
void main()
{
        uint t;
        s=60;
        k=20;
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        while(1)
        {
                P11=1;
                P0=zixingma[s/10];
                for(t=0;t<10;t++);
                delay5ms();
                P10=1;
                P11=0;
                P0=zixingma[s%10];
        }
}
回复

使用道具 举报

ID:150374 发表于 2020-4-6 19:53 | 显示全部楼层
机电小生 发表于 2020-4-6 15:22
程序如下
#include
#define uchar unsigned char

个位没有加延时吧
回复

使用道具 举报

ID:150374 发表于 2020-4-6 19:54 | 显示全部楼层
机电小生 发表于 2020-4-6 15:22
程序如下
#include
#define uchar unsigned char

十位 编码 延时 个位 编码 十位 编码-----少了个延时吧
回复

使用道具 举报

ID:213173 发表于 2020-4-6 20:53 | 显示全部楼层
机电小生 发表于 2020-4-6 15:22
程序如下
#include
#define uchar unsigned char

动态显示要加消隐
void main()
{
//        uint t;
        s=60;
        k=20;
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        while(1)
        {
                P0=0xff;//消隐
                P10=1;P11=0;
                P0=zixingma[s/10];
                //for(t=0;t<10;t++);
                delay5ms();
                P0=0xff;//消隐
                P10=0;P11=1;
                P0=zixingma[s%10];
                delay5ms();
        }
}
回复

使用道具 举报

ID:70069 发表于 2020-4-6 21:10 | 显示全部楼层
while(1)
        {
                P11=1;
                P0=zixingma[s/10];
                for(t=0;t<10;t++);
                delay5ms();
                P11=0;
                P10=1;
                P0=zixingma[s%10];
                                for(t=0;t<10;t++);
                delay5ms();
                                P10=0;
        }
回复

使用道具 举报

ID:723431 发表于 2020-4-6 22:17 | 显示全部楼层
wulin 发表于 2020-4-6 20:53
动态显示要加消隐
void main()
{

太感谢了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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