土壤湿度检测仪c语言代码,单片机测土壤湿度可自动浇水并报警 带C#上位机源码...

#include                  //调用单片机头文件

#define uchar unsigned char  //无符号字符型 宏定义        变量范围0~255

#define uint  unsigned int         //无符号整型 宏定义        变量范围0~65535

#include

sbit SCL=P1^4;                //SCL定义为P1口的第3位脚,连接ADC0832SCL脚

sbit DO=P1^5;                //DO定义为P1口的第4位脚,连接ADC0832DO脚

sbit CS=P1^3;                //CS定义为P1口的第4位脚,连接ADC0832CS脚

sbit beep = P3^3;   //蜂鸣器IO口定义

uint temperature,s_temp ;  //温度的变量

uchar shidu;     //湿度等级

uchar s_high = 70,s_low = 25;        //湿度报警参数

sbit dianji = P1^6;     //电机IO定义

bit flag_300ms ;

uchar key_can;                 //按键值的变量

uchar menu_1;        //菜单设计的变量

uchar receive[4];   //定义串口接收数组

uchar jyh=0;                                //定义校验和

uchar uart_flag=0;    //串口接收一帧数据成功标志位

uchar count=0;  //代表接收数组的下标志

uchar send[7];  //发送数组

uchar fsxb=0;    //代表发送数组的下标

//这三个引脚参考资料

sbit rs=P1^0;         //1602数据/命令选择引脚 H:数据              L:命令

sbit rw=P1^1;         //1602读写引脚                 H:数据寄存器          L:指令寄存器

sbit e =P1^2;         //1602使能引脚          下降沿触发

uchar code table_num[]="0123456789abcdefg";

/********************************************************************

* 名称 : delay_uint()

* 功能 : 小延时。

* 输入 : 无

* 输出 : 无

***********************************************************************/

void delay_uint(uint q)

{

while(q--);

}

void UsartInit()

{

SCON=0X50;//设置串口工作方式1

//          TMOD=TMOD&0x0f|0X20;//设置定时器1为工作方式2

PCON=0x80;//使波特率加倍

TH1=0XF3;//计数器加初值

TL1=0XF3;

ES=1;    //打开串口接收中断

EA=1;    //打开总中断

TR1=1;   //打开计数器

}

/********************************************************************

* 名称 : write_com(uchar com)

* 功能 : 1602命令函数

* 输入 : 输入的命令值

* 输出 : 无

***********************************************************************/

void write_com(uchar com)

{

e=0;

rs=0;

rw=0;

P0=com;

delay_uint(3);

e=1;

delay_uint(25);

e=0;

}

/********************************************************************

* 名称 : write_data(uchar dat)

* 功能 : 1602写数据函数

* 输入 : 需要写入1602的数据

* 输出 : 无

***********************************************************************/

void write_data(uchar dat)

{

e=0;

rs=1;

rw=0;

P0=dat;

delay_uint(3);

e=1;

de

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值