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

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

检测烟雾灰尘浓度并报警的单片机源程序IC解密

  1. IC解密#include <reg52.h>
  2. IC解密#include <intrins.h>

  3. IC解密#define uchar unsigned char                // 以后unsigned char就可以用uchar代替
  4. IC解密#define uint  unsigned int                // 以后unsigned int 就可以用uint 代替

  5. sfr ISP_DATA  = 0xe2;                        // 数据寄存器
  6. sfr ISP_ADDRH = 0xe3;                        // 地址寄存器高八位
  7. sfr ISP_ADDRL = 0xe4;                        // 地址寄存器低八位
  8. sfr ISP_CMD   = 0xe5;                        // 命令寄存器
  9. sfr ISP_TRIG  = 0xe6;                        // 命令触发寄存器
  10. sfr ISP_CONTR = 0xe7;                        // 命令寄存器

  11. sbit LcdRs_P  = P2^7;     // 1602液晶的RS管脚      
  12. sbit LcdRw_P  = P2^6;     // 1602液晶的RW管脚
  13. sbit LcdEn_P  = P2^5;     // 1602液晶的EN管脚
  14. sbit Key1_P   = P3^2;                        // 减按键
  15. sbit Key2_P   = P3^3;                        // 加按键
  16. sbit Buzzer_P = P1^0;                        // 蜂鸣器


  17. uint  gAlarm ;                                                // 报警值
  18. uchar gIndex=0;                                                // 串口接收索引
  19. uint  Value[20]={0};                        // 串口数据缓存区


  20. /*********************************************************/
  21. // 单片机内部EEPROM不使能
  22. /*********************************************************/
  23. void ISP_Disable()
  24. {
  25.         ISP_CONTR = 0;
  26.         ISP_ADDRH = 0;
  27.         ISP_ADDRL = 0;
  28. }


  29. /*********************************************************/
  30. // 从单片机内部EEPROM读一个字节,从0x2000地址开始
  31. /*********************************************************/
  32. unsigned char EEPROM_Read(unsigned int add)
  33. {
  34.         ISP_DATA  = 0x00;
  35.         ISP_CONTR = 0x83;
  36.         ISP_CMD   = 0x01;
  37.         ISP_ADDRH = (unsigned char)(add>>8);
  38.         ISP_ADDRL = (unsigned char)(add&0xff);
  39.         ISP_TRIG  = 0x46;           
  40.         ISP_TRIG  = 0xB9;
  41.         _nop_();
  42.         ISP_Disable();
  43.         return (ISP_DATA);
  44. }


  45. /*********************************************************/
  46. // 往单片机内部EEPROM写一个字节,从0x2000地址开始
  47. /*********************************************************/
  48. void EEPROM_Write(unsigned int add,unsigned char ch)
  49. {
  50.         ISP_CONTR = 0x83;
  51.         ISP_CMD   = 0x02;
  52.         ISP_ADDRH = (unsigned char)(add>>8);
  53.         ISP_ADDRL = (unsigned char)(add&0xff);
  54.         ISP_DATA  = ch;
  55.         ISP_TRIG  = 0x46;
  56.         ISP_TRIG  = 0xB9;
  57.         _nop_();
  58.         ISP_Disable();
  59. }


  60. /*********************************************************/
  61. // 擦除单片机内部EEPROM的一个扇区
  62. // 写8个扇区中随便一个的地址,便擦除该扇区,写入前要先擦除
  63. /*********************************************************/
  64. void Sector_Erase(unsigned int add)         
  65. {
  66.         ISP_CONTR = 0x83;
  67.         ISP_CMD   = 0x03;
  68.         ISP_ADDRH = (unsigned char)(add>>8);
  69.         ISP_ADDRL = (unsigned char)(add&0xff);
  70.         ISP_TRIG  = 0x46;
  71.         ISP_TRIG  = 0xB9;
  72.         _nop_();
  73.         ISP_Disable();
  74. }


  75. /*********************************************************/
  76. // 毫秒级的延时函数,time是要延时的毫秒数
  77. /*********************************************************/
  78. void DelayMs(uint time)
  79. {
  80.         uint i,j;
  81.         for(i=0;i<time;i++)
  82.                 for(j=0;j<112;j++);
  83. }



联系方式

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

在线客服
热线电话

企业微信