风飘雪之林 发表于 2012-10-12 06:21:32

51单片机的自外地址数据读写

有一个片外的C程序看不懂,希望大侠指教!!
#include<reg51.h>
#include<absacc.h>
#define    ADC   XBYTE
#define    DP1   XBYTE
#define    DP2   XBYTE
#define    DP3   XBYTE
#define    DP4   XBYTE
#define    TIMER    0x3000

unsigned char table[ ]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(void);
void display(unsigned char m,n);
void main(void)
{                   
    inttemp=0 ,y=0;

        unsigned char j=0;
        unsigned char z=0,num=0,y2=0,i;
        int    x=0;

    DP1=DP2=DP3=DP4=0xff;
        delay();

while(1)
                {

                        ADC=x;
                        delay();
                        delay();
                        x=(int)((ADC*250)/64);    /*        x=(ADC*4); */
                //        DP1=0xff;
                /*        for(;j<=0;j++)
                  {        temp=x;           }                  */
                        if(temp=x)
                        {
                                y=(int )(x/100);      num=1;display(num,y);
                                z=(x-y*100)/10;        num=2;display(num,z);
                                y2=x-(y*100)-(z*10);num=3;
                               
                                display(num,y2);
                        }
          
                  for(i=0;i<10;i++)
                  { delay();        }
                //       temp=x;
       }
}
void display(unsigned char m,n)
{   
        switch(m)
        {
                case 1: DP2=table;      break;
                case 2: DP3=table+0x80;       break;
                case 3: DP4=table;               break;
                default: ;                                      break;
        }
}   

void delay(void)
{
        unsigned int i;
        for(i=0;i<TIMER;++i);
}

这是一个测温用数码管显示的程序....具体怎么用的373,245不清楚。
页: [1]
查看完整版本: 51单片机的自外地址数据读写