历史上的今天
返回首页

历史上的今天

今天是:2025年02月09日(星期日)

正在发生

2020年02月09日 | 基于51单片机实钟、土壤湿度检测、空气温度检测程序

2020-02-09 来源:51hei

项目是在相应环境中检测土壤湿度,以及检测空气温度。

软件环境:Keil C51软件     硬件环境:KST 51开发( 自带 温度、显示器模块)

使用模块:

土壤湿度传感器    PCF8591 AD转换模块 DS1302时钟模块


土壤湿度传感器

1.传感器适用于土壤的湿度检测

2.比较器采用LM393芯片,工作性能稳定

3.工作电压3.3V-5V

4.模块中蓝色的电位器是用于土壤湿度的阀值调节,顺时针调节,控制的湿度会越大,逆时针越小;

5.数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测土壤湿度;

6.小板模拟量输出AO可以和AD模块相连,通过AD转换,可以获得土壤湿度更精确的数值;

PCF8591 AD转样模块

PCF8591 是具有I2C 总线接口的8 位A/D 及D/A 转换器。有4 路A/D 转换输入,1 路D/A 模拟输出。这就是说,它既可以作A/D 转换也可以作D/A 转换。A/D 转换为逐次比较型。电源电压典型值为5V。
  AIN0~AIN3:模拟信号输入端。
  A0~A3:引脚地址端。
  VSS:电源负极。
  SDA、SCL:I2C 总线的数据线、时钟线。
  OSC:外部时钟输入端,内部时钟输出端。
  EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。
  AGND:模拟信号地。
  VREF:基准电源端。
  AOUT:D/A 转换输出端。
  VDD:电源端。(2.5~6V)


本模块左边和右边分别外扩2路排针接口,分别说明如下:

  左边 AOUT 芯片DA输出接口

       AINO芯片模拟输入接口0  我在使用的时候接的时A0,接的是光敏传感器的AO口;

       AIN1芯片模拟输入接口1

       AIN2芯片模拟输入接口2

       AIN3芯片模拟输入接口3

  右边 SCL  IIC时钟接口  接KST 51开发板的SCL 口

       SDA IIC数字接口  接KST 51开发板的SDA口

       GND 模块地       外接地

       VCC 电源接口     外接3.3v-5v  我用的是3.3


我用的是pcf8591模块。包含了热敏和光敏电阻。

  模块共有3个红色短路帽,分别作用如下:

P4   接上P4短路帽,选择热敏电阻接入电路


P5   接上P5短路帽,选择光敏电阻接入电路


P6   接上P6短路帽,选择0-5V可调电压接入电路


土壤湿度传感器主程序:

unsigned int val;

         unsignedchar str[10];

         EA= 1;

         ConfigTimer0(10);

         lcd1602Init();

         while(1)

         {

                   if(flag300ms)

                   {

                            flag300ms= 0;

                            GetADCValue(3);//获取土壤湿度

//                        str = *INT8UtostrHEX(val);

                            lcd1602Display(0,1,INT8UtostrHEX(val));//显示到液晶上

                   }

         }

PCF8591 AD转样模块主程序:

/*读取当前的ADC转换值,、chn-ADC通道号0-3*/

unsigned char GetADCValue(unsigned charchn)

