标题: 萌新感觉51单片机想从00~99累加显示好难,有没有大佬指教指教 [打印本页]

作者: 731799271    时间: 2018-12-7 11:57
标题: 萌新感觉51单片机想从00~99累加显示好难,有没有大佬指教指教
#include<reg52.h>
#include<hjc52.h>
#define DataPort P0  
//sbit DataPort0=P0^0  ;
//sbit DataPort1=P0^1  ;
#define uchar unsigned char
#define uint  unsigned int
uchar num1,num2;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
                    0x6d,0x7d,0x07,0x7f,0x6f
     };
uchar code aable[]={  
     0xfe,0xfd};
void delayms(uint);
void main()
{
   while(1)
{
  for(num1=0;num1<10;num1++) //
    {
    WE=1; //??u2?????
    P0=0xfe; //????λ????
    WE=0; //???u2?????
    // delays(1);
    DU=1; //??u1?????
    P0=table[num1%10]; //?????????
    DU=0; //???u1?????
    delayms(30);
    }  
                       
     
    for(num1=0;num1<100;num1++) //
    {
    WE=1; //??u2?????
    P0=0xfd; //????λ????
    WE=0; //???u2?????
    // delays(1);
    DU=1; //??u1?????
    P0=table[num1/10]; //?????????
    DU=0; //???u1?????
    delayms(10);
    }   
   }
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
    for(j=1000;j>0;j--);

}
//hjc52.h
#ifndef hjc52_H
#define hjc52_H
sbit LED0 =P1^0;
sbit LED1 =P1^1;
//sbit DU =P2^0;  //HJ-C52
//sbit WE =P2^1;  //HJ-C52
sbit DU =P2^6;  //HL-1
sbit WE =P2^7; //HL-1
sbit FM =P1^2; //P2.3  HL-1
sbit EN =P2^5; //LCD1602
sbit RST =P1^2; //DS1302

#endif



作者: wulin    时间: 2018-12-7 21:26
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int

sbit DU =P2^0;  //HJ-C52
sbit WE =P2^1;  //HJ-C52
uint num;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
                    0x6d,0x7d,0x07,0x7f,0x6f};
void delayms(uint);
void main()
{
        while(1)
        {
                for(num=0;num<10000;num++)
                {
                        P0=0x00;
                        DU=1;
                        DU=0;
                        P0=0xfe;
                        WE=1;
                        WE=0;
                        P0=table[num/100%10];
                        DU=1;
                        DU=0;
                        delayms(2);

                        P0=0x00;
                        DU=1;
                        DU=0;
                        P0=0xfd;
                        WE=1;
                        WE=0;
                        P0=table[num/1000%10];
                        DU=1;
                        DU=0;
                        delayms(2);
                }   
        }
}
void delayms(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
            for(j=120;j>0;j--);
}





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1