芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

单片机的自行车里程表程序单片机解密

单片机解密#include<reg51.h>
#include<intrins.h>
#define on 1
#define off 0
#define speed_mod 0
#define distance_mod 1
#define v_speed_mod 4
#define time_mod 2
#define v_distance_mod 3
#define uchar unsigned char
#define uint unsigned int

sbit key_n=P3^3;
uchar code dis_code[11]={0x14,0x77,0x2c,0x25,
0x47,0x85,0x84,0x37,0x04,0x05,0xff};
uchar data dis_buf[4];
uchar data dis_digit;
uchar data dis_index;
uchar dis_mod=speed_mod;//默认显示速度
uchar n=1;
uchar key=off;//按键按下标志,默认为关
uchar dis_key=on;//数码管显示开关,默认为开
uchar dis_cut=on;//数码管显示模式,默认为节能模式
uchar sleep=off;//睡眠模式,默认为关
uchar time_key=off;//计时开关,默认为关
uchar speed_n;
uchar time_check=0;//按键去抖动
uchar time_wait=0;//关闭数码管的等待时间
uchar time_sec=0;
uchar time_min=0;
uchar time_hour=0;
uchar timer0_num=0;//计时器0的50ms中断次数
uchar timer1_num=0;//计时器1的50ms中断次数
uchar distance_num=0;//检测到的卡片个数
uchar dst_one_sec=0;//1s内检测到的卡片个数
uchar distance_10m_num=0;//10m内检测到的卡片个数
uchar bit1_code,bit2_code,bit3_code,bit4_code;
uint speed=0;
uint distance=0;
uint v_distance=0;//累积距离
uint time=0;
uint time_real=2;//累积时间
uint v_speed=0;//平均速度
uint dis_value;//显示数值

void delayms(uchar ms)
{ uchar i;
  while(ms--)
  {
      for(i=0;i<120;i++);
  }
}

void main()
{ P0=0xff;
  P2=0xff;
  TMOD=0x11;
  TH0=0x3c;
  TL0=0xaf;
  TH1=0x3c;
  TL1=0xaf;
  TR0=on;
  TR1=on;
  IP=0x0b;
  IE=0x8f;
  IT0=1;
  IT1=1;

  dis_index=0x00;
  dis_digit=0xef;

//----------数码管驱动程序------------
  while(1)
  { P0=0xff;
    P2=0xff;
    if((dis_key==on)&&(!sleep))
      {if(dis_mod==speed_mod)
            {dis_value=speed;}
       if(dis_mod==distance_mod)
            {dis_value=distance;}
       if(dis_mod==v_speed_mod)
            {dis_value=v_speed;}
       if(dis_mod==time_mod)
            {dis_value=time;}
       if(dis_mod==v_distance_mod)
            {dis_value=v_distance;}
       bit4_code=dis_value%10;//显示最低位
       dis_value/=10;
       bit3_code=dis_value%10;//显示次低位
       dis_value/=10;
       bit2_code=dis_value%10;//显示次高位
       dis_value/=10;
       if(dis_value!=0)//最高位灭零
            {bit1_code=dis_value%10;}
       else
            {bit1_code=10;}
       dis_buf[0]=dis_code[bit4_code];
       dis_buf[1]=dis_code[bit2_code]-4;
       dis_buf[2]=dis_code[bit3_code];
       dis_buf[3]=dis_code[bit1_code];

       P0=dis_buf[dis_index];
       P2=dis_digit;
       dis_digit*=2;//显示下一位
       if(dis_digit==0xf0)
            {dis_digit=0xef;}
       dis_index++;
       dis_index&=0x03;//4个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描
       delayms(1);   
      }
  }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信