您当前的位置:五五电子网电子知识单片机-工控设备51单片机超声波测距数码管显示程序 正文
超声波测距数码管显示程序

超声波测距数码管显示程序

点击数:7590 次   录入时间:03-04 11:51:14   整理:http://www.55dianzi.com   51单片机
 {    
     outcomeH =TH1;    //取出定时器的值
     outcomeL =TL1;    //取出定时器的值
     succeed_flag=1;   //至成功测量的标志
     EX0=0;            //关闭外部中断
  }
//****************************************************************
//定时器0中断,用做显示
timer0() interrupt 1  // 定时器0中断是1号
   {
      TH0=0xfd; //写入定时器0初始值
     TL0=0x77;         
     switch(flag)   
      {case 0x00:P0=ge; P2=0x7f;flag++;break;
        case 0x01:P0=shi;P2=0xbf;flag++;break;
        case 0x02:P0=bai;P2=0xdf;flag=0;break;
      }
   }

//显示数据转换程序
void conversion(uint data)  
 {  
    uchar ge_data,shi_data,bai_data ;
    bai_data=data/100 ;
    data=data%100;   //取余运算
    shi_data=data/10 ;
    data=data%10;   //取余运算
    ge_data=data;

    bai_data=SEG7[bai_data];
    shi_data=SEG7[shi_data]&0x7f;
    ge_data =SEG7[ge_data];

    EA=0;
    bai = bai_data;
    shi = shi_data;
    ge  = ge_data ; 
     EA=1;
 }
//******************************************************************


void delay_20us()
 {  uchar bt ;
    for(bt=0;bt<60;bt++);
 }
  void pai_xu()
  {  uint t;
  if (distance[0]>distance[1])
    {t=distance[0];distance[0]=distance[1];distance[1]=t;} 
  if(distance[0]>distance[2])
    {t=distance[2];distance[2]=distance[0];distance[0]=t;} 
  if(distance[1]>distance[2])
    {t=distance[1];distance[1]=distance[2];distance[2]=t;}  
    }




上一页  [1] [2] 


本文关键字:超声波  程序  51单片机单片机-工控设备 - 51单片机