1理论分析

1.1概述

光敏电阻(photocell),又称光敏电阻器(photoresistor or light-dependent resistor,后者缩写为 ldr)或光导管(photoconductor),如下图所示,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。

1.2原理

大家要知道,单单一个光敏电阻是无法应用到 CC2530 上面的,这是因为它的驱动电流远远达不到 CC2530 所需要的 4mA 的输入电流。所以,我们往往需要加上一个单限比较器,如下图所示。

图1 光敏传感器

按照上面原理图设计出来的光敏传感器的功能有:
(1) 可以检测周围环境的亮度和光强度;
(2) 灵敏度可调(由下图中电位器调节);
(3) 工作电压 3.3V-5V;
(4) 数字开关量输出(0 和 1)。

注意:
(1) 光敏二极管模块对环境光强最敏感,一般用来检测周围环境的亮度和光强,在大多数场合可以与光敏电阻传感器模块通用,二者区别在于,光敏二极管模块方向性较好,可以感知固定方向的光源.

(2) 模块在无光条件或者光强达不到设定阈值时,DO 口输出高电平,当外界环境光强超过设定阈值时,模块 DO 输出低电平;

(3) 本光敏传感器的数字量输出 DO 可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光强改变。

2实验详解

2.1实验目的

  1. 通过实验掌握CC2530 芯片GPIO 的配置方法
  2. 掌握光敏和热敏传感器的使用

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

表1 端口0的功能选择

表2 端口0的方向

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实验现象

用手挡住光敏电阻,D1亮,移开D1熄灭。

光敏电阻控制LED亮灭相关推荐

  1. 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭

    实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...

  2. 九、stm32-蓝牙HC_05(接发通信、控制LED亮灭)

    目录 一.固件库模板 二.准备资料 三.简介 1. 引脚 2. AT: 设置工作模式 3. 基本配置(所有AT指令都必须换行) 4. AT命令的详细说明 四.实验 1.硬件设计 2.软件设计 2.1 ...

  3. 按键控制LED亮灭(按一次常亮和按一次亮一下)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.按键按一次LED一直亮 二.按一下按键LED亮一下 总结 前言 一.51单片机按键控制LED亮灭 51单片机的LE ...

  4. C51---3.2 独立按键控制LED亮灭状态

    C51---3.2 独立按键控制LED亮灭状态 原理图 按键消抖 main函数 原理图 按键消抖 对于机械开关,当机械触点断开.闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断 ...

  5. 基于STC15W4K32S4单片机仿真《外部中断INT0控制LED亮灭》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:   1.学习外部中断INT0 5.程 序 文 件 : ...

  6. 沁恒CH582M开发板-2-按键扫描(按键控制LED亮灭)

             沁恒CH582M开发板-按键扫描(按键控制LED亮灭) 硬件准备: 源地CH582M核心板开发板 RISC-V沁恒WCH蓝牙BLE5.3双路USB: USB-Typec数据线,面包板 ...

  7. 十、stm32-ESP8266(串口透传、MCU透传、控制LED亮灭)

    目录 一.固件库模板 二.准备资料 三.简介 1. 引脚 2. 无线组网 2.1 ESP8266 在 SoftAP 模式 2.2 ESP8266 在 station 模式 2.3 ESP8266 在 ...

  8. ESP32E基于Thonny——python框架,PC端进行局域网控制led亮灭

    ESP32基于Thonny--python框架,PC端进行局域网控制led亮灭 用中文讲,该如何实现这个功能呢? 1:成功连接wifi 2:能循环正常接收数据 3:判断接收的数据,使led亮灭 就3步 ...

  9. 树莓派4B-Python-基于rpi_ws281x库控制LED亮灭

    树莓派4B-Python-基于rpi_ws281x库控制LED亮灭 树莓派4B-Python-基于rpi_ws281x库控制LED亮灭 树莓派4B-Python-基于rpi_ws281x库控制LED亮 ...

最新文章

  1. 在NVIDIA Jetson Xavier NX上安装llvmlite报错:No such file or directory: ‘llvm-config‘: ‘llvm-config‘
  2. 八个最好的开源机器学习框架和库
  3. Scala 中下划线的用法
  4. springer link:find the journals you need
  5. Python实现三级菜单(字典和列表的使用)
  6. leetcode面试题 04.12. 求和路径(dfs)
  7. Dictionary加速查询(TryGetValue)
  8. 大数据学习笔记46:初识日志收集系统Flume
  9. [洛谷P4234]最小差值生成树
  10. Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……
  11. 机器学习算法基础5-线回归与岭回归
  12. 用了很多年的 CMS 垃圾收集器,终于换成了 G1,真香!!
  13. 2021-07-09商场主页及分类
  14. iOS 信号量解决-网络异步请求的数据同步返回问题
  15. 51单片机最小系统原理图、PCB及组成原理详解
  16. TMS320F28335的特点
  17. 炜煌E30 E31微型热敏打印机 STM32 串口驱动
  18. RAKsmart云服务器全场7折
  19. macM1 出现 zsh: command not found: brew问题解决方案
  20. Bootstrap4总结(3)

热门文章

  1. 事业单位计算机类专技岗职称,事业单位,专技岗晋升容易吗?
  2. createrepo -g /enp/comps.xml .
  3. jmeter并发测试教程_jmeter进行并发测试教程
  4. cad系统是指利用计算机来帮助,CAD系统是指利用计算机来帮助设计人员进行设计工作的系统...
  5. 建立远程桌面连接计算机无密码,如何用空密码登录远程桌面/远程桌面连接的设置,来学习吧...
  6. android实现打卡功能,android实现上班打卡记录日历查看功能
  7. 使用python获取股票指定日期交易代码数据
  8. 什么是审计报告,审计报告有什么类型
  9. 网址导航网站哪个好?好用的导航网站推荐
  10. Visual Studio Code开发C/C++时,引入外部头文件(.h),如何配置包含路径?