{

         unsignedchar val;

         Start_I2c();

         if(!writeI2C(0x91<<1))//寻址PCF8591,如未答应,则停止操作并返回0

         {

                   Stop_I2c();

                   return0;

         }

         writeI2C(0x40|chn);//写入控制字节,选择转换通道

         Start_I2c();

         writeI2C((0x48<<1)|0x01);//寻址PCF8591,指定后续为读操作

         NoAckI2c();//先空读一个字节,提供采样转换时间

         *str= ReadADC();//读取刚刚转换完的值

         Stop_I2c();

         returnval;        


推荐阅读

史海拾趣

台湾美丽微(FMS)公司的发展小趣事

随着市场的不断拓展,FTDI也面临着诸多挑战,包括如何吸纳优秀的技术人才、打击假冒芯片以及提供本地化的技术支持等。为了应对这些挑战,FTDI采取了多项措施,包括引进经验丰富的工程师和潜力大学毕业生充实技术团队,加强对本地分销商的培训,以及增加对重点应用市场的技术支持力度。这些措施不仅提升了FTDI的技术实力和市场响应速度,也进一步巩固了其在全球市场的地位。

AEMC Instruments公司的发展小趣事

AEMC Instruments公司成立于1976年,隶属于Chauvin Arnoux集团。这个新成立的公司在电子行业中崭露头角,凭借其在电气测试和测量领域的专业知识和技术,迅速获得了市场的认可。初创时期,AEMC Instruments公司以研发和生产电流测量探头、电能质量分析仪等核心产品为主,这些产品凭借其准确性和稳定性,为公司的快速发展奠定了坚实的基础。

Central Semiconductor公司的发展小趣事

在20世纪70年代末,当许多半导体制造商纷纷转向硅器件的生产时,Central Semiconductor却洞察到了后缘半导体市场的空白。公司决定坚守锗器件的生产,并凭借这一决策填补了市场空白。这种对旧技术的坚持不仅让Central在一段时间内保持了竞争优势,也为公司在后续发展中积累了宝贵的经验。

随着技术的进步,Central并没有固步自封,而是逐渐将产品系列扩展到包括表面安装设备等更先进的产品。这种转型不仅满足了市场对小型化产品的需求,也展示了Central对市场变化的敏锐洞察和适应能力。

Grand Halo Technology Co Ltd公司的发展小趣事

随着全球电子市场的不断扩大和竞争的加剧,Central Semiconductor积极实施全球化战略,拓展国际市场。公司在全球范围内建立了完善的销售网络和供应链体系,以确保产品能够及时、准确地到达客户手中。

同时,Central还不断开拓新的业务领域,如汽车电子、工业控制、医疗电子等。通过不断的技术创新和市场拓展,Central逐渐在多个领域取得了显著的业绩和市场份额。

这五个故事分别从不同的角度展示了Central Semiconductor在电子行业中的发展历程和成就。无论是坚守与转型、创新开发、对停产产品的支持、裸片产品的开发还是全球化布局与业务拓展,Central都展现出了其敏锐的市场洞察力和强大的市场竞争力。这些故事不仅是对Central发展历史的回顾,也是对其未来发展的展望和期许。

Coors Components Inc公司的发展小趣事

除了关注经济效益外,Coors Components Inc公司还积极履行社会责任。公司积极参与公益事业,为社会做出贡献;同时,公司也注重环保和可持续发展,努力降低生产过程中的环境污染。这些举措不仅提升了公司的品牌形象,还赢得了社会各界的广泛赞誉。

以上是关于电子行业公司发展的通用框架,你可以根据这些框架来进一步了解“Coors Components Inc”公司的具体发展故事。请注意,在编写故事时,应确保所描述的事实准确无误,避免夸大或缩小事实。

EEMB Co Ltd公司的发展小趣事

随着技术的不断进步和市场需求的日益增长,EEMB集团开始加大研发投入,力求在锂电池技术上实现更大的突破。经过不懈努力,公司成功研发出多款具有高性能、高安全性和长寿命特点的锂电池产品,并获得了多项国家专利。这些技术成果不仅提升了公司的市场竞争力,也为公司赢得了更多客户的青睐。同时,公司也积极开拓国际市场,产品逐渐出口到美国、日本、俄罗斯等国家。

问答坊 | AI 解惑

测量并抑制存储器件中的软误差

  软误差是半导体器件中无法有意再生的“干扰”(即数据丢失)。它是由那些不受设计师控制的外部因素所引起的,包括α粒子、宇宙射线和热中子。许多系统能够容忍一定程度的软误差。例如,如果为音频、视频或静止成像系统设计一个预压缩捕获缓冲 ...…

查看全部问答>

关于写wince6的spi应用,如何配置deviceiocontrol来初始呢?急求!!!

小弟最近在写wince6一些设备的测试应用, createfile打开spi设备后,该如何初始化spi的基本配置呢? 用deviceiocontrol吗?但是不知道设置哪些参数来初始化 请各位帮帮忙!…

查看全部问答>

诚心救助?帮忙看一下!

各位嵌入式爱好者网友:     我先说一下,我今年27了,一直在做vb的开发,老感觉待不下去了,想去做一些事情,例如创业。我一直是搞技术的,希望通过技术开发一款产品,这点我可以找合作伙伴一起做。 后来就找到了嵌入式开发这里。我要 ...…

查看全部问答>

c#用playsound函数为什么没声音

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace soundpdatest {     public partial class Form ...…

查看全部问答>

宏里面再定义宏可以嘛?可以举一个例子?

宏里面再定义宏可以嘛?可以举一个例子? …

查看全部问答>

急!西南电子业行情如何?XDJM们给点建议啊

9月初的(成都)电子展的规模据说近五百家,我们的两个主要的竞争对手都第一次参加了,我们老大想参加,但实际上我们目前在西南的客户很少。不太了解那边的状况(我们公司提供电子生产制造中用的一种高精度测试设备,目前的主要客户在沿海地区)。 ...…

查看全部问答>

STM32BootMode几个问题

1 最高波特率是多少?手册上说:1.5.2 Maximum baud rateBHigh is the highest baud rate for which the deviation still does not exceed the&n ...…

查看全部问答>

2440启动代码疑惑

2440启动代码中有段代码设置大小端如下: ASSERT :DEF:ENDIAN_CHANGE [ ENDIAN_CHANGE ASSERT :DEF:ENTRY_BUS_WIDTH [ ENTRY_BUS_WIDTH=32 b ChangeBigEndian ;DCD 0xea000007 ] [ ENTRY_BUS_WIDTH=16 andeq r14,r7,r0,lsl #20 ;DCD 0x0007 ...…

查看全部问答>

功率MOSFET的温度系数

http://bbs.21dianyuan.com/45741.html …

查看全部问答>

大家会在什么情况下去看TI给的源代码?

最开始的时候是手册看的没感觉,就去看代码(发现更没感觉),主要是寄存器定义不清楚,后来对着User Guide看代码就轻松很多。 后来是要用到某个模块,就图简单,从范例里面把设置代码抄过来。…

查看全部问答>