STC12C5A16AD模数转换芯片破解
- 芯片破解#include<reg51.h>
- 芯片破解#include<intrins.h>
- 芯片破解#include "STC_NEW_8051.H"
- #define uchar unsigned char
- #define uint unsigned int
- //以下选择 ADC 转换速率,只能选择其中一种
- // SPEED1 SPEED0 A/D转换所需时间
- //#define AD_SPEED 0x60 // 0110,0000 1 1 70 个时钟周期转换一次,
- // CPU工作频率21MHz时 A/D转换速度约 300KHz
- //#define AD_SPEED 0x40 //0100,0000 1 0 140 个时钟周期转换一次
- //#define AD_SPEED 0x20 //0010,0000 0 1 280 个时钟周期转换一次
- #define AD_SPEED 0x00 //0000,0000 0 0 420 个时钟周期转换一次
- code unsigned char digit[]={'0','1','2','3','4','5','6','7','8','9' };
- /******************************************************************/
- /* 定义端口 */
- /******************************************************************/
-
- sbit rs=P1^0; //显示数据端口P2
- sbit rw=P1^1;
- sbit en=P1^2;
-
- /******************************************************************/
- /* 函数声明 */
- /******************************************************************/
- void write_order(uchar order);
-
- void write_date(uchar date);
- void write_address(uchar x);
- unsigned int get_AD_result_10F(unsigned char channel);
- //延时
- void delay(uchar m)
- {
- uchar i=100;
- while(m--)
- {
- while(i--);
- }
- }
- /******************************************************************/
- /* 写命令 */
- /******************************************************************/
- void write_order(uchar order)
- {
- rs=0;
- P2=order;
- delay(4);
- en=1;
- delay(4);
- en=0;
- }
- /******************************************************************/
- /* 写数据 */
- /******************************************************************/
- void write_data(uchar date)
- {
- rs=1;
- P2=date;
- delay(4);
- en=1;
- delay(4);
- en=0;
- }
- /******************************************************************/
- /* 写地址 */
- /******************************************************************/
- void write_address(uchar x)
- {
- write_order(0x80+x);
- }
- /******************************************************************/
- /* 1602 初始化 */
- /******************************************************************/
- void init_lcd()
- {
- rw=0;
- en=0;
- write_order(0x38);
- write_order(0x0c);
- write_order(0x06);
- write_order(0x01);
- }

芯片解密