IC解密MQ-2烟雾报警器液化气TTL输出测试程序
IC解密MQ-2烟雾报警器液化气TTL输出测试程序:
- IC解密//程序头文件
- #include<reg52.h>
- IC解密//宏定义
- #define uint unsigned int
- #define uchar unsigned char
- #define Data_ADC0809 P1
- IC解密//管脚声明
- sbit Feng = P3^0;
- //ADC0809
- sbit ST=P3^3;
- sbit EOC=P3^4;
- sbit OE=P3^2;
- IC解密//按键
- sbit Key1=P3^5;
- sbit Key2=P3^6;
- sbit Key3=P3^7;
- //显示数组0-9和F
- uchar Data_[]=
- {
- 0x3f,0x06,0x5b,
- 0x4f,0x66,0x6d,
- 0x7d,0x07,0x7f,
- 0x6f,0x71,0x3f
- };
- sbit Wei1 = P2^7;
- sbit Wei2 = P2^6;
- sbit Wei3 = P2^5;
- sbit Wei4 = P2^4;
- IC解密//函数声明
- extern uchar ADC0809();
- void Display(uchar X,uchar Data);
- void delay(uint t);
- IC解密//酒精含量变量
- uchar temp=0;
- //蜂鸣器变量
- uchar FF=10;
- IC解密//显示模式
- uchar Mode=0;
- uchar p;
- void main()
- {
- while(1)
- {
- //正常模式
- if(Mode==0)
- {
- //读取AD值
- temp=ADC0809();
- for(p=0;p<30;p++)
- Display(0,temp);
- //判断是否报警
- if(temp>FF)
- {
- Feng=0;
- }
- else
- {
- Feng=1;
- }
- }
- //调整模式
- else
- {
- Display(1,FF);
- }
- //功能键
- if(Key3==0)
- {
- Feng=0;
- delay(100);
- while(Key3==0)
- {
- if(Mode==0)
- Display(0,temp);
- else
- Display(1,FF);
- }
- if(Mode==0)
- Mode=1;
- else
- Mode=0;
- Feng=1;
- }
- //增加
- if(Key2==0&&Mode==1)
- {
- Feng=0;
- delay(100);
- while(Key2==0)
- {
- Display(1,FF);
- }
- FF++;
- if(FF==251)
- FF=250;
- Feng=1;
- }
- //减少
- if(Key1==0&&Mode==1)
- {
- Feng=0;
- delay(100);
- while(Key1==0)
- {
- Display(1,FF);
- }
- FF--;
- if(FF==0xff)
- FF=0;
- Feng=1;
- }
- }
- }

芯片解密