芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密

飞芯科技提供芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密逆向服务

HT66f0025项目单片机程序芯片复制

芯片复制单片机源程序如下:

  1. 芯片复制
  2. 芯片复制
  3. 芯片复制
  4. #include "HT66F002.h"


  5. #define MS1000HSPINIT 250  //高速模式



  6. unsigned char ms_1000;      //定义1/31S

  7. unsigned int  ms1000set;    //定义1S
  8. unsigned char ms_10000;     
  9. unsigned int  minute1;
  10. unsigned int  minute360;

  11. unsigned char chargedetect;
  12. unsigned char chargemode;

  13. unsigned char levelstore;

  14. //设备的实际开关机状态位,0为关机,1为开机
  15. unsigned char SYS_ON_OFF_SATE;   



  16. //灯亮度设置函数
  17. void LightSet(unsigned char setvalue)         
  18. {
  19.         _stm0al=setvalue; _stm0ah=0;
  20. }


  21. //AD转换函数
  22. unsigned int AD_CaiJi()  //unsigned char Channel
  23. {
  24.         unsigned int AD_Data;
  25.        
  26.         AD_Data=0;       

  27.     //开启转换
  28.         _start = 0;                     
  29.         _start = 1;               
  30.         _start = 0;       
  31.                
  32.                
  33.         while(_adbz==1);                    //轮询转换       
  34.         AD_Data = _sadoh;
  35.         AD_Data <<=4;
  36.         AD_Data += (_sadol>>4);                                                                       
  37.                                
  38.     return         AD_Data;
  39. }




  40. void main()
  41. {
  42.         //adc参数定义
  43.         unsigned int  adcx;
  44.         unsigned char ADC_Sate;
  45.         unsigned char ADC_Sate1=0;
  46.        
  47.         //adc数据存储变量
  48.         unsigned int  adcx1;
  49.     unsigned int  adcx2;
  50.     unsigned int  adcx3;
  51.         unsigned int  adcx4;
  52.         unsigned int  adcx5;
  53.        
  54.         //I/O口初始化设置
  55.            _papu = 0b11011011;    //上拉设置,1为上拉,0为不上拉
  56.         _pac  = 0b11111011;    //IO口方向设置,0为输出,1为输入
  57.                
  58.         //引脚功能设置       
  59.         _pas4=1; //PA2=STP0               
  60.     _pas6=1; //_pas6和_pas7用来设置PA5 功能选择,选择为ADC的通道AN3
  61.         _pas7=1;

  62.         //STM PWM 输出设置               
  63.         _stm0c1=0b10101000; //fINT=fSYS/4, PWM Mode 256/2M=pres
  64.         LightSet(0);
  65.         _stm0c0=0b00001010;                            //打开定时器
  66.        
  67.     //AD初始化设置,参照数据手册A/D转换器章节
  68.     _sadc0 = 0b00100011;                                        //使能ADC        AN3
  69.         _sadc1 = 0b00000010;                                        //fsys/4
  70.         _sadc2 = 0b00000000;                                        //除能OPA
  71.        
  72.         //系统参初始化
  73.     _hlclk=1;                  //时钟初始化
  74.     ms1000set=MS1000HSPINIT;
  75.     ms_10000=31;     
  76.     minute1=1860;
  77.     minute360=361;       
  78.     SYS_ON_OFF_SATE=0;         //关开机起始状态设置
  79.     levelstore=125;            //亮度初始化
  80.    
  81.    while(1)
  82.   {
  83.                          
  84.         if(_stmp0f)                   //判断STM中断标志位是否为1,everay 1ms/次
  85.         {       
  86.                 _clrwdt();         //清除看门狗定时器计数器
  87.                 _stmp0f=0;
  88.                
  89.                 if(--ms_1000==0)   //every 1/31s/次
  90.                 {
  91.                         ms_1000=ms1000set;
  92.                        
  93.                         if(--ms_10000==0)   //every 1s/次
  94.                         {
  95.                                 ms_10000=31;
  96.                                 adcx=AD_CaiJi();
  97.                     adcx1=AD_CaiJi();
  98.                         adcx2=AD_CaiJi();
  99.                         adcx3=AD_CaiJi();
  100.                         adcx4=AD_CaiJi();
  101.                                                                     
  102.                             if((adcx>=2550)&&(adcx1>=2550)&&(adcx2>=2550)&&(adcx3>=2550)&&(adcx4>=2550))      //1.7V   1800
  103.                             {
  104.                                     ADC_Sate=0;
  105.                                     ADC_Sate1=ADC_Sate;
  106.                                     SYS_ON_OFF_SATE=0;         //关机状态
  107.                                        
  108.                             }
  109.                             else if((adcx<=2150)&&(adcx1<=2150)&&(adcx2<=2150)&&(adcx3<=2150)&&(adcx4<=2150)) //1.4V   1511
  110.                             {
  111.                                     ADC_Sate=1;
  112.                                     ADC_Sate1=ADC_Sate;
  113.                                     SYS_ON_OFF_SATE=1;         //开机状态
  114.                             }          
  115.                             else
  116.                             {
  117.                                 ADC_Sate=ADC_Sate1;  
  118.                             }

  119.                        
  120.                             if(chargemode==0)   
  121.                         {
  122.                                 if(ADC_Sate)   //adc值小于1.6V
  123.                                     {
  124.                                                chargedetect=0;       
  125.                                             LightSet(levelstore);                                        
  126.                                     }
  127.                                     else if(++chargedetect>5)
  128.                                     {
  129.                                             chargemode=1;//start charge       
  130.                                             LightSet(0);       
  131.                                     levelstore=125;
  132.                                         minute1=1860;       
  133.                                         minute360=361;                                                               
  134.                                     }
  135.                             }
  136.                             else
  137.                             {
  138.                                 if(!ADC_Sate)    //adc值大于1.6V
  139.                                 {
  140.                                             chargedetect=0;
  141.                                             LightSet(0);
  142.                                     }
  143.                                     else if(++chargedetect>5)
  144.                                     {
  145.                                         chargemode=0;//stop charge
  146.                                             LightSet(levelstore);
  147.                                             minute1=1860;       
  148.                                         minute360=361;       
  149.                                     }                               
  150.                             }
  151.                                
  152.                         }



联系方式

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

在线客服
热线电话

企业微信