基于AT89C52单片机的植物浇水与智能空气土壤环境监测报警系统
点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/90579535?spm=1001.2014.3001.5503
功能介绍:
1、功能:液晶器显示检测到的土壤湿度与空气温度与光照强度;温度和光照大于设置的阈值时报警器报警,土壤湿度低于阈值时报警并进行浇水;可通过按键分别设置温度、湿度、光照报警阈值。
2、压缩包构造:代码与仿真常见问题、Keil源码程序、Proteus仿真图、原理图、参考文档、功能介绍、仿真代码运行、焊接事项、免费PPT模版、元件清单、实物图、框图、开题报告、使用前必读。
3、仿真构造:AT89C52,LCD液晶显示,声光报警模块,DS18B20模拟温度,滑动变阻器模拟光照与湿度,3按键。
4、代码文件:代码590行左右有注释,文档11000字左右。
C+28
部分参考设计如下:
目 录
摘要 2
1.绪论 1
2.系统概述及单片机介绍 3
2.1整体方案设计思想 3
2.2系统组成 3
2.2.1主控芯片的选择 3
2.2.2传感器模块选择 4
2.2.3电机驱动模块 4
2.3 单片机介绍 4
2.3.1 AT89C52单片机的基本组成 4
2.3.2 AT89C52主要特性 5
2.3.3管脚说明 6
2.3.4 AT89C52单片机的存储器 8
2.3.4.1 程序存储器 8
2.3.4.2 数据存储器 9
2.3.5 振荡电路和时钟 10
2.3.6 AT89C52的中断系统 11
2.3.6.1 中断系统结构和中断控制 11
2.3.6.2 中断响应过程 13
2.3.7 定时器/计数器 13
2.3.7.1定时器/计数器0和1简介 13
3.1.1 中央处理单元 14
3.1.2 LCD显示部分 14
3.1.3 电磁阀部分 14
3.1.4按键部分 14
3.1.5 ADC0809这个芯片 14
3.2 总电路设计图 16
3.3 AT89C52单片机电路 17
3.4 晶振电路 18
3.5 复位电路 19
3.6 按键电路 20
3.9 LCD显示电路 21
4.软件设计 23
4.1 系统软件设计思路 23
4.2系统软件设计整体框图 23
5.结论 24
致谢 25
参考文献 25
AT89C52基于单片机智能浇花系统设计
摘要
本设本文是使用AT89C52运用编程与LCD液晶显示屏实现,利用温度、湿度传感器及相应的显示、驱动执行机构、报警装置等实现温室作物生长环境控制器的设计。包括硬件电路的设计、传感器的选型及相关软件控制程序的编写和调试。该控制器能够满足目前对温室大棚内温度、湿度和土壤湿度的实际监测与控制要求。
关键词:单片机,控制,显示
1.绪论
最近几年,人们的生活水平有了很大提高,如何真正提高生活质量,如何使生活有了质的飞跃就成了问题大多数人认为。花卉种植是中国人几千年来保持同样的喜好,所以大多数人都选择种植植物,以陶冶情操,还能用它作为一个业余的消遣,但由于生活节奏快,人们经常出差及其他原因无法按时浇水的植物和花卉成为主要的死亡原因。
为了解决这个问题的时候浇花,人们会通过手机,并保存备忘录或者各种其他备忘的方法,但这些方法总是有很多瑕疵,智能灌溉系统的特点在市场上众多的仪器,但价格过于昂贵,对于一般家庭,过于复杂的应用程序和多功能性是不必要的。
智能浇水系统能够解决这个问题,该系统主要是一个电磁阀致动器在一端连接管,连接到外部水管作为浇水主要由微控制器控制的另一端。设备主要通过控制浇水间隔浇水的持续时间,以控制浇水量。方便操作,这样就实现了现代家庭生活,同时也保证植物的正常生长。
近年来,电子技术作为新技术的代表,以推动电子行业的快速增长,也极大地推动智能家电和智能家居设备的快速发展。智能家电海外市场似乎已经做大做强,鉴于中国在全球制造链和设计链的重要作用,这使它成为世界上主要的设备制造商在生产智能家居的大决战的竞争,而且还导致中国国内情报国内研发及检测设备和仪器技术应用的快速发展。智能灌溉控制系统自然也包括在内,在最近几年,出现了很多国内外各类智能灌溉控制系统,它的功能和控制的原则有许多不同,但两者的根本目的方便了人们的日常生活,保证正常生长和鲜花。
众所周知,在二十世纪,人类跨越了三个“电”的时代,即电气时代、电子时代和电脑时代。但这种电脑,通常指个人计算机,也就是我们平时所说的PC机。它由主机、显示器、键盘等组成。除此之外还有一类计算机,大多数人很不熟悉。这种计算机就是把智能赋予给各种机械的单片机(微控制器)。这种计算机最小的系统只用一片集成电路,就能进行简单运算和控制。因为其体积小,通常都被放在被控机械的“肚子”里。在整个装置中,他的作用有如人类头脑,若它出了毛病,整个装置也就瘫痪了。现如今,这种单片机的使用领域已发展的十分广泛,如智能仪表、导航系统、实时工控、通讯设备、家用电器等。各种家用产品用上了单片机以后,便能起到令产品换代升级的功效,通常都会在产品名称前加上形容词——“智能型”,例如智能型洗衣机等等。 而花卉养殖作为大多数人生活中的一部分,却常常因为人们工作等原因被忽略,智能浇花控制系统可为人们解决这一问题,与此同时,智能浇花控制系统若能走进家庭,也是人们生活进入智能化的标志之一。
大家都知道,在二十世纪,人类跨越时代的三个“电”,即电气时代,电子时代和计算机时代。不过,这里的计算机,通常是指个人电脑,这就是我们通常说的PC。它由主机,显示器,键盘和其它组分。此外,还有一类计算机,大多数人非常熟悉。给各种机械赋予智能的单片机(MCU)。这样的计算机系统只使用一个最小的IC可以进行简单的算术和控制。由于其体积小,经常被指责被放置在机械的“肚子”里。整个单元,他的作用就像人的大脑,如果它出了毛病,那么瘫痪的是整个系统。现在,该领域已被开发广泛使用,如智能仪表,导航系统,实时工业控制,通讯设备,家用电器等。用各种家居产品的微控制器后,就能起到使产品升级换代的功效,一般的产品名称与形容词前 - “智能”,如智能洗衣机等。
2.系统概述及单片机介绍
2.1整体方案设计思想
根据题目要求的要求,确定了以下方案:自己买材料制作,连接到微控制器,使土壤水分控制,并在此基础上,最小系统板安装湿度传感器。然后,湿度测距数据检测模块返回到微控制器,微控制器发送相应的命令来实现对泵的开关控制,实现自动检测和自动浇水湿度的功能。
2.2系统组成
图2.1 系统组成
2.2.1主控芯片的选择
现在市场上种类繁多,最能够满足比单片机AT89C52,AVR单片机主体的要求,以及ARM,凌阳,当然他们有自己的优势和劣势在控制芯片,但这个设计过程中,我们选择了AT89C52。相比于其他类型的控制芯片,AT89C52系列更适合我们这个型号,如:AT89C52单片机完全能够完成这一精心设计的所有功能; AT89C52外围电路非常简单,易于控制;在我们的课程对许多AT89C52的演讲;事情TA89C52价格相对于其他的控制芯片,便宜很多,最重要的可能是一个很好的成本控制能力。
考虑到所有这些点的时候我是在最后的设计选用AT89C52单片机来完成这一设计。
2.2.2传感器模块选择
随着科学技术的不断发展,传感器领域相应得到了很大的发展。它是在各个领域具有很广泛的应用。在选择这种传感器的设计中,我们考虑了湿度传感器,温度和湿度传感器两种。温度和湿度传感器体积小,性能稳定,精度高,可以检测土壤中的温度和湿度,但价格昂贵被检测;湿度传感器,精度和长期稳定性,湿度敏感的,并且可以用来检测土壤湿度,而且价格低廉。经过学生和教师探索,考虑到传感器的选择关键在于适合于单芯片的处理。最后,我们选择了一个比较实用的湿度传感器
2.2.3电机驱动模块
继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器[2]。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用继电器,充当水泵开关,控制水泵出水。正是因为其功能,符合我们此次的设计,我们选择其作为自动浇花系统的电机驱动模块。
2.3 单片机介绍
AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-52指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.3.1 AT89C52单片机的基本组成
AT89C52由一个8位的微处理器,128KB片内数据存储器RAM,21个特殊功能寄存器SFR,4KB片内程序存储器Flash ROM,64KB可寻址片内外统一编址的ROM,64KB可寻址片外的RAM, 4个8位并行I/O接口(P0—P3),一个全双工通用异步串行接口UART,两个16位的定时器/计数器,具有位操作功能的布尔处理机及位寻址功能的五个中断源、两个优先级的中断控制系统以及片内振荡器和时钟产生电路。其基本组成框图如图2-1所示。
图2-1 AT89C52的基本组成
2.3.2 AT89C52主要特性
AT89C52主要特性有:
·与MCS-52 兼容
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.3.3管脚说明
AT89C52的引脚图如图2-2所示。各引脚的具体说明如下:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口
的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此
作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口
当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八
位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写
时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址
信号和控制信号。
图2-2 AT89C52引脚图
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电
流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入口。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,如表2-1所示。同时,P3口为闪烁编程和编程校验接收一些控制信号。
表2-1 P3口的特殊功能
引脚 名称 功能说明 引脚 名称 功能说明
P3.0 RXD 串行输入口 P3.4 T0 记时器0外部输入
P3.1 TXD 串行输出口 P3.5 T1 记时器1外部输入
P3.2 外部中断0 P3.6 外部数据存储器写选通
P3.3 外部中断1 P3.7 外部数据存储器读选通
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位
字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.3.4 AT89C52单片机的存储器
在单片机中,存储器分为程序存储器ROM和数据存储器RAM,并且两个存储器是独立编址的。
AT89C52单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C52的存储器结构可分为4部分:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。如果以最小系统使用单片机,即不扩展,则AT89C52的存储器结构就较简单:只有单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。
图2-3给出了AT89C52单片机的存储器分布空间。左侧线框中为单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。右侧为可扩展的64KB的程序存储器ROM和64KB的数据存储器RAM。
2.3.4.1 程序存储器
AT89C52单片机出厂时片内已带有8KB的Flash程序存储器,使用时,引脚要按高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元,如果外部扩展有程序存储器ROM,则CPU会自动转移到片外ROM空间2000H~FFFFH读取指令代码。
图2-3 存储器空间分布图
2.3.4.2 数据存储器
AT89C52单片机出厂时片内已带有256字节的数据存储器RAM,如果不够用,可以在片外扩展,最多可扩展64KB RAM。
图2-4 片内数据存储器的结构
单片机自带的数据存储器RAM结构如图2-4所示,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用区,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。
片内数据存储器的00H~7FH单元又划分为3块:00H~1FH块是工作寄存器所用;20H~2FH块是位寻址功能的单元区;30H~3FH是普通RAM区。工作寄存器又分为4组,在当前的运行程序中只有一组是被激活的,谁被激活有程序状态寄存器PSW的RS1,RS0两位决定。
2.3.5 振荡电路和时钟
在AT89C52芯片内部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成内部时钟方式。也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。两种方式的电路连接如图2-5所示。大多数的单片机采用内部时钟方式,本次设计亦然。
(a)使用片内振荡器接法 (b)使用片外振荡器接法
图2-5 AT89C52振荡器的连接方式
在AT89C52单片机内部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。
芯片内部的时钟发生器是一个二分频触发器,振荡器的输出为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率的1/2。状态时钟经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率的1/6,经六分频后为机器周期信号,频率为/12。、一般取20~30pF的陶瓷电容器。
2.3.6 AT89C52的中断系统
为了提高系统的工作效率,AT89C52单片机设置了中断系统,采用中断方式与外设进行数据传送。所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。
2.3.6.1 中断系统结构和中断控制
AT89C52有六个固定的可屏蔽中断源,分别是三个片内定时器/计数器溢出中断TF0、TF1和TF2,两个外部中断(P3.2)和(P3.3),一个片内串行口中断TI或RI。6个中断源有两级中断优先级,可形成中断嵌套。它们在程序存储器中各有固定的中断入口地址,由此进入相应的中断服务程序。
引起6个中断源的符号、名称及产生的条件如下:
:外部中断0,由P3.2端口线引入,低电平或下降沿引起;
:外部中断1,由P3.3端口线引入,低电平或下降沿引起;
T0:定时器/计数器0中断,由T0记满回零引起;
T1:定时器/计数器1中断,由T1记满回零引起;
TI/RI:串行口I/O中断,串行端口完成一帧字符发送/接收后引起中断;
T2:定时器/计数器2中断,由T2记满回零引起。
在本次设计中采用了定时器/计数器0中断,它的中断控制寄存器包括定时器/计数器0、1控制寄存器TCON和中断允许控制寄存器IE。
① 定时器控制寄存器TCON
TCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
各控制位定义如下:
TF1:定时器/计数器1溢出中断请求标志位。当定时器/计数器1计数产生溢出时,由内部硬件置位TF1,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。
TR1:定时器/计数器1启动/停止位。由软件置位/复位控制定时器/计数器1的启动或停止计数。
TF0:定时器/计数器0溢出中断请求标志位。当定时器/计数器0计数产生溢出时,由内部硬件置位TF0,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。
TR0:定时器/计数器0启动/停止位。由软件置位/复位控制定时器/计数器0的启动或停止计数。
IE1:外部中断请求标志位。当CPU检测到INT0低电平或下降沿且IT1=1时,由内部硬件置位IE1标志位(IE1=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部将IE1清0。
IE0:外部中断请求标志位。当CPU检测到INT0低电平或下降沿且IT0=1时,由内部硬件置位IE0标志位(IE0=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部将IE0清0。
IT1:用软件置位/复位IT1来选择外部中断INT1是下降沿触发还是电平触发中断请求。当IT1置1时,则外部中断INT1为下降沿触发中断请求,即INT1端口由前一个机器周期的高电平跳变为下一个机器周期的低电平,则触发中断请求;当IT1复位清0,则INT1的低电平触发中断请求。
IT0:由软件置位/复位IT0来选择外部中断INT0是下降沿触发还是低电平触发中断请求,其控制原理同IT1。
② 中断允许控制寄存器
中断允许控制寄存器IE的格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
EA ET2 ES ET1 EX1 ET0 EX0
各控制位定义如下:
EA:中断总控制为。EA=1,CPU开中断,它是CPU是否响应中断的前提,在此前提下,如果某中断源的中断允许位置1,才能响应该中断源的中断请求。如果EA=0,无论哪个中断源有请求,CPU都不予回应。
ET2:定时器/计数器T2中断控制位,ET2=1,允许T2计数溢出中断;ET2=0,禁止T2中断。
ES:串行口中断控制位,ES=1,允许串行口发送/接收中断;ES=0禁止串行口中断。
ET1:定时器/计数器T1中断控制位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。
EX1:外部中断1控制位,EX1=1,允许中断;EX1=0,禁止外部中断1中断。
ET0:定时器/计数器T0中断控制位,ET0=1,允许T0计数溢出中断;ET0=0,禁止T0中断。
EX0:外部中断0控制位,EX0=1,允许中断;EX0=0,禁止外部中断0中断[1]。
2.3.6.2 中断响应过程
CPU中断处理从响应中断、控制程序转向对应的中断矢量地址入口处执行中断服务程序,到执行返回(RETI)指令为止。中断响应可分为以下几个步骤:
① 保护断点,即保存下一个将要执行的指令的地址,把这个地址送入堆栈。
② 寻找中断入口,根据6个不同的中断源所产生的中断,中断系统必须能够正确地识别中断源,查找6个不同的入口地址。以上工作是由单片机自动完成的,与编程者无关。在6个入口地址处存放有中断处理程序。
③执行中断处理程序。
④中断返回:执行完中断指令后,从中断处返回到主程序,继续执行[2]。
2.3.7 定时器/计数器
AT89C52单片机内部设有两个16位可编程定时器/计数器,即定时器/计数器0和定时器/计数器1。除此之外还有一个可编程定时器/计数器2。
2.3.7.1定时器/计数器0和1简介
定时器/计数器0和1内部有一个计数寄存器(和),它实际上是一个累加寄存器进行加1计数。定时器和计数器共用这个寄存器,但定时器/计数器同一时刻只能工作在其中一种方式下,不可能既工作在定时器方式,同时又工作在计数器方式。这两个工作方式的根本区别是在于计数脉冲的来源不同。工作在定时器方式时,对振荡源12分频的脉冲计数,即每过一个机器周期(1个机器周期在时间上和12个振荡周期的时间相等),计数寄存器中的值就加1。工作在计数器方式时,计数脉冲不是来自内部的机器周期,而是来自外部输入。对定时器/计数器0、定时器/计数器1,计数脉冲分别来自T0、T1引脚。当这些引脚上输入的信号产生高电平至低电平的负跳变时,计数寄存器的值就加1。单片机每个机器周期都要对对外部输入进行采样,如果在第一个周期采得的外部信号为高电平,在下一个周期采得的信号为低电平,则在再下一个机器周期,即第三个机器周期计数寄存器的值才增加1[1]。
3.硬件设计
3.1中央处理单元
以AT89C52作为整个系统的控制中心
(1)通过LCD液晶显示屏作为显示模块;
(2)根据按键输入发送正确的信号并在LCD显示。
3.2 LCD显示部分
作为一个显示模块该设备应该是在单片机控制的正确输出显示检测到的物理量。
3.3 电磁阀部分
该设备是完成本次工作的重要组成部分。
3.4按键部分
它是整个系统中比较简单的部分,根据功能要求,本系统共需3个按键,3个按键位于按键部分,分别是上调按键,下调按键,工作按键。
它是整个系统是相对简单的部件,根据该系统的功能要求需要总共三个按钮,三个按钮位于按键部件,其被加、减按钮,工作按钮。
3.5 ADC0809数模转换
ADC0809由一个8位分辨率,双通道A / D转换芯片生产。由于其体积小,兼容性,高性价比而深受欢迎的微控制器,目前具有较高的普及率。学习和使用,但让我们明白ADC0809 A / D转换器原理,有利于提高我们的供应链管理技术水平。
ADC0809具有以下特点:
8位分辨率;两路A / D转换器;
输入和输出电平与TTL/ CMOS兼容;
0输入电压〜5V时,5V电源;
工作频率是250千赫,转换时间为32μS;
典型功耗仅为15mW;
8P,14P-DIP(双列直插式),人保财险多种封装形式;
0°C商业级芯片的温度宽-40°C至+70°C,工业级芯片温度宽至+85°C;
ADC0809与单片机的接口电路:
ADC0809 8位分辨率的A / D转换芯片,多达256的最大分辨率可适应普通模拟转换的要求。内部电源的输入和基准电压复用,使得0〜5V之间的芯片的输入模拟电压。只有32μS芯片转换时间,根据一个双数据输出可以用作数据验证,以便减少数据误差,转换速度快且稳定的和强大的性能。单独的芯片使能输入,使更多的设备连接和处理器控制变得更加方便。通过DI数据输入,就可以很容易地选择频道来实现功能。
ADC0809单片机控制原理:
在正常情况下与ADC0809单片机的接口应该是四个数据线,分别CS,CLK,DO,DI。然而,由于以结束与DI DO通信没有结束的同时有效地与微控制器接口是双向的,因此,该电路设计可被并联连接的DO和DI用的数据线。
当其CS输入要高ADC0809不起作用,那么芯片被禁止,CLK和DO / DI水平可以随心所欲。当您要执行的A / D转换,CS功能的客户端必须先放在低并保持低直到转换完全结束。在此芯片开始转换的工作,但由所述处理器芯片时钟输入端子CLK输入的时钟脉冲,DO / DI的最终用途的DI端输入通道特征选择
数据信号。之前的第一个时钟脉冲端DI水槽要高,表明启动信号。在此之前的第二个和第三个脉冲的DI下沉二数据输入端应该被用于选择信道的功能。
3.2 总电路设计图
图4.1 总电路
根据如图4.1所示的总电路主要由:晶振电路,复位电路,按键设置电路, LED显示电路,电磁阀电路,以及电源电路等几个部分。通过这几个分电路的分工合作,能够使得系统具有显示功能,并且具备键盘调整功能,同时能够对电磁阀进行有效的控制。从而使设备顺利的进行工作。
3.3 AT89C52单片机电路
图4.2 单片机电路
AT89C5单片机的RST引脚连接复位电路,P2.7引脚连接电磁阀电路,P1.0~P1.7引脚连接按键电路,XTAL1和XTAL2引脚连接晶振电路,P2.0和P2.1引脚连接指示灯电路,P2.5~P2.7引脚连接放大电路从而和P0.0~P0.7引脚一起控制LED显示电路。
3.4 晶振电路
图4.3 晶振电路
AT89C52单片机芯片内部设有一个反相放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端。在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件常常是用石英晶体和电容组成的并联谐振回路。系统选择了12MHZ的晶振片,两个30Pf的电容C2和C3。
3.5 复位电路
图4.4 AT89C52单片机的复位电路
本设计采用的复位电路包括两个方面:上电复位电路(图a),按键复位电路(图b)。
a:上电复位电路:它是利用电容充电来实现复位的。在接电瞬间,RST引脚端的电位与Vcc端相同,但是随着充电电流的减少,RST端的电位逐渐下降。只要保证RST端为高电压的时间大于两个机器周期时,系统自动能实现正常复位。
b:按键复位电路:当要系统自动复位时,只需要按住S8按键,此时电源Vcc经过电阻R1,R2分压,并且在RST端产生一个复位的高电平。同样,只要保证RST端保持高电压的时间大于两个机器周期时,系统自动能实现正常复位。
3.6 按键电路
图4.5 按键电路
系统采用非编码键盘,按键电路主要由3个按键组成,分别是K1—工作按键; K2—“+”调节按键;K3—“-”调节按键,本系统采用独立式的按键形式。按照上图的电路连接方法,判断是否有键按下的方法是:查询哪一根接按键的I/O接口线为低电平,如果是低电平则说明这个接口线连接的按键处于按下状态。相反,若为高电平则说明按键处于非按下状态。
3.9 LCD显示电路
图4.8 LCD显示电路
3.9.1 液晶显示器的简介
液晶显示器是一种低功能耗液晶显示器件。工作电流小,适合于仪表和低功耗系统。常用的有笔画型液晶显示器、点阵字符型液晶显示器和图形点阵式液晶显示器。LCD液晶显示器的原理是利用液晶的物理特性,通过电压对其显示区域进行控制。有电就显示黑色,这样就显示出图形。液晶显示器适应于大规模电路直接驱动,易于实现全彩色显示的特点。目前被广泛应用于计算机,数字摄像机等众多领域。
3.9.2液晶显示器的分类
液晶显示器按显示图案的不同可分为笔段型LCD、字符型LCD和点阵图型LCD三种。
(1) 笔段型
笔段型是以长条状作为基本单位显示。该类型主要用于数字显示,也可用于显示西文字或某些字符。这种段型显示通常有6段。7段、8段、9段、14段和16段等,在形状上与数码管类似,总是围绕“8”的结构变化。其中以7段显示器常用,常用于数字仪表、电子仪器中。
(2) 字符型
字符型液晶显示器是专门用来显示英文和其他拉丁字母、数字、符号等点阵型液晶显示模块。它一般由若干个5乘8或5乘11点阵组成,每个点阵显示一个字符。这类模块一般应用于数字寻呼机、数字仪表等电子设备中。
(3) 点阵图型
点阵图形型是在一平板上排版多行多列的矩阵式的晶格点,点的大小可根据显示精细度来设计,可显示数字、字母、汉字、图像,甚至动画。这液晶显示器广泛应用于手机、笔记本电脑等需要显示大量信息的设备中。
2.3液晶显示器1602
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
4.软件设计
4.1 系统软件设计思路
自动浇花系统软件设计包括四个部分的程序设计,分别是:AD转换模块程序设计、湿度检测模块设计、阀值调节模块、数码管显示模块设计。
AD转换模块程序设计主要实现以下功能:将湿度传感器产生的模拟信号转换成数字信号。
湿度检测模块设计主要实现以下功能:通过程序设计,对所测湿度值进行处理,当低于所设定阀值继电器打开,实现浇水功能;当高于或等于所设阀值继电器关闭,关闭浇水功能。
阀值调节模块主要实现以下功能:设定两个按键实现对阀值的调节功能,其中一个按键要求是上调键,另一个是下调节,同时设定调节幅度为5。
数码管显示模块主要实现以下功能:需要数码管实现三个值的显示,分别是:采集的电压值、采集的当前土壤湿度值、设定的适合植物生长的土壤湿度阀值。数值顺序显示,通过间歇加以区分显示。
4.2系统软件设计整体框图
图4.1 软件设计原理
5.结论
本次设计的盆花自动浇水系统以电子类的自动浇花器的工作原理为参考,运用现代传感器技术及单片机控制技术构成一个土壤温湿度采集与控制系统。再用数字电路控制自动给水系统及时的给浇水系统供水。整个盆花自动浇水系统包括土壤温湿度的检测和显示、自动浇水和蓄水箱自动上水及水位报警三个部分。土壤温湿度的检测和显示以温湿度传感器SHT-11为感应部件,将检测到的土壤温湿度值送入AT89C52单片机,再由单片机的I/O口输出到LCD液晶显示屏进行显。同时此湿度值也是是否给盆花浇水的参考值。自动浇水部分与土壤温湿度的检测和显示部分共同构成土壤温湿度的检测与控制系统。它设计为智能和手动两个部分:智能浇水部分是通过单片机程序设定浇水的上下限值并与SHT-11送入单片机的土壤湿度值相比较,当传感器检测到的湿度值低于设定的下限值时,单片机输出一个信号控制电磁阀打开,开始浇水,高于设定的上限值时再由单片机输出一个信号控制电磁阀关闭,停止浇水;手动部分是由单片机从时钟芯片DS1302读入月份与每天的实时时刻,通过软件程序设定定时浇水的时间与浇水的量。蓄水箱自动上水及水位报警采用纯硬件电路控制,实现水箱水位实时监测、自动上水以及水位上下限报警的功能。
通过本次毕业设计,让我进一步了解了微电脑控制的智能系统。也使我真正接触到了检测控制系统的设计,虽然是一个人们日常生活中的小系统,但也让我明白了很多设计上应该注意的问题。比如实用性、经济性以及安装条件等。
致谢
相关文章:
基于AT89C52单片机的植物浇水与智能空气土壤环境监测报警系统
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/90579535?spm1001.2014.3001.5503 功能介绍: 1、功能:液晶器显示检测到的土壤湿度与空气温度与光照强度;温度和光照大于设置的…...
指针进阶( 上 )
内容大纲 一.字符指针 二.指针数组 三.数组指针 四. 数组传参和指针传参 引言 指针是什么呢?指针是用来干什么的呢?指针的大小是多少呢?指针的大小具有什么属性呢? 解答:指针是个变量,用来存放变量地…...
java设计模式-外观模式
外观模式(facade) 基本介绍 1、外观模式也叫过程模式,外观模式为子系统中的一组接口提供一个一致的界面,次模式定义一个高层接口,这个接口是的这一子系统更加容易使用。 2、外观模式通过定义一个一直的接口,用以屏蔽内部子系统的细节&#x…...
selenium元素获取
from selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Chrome()driver.maximize_window()#最大化窗口 #隐式等待 driver.implicitly_wait(10)#打开网页 driver.get("https://www.zhipin.com/beijing/?kacity-sites-101010100&q…...
23种设计模式-行为型模式-访问者
文章目录 简介场景解决完整代码核心实现 总结 简介 访问者是一种行为设计模式,它能把算法跟他所作用的对象隔离开来。 场景 假如你的团队开发了一款能够使用图像里地理信息的应用程序。图像中的每个节点既能代表复杂实体(例如一座城市)&am…...
springMVC-拦截器详解
拦截器 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 过滤器与拦截器的区别:拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分,任何ja…...
centos练习docker<基础>
这半喇月发生了很多事,很无谓很闹心,今天重拾起自己,做做功课写写字 文章目录 一、准备二、实践2.1 安装docker2.2docker镜像操作2.2.1 下载镜像等基本操作2.2.2 启动容器等基本操作2.2.3 修改页面2.2.4 保存镜像2.2.5 分享社区 总结 一、准…...
GPT-5、o3和o4-mini即将到来
原计划有所变更: 关于我们应有何期待的一些零散想法。 深度研究(Deep Research)确实强大但成本高昂且速度较慢(当前使用o3模型)。即将推出的o4-mini在性能上可能与o3相近,但将突破这些限制,让全球用户——甚至免费用户(尽管会有速率限制)——都能用上世界顶级AI研究助…...
EchoMimic 音频驱动照片生成视频部署测试
环境:Windows 11 NVIDIA RTX 3070 Laptop 16GB 我配置了阿里云的镜像,要实现一样的效果,你也可以在每一行的命令后加 -i https://mirrors.aliyun.com/pypi/simple/ 如: pip install package_name -i https://mirrors.aliyun.…...
React 和 JSX 中,这些符号 (=>, <, ? :)的用法
在 React 和 JSX 中,这些符号 (>, <, ? :) 都是 JavaScript 的语法特性,但它们在 JSX 中有特殊的用法和规则。下面我会详细解释每个符号的用途、语法规则以及在 React/JSX 中的具体应用。 1. 箭头函数 > (Arrow Function) 基本语法࿱…...
mindie1.0新特性及调试问题总结
说明 最近在ascend 310P3上使用mindie 1.0部署模型,跟我以前使用的mindie 1.0_rc2比,有很多新的特性和变化,导致部署出现了不少问题。这里罗列下我的发现,希望对其他人有用。 特性1:需要显式配置share_memory 报错信…...
【Axure原型案例】悦购APP产品原型设计
一、项目背景 在时尚潮流蓬勃发展的当下,潮流服装市场潜力巨大。悦购APP作为一款专注于潮流服装的商城APP,旨在为用户提供丰富多样的潮流服装选择,打造便捷、时尚的购物体验。本次使用Axure进行产品原型设计,旨在将产品理念和功能…...
React 列表渲染
你可能经常需要通过 JavaScript 的数组方法 来操作数组中的数据,从而将一个数据集渲染成多个相似的组件。在这篇文章中,你将学会如何在 React 中使用 filter() 筛选需要渲染的组件和使用 map() 把数组转换成组件数组。 1.如何通过 JavaScript 的 map() 方…...
《深度解析LightGBM与MySQL数据集成:高效机器学习的新范式》
在机器学习工程实践中,数据与模型的高效交互一直是制约算法性能发挥的关键瓶颈。LightGBM作为梯度提升决策树框架的杰出代表,其与关系型数据库MySQL的深度集成能力,为数据科学家提供了从原始数据到预测结果的完整解决方案。这种集成不是简单的…...
使用 node.js 和 MongoDB 编写一个简单的增删改接口 demo
文章目录 前言一、环境准备二、项目结构三、环境变量四、连接数据库3.1. connect.js 文件 五、定义数据模型5.1. BannerModel.js 文件 六、实现 server 接口6.1. server.js 文件 七、服务文件7.1. app.js 文件 八、感谢 前言 Mongoose 是一个在 Node.js 环境中操作 MongoDB 数据…...
React-06React中refs属性(字符串refs,回调形式,React.createRef() )
1.React中refs属性 绑定到render输出的任何组件上,通过this.ref.绑定名直接操作DOM元素或获取子组件的实例。 2.绑定refs实例 2.1 字符串refs(已经过时参考官网API) 字符串(string)的ref存在一定的效率问题 <input refinput1 type"text" placehole…...
如何在 Windows 系统上安装 n8n:两种方法详解
如何在 Windows 系统上安装 n8n:两种方法详解 摘要 本文详细介绍了在 Windows 系统上安装 n8n 的两种方法:直接安装和 Docker 部署。直接安装适合初学者,通过 Node.js 和 npm 快速完成;Docker 部署适合需要更高灵活性和可移植性…...
LETTERS(信息学奥赛一本通-1212)
【题目描述】 给出一个rowcol的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。 【输入】 第一行,输入字母矩阵行数R和列数S,1≤R,S≤20。 接…...
【kind管理脚本-3】脚本函数说明文档 —— 便捷使用 kind 创建、删除、管理集群脚本
下面是一份详细的说明文档,介绍该脚本的功能、用法及各部分的含义,供您参考和使用: Kind 集群管理脚本说明文档 此脚本主要用于管理 Kind(Kubernetes IN Docker)集群,提供创建、删除、导出 kubeconfig、加…...
【kind管理脚本-1】便捷使用 kind 创建、删除、管理集群脚本
目录结构 . ├── cluster-demo-setting │ ├── 3node-demo.yaml │ └── ingress-cluster-demo.yaml └── kind-tool.sh简单使用 # 进入防止 kind-tool.sh 的目录 $ cd kt-dir/ # 用 alias 给个别名,更便于使用 $ alias kt"./kind-tool.sh"…...
Python-Django+vue仓库管理系统功能说明
❥(^_-) 上千个精美定制模板,各类成品Java、Python、PHP、Android毕设项目,欢迎咨询。 ❥(^_-) 程序开发、技术解答、代码讲解、文档,💖文末获取源码+数据库+文档💖 💖软件下载 | 实战案例 💖文章底部二维码,可以联系获取软件下载链接,及项目演示视频。 本项目…...
蓝桥备赛指南(14):树的直径与重心
树的直径 什么是树的直径?树的直径是树上最长的一条链,当然这条链并不唯一,所以一棵树可能有多条直径。直径由两个顶点u、v来决定,若由一条直径(u,v),则满足一下性质: 1)u、v的度数…...
Java RPC 框架是什么
Java RPC 框架是什么 Java RPC 框架 是用于在分布式系统中实现远程过程调用(Remote Procedure Call,RPC)的工具集。RPC 是一种通信协议,它允许程序调用位于远程服务器上的函数或方法,就像调用本地函数一样透明。RPC 框…...
MySQL 查询重写怎样把复杂查询变简单,让查询提高一个“速”!
目录 一MySQL 查询重写基础概念 什么是查询重写 为什么需要查询重写 二MySQL 查询重写的工作原理 查询解析阶段 重写规则应用阶段 生成执行计划阶段 查询重写流程图 三MySQL 查询重写的实现方式 使用 MySQL 内置的查询优化器 自定义查询重写插件 查询重写介绍图 四…...
HTML静态网页成品作业(HTML+CSS)——阜阳剪纸介绍设计制作(1个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…...
Docker Swarm集群搭建与管理全攻略
文章目录 一、节点准备二、初始化 manager 节点三、管理 swarm 集群中的 worker 节点1、添加 worker 节点2、查看 worker 节点3、删除 worker 节点 四、管理 swarm 集群服务1、创建服务2、查看服务3、删除服务 五、管理 swarm 节点服务1、节点标签管理2、创建服务3、查看服务4、…...
kafka消费延迟
一、背景 PAAS1220 CRM系统 系统版本: BC Linux For Euler release 21.10 二、故障现象 grafana上kafka指标:指标消费延迟过高 容器内部kafka消费情况:没有消费者进行消费 查看webgate页面:应用性能--信息总览,查看到实例全…...
Java学习笔记(多线程):ReentrantLock 源码分析
本文是自己的学习笔记,主要参考资料如下 JavaSE文档 1、AQS 概述1.1、锁的原理1.2、任务队列1.2.1、结点的状态变化 1.3、加锁和解锁的简单流程 2、ReentrantLock2.1、加锁源码分析2.1.1、tryAcquire()的具体实现2.1.2、acquirQueued()的具体实现2.1.3、tryLock的具…...
计算机视觉算法实战——实例分割算法深度解析
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 一、实例分割领域概述 实例分割(Instance Segmentation)是计算机视觉领域中的一个重要任务,它…...
ARM分拣机vs传统PLC:实测数据揭示的4倍效率差
在苏州某新能源汽车零部件仓库,凌晨3点的分拣线上依然灯火通明。8台搭载ARM Cortex-A72处理器的智能分拣机正在以每秒3件的速度处理着形状各异的电池包组件,它们通过MES系统接收订单信息,自主规划最优路径,将不同规格的零部件精准…...
IDEA 中遇到 Git Log 界面不显示问题的解决方案
IntelliJ IDEA 中遇到 Git Log 界面不显示问题的解决方案。以下是根据文章内容整理的解决步骤: (我清理 IDEA 缓存后成功解决) 问题描述 在 IntelliJ IDEA 中,Git 的 Log 界面没有任何显示。其他选项和界面工作正常。使用命令行查询 Git 日…...
虚幻引擎UActorComponent的TickComponent详解
文章目录 前言一、TickComponent 的作用二、函数签名与参数三、 使用步骤1.启用 Tick2. 重写 TickComponent 四、实际示例:旋转组件4.1 头文件 URotatingComponent.h4.2 源文件 URotatingComponent.cpp4.3 使用组件 五、注意事项六、常见问题总结 前言 在虚幻引擎&…...
如何迁移 GitHub 仓库到 GitLab?
如何迁移 GitHub 仓库到 GitLab? 一、基础迁移方法(保留完整历史) 1.在 GitLab 创建空仓库 1.登录 GitLab 并新建项目,选择「空白项目」,不要初始化 README 或 LICENSE 文件 2.复制新建仓库的 HTTPS/SSH 地址&a…...
深入理解C++面向对象特性之一 多态
欢迎来到干货小仓库,堪比沙漠!!! 从“Hello World”到改变世界,中间隔着千万次再试一次. 1.多态的概念 多态的概念:通俗来说,就是多种形态, 具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的…...
linux下MMC_TEST的使用
一:打开如下配置,将相关文件编译到内核里: CONFIG_MMC_TEST CONFIG_MMC_DEBUG CONFIG_DEBUG_FS二:将mmc设备和mmc_test驱动进行绑定 2.1查看mmc设备编号 ls /sys/bus/mmc/drivers/mmcblk/mmc0:aaaa2.2将mmc设备与原先驱动进行解绑 echo mmc0:aaaa >...
数字人技术的核心:AI与动作捕捉的双引擎驱动(2/10)
摘要:数字人技术从静态建模迈向动态交互,AI与动作捕捉技术的深度融合推动其智能化发展。尽管面临表情僵硬、动作脱节、交互机械等技术瓶颈,但通过多模态融合技术、轻量化动捕方案等创新,数字人正逐步实现自然交互与情感表达。未来…...
Java Web从入门到精通:全面探索与实战(二)
Java Web从入门到精通:全面探索与实战(一)-CSDN博客 目录 四、Java Web 开发中的数据库操作:以 MySQL 为例 4.1 MySQL 数据库基础操作 4.2 JDBC 技术深度解析 4.3 数据库连接池的应用 五、Java Web 中的会话技术ÿ…...
从个人博客到电商中台:EdgeOne Pages的MCP Server弹性架构×DeepSeek多场景模板实测报告
什么是EdgeOne Pages? EdgeOne Pages 是腾讯云推出的一站式边缘开发与部署平台,基于全球边缘节点网络和 Serverless 架构,为开发者提供从代码托管到全球分发的全流程服务。其核心价值在于将边缘计算能力与现代 Web 开发范式深度融合…...
【C++】优先级队列+反向迭代器
priority_queue的介绍 通常用堆来实现,能在O(log n)的时间复杂度内插入和提取最高(或最低)优先级的元素。 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的(默认情况)。此…...
HOW - 缓存 React 自定义 hook 的所有返回值(包括函数)
目录 场景优化方案示例延伸例子:为什么这很重要?常见的请求 hook 封装优化前优化后优化点一览优化后的 useLoadData使用方式示例:优点回顾 场景 如果你写了一个自定义 Hook,比如 useMyHook(),它暴露出某些值或函数给外…...
AIDD-人工智能药物设计-网络药理学-多组学与网络药理学分析揭示龟龄集治疗少精症的机制
IF6.7|多组学与网络药理学分析揭示龟龄集治疗少精症的机制 2024年10月28日,海军军医大学张卫东教授团队在Phytomedicine(IF6.7)上发表了题为“Multi-omics and network pharmacology approaches reveal Gui-Ling-Ji alleviates oligoastheno…...
打破单一视角!融合红外和可见光,YOLO算法实现全天候无人机检测
目录 一、摘要 二、系统概述 三、数据集 视频记录 数据集标注 四、数据集分析 五、基于深度学习的无人机探测 基于规则的跟踪方法 六、结论 论文题目:Drone Detection and Tracking with YOLO and a Rule-based Method 论文链接:https://arxiv.…...
Go 语言数据类型
Go 语言数据类型 概述 Go 语言(也称为 Golang)是一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。自2009年发布以来,Go 语言因其简洁的语法、高效的执行速度和强大的并发处理能力而广受欢迎。本文将详细介绍 Go 语言中的数据类型,帮助读者更好地理解和掌握…...
<tauri><rust><GUI>基于rust和tauri,将tauri程序打包为window系统可安装的安装包(exe、msi)
前言 本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。 发文平台 CSDN 环境配置 系统:windows 10平台:visual studio code语言:rust、javascript库:taur…...
ragflow开启https访问:ssl证书为pem文件,window如何添加证书
在 Windows 系统中安装 PEM 格式的证书(通常用于 SSL/TLS 或客户端认证)可以通过以下步骤完成: 方法 1:通过证书管理器(MMC)安装 打开证书管理器 按 Win + R,输入 mmc 回车。点击菜单栏的 文件 > 添加/删除管理单元。选择 证书 > 添加,然后选择 计算机账户 或 当…...
自己搭建cesium应用程序
Cesium项目开发基础(1)——Cesium环境搭建_cesium版本怎么看-CSDN博客 看这篇的时候: 所以要用IIS搭建网站。下载一些东西看这篇的这部分:Tomcat IIS 在局域网中搭建网站(最全最详细教程)_tomcat iis-CSDN博客 然后在IIS里怎么…...
本地项目HTTPS访问问题解决方案
本地项目无法通过 HTTPS 访问的原因通常是默认配置未启用 HTTPS 或缺少有效的 SSL 证书。以下是详细解释和解决方案: 原因分析 默认开发服务器仅支持 HTTP 大多数本地开发工具(如 Vite、Webpack、React 等)默认启动的是 HTTP 服务器ÿ…...
软考系统架构设计师之物联网与边缘计算笔记
一、物联网与边缘计算的核心概念 1. 物联网(IoT) 定义:通过传感器、设备等物理对象接入网络,实现数据采集、传输与智能控制,核心在于物联设备互联与数据驱动决策。架构分层: 感知层:传感器、R…...
已知Word内容格式固定,通过宏实现Word转Excel
文章目录 需求描述一、宏是什么?二、使用步骤1.启用开发工具2.VBA基础知识3.单个Word文件转为Excel4.批量将Word文件转为Excel文件 总结 需求描述 现在有多个Word文档,Word文档格式固定,假如Word内容分为单选题和多选题,每个题目…...
window上 docker使用ros2开发并usbip共享usb设备
曾经参考 https://blog.csdn.net/laoxue123456/article/details/138339029 来共享windows上的usb 发现没有办法成功总是出现 tcp 错误。telnet测试能够正常连接 很是奇怪,window上换成低版本的usbipd仍然是同样的错误,没有办法的情况下参考了docker官方文…...