STC15W104单片机领航灯制作芯片解密
单片机源程序如下:
- 芯片解密#include <reg51.h>
- 芯片解密#include <intrins.h>
- sbit LED = P3^5; // LED连接在P3.5
- sbit KEY1 = P3^3; // 外部中断0按键连接在P3.3
- sbit KEY2 = P3^3; // 外部中断1按键连接在P3.5
- //*********延时函数***********//
- void delay(unsigned int a )
- {
- unsigned int i;
- while (--a !=0)
- {
- for (i=0; i<=600; i++);
- }
- }
- //*********主程序***********//
- void main()
- {
- IT0 = 0; // 设置外部中断0触发方式为下降沿触发
- EX0 = 1; // 使能外部中断0
- IT1 = 0; // 设置外部中断1触发方式为下降沿触发
- EX1 = 1; // 使能外部中断1
- EA = 1; // 使能总中断
- while(1)
- {
- if(KEY1 == 0) // 当按键1按下时
- {
- delay(10); // 去抖
- if(KEY1 == 0)
- {
- LED = 1; // LED亮
- delay(60);
- LED = 0; // LED灭
- delay(60);
- LED = 1; // LED亮
- delay(40);
- LED = 0; // LED灭
- delay(40);
- LED = 1; // LED亮
- delay(30);
- LED = 0; // LED灭
- delay(30);
- LED = 1; // LED亮
- delay(20);
- LED = 0; // LED灭
- delay(520); //延时
- }
- else
- {
- delay(10); //延时
- return; //返回主程序
- }
- }
- if(KEY2 == 1) // 当按键2按下时
- {
- delay(10); // 去抖
- if(KEY2 == 1)
- {
- LED = 1; // LED亮
- delay(80);
- LED = 0; // LED灭
- delay(160);
- LED = 1; // LED亮
- delay(80);
- LED = 0; // LED灭
- delay(1600); //延时
- }
- else
- {
- delay(10); //延时
- return; //返回主程序
- }
- }
- }
- }

芯片解密