当前位置: 首页 > news >正文

品质培训的网站建设广州seo技术外包公司

品质培训的网站建设,广州seo技术外包公司,网站建设工作流程,网络营销公司哪家不错尽量每天都自己写一遍模板,记住模板就好写了 以下内容直接在模板内进行 基本任务:要求“模拟智能灌溉系统”能够实现土壤湿度测量、土壤湿度和时间显示、湿度阈值设 定及存储等基本功能。通过电位器 Rb2 输出电压信号,模拟湿度传感器输出信号…

                                 尽量每天都自己写一遍模板,记住模板就好写了 

                                                   以下内容直接在模板内进行


基本任务:
要求“模拟智能灌溉系统”能够实现土壤湿度测量、土壤湿度和时间显示、湿度阈值设
定及存储等基本功能。通过电位器 Rb2 输出电压信号,模拟湿度传感器输出信号,再通过
AD 采集完成湿度测量功能;通过 DS1302 芯片提供时间信息;通过按键完成灌溉系统控制
和湿度阈值调整功能,通过 LED 完成系统工作状态指示功能。系统硬件电路主要由单片机
控制电路、显示单元、ADC 采集单元、RTC 单元、EEPROM 存储单元、继电器控制电路及
报警输出电路组成.

系统功能:

1.1 自动工作状态,根据湿度数据自动控制打开或关闭灌溉设备( 初始状态),以 L1 点亮指示
1.2 手动工作状态,通过按键控制打开或关闭灌溉设备,以 L2 点亮指示
1.3 系统上电后处于自动工作状态,系统初始湿度阈值为 50%,此时若湿度低于
50%灌溉设备自动打开,达到 50%后,灌溉设备自动关闭
1.4 灌溉设备打开或关闭通过继电器工作状态模拟  

我们现在就要一步步进行下去:

1.我们先来实现DS1302 

“模拟智能灌溉系统”通过读取 DS1302 时钟芯片相关寄存器获得时间,DS1302
芯片时、分、秒寄存器在程序中设定为系统进行初始化设定,时间为 08 30
开始为     ucRtc(0x80,0x30,0x00)

我们通过读取函数来读取这个时间值 Read_Rtc[ucRtc];然后在主函数设置Set_Rtc(ucRtc);

2. 湿度显示:

以电位Rb2 输出电压信号模拟湿度传感器输出信号,且假定电压信号与湿度成正
比例关系 H 湿度 = KVRb2K 为常数),Rb2 电压输出为 5V 时对应湿度为 99%

湿度我们是能够控制的,他就包括了阈值 控制值,以及一个显示值。

Humidity = Ad_Read(0x03) / 2.56;我们让AD读取R3的值给到湿度,之后也可以调试

3.按键功能:

S7为模式切换功能,初始为自动模式,按下后为手动。

自动工作状态下按键 S6S5S4 功能设定如下:
S6 功能设定为湿度阈值调整按键,按下 S6 后,进入湿度阈值调整界面(如图 3
所示),此时按下 S5 为湿度阈值加 1,按下 S4 湿度阈值减 1,再次按下 S6 后,系
统将新的湿度阈值保存到 EEPROM 中,并退出湿度阈值设定界面。

这也就是我们再 Mode 0 状态下,通过按键完成的功能加上条件就可以。

4.Led显示模式:

这个比较简单后续再继续补充纤细内容

/* 和参考的区别最大的在于内容写入的内容不同 *//* Í·ÎļþÉùÃ÷Çø */
#include <STC15F2K60S2.H>
#include "LED.h"
#include "key.h"
#include "Seg.h"
#include "HC573.h"
#include "init.h"
#include "ds1302.h"
#include "iic.h"
#include "onewire.h"/* ±äÁ¿ÉùÃ÷Çø */
unsigned char Key_Down,Key_Val,Key_Old,Key_Up;
unsigned char Key_Slow_Down;unsigned char Seg_Buf[8]={10,10,10,10,10,10,10,10};
unsigned char Seg_Point[8]={0,0,0,0,0,0,0,0};
unsigned char Seg_Pos;
unsigned int Seg_Slow_Down;unsigned char ucRtc[3]={0x08,0x30,0x00};
unsigned char ucLed[8]={0,0,0,0,0,0,0,0};unsigned char Seg_Mode = 0;
unsigned char Seg_Mode_set = 0;bit Work_Mode = 0;
bit Beep_Flag = 0;unsigned char Humidity;
unsigned char Hum_Disp = 50;
unsigned char Hum_Ctrol = 50;/* °´¼ü´¦ÀíÇø */
void Key_Proc()
{if(Key_Slow_Down) return;Key_Slow_Down =1;Key_Val = Key_Read();Key_Down = Key_Val & (Key_Old ^ Key_Val);Key_Up = ~Key_Val & (Key_Old ^ Key_Val);Key_Old = Key_Val;switch(Key_Down){case 7:Work_Mode ^= 1; //	Çл»Ä£Ê½break;case 6:if(Work_Mode == 0 && Seg_Mode ==0) //×Ô¶¯Ä£Ê½£¬½øÈëãÐֵ״̬{Seg_Mode = 2;}if(Work_Mode == 0 && Seg_Mode ==2 && Seg_Mode_set==1) //Ìø³öÅжÏÌõ¼þ£¬Ð´Èë¿ØÖÆ²ÎÊý{Hum_Ctrol = Hum_Disp;EEPROM_Write(&Hum_Disp,0,1); //±£´æãÐÖµ²ÎÊýSeg_Mode_set=0;Seg_Mode = 0;}break;if(Work_Mode == 1) //ÊÖ¶¯Ä£Ê½{Beep_Flag ^= 1;}break;case 5:if(Seg_Mode == 2 && Work_Mode ==0){Seg_Mode_set = 1;if(++Hum_Disp == 100){EEPROM_Write(&Hum_Disp,0,1);	Hum_Ctrol = Hum_Disp;	Hum_Disp = 99;}}if(Work_Mode == 1){Relay(1);}break;case 4:if(Seg_Mode == 2 && Work_Mode ==0){Seg_Mode_set = 1;if(--Hum_Disp == 255){EEPROM_Write(&Hum_Disp,0,1);Hum_Ctrol = Hum_Disp;	Hum_Disp = 0;}}if(Work_Mode == 1){Relay(0);}break;}}/* Êý¾Ý´¦ÀíÇø */
void Seg_Proc()
{if(Seg_Slow_Down) return;Seg_Slow_Down =1;/* Êý¾Ý¶ÁÈ¡ÇøÓò */Read_Rtc(ucRtc);Humidity = Ad_Read(0x03) / 2.56;/* Êý¾ÝÏÔÊ¾ÇøÓò */switch(Seg_Mode){case 0: //ÉϵçÏÔʾʵʱ״̬/* ×Ô¶¯Ä£Ê½ */Seg_Buf[0] = ucRtc[0] / 16;Seg_Buf[1] = ucRtc[0] % 16;Seg_Buf[3] = ucRtc[1] / 16;Seg_Buf[4] = ucRtc[1] % 16;Seg_Buf[2] = 11;// ζÈÏÔʾSeg_Buf[6] = Humidity / 10;Seg_Buf[7] = Humidity % 10;break;case 1:Seg_Buf[0] = ucRtc[0] / 16;Seg_Buf[1] = ucRtc[0] % 16;Seg_Buf[3] = ucRtc[1] / 16;Seg_Buf[4] = ucRtc[1] % 16;Seg_Buf[2] = 11;// ζÈÏÔʾSeg_Buf[6] = Humidity / 10;Seg_Buf[7] = Humidity % 10;break;case 2: //ÏÔʾãÐÖµSeg_Mode_set=1;Seg_Buf[0] = Seg_Buf[1] = 11;Seg_Buf[2] = Seg_Buf[3] = Seg_Buf[4] = 10;Seg_Buf[6] = Hum_Disp / 10;Seg_Buf[7] = Hum_Disp % 10;break;}
}void Led_Proc()
{if(Work_Mode ==0){ucLed[0] = 1;ucLed[1]=0;if(Humidity >=50)Relay(0);elseRelay(1);}if(Work_Mode ==1){ucLed[0] = 0;ucLed[1]=1;Beep(Beep_Flag);}}void Timer0Init(void)		//@12.000MHz
{AUXR &= 0x7F;		TMOD &= 0xF0;		TL0 = 0x18;		TH0 = 0xFC;		TF0 = 0;	TR0 = 1;		ET0 = 1;    EA = 1;     
}void Timer0Server() interrupt 1
{  if(++Key_Slow_Down == 10) Key_Slow_Down = 0;if(++Seg_Slow_Down == 500) Seg_Slow_Down = 0;if(++Seg_Pos == 8) Seg_Pos = 0;Seg_Disp(Seg_Pos,Seg_Buf[Seg_Pos],Seg_Point[Seg_Pos]);Led_Disp(Seg_Pos,ucLed[Seg_Pos]);
}void main()
{Humidity = Ad_Read(0x03) / 2.56; //Ö÷º¯ÊýÔÙ¶ÁÒ»´ÎHum_Disp = Hum_Ctrol; //±ãÓÚ¸ÄÕýEEPROM_Read(&Hum_Disp,0,1);//¶ÁÈ¡ãÐÖµ²ÎÊýSystem_init();Timer0Init();Set_Rtc(ucRtc);while(1){Key_Proc();Led_Proc();Seg_Proc();}
}

http://www.wangmingla.cn/news/114674.html

相关文章:

  • 什么网站做电子章做得好阿里指数网站
  • 怎样做网站优化百度seo价格查询
  • woocommerce做零售网站家庭优化大师下载
  • 企业网站html模板活动推广
  • 桂林旅游哈尔滨seo关键词
  • 浏览器打开用dw做的网站说拉新项目官方一手平台
  • 网站用什么做关键词全自动引流推广软件
  • 卖东西的网站怎么做关键词搜索排名软件
  • 网站编辑怎么做的百度客户服务电话是多少
  • 本地网页制作软件南昌seo营销
  • 怎样设计网站主页哪些平台可以发广告
  • wordpress 英文站网页设计制作网站代码
  • wordpress小工具没有许昌seo推广
  • 网站自动站建seo关键词优化推广报价表
  • 建设营销网站的目的免费域名申请网站
  • 小说网站开发文档浅谈一下网络营销的几个误区
  • 封面型网站布局上海seo推广服务
  • dw网站建设的基本流程南阳seo
  • 做电信网站运营商怎样做好服务营销
  • 靠软件下载软件大全网站建设优化的技巧
  • 天山网保定seo排名优化
  • 嘉兴市住房和城乡建设局门户网站深圳优化网站
  • 做红酒的网站有哪些seo整站优化吧
  • 个人网站建设方案书模板人大常委会委员长
  • 查询做导员的网站交换友链是什么意思
  • 手机网站做多宽谷歌广告
  • 青岛网站快速排名提升软文是什么意思
  • 如何自己做网站手机seo排名赚app多久了
  • Sage WordPress商城主题杭州网站优化推荐
  • 做网站素材在哪找做销售找客户渠道