资源简介
基于51单片机自动智能浇花系统设计
代码片段和文件信息
#include //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
#include
//数码管段选定义 0 1 2 3 4 5 6 7 8 9
uchar code smg_du[]={0x140x770x4c0x450x270x850x840x570x040x05
// A B C D E F 不显示
0x060xa40x9c0x640x8c0x8e0xff}; //断码
//数码管位选定义
sbit smg_we1 = P2^0; //数码管位选定义
sbit smg_we2 = P2^2;
sbit smg_we3 = P2^4;
sbit smg_we4 = P2^6;
uchar dis_smg[8] = {0x140x770x4c0x450x270x850x84};
sbit SCL=P1^2; //SCL定义为P1口的第3位脚,连接ADC0832SCL脚
sbit DO=P1^3; //DO定义为P1口的第4位脚,连接ADC0832DO脚
sbit CS=P1^0; //CS定义为P1口的第4位脚,连接ADC0832CS脚
uchar shidu; //湿度等级
uchar s_high = 70s_low = 25; //湿度报警参数
sbit dianji = P3^5; //电机IO定义
/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
uint ij;
for(i=0;i for(j=0;j<120;j++);
}
/***********************数码位选函数*****************************/
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;
}
}
uchar flag_200ms ;
uchar key_can; //按键值的变量
uchar menu_1; //菜单设计的变量
/***********************数码显示函数*****************************/
void display()
{
static uchar i;
i++;
if(i >= 4)
i = 0;
P0 = 0xff; //消隐
smg_we_switch(i); //位选
P0 = dis_smg[i]; //段选
// delay_1ms(1);
}
/***********读数模转换数据********************************************************/
//请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的
// 1 1 0 通道
// 1 1 1 通道
unsigned char ad0832read(bit SGLbit ODD)
{
unsigned char i=0value=0value1=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;
}
/********************独立按键程序*****************/
uchar key_can; //按键值
void key() //独立按键程序
{
static uchar key_new;
key_can = 20; //按键值还原
P1 |= 0xf0;
if((P1 & 0xf0) != 0xf0) //按键按下
{
delay_1ms(1); //按键消抖动
if(((P1 & 0xf0) != 0xf0) && (key_new == 1))
{ //确认是按键按下
key_new = 0;
switch(P1 & 0xf0)
{
case 0x70: key_can = 1; break; //得到k2键值
case 0xb0: key_can = 2; break; //得到k3键值
case 0xd0: key_can = 3; break; //得到k4键值
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-09-02 00:07 11、功能说明及实物演示视频\
文件 1788 2016-09-02 00:17 11、功能说明及实物演示视频\产品功能说明及演示视频.txt
目录 0 2016-09-02 00:43 12、制作过程详解\
文件 48 2016-09-02 00:43 12、制作过程详解\制作过程详解.txt
目录 0 2016-09-02 00:18 13、设计资料\
文件 48 2016-09-02 00:18 13、设计资料\设计资料.txt
目录 0 2016-09-02 00:07 14、送疑难问题解答\
文件 150 2016-08-31 16:44 14、送疑难问题解答\疑难问题解答.txt
目录 0 2016-09-02 00:07 15、送答辩技巧\
文件 48 2016-08-31 16:43 15、送答辩技巧\答辩技巧.txt
目录 0 2016-09-02 00:07 16、焊接注意事项及调试讲解\
文件 152 2016-08-31 16:41 16、焊接注意事项及调试讲解\焊接注意事项及调试讲解.txt
目录 0 2016-09-02 00:07 17、各种软件安装包及专业相关视频\
文件 1369 2016-08-31 16:30 17、各种软件安装包及专业相关视频\各种软件安装包及专业相关视频.txt
目录 0 2016-09-02 00:08 1、产品完整源程序(含详细备注)\
目录 0 2016-08-31 14:02 1、产品完整源程序(含详细备注)\程序\
文件 9084 2016-08-30 16:35 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花
文件 5664 2016-08-25 18:14 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.c
文件 2664 2016-08-30 16:35 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.hex
文件 66 2016-08-30 16:35 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.lnp
文件 13980 2016-08-30 16:35 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.LST
文件 14411 2016-08-30 16:35 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.M51
文件 10571 2016-08-30 16:35 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.OBJ
文件 215 2016-08-30 23:52 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.plg
文件 55838 2016-08-31 00:07 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.uvopt
文件 13289 2015-02-01 14:11 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花.uvproj
文件 55838 2016-08-25 18:26 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花_uvopt.bak
文件 13285 2015-02-01 12:53 1、产品完整源程序(含详细备注)\程序\土壤湿度 自动浇花_uvproj.bak
文件 32658 2016-08-30 14:55 1、产品完整源程序(含详细备注)\程序\程序.zip
目录 0 2016-09-02 00:54 2、产品设计任务书\
文件 14848 2016-09-02 00:54 2、产品设计任务书\任务书.doc
............此处省略29个文件信息
- 上一篇:Aurix培训完整实验例程
- 下一篇:移远MC20芯片官方文档+例程
相关资源
- MQTT单片机编程小工具.exe
- 电子-RVMDK.rar
- 单片机温控风扇
- 基于51单片机的智能超声波测距
- 20172016广东工业大学单片机考试卷
- 51单片机与CPLD的串口通信
- stm32单片机开发三菱PLC(模仿)代码
- STC89C52中文芯片手册_
- 基于CC2530的传感数据采集系统(含加
- 基于51单片机都_自动太阳能跟踪系统
- 《爱上单片机》高清PDF.pdf
- 021基于单片机汽车超声波防盗系统设
- MQTT单片机编程小工具(技小新).zi
- STC15F2K60S2系列单片机中文使用手册
- 爱上单片机第3版48.epub
- 单片机STM32 MODBUS RTU通讯 功能码很全
- VS与单片机串口数据传输、计算机与单
- The Definitive Guide to ARM Cortex-M3 and Cort
- 基于STM32单片机与12864液晶的万年历时
- 普中51单片机开发攻略--A7.pdf
- STC89c52系列单片机完全源代码
- 电子-MINI板STM32贪吃蛇.rar
- 基于51单片机的数字温度计+源代码+仿
- AT89C51单片机常用封装函数.rar
- 基于51单片机的水温控制系统
- 基于单片机盲人电子助理设计
-
MQTT单片机编程小工具(阿里云li
n - 2014合泰杯的获奖项目论文
- 基于BS818A的八位电容触摸按键方案
- 51单片机ADC0804程序1602显示带仿真
评论
共有 条评论