【Proteus仿真】【STM32单片机】光照强度检测系统


一、功能简介

本项目使用Proteus8仿真STM32单片机控制器,使共阴数码管,PCF8591 ADC模块、光敏传感器等。
主要功能:
系统运行后,数码管显示光传感器采集光照强度值,范围0-100%。


二、软件设计

/*
作者:嗨小易(QQVIP群2:570487280)

*/



//系统数据显示
void sys_data_show(void)
{
	u8 buf[4];

	while(1)
	{
		//数码管显示输出电压
		buf[0]=0;
		if(sys_ctrl.light>=100)
		{
			buf[1]=gsmg_code[sys_ctrl.light/100];
			buf[2]=gsmg_code[sys_ctrl.light%100/10];
			buf[3]=gsmg_code[sys_ctrl.light%100%10];	
		}
			
		else if(sys_ctrl.light>=10)
		{
			buf[1]=0;
			buf[2]=gsmg_code[sys_ctrl.light%100/10];
			buf[3]=gsmg_code[sys_ctrl.light%100%10];	
		}
		else if(sys_ctrl.light>=0)
		{
			buf[1]=0;
			buf[2]=0;
			buf[3]=gsmg_code[sys_ctrl.light%100%10];	
		}
		smg_display(buf,1);

		break;				
	}
}


//应用控制系统
void appdemo_show(void)
{	
	while(1)
	{
		sys_data_get();//系统数据获取
		sys_data_show();//系统数据显示			
	}
}


三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

### Proteus光敏传感器与电容电路设计及仿真 #### 设计思路 在Proteus中进行光敏传感器与电容的电路设计时,主要考虑的是如何利用光敏电阻(LDR)特性并结合电容器形成特定功能电路。光敏电阻阻值会随着光照强度变化而改变,在弱光条件下呈现高阻抗状态;当光线增强时其阻抗降低[^4]。 #### 电路构建 为了实现较为理想的响应效果,通常采用恒压偏置电路配合光敏电阻工作。具体来说就是将光敏电阻一端接电源正极,另一端串联一个适当容量的电解电容后再接地,并在此节点处取出电压信号作为后续处理依据。这种结构能够使得输出电压跟随环境亮度的变化规律性波动,便于进一步分析处理。 ```c // 示例代码用于展示如何读取ADC值并通过串口发送给PC端查看 #include <reg52.h> sbit LED=P1^0; // 定义LED灯连接引脚 uchar code table[]="Light Intensity:"; void delay(unsigned int i){ while(i--); } void main(){ TMOD=0x20; TH1=(65536-9600)/12/32; TR1=1; SCON=0x50; RI=0; ADC_CONTR=0x84; EA=1; ES=1; while(1){ EX0=1; wait_ADC(); ADRESL=ADRESH<<8|ADRESL; send_string(table); send_num((int)(ADRESH)); send_char('\n'); send_char('\r'); if (ADRESH>100){ // 假设阈值为100,可根据实际调整 LED=~LED; } delay(60000); } } ``` 此段C语言代码展示了如何配置单片机内部资源完成对模拟量采集的任务流程,包括初始化定时器、波特率设定等内容。其中`send_string()`函数负责向计算机传输字符串信息,“table”数组存储待发送提示文字;`send_num()`用来传送转换后的十进制数形式的数据;最后通过判断条件语句控制外部设备动作逻辑关系。 #### 实验验证 在Proteus环境下搭建上述提到的简单测试平台后,可通过调节光源强弱观察对应于不同照度水平下所记录下来的电信号特征曲线形态是否符合预期目标。同时也可以尝试接入其他类型的负载元件(比如蜂鸣器),探索更多可能性应用场合下的表现情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值