找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3747|回復(fù): 4
收起左側(cè)

求助!為什么proteus上模擬的led數(shù)碼管一個(gè)一個(gè)地顯示,不能做到動(dòng)態(tài)顯示?

[復(fù)制鏈接]
ID:92087 發(fā)表于 2015-11-20 16:10 | 顯示全部樓層 |閱讀模式
各位大牛,我是菜鳥(niǎo),麻煩大家看看我的程序哪里出錯(cuò)!為什么proteus上模擬的led數(shù)碼管一個(gè)一個(gè)地顯示,不能做到動(dòng)態(tài)顯示?
謝謝大家!

#include<reg51.h>
sbit button=P3^0;
unsigned  int msec1;
unsigned  int msec2;
unsigned  int clockbuf[]={0,0};
unsigned  int com[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned  int  *dis_p;
void display(unsigned int  *dis_p);

void delay(unsigned int i)
{
         unsigned char a;
         for(a=0;a<i;i++);
}
void main ()
{
        msec1=0;
        msec2=0;
        TMOD=0x02;
        TL0=0x06;
        TH0=0x06;
        ET0=1;
        EA=1;
        TR0=1;
        dis_p=clockbuf;
        while(1)
        {
                                       
                                
                                 
                                        display(dis_p);
                                
                                       
                                
                        
               
        }
}
void clock() interrupt 1
{
        
        msec1++;
        if(msec1==0x28)
        {
                msec1=0;
                msec2++;
                if(msec2==100)
                {
                        msec2=0;
                        clockbuf[1]++;
                        if(clockbuf[1]==60)
                         {
                                 clockbuf[1]=0;
                                  clockbuf[0]++;
                                if(clockbuf[0]==60)  
                                        {clockbuf[0]=0;}
                     }
                }
        }        
}
void display(unsigned int  *p)
{
        unsigned  int i;
        unsigned int k;
        unsigned int temp;
        unsigned int buffer[]={0,0,0,0};
        buffer[0]=p[0]/10;
        buffer[1]=p[0]%10;
        buffer[2]=p[1]/10;
        buffer[3]=p[1]%10;
        for(k=0;k<3;k++)
        {        temp=0x01;
                for(i=0;i<4;i++)
                {        unsigned char j;
                        j=buffer;
                        P1=com[j];
                        P2=temp;
                        temp<<=1;
                        delay(10);
                }
        }
}

回復(fù)

使用道具 舉報(bào)

ID:92087 發(fā)表于 2015-11-20 21:09 | 顯示全部樓層
自頂!
回復(fù)

使用道具 舉報(bào)

ID:95922 發(fā)表于 2015-11-20 21:18 | 顯示全部樓層
確實(shí),我也用proteus,不能動(dòng)態(tài)掃描,出現(xiàn)顯示不全,這個(gè)問(wèn)題找不到答案
回復(fù)

使用道具 舉報(bào)

ID:92087 發(fā)表于 2015-11-22 20:50 | 顯示全部樓層
老來(lái)所學(xué) 發(fā)表于 2015-11-20 21:18
確實(shí),我也用proteus,不能動(dòng)態(tài)掃描,出現(xiàn)顯示不全,這個(gè)問(wèn)題找不到答案

請(qǐng)問(wèn)你的程序在開(kāi)發(fā)板正常嗎?
回復(fù)

使用道具 舉報(bào)

ID:60379 發(fā)表于 2015-11-23 20:37 | 顯示全部樓層
proteus 本身的問(wèn)題不可抗拒,直接用硬件實(shí)驗(yàn)才是正道。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表