光敏电阻控制LED亮灭
1理论分析
1.1概述
光敏电阻(photocell),又称光敏电阻器(photoresistor or light-dependent resistor,后者缩写为 ldr)或光导管(photoconductor),如下图所示,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。
1.2原理
大家要知道,单单一个光敏电阻是无法应用到 CC2530 上面的,这是因为它的驱动电流远远达不到 CC2530 所需要的 4mA 的输入电流。所以,我们往往需要加上一个单限比较器,如下图所示。
注意:
(1) 光敏二极管模块对环境光强最敏感,一般用来检测周围环境的亮度和光强,在大多数场合可以与光敏电阻传感器模块通用,二者区别在于,光敏二极管模块方向性较好,可以感知固定方向的光源.
(2) 模块在无光条件或者光强达不到设定阈值时,DO 口输出高电平,当外界环境光强超过设定阈值时,模块 DO 输出低电平;
(3) 本光敏传感器的数字量输出 DO 可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光强改变。
2实验详解
2.1实验目的
2.2实验设备
硬件:PC 机一台 ;ZB2530(底板、核心板、仿真器、USB 线) 一套; 光敏或热敏传感器一个
软件:win7 系统,IAR 8.20 集成开发环境
2.3实验相关电路图
接线方法:
1)、VCC:接电源正极(3V3)
2)、GND:接电源负极
3)、DO:TTL 开关信号输出
4)、AO:模拟信号输出(悬空没有使用)
2.4实验相关寄存器
将传感器插到J8 上光敏、热敏共用P0.5 引脚。不过配置不同,当使用继电器
P0.5
2.5参考代码
/**Includes*********************************************************************/
#include <ioCC2530.h>/**宏定义***********************************************************************/
//定义数据类型
typedef unsigned char uchar;
typedef unsigned int uint;//端口定义
#define LED1 P1_0 //定义P1.0口为LED1控制端
#define DATA_PIN P0_5 //定义P0.5口为传感器输入端/**函数声明*********************************************************************/
void InitLed(void);
void DelayMS(uint msec);/*** @brief 主函数* @param None* @retval None*/
void main(void)
{ P0DIR &= ~0x20; //P0.5定义为输入口 InitLed(); //设置LED灯相应的IO口while(1) //死循环 {if(DATA_PIN == 1) //当光敏电阻处于黑暗中时P0.5高电平,LED1熄灭{ LED1 = 1; DelayMS(1000); }else { LED1 = 0; //检测到光线时P0.5为低电平LED1亮DelayMS(1000);} }
}/*** @brief LED初始化函数* @param None* @retval None*/
void InitLed(void)
{ P1DIR |= 0x01; //P1.0定义为输出口
}/*** @brief 以毫秒为单位延时 16M时约为535,系统时钟不修改默认为16M* @param msec 延时参数,值越大,延时越久* @retval None*/
void DelayMS(uint msec)
{ uint i,j;for (i=0; i<msec; i++) for (j=0; j<535; j++);
}
2.6实验现象
光敏电阻控制LED亮灭相关推荐
- 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭
实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...
- 九、stm32-蓝牙HC_05(接发通信、控制LED亮灭)
目录 一.固件库模板 二.准备资料 三.简介 1. 引脚 2. AT: 设置工作模式 3. 基本配置(所有AT指令都必须换行) 4. AT命令的详细说明 四.实验 1.硬件设计 2.软件设计 2.1 ...
- 按键控制LED亮灭(按一次常亮和按一次亮一下)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.按键按一次LED一直亮 二.按一下按键LED亮一下 总结 前言 一.51单片机按键控制LED亮灭 51单片机的LE ...
- C51---3.2 独立按键控制LED亮灭状态
C51---3.2 独立按键控制LED亮灭状态 原理图 按键消抖 main函数 原理图 按键消抖 对于机械开关,当机械触点断开.闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断 ...
- 基于STC15W4K32S4单片机仿真《外部中断INT0控制LED亮灭》
1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标: 1.学习外部中断INT0 5.程 序 文 件 : ...
- 沁恒CH582M开发板-2-按键扫描(按键控制LED亮灭)
沁恒CH582M开发板-按键扫描(按键控制LED亮灭) 硬件准备: 源地CH582M核心板开发板 RISC-V沁恒WCH蓝牙BLE5.3双路USB: USB-Typec数据线,面包板 ...
- 十、stm32-ESP8266(串口透传、MCU透传、控制LED亮灭)
目录 一.固件库模板 二.准备资料 三.简介 1. 引脚 2. 无线组网 2.1 ESP8266 在 SoftAP 模式 2.2 ESP8266 在 station 模式 2.3 ESP8266 在 ...
- ESP32E基于Thonny——python框架,PC端进行局域网控制led亮灭
ESP32基于Thonny--python框架,PC端进行局域网控制led亮灭 用中文讲,该如何实现这个功能呢? 1:成功连接wifi 2:能循环正常接收数据 3:判断接收的数据,使led亮灭 就3步 ...
- 树莓派4B-Python-基于rpi_ws281x库控制LED亮灭
树莓派4B-Python-基于rpi_ws281x库控制LED亮灭 树莓派4B-Python-基于rpi_ws281x库控制LED亮灭 树莓派4B-Python-基于rpi_ws281x库控制LED亮 ...
最新文章
- 在NVIDIA Jetson Xavier NX上安装llvmlite报错:No such file or directory: ‘llvm-config‘: ‘llvm-config‘
- 八个最好的开源机器学习框架和库
- Scala 中下划线的用法
- springer link:find the journals you need
- Python实现三级菜单(字典和列表的使用)
- leetcode面试题 04.12. 求和路径(dfs)
- Dictionary加速查询(TryGetValue)
- 大数据学习笔记46:初识日志收集系统Flume
- [洛谷P4234]最小差值生成树
- Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……
- 机器学习算法基础5-线回归与岭回归
- 用了很多年的 CMS 垃圾收集器,终于换成了 G1,真香!!
- 2021-07-09商场主页及分类
- iOS 信号量解决-网络异步请求的数据同步返回问题
- 51单片机最小系统原理图、PCB及组成原理详解
- TMS320F28335的特点
- 炜煌E30 E31微型热敏打印机 STM32 串口驱动
- RAKsmart云服务器全场7折
- macM1 出现 zsh: command not found: brew问题解决方案
- Bootstrap4总结(3)
热门文章
- 事业单位计算机类专技岗职称,事业单位,专技岗晋升容易吗?
- createrepo -g /enp/comps.xml .
- jmeter并发测试教程_jmeter进行并发测试教程
- cad系统是指利用计算机来帮助,CAD系统是指利用计算机来帮助设计人员进行设计工作的系统...
- 建立远程桌面连接计算机无密码,如何用空密码登录远程桌面/远程桌面连接的设置,来学习吧...
- android实现打卡功能,android实现上班打卡记录日历查看功能
- 使用python获取股票指定日期交易代码数据
- 什么是审计报告,审计报告有什么类型
- 网址导航网站哪个好?好用的导航网站推荐
- Visual Studio Code开发C/C++时,引入外部头文件(.h),如何配置包含路径?