˜Ë(bi¨¡o)î}: ÔõôÓÃ†ÎÆ¬™C(j¨©)œyÁ¿ƒÉ‚€Ã}›_µÄ•régég¸ô°¡£¡ [´òÓ¡±¾í“]

×÷Õß: yxf113    •rég: 2012-10-9 19:01
˜Ë(bi¨¡o)î}: ÔõôÓÃ†ÎÆ¬™C(j¨©)œyÁ¿ƒÉ‚€Ã}›_µÄ•régég¸ô°¡£¡

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char

sbit P10=P1^0;
sbit P11=P1^1; //λ´a¿Ú
sbit P12=P1^2;
sbit P13=P1^3;

sbit P32=P3^2;

unsigned char  code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};   //Œ¦‘ª(y¨©ng)0---9
unsigned char  Data_Buffer[4]={0,0,0,0};  //´æ·Å½y(t¨¯ng)Ó‹µÄ”µ(sh¨´)“þ(j¨´)¡£ †Îλžé£¨100uS£©

uint time=0;

 

void fenge()    //·Ö¸î”µ(sh¨´)“þ(j¨´)£¬ÒÔ±ãÓÚ½y(t¨¯ng)Ó‹Ý^´óég¸ô•rég¡£
{
    Data_Buffer[0]=time/1000;
   Data_Buffer[1]=time/100%10;
   Data_Buffer[2]=time/10%10;
   Data_Buffer[3]=time%10; 
}

void display()  //ÓÃÓÚËÄ‚€”µ(sh¨´)´a¹Üï@ʾ”µ(sh¨´)“þ(j¨´)
{
 uchar Bit=0;
 while(1)
 {
   Bit++;
  if(Bit>=4)
  Bit=0;
  P0=Duan[Data_Buffer[Bit]]; //”µ(sh¨´)“þ(j¨´)µÄÝ”³ö
  switch(Bit)//é_λ´a
   {
    case 0: P10=0;break;
    case 1: P11=0;break;
    case 2: P12=0;break;
    case 3: P13=0;break;
   }  
 } 
}

void mian()
{
 EX0=0;
 EA=1;
 IT0=0;//µÍëŠÆ½ÓÐЧ

 TMOD=0x02;   //ÔO(sh¨¨)ÖÞé×Ô„ÓÖØÝd·½Ê½
 TH0=0x92;   //ÔO(sh¨¨)ÖÞé100uSµÄÓ‹”µ(sh¨´)
 TL0=0x92;
 TR0=0;

  while(1)
 {
  fenge();
  display();
  time=0;    //®”(d¨¡ng)ǰï@ʾÍê®…ºó£¬Çå®”(d¨¡ng)ǰtimeµÄÖµ
  EX0=1;    //é_†¢ÍⲿÖДà
 }

}

void zhongduan() interrupt 0
{
 TR0=1;
 if(TH0==1)  //100uS¶¨•rÆ÷Òç³ö
 {
  time++;   //½y(t¨¯ng)Ó‹ƒÉ‚€Ã}›_µÄ•rég
  TH0=0;
 }
 if(P32==1)   //Èç¹ûÍⲿÖДà׃?y¨­u)é¸ßëŠÆ½£¬êP(gu¨¡n)é]ÖДࡣ±£×C½y(t¨¯ng)Ó‹µÄÊǃɂ€Ã}›_µÄég¸ô•rég¡£žéÖ÷º¯”µ(sh¨´)ï@ʾ”µ(sh¨´)“þ(j¨´) ŽÈ¡•rég¡£
 EX0=0; 

}

 

ÓÐüc†–î}£¬ÕlÄÜŽÍÎҸĸĆᣡ






šgÓ­¹âÅR (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1