本设计由STC89C52单片机电路+4位共阳数码管显示电路+ADC0832采样电路+水泵控制电路+土壤湿度传感器电路+按键电路+电源电路组成。
STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。
单片机最小系统原理图如下图所示:
实物图:
其具体电路原理图如下图所示:
该电路是由三极管进行控制
其具体电路原理图如下图所示:
void smg_we_switch(uchar i)
{switch(i){case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break;}
}
unsigned char ad0832read(bit SGL,bit ODD)
{unsigned char i=0,value=0,value1=0; SCL=0;DO=1;CS=0; //开始SCL=1; //第一个上升沿 SCL=0;DO=SGL;SCL=1; //第二个上升沿SCL=0;DO=ODD;SCL=1; //第三个上升沿SCL=0; //第三个下降沿DO=1;for(i=0;i<8;i++){SCL=1;SCL=0; //开始从第四个下降沿接收数据value=value<<1;if(DO)value++; }for(i=0;i<8;i++){ //接收校验数据value1>>=1;if(DO)value1+=0x80;SCL=1;SCL=0;}SCL=1;DO=1;CS=1; if(value==value1) //与校验数据比较,正确就返回数据,否则返回0 return value;return 0;
}
void delay_1ms(uint q)
{uint i,j;for(i=0;i
012