IC解密单片机自动浇花器程序
IC解密#include<reg51.h> IC解密#define uchar unsigned char IC解密#define uint unsigned int sbit ad_cs=P1^3; //ADC0832???? sbit ad_clk=P1^0; sbit ad_dat=P1^1; sbit lcd_rs=P2^7; //LCD1602???? sbit lcd_e=P2^6; sbit key1=P1^4; //???? sbit key2=P3^2; sbit key3=P3^3; sbit relay=P1^6; //??? bit flag=1; //?????? bit flag_motor=1; //?????,??????? bit flag_jia=0; bit flag_jian=0; uchar Hum_H=60; //?????,??????? uchar Hum_L=30; //?????,??????? uchar num=0; /********************????1ms***************** void delay_ms(uint a) { uint i; while(a--) for(i=0;i<125;i++); } *************************************/ /*******************????50us******************/ void delay_50us(uint a) { uint i; while(a--) for(i=0;i<19;i++); } /*************************************/ /*******************ADC??******************/ uchar read_ad(uchar channel) { uchar i; uchar dat1,dat2; ad_clk=0; ad_cs=0; ad_dat=1; ad_clk=1; ad_clk=0; //???? ad_dat=1; ad_clk=1; ad_clk=0; //??????? ad_dat=channel;//0????0,1????1 ad_clk=1; ad_clk=0; ad_dat=1; for(i=0;i<8;++i) { ad_clk=1; ad_clk=0; dat1=dat1<<1; if(ad_dat) dat1|=0x01; } for(i=0;i<8;i++) { dat2=dat2>>1; if(ad_dat) dat2|=0x80; ad_clk=1; ad_clk=0; } ad_cs=1; return (dat1==dat2)?dat1:0; } /*************************************/ /*******************LCD1602???******************/ void write_com(uchar com) //??? { lcd_e=0; lcd_rs=0; P0=com; delay_50us(10); lcd_e=1; delay_50us(10); lcd_e=0; } void write_data(uchar dat) //??? { lcd_e=0; lcd_rs=1; P0=dat; delay_50us(10); lcd_e=1; delay_50us(10); lcd_e=0; } void init_lcd1602() //lcd ??? { delay_50us(300); write_com(0x38); delay_50us(100); write_com(0x38); delay_50us(100); write_com(0x38); write_com(0x38); write_com(0x08); write_com(0x01); write_com(0x06); write_com(0x0c); } |
上一篇:IC解密STC15单片机框架

芯片解密