Proteus仿真实例_基于STM32单片机的智能窗帘控制系统(仿真文件+程序)24-32f-35

一.系统概述

系统内使用STM32单片机进行主控,系统内有三种控制方式,分别是蓝牙控制、手动控制、自动控制。蓝牙端直接控制开关窗帘,按键也能直接控制开关窗帘,自动模式下需要根据温度和光强来确定是否开窗和关窗。

二.仿真概述

1. 仿真开始运行在串口助手端就能接受OK响应指令,代表连接成功,网页端串口助手如下:

波特律动 串口助手icon-default.png?t=N7T8https://serial.keysking.com/

2. 发送十进制1控制拉上窗帘,显示屏上显示的001代表拉窗帘

3. 发送十进制2控制打开窗帘,显示屏上显示的002代表打开窗帘

4. 按下设置按键可以对温度和光强阈值进行设定,模式按键可以切换自动/手动,手动模式下可以直接控制窗帘的打开和关闭

5. 按下模式按键显示屏上显示Au代表自动,此时会根据设定的温度、光强阈值进行打开和关闭窗帘的控制,温度或者光强超过设定的阈值区间则拉窗帘,温度或者光强低于设定的阈值区间则打开窗帘。

三.程序设计

#include <main.h>

//
u8 Rxdat;
u8 adc,t,h,m=0,c=0,set=0,th=30,tl=15,hh=30,hl=20;
//


//
void UserDispiayControl(void);
void SetDisplay(void);
void Set(void);
//


int main(void)
{
	//Init Star
	Usart1_Init(9600);//pa9-10
	Lcd1602_Init();//pc0-7 pb0-2
	Key_Init();//pa12-15
	PCF8591_Init();//pb10-11
	Motor_Init();//pb12-15
	DHT11_Init();//pa0
	//Init End
	
	
	//display star
	Usart1_TxString("ok");
	//display end
	
	
	while(1)
	{
		//get dat
		DHT11_Read_Data(&t,&h);
		adc=PCF8591_ADC_Input(0x90,1);
		//串口收数据
		if(Usart1_GetRxFlag() ==1)			//判断是否收到数据
		{			
			Rxdat=Usart1_GetRxDat();		//存数据
			Usart1_TxByte(Rxdat);			//回传显示
			Lcd1602_Write_Num8(0xc0,Rxdat);	//显示屏显示
		}
		//get dat
		
		
		//key
		if(Key4==0)	
		{
			m=~m;
			while(Key4 != 0);
		}
		if(Key3==0)	
		{
			Lcd1602_Write_CD(CMD,0X01);
			set++;
			if(set==5) set=0;
		}		
		//key
		
		//user+set
		Set();
		//
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小常硬件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值