文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、按键、DS18B20、PCF8591ADC、土壤湿度传感器、水位传感器、蜂鸣器模块等。系统运行后,LCD1602显示传感器检测的温度、湿度及水位值;默认以自动模式运行,若按下K4键切换为手动模式,此时可以通过K1和K2控制水泵和水箱开关。当再次按下K4键切换为自动模式;自动模式下,实时检测温度、湿度及水位值,当温度高于或低于设定阈值,声光报警。当湿度高于上限声光报警,低于下限且水箱水位高于30%,则开启水泵浇水。否则水箱开始加水,当水箱水位高于80%,停止加水
AT89C51(经典单片机)STM32F103SWITCH一位开关SW-SPST一位开关SW-SPDT两位开关SW-ROT-3(单刀三掷开关)CAP(无极性电容)CAP-ELEC(极性电容)CRYSTAL(晶振)DIODE(二极管)LED-BIBY(发光二极管)DIODE-LED(发光二极管)PHOTODIODE(光敏二极管)RES(电阻)BUTTON(按钮)BUS(总线)VCC(电源)GROUND(接地)BUZZER(蜂鸣器)device:通用蜂鸣器active:有源蜂鸣器,通过直流操作由声卡发声74HC573(常用锁存器)7SEG-MPX4-CA(共阳极数码管)cc表示共阴极,ca表示共阳
AT89C51(经典单片机)STM32F103SWITCH一位开关SW-SPST一位开关SW-SPDT两位开关SW-ROT-3(单刀三掷开关)CAP(无极性电容)CAP-ELEC(极性电容)CRYSTAL(晶振)DIODE(二极管)LED-BIBY(发光二极管)DIODE-LED(发光二极管)PHOTODIODE(光敏二极管)RES(电阻)BUTTON(按钮)BUS(总线)VCC(电源)GROUND(接地)BUZZER(蜂鸣器)device:通用蜂鸣器active:有源蜂鸣器,通过直流操作由声卡发声74HC573(常用锁存器)7SEG-MPX4-CA(共阳极数码管)cc表示共阴极,ca表示共阳
一、原理总结利用两个寄存器R4和R5来存储两个数码管的显示效果,R4是前一个数码管显示所需,而R5是后一个数码管显示所需,利用左移操作RLC来使之每一位被依次输入到C中,然后将C输入到LED中(当LED每位都有数据时,数码管才会显示),利用停顿函数使数码管上数字停留一段时间。二、程序分析以下为全部代码,之后会进行具体分析总体代码;====================================================================;Main.asmfilegeneratedbyNewProjectwizard;;Created:周一九月192022;Proce
一、原理总结利用两个寄存器R4和R5来存储两个数码管的显示效果,R4是前一个数码管显示所需,而R5是后一个数码管显示所需,利用左移操作RLC来使之每一位被依次输入到C中,然后将C输入到LED中(当LED每位都有数据时,数码管才会显示),利用停顿函数使数码管上数字停留一段时间。二、程序分析以下为全部代码,之后会进行具体分析总体代码;====================================================================;Main.asmfilegeneratedbyNewProjectwizard;;Created:周一九月192022;Proce
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求在SPI总线通信的基础上,使用单片机控制DAC芯片MCP4921以1秒为周期输出正弦波,正弦波的波动范围为0-3.3V。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。其中我们添加了一个DAC芯片MCP4921。此外,我们还添加了两个虚拟仪表:一个示波器OSCILLOSCOPE和一个SPI总线调试工具SPIDEBUGGER。MCP4921:1)简介:STM32F103R6单片机本身不自带DAC,如果
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求在SPI总线通信的基础上,使用单片机控制DAC芯片MCP4921以1秒为周期输出正弦波,正弦波的波动范围为0-3.3V。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。其中我们添加了一个DAC芯片MCP4921。此外,我们还添加了两个虚拟仪表:一个示波器OSCILLOSCOPE和一个SPI总线调试工具SPIDEBUGGER。MCP4921:1)简介:STM32F103R6单片机本身不自带DAC,如果
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求理解H桥电路的工作原理,结合前面几个项目学习过的PWM、EXTI、串口通讯等,要求通过5个按钮控制直流电动机的运行状态,包括:电动机正转、电动机反转、电动机停止、电动机加速和电动机减速,其中电动机加速/减速以10%的PWM信号宽度占空比为递增/递减量。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。其中我们添加了一个直流电动机H桥芯片L298,一个直流电动机MOTOR-DC。此外,我们还添加了一个虚
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求理解H桥电路的工作原理,结合前面几个项目学习过的PWM、EXTI、串口通讯等,要求通过5个按钮控制直流电动机的运行状态,包括:电动机正转、电动机反转、电动机停止、电动机加速和电动机减速,其中电动机加速/减速以10%的PWM信号宽度占空比为递增/递减量。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。其中我们添加了一个直流电动机H桥芯片L298,一个直流电动机MOTOR-DC。此外,我们还添加了一个虚
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求掌握SPI总线通信规则,使用单片机每隔1s读取一次温度传感器TC72的温度值,并通过串口将读取的温度值发送出去。串口通信参数:波特率为19200bits/s,无校验。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。其中我们添加了一个串行温度传感器TC72。此外,我们还添加了两个虚拟仪表:一个虚拟终端VIRTUALTERMINAL和一个SPI总线调试工具SPIDEBUGGER。虚拟终端VIRTUALT