数码管问题,初学者

2020-02-04 09:11发布

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define du P0
#define we P2

uint temp ,shi ,ge, numdu,tt ,bai ;
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0
x83,0xc6,0xa1,0x86,0x8e};
sbit control = P3^6 ;

void delay(uint z) ;
void display(uint bai ,uint shi ,uint ge) ;
void init() ;

void main()
{
        init() ;
        while(1)
        {
                if(tt==20)
                {
                        tt=0 ;
                        temp ++ ;
                        if(temp == 100)
                                temp = 0 ;
                        bai = temp/100 ;
                        shi = temp%100/10 ;
                        ge = temp%10 ;
                        display(bai,shi,ge) ;
                }
        }
       
}

void init()
{
        control = 0 ;
        temp = 0 ;
        TMOD = 0x01 ;
        TH0 = (65536-50000)/256 ;
        TL0 = (65536-50000)%256 ;
        EA = 1 ;
        ET0 = 1 ;                         
        TR0 = 1 ;                 
}

void display(uint bai ,uint shi ,uint ge)
{               
        control = 1 ;
        du = table[bai] ;
        we = 0xfe ;
        delay(5) ;                  
   
        du = table[shi] ;
        we = 0xfd ;
        delay(5) ;         

        du = table[ge] ;
        we = 0xfb ;
        delay(5) ;                  
}

void delay(uint z)
{
        uint x ,y ;
        for(x = 100 ;x > 0 ;x--)
                for(y = z ;y > 0 ;y--)        ;
}       

void timer0() interrupt 1
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    tt++;       
}  

ps:我的单片机有P3^6同时控制位选和断选,位选为P0,断选为P2

问题:三个数码管不能同时显示,只能轮流跳着显示,即使delay加长也一样,但是用两个锁存器控制断选和位选的打开管脚,复用P0管脚这种设置的单片机不会出现我的情况。求解决办法?? 未命名.jpg (147.88 KB, 下载次数: 0) 下载附件 2012-4-16 15:59 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
raxb
1楼-- · 2020-02-04 10:16
那是你位选送数据的问题啊
炎魔1206
2楼-- · 2020-02-04 14:25
 精彩回答 2  元偷偷看……
raxb
3楼-- · 2020-02-04 20:00
炎魔1206 发表于 2012-4-16 17:58
但是送数据的时候不是因为时间极短而感觉不到数码管的变化吗?

该送什么就送什么
lxa0
4楼-- · 2020-02-05 01:39
请楼主先了解一下动态扫描的过程
炎魔1206
5楼-- · 2020-02-05 03:51
本帖最后由 炎魔1206 于 2012-4-17 23:36 编辑
raxb 发表于 2012-4-16 18:19

123.jpg (203.81 KB, 下载次数: 0)

下载附件

2012-4-17 23:36 上传

再请问下,为什么这种单片机用类似上诉的方法不会出现这种问题呢??谢谢
时光黑白
6楼-- · 2020-02-05 05:26
没太明白楼主的意思,数码管动态显示不难。你最好查下你用的锁存器的资料。

一周热门 更多>