第四届蓝桥杯单片机省赛 自动灌溉系统

新手、所用驱动为大赛提供驱动

#include<stc15f2k60s2.h>
#include "intrins.h"#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}
#define SlaveAddrW 0xA0
#define SlaveAddrR 0xA1
#define uchar unsigned char
#define uint unsigned int//总线引脚定义
sbit SDA2= P2^1;  /* 数据线 */
sbit SCL = P2^0;  /* 时钟线 */
sbit SCK=P1^7;
sbit SDA1=P2^3;
sbit RST = P1^3;   // DS1302复位#ifndef _IIC_H
#define _IIC_H//函数声明
void IIC_Start(void);
void IIC_Stop(void);
void IIC_Ack(bit ackbit);
void IIC_SendByte(unsigned char byt);
bit IIC_WaitAck(void);
unsigned char IIC_RecByte(void);#endif#ifndef __DS1302_H
#define __DS1302_Hvoid Write_Ds1302_Byte(unsigned  char temp);
void Write_Ds1302( unsigned char address,unsigned char dat );
unsigned char Read_Ds1302 ( unsigned char address );#endif
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
uchar shijian[]={0,30,8,0,0,0,0};//s,m,h,
uchar yi,er,san,si,wu,liu,qi,ba;
uchar shidu,fazhi;
bit s6=0,jia=0,jian=0,status=0,kai=1,jidianqi=0;     //status切换手动自动void allinit(void);
void delayms(uint ms);
void display1(uchar yi,uchar er);
void display2(uchar san,uchar si);
void display3(uchar wu,uchar liu);
void display4(uchar qi,uchar ba);
void keyscan(void);
void keyscan16(void);
uchar AD_read(uchar add);
uchar EEPROM_read(uchar add);
void EEPROM_write(uchar add,uchar dat);
void DS_init(void);
void DS_get(void);void main(void)
{    allinit();DS_init();P2=0x80;P0=0xfe;    yi=0;er=8;san=10;si=3;wu=0;liu=10;qi=0;ba=0;//    EEPROM_write(0x10,50);      //运行一次后可注释
//    delayms(5);fazhi=EEPROM_read(0x10);while(1){  DS_get();shidu=AD_read(0x03);if(status==0){if(shidu<fazhi){P2=0xa0;P0=0x10;                    //打开}else{P2=0xa0;P0=0x00;        //继电器关闭}if(s6==1){if(jia==1){jia=0;fazhi=fazhi+1;}if(jian==1){jian=0;fazhi=fazhi-1;}yi=10;er=10;san=11;si=11;wu=11;liu=11;qi=fazhi/10;ba=fazhi%10;}else if(s6==0){yi=shijian[2]/10;er=shijian[2]%10;san=10;si=shijian[1]/10;wu=shijian[1]%10;liu=11;qi=shidu/10;ba=shidu%10;    }}else if(status==1){if((shidu<fazhi)&&(kai==0)){if(jidianqi==1){P2=0xa0;P0=0x10;}else if(jidianqi==0){P2=0xa0;P0=0x00;}}if((shidu<fazhi)&&(kai==1)){if(jidianqi==1){P2=0xa0;P0=0x50;}else if(jidianqi==00){P2=0xa0;P0=0x40;}}else if(shidu>fazhi){if(jidianqi==1){P2=0xa0;P0=0x10;}else if(jidianqi==0){P2=0xa0;P0=0x00;}}yi=shijian[2]/10;er=shijian[2]%10;san=10;si=shijian[1]/10;wu=shijian[1]%10;liu=11;qi=shidu/10;ba=shidu%10;    }//        EEPROM_write(0x10,220);
//        delayms(5);
//        fazhi=EEPROM_read(0x10);
//        liu=fazhi/100;qi=fazhi%100/10;ba=fazhi%10;//        shidu=AD_read(0x03);//RB2-->0x03
//        liu=shidu/100;qi=shidu%100/10;ba=shidu%10;display1(yi,er);display2(san,si);display3(wu,liu);display4(qi,ba);keyscan();}
}void keyscan(void)
{if(P30==0){        delayms(5);if(P30==0){if(status==0){status=1;P2=0x80;P0=0xFD;}else if(status==1){status=0;P2=0x80;P0=0xfe;}}while(!P30);}if(P31==0){        delayms(5);if(P31==0){    if(status==0){if(s6==0){s6=1;}else if(s6==1){s6=0;EEPROM_write(0x10,fazhi);;}else if(status==1){kai=~kai;}}}while(!P31);}if(P32==0){        delayms(5);if(P32==0){if(status==0){jia=1;}else if(status==1){jidianqi=1;}}while(!P32);}if(P33==0){        delayms(5);if(P33==0){if(status==0){jian=1;}if(status==1){jidianqi=0;}            }while(!P33) ;}
}void allinit(void)
{P2=0xa0;       //关闭蜂鸣器继电器P0=0x00;P2=0x80;         //关闭LED灯P0=0xff;P2=0xc0;   //打开数码管位选P0=0xff;P2=0xff;P0=0xff;   //关闭所有数码管
}void display1(uchar yi,uchar er)
{P2=0xc0;    //位选P0=0x01;     //选择第一个数码管P2=0xff;    //段选P0=tab[yi];delayms(1);P2=0xc0;P0=0x02;    P2=0xff;    P0=tab[er];delayms(1);
}void display2(uchar san,uchar si)
{P2=0xc0;    P0=0x04;    P2=0xff;    P0=tab[san];delayms(1);P2=0xc0;P0=0x08;    P2=0xff;    P0=tab[si];delayms(1);
}void display3(uchar wu,uchar liu)
{P2=0xc0;    P0=0x10;    P2=0xff;    P0=tab[wu];delayms(1);P2=0xc0;P0=0x20;    P2=0xff;    P0=tab[liu];delayms(1);
}void display4(uchar qi,uchar ba)
{P2=0xc0;    P0=0x40;    P2=0xff;    P0=tab[qi];delayms(1);P2=0xc0;P0=0x80;    P2=0xff;    P0=tab[ba];delayms(1);
}void delayms(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=845;j>0;j--);}

第四届蓝桥杯单片机省赛 自动灌溉系统相关推荐

  1. 蓝桥杯单片机省赛——第五届(模拟智能灌溉系统)

    蓝桥杯单片机省赛--第五届(模拟智能灌溉系统) 一.题目内容 二.程序源代码 1.主函数 2.ds1302驱动函数 3.iic驱动函数 注意:驱动代码需要改动一下,可以将原驱动代码按照下面的代码修改 ...

  2. 蓝桥杯单片机省赛第三届初赛试题 自动售水机

    蓝桥杯单片机省赛第三届初赛试题 自动售水机 蓝桥杯单片机 原题如下 `` main.c代码如下 iic.c文件 iic.h文件 这是第一次写蓝桥杯的题目的代码,写的时候外设没有熟悉 花费了很多时间 感 ...

  3. 【第十三届蓝桥杯单片机省赛模拟冲刺01】

    第十三届蓝桥杯单片机省赛模拟冲刺 赛前一两周一定要多练习,把之前写过的程序在好好看看,把每个模块的代码都多敲几遍,把常考的每个模块部分都吃透,如果理解不了的趁时间还比较充足该背的背牢.同时在准备编程题 ...

  4. 【蓝桥杯】第十三届蓝桥杯单片机国赛 代码程序

    第十三届蓝桥杯单片机国赛 程序 题目 hex文件 代码 工程文件 B站视频 更多资料 题目 历届的省赛和国赛的题目我已经在前面的文章(点击查看)里给大家分享了(网盘资源),需要的话,直接去下载,我在这 ...

  5. 第八届蓝桥杯单片机省赛----程序题

    main.c程序 #include<stc15f2k60s2.h> #include "ds18b20.h" #include <ds1302.h>#def ...

  6. 第十三届“蓝桥杯”单片机省赛——程序设计题

    第十三届"蓝桥杯"单片机省赛--程序设计题 在比赛时候编写,代码仅供参考 如有不足,多多指教 1.题目 2.代码 main.c程序 #include "reg52.h&q ...

  7. 【蓝桥杯】第九届蓝桥杯单片机国赛 代码程序

    第九届蓝桥杯单片机国赛 程序 题目 hex文件 代码 工程文件 B站视频 更多资料 题目 历届的省赛和国赛的题目我已经在前面的文章(点击查看)里给大家分享了(网盘资源),需要的话,直接去下载,我在这里 ...

  8. 第jiu届蓝桥杯单片机省赛真题_第九届蓝桥杯单片机组省赛试题.pdf

    第九届蓝桥杯单片机组省赛试题 "彩灯控制器"的程序设计与调试 (70 分) 一.基本要求 1.1 使用CT107D 单片机竞赛板,完成"彩灯控制器"功能的程序设 ...

  9. 蓝桥杯单片机省赛第十一届赛题二

    文章目录 前言 一.题目​​ 二.代码部分 1.IIC.C 2.IIC.H 3.onewire.h 4.onewire.h 5. main.c 总结 前言 蓝桥杯单片机--第十一届省赛赛题二解析 今年 ...

最新文章

  1. 【Android基础】趣谈Intent
  2. 蓝牙 GATT 协议
  3. boost::intrusive::circular_list_algorithms用法的测试程序
  4. 深入浅出CSS(二):关于雪碧图、background-position与steps函数的三角恋情
  5. spring-security学习笔记--配置文件
  6. 简单粗暴的多目标跟踪神器 – DeepSort
  7. 关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法
  8. php double 类型 浮点数相减
  9. 基于贪心算法的几类区间覆盖问题 nyoj 12喷水装置(二) nyoj 14会场安排问题...
  10. aws rds监控慢sql_使用AWS Database迁移服务进行AWS RDS SQL Server迁移
  11. 用循环语句编程打印如下图案
  12. struct结构体指定初始化项目
  13. c语言汉诺塔动画程序,汉诺塔问题算法(c语言控制台动画演示版)
  14. springboot中使用redis的案例
  15. IObit Uninstaller Pro 10.0.2.20 便携版 — 卸载工具
  16. ZDM按横断面水位线河道开挖
  17. 深圳大学计算机网络实验五:Socket编程
  18. VB.net 图片刷新闪烁 解决方案
  19. 拼多多根据ID取商品详情 API 返回值说明
  20. 超级无敌各种排序算法 一个代码解决<可以做后序模板>

热门文章

  1. IT技术晋级之路-桌面管理
  2. 记一下终于用iverilog搭建好仿真环境
  3. 虚拟机不能启动问题解决
  4. html+css+jquery实现简单的购物车功能
  5. 怎样做一个好的PPT演讲
  6. 计算机组成原理复习(总结)
  7. Linux定时器crontab用法
  8. java 汉米尔顿回路_《模拟电子技术基础》课程教学大纲
  9. sql字符串截取oracle,SQL Sever和Oracle截取字符串分析
  10. STM32F429IGT6入门(一)