0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用触摸传感器和8051微控制器控制LED灯

科技观察员 来源:circuitdigest 作者:Sourav Gupta 2022-09-07 15:13 次阅读

在这个项目中,我们将触摸传感器与 8051 微控制器 AT89S52 连接。如果您是 8051 微控制器的新手,那么您可以从LED 闪烁开始 8051。

什么是电容式触摸传感器?

电容式触控作用于我们身体上可用的静电荷。屏幕已经充满了电场。当我们触摸屏幕时,由于流经我们身体的静电荷形成闭合电路。此外,软件决定要执行的位置和动作。电容式触摸屏不适用于手套,因为手指和屏幕之间不会有任何传导。

此项目中使用的触摸传感器

本项目使用的触摸传感器为电容式触摸传感器模块,传感器驱动基于驱动IC TTP223。IC TTP23的工作电压为 2.0V 至 5.5V ,触摸传感器的电流消耗非常低。由于价格低廉、电流消耗低且易于集成支持,采用 TTP223 的触摸传感器在其细分市场中广受欢迎。

pYYBAGMYRDiAZq4PAAMc3AxFC38466.png

在上图中,传感器的两侧都显示了引脚图清晰可见的位置。它还有一个焊接跳线,可用于根据输出重新配置传感器。跳线为 A 和 B。默认配置或在焊锡跳线的默认状态下,触摸传感器时输出由低变为高。但是,当设置跳线并重新配置传感器时,当触摸传感器检测到触摸时,输出会改变其状态。触摸传感器的灵敏度也可以通过改变电容来配置。

下图显示了不同跳线设置下的不同输出 -

pYYBAGMYRDOAUayDAAAPR-M7xnc945.png

对于这个项目,传感器将在出厂发布条件下可用的默认配置中使用。在这个项目中,触摸传感器将用于控制使用 AT89S52 微控制器的交流灯泡。

继电器与 8051 微控制器连接。继电器的引脚排列如下图所示 -

poYBAGMYRDCAKT_4AAI3cZcFHZY948.png

NO常开,NC常接。L1 和 L2 是 Relay 线圈的两个端子。未施加电压时,继电器关闭,POLE 与 NC 引脚连接。当电压施加在线圈端子上时,继电器的 L1 和 L2 接通,POLE 与 NO 连接。因此,可以通过改变继电器的操作状态来打开或关闭 POLE 和 NO 之间的连接。

所需材料

AT89S52 8051 微控制器

标准立方继电器 - 5V

11.592 MHz 晶振

33pF 电容器 - 2 个

2k电阻-1个

4.7k 电阻器 - 1 个

10uF电容

BC549B晶体管

TTP223 传感器

1N4007 二极管

带灯座的灯泡

面包板

5V供电,一个手机充电器即可工作。

很多跳线或 berg 线。

AT89S52 编程环境,带有 Programmer Kit 和带有编译器的 IDE

电路原理

使用触摸传感器和 8051 控制光的示意图如下图所示,

poYBAGMYRCmARV71AAB9b9iouIM301.png

晶体管用于打开或关闭继电器。触摸传感器与 AT89S52 微控制器单元相连。该电路是使用面包板构建的。

pYYBAGMYRC2ACLKeAAO97-yc2gM804.png

编程 Atmega AT89S52 微控制器

最后给出完整的 8051 代码。在这里,我们解释了代码的几个部分。如果您是 8051 微控制器的新手,那么首先学习如何对 8051 微控制器进行编程。

以下代码行用于将继电器和触摸传感器与 8051 微控制器集成。REGX52 是 AT89S52 微控制器单元的头文件。还声明了一个延迟函数。

#include

// RELAY Pin 
sbit RELAY = P1^0; // 引脚 P1.0 被命名为 RELAY

// 触摸传感器引脚
sbit Touch = P1^1; // Pin P1.1 被命名为 Touch Sensor

//函数声明
void delay(char ms);

触摸和继电器初始化为 0。触摸传感器将逻辑 0 更改为 1。如果在激活触摸传感器时语句为真,则继电器的状态会发生变化。然而,为了准确检测触摸,使用了去抖动延迟。

// 主函数
void main(void) 
{

   继电器 = 0;

     触摸 = 0; 
   while(1){ 
             if (Touch == 1){ 
                   delay(15); // 去抖动延迟
                   if (Touch == 1){ 
                         RELAY = !RELAY; //切换继电器引脚
                         延迟(30);
                   }                       
            }                
     } 
}

下面,编写延迟函数。该函数以毫秒格式接受输入,并使用两个for循环生成延迟。这种延迟不太准确,但可以接受,主要取决于时钟周期时序。

/*延迟相关函数*/ 
void delay(char ms){
    整数a,b;
    对于(a=0;a<1295;a++){
            对于 (b=0; b

这个触摸控制的灯电路在面包板上进行了测试,并连接了一个低功率灯泡。
/* 名称:touchsensor.c

* 目的:用于电路文摘。与 8051 (AT89S52) 连接的触摸传感器

* 作者:苏拉夫古普塔

* 日期 : 22-03-19

* 修订:无

*/

#include



// 继电器引脚

位继电器 = P1^0; // 引脚 P1.0 被命名为 RELAY

// 触摸传感器引脚

sbit 触摸 = P1^1; // Pin P1.1 被命名为 Touch Sensor



//函数声明

无效延迟(字符毫秒);



// 主功能

无效主要(无效)

{

继电器 = 0;

触摸 = 0;

而(1){

如果(触摸 == 1){

延迟(15);// 去抖动延迟

如果(触摸 == 1){

继电器=!继电器;// 切换继电器引脚

延迟(30);

}

}

}

}



/*延时相关函数*/



无效延迟(字符毫秒){

整数a,b;

对于(a=0;a<1295;a++){

对于 (b=0; b
}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6812

    浏览量

    147659
  • led灯
    +关注

    关注

    22

    文章

    1554

    浏览量

    107035
  • 触摸传感器
    +关注

    关注

    0

    文章

    115

    浏览量

    22969
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 微控制器原理:8051微控制器的技术发展

    微控制器mcu8051
    Mr_haohao
    发布于 :2022年11月02日 14:47:16

    [分享]C8051F410属于Silicon Labs的小外型微控制器系列

      C8051F410属于Silicon Labs的小外型微控制器系列。C8051F410在极小的封装中集成了高速8051 CPU、Flash存储
    发表于 04-21 11:17

    用一只传感器和一个微控制器采集图像

    和一只AVR公司的ATmega328微控制器IC1设计出一个图像采集系统。  图1演示了如何将传感器连接到微控制器上,以及对微控制器编程,生成传感器
    发表于 12-04 15:44

    微控制器和1-Wire温度传感器的软件接口

    。如果多个温度传感器在此总线上,它们将同时发出应答脉冲。读和写函数实例如图6、7、8和9所示,提供了所有读/写数据位和字节操作的基本结构。结束语以上是新型多点1-wire数字温度传感器微控制器软件
    发表于 12-17 11:29

    8051架构微控制器详解

    全面剖析久经验证的8051架构微控制器
    发表于 02-05 06:17

    如何将8051微控制器引到FPGA中去?

    请问如何将8051微控制器引到FPGA中去?
    发表于 04-28 06:41

    智能热传感器如何与微控制器结合使用?

    智能热传感器是什么?智能热传感器如何与微控制器结合使用?为什么流行的存在传感器通常不是最佳的感测模式?
    发表于 06-15 06:30

    讨论AVR,ARM,8051和PIC微控制器之间的区别

    8051和PIC微控制器之间的区别。**AVR,ARM,8051和PIC微控制器之间的区别**微控制器之间的差异主要包括什么是
    发表于 11-23 07:24

    霍尔传感器将如何与Atmega16微控制器连接

    的声明形式,以更好的方式理解它?在本本中,将通过实际示例逐步说明。霍尔传感器将与Atmega16微控制器连接,一个LED将用于显示磁铁将被带到霍尔传感器附近时的效果。什么是霍尔效应?霍
    发表于 11-23 07:47

    AVR,ARM,8051和PIC微控制器之间的区别在哪

    8051和PIC微控制器之间的区别。AVR,ARM,8051和PIC微控制器之间的区别 微控制器之间的差异主要包括什么是
    发表于 11-23 08:24

    使用LM35温度传感器和ATTiny13微控制器控制风扇的教程

    的电路,但是,我的目的是不使用任何微控制器并使其尽可能简单。因此,该设备是风扇的简单开/关开关,具体取决于定义的温度阈值。这一次,我决定设计一个完整且更专业的电路,使用 LM35 温度传感器
    发表于 07-21 06:19

    ADC测量微控制器内部温度传感器示例码

    应用:ADC测量微控制器内部温度传感器示例码 BSP 版本: M051系列 BSP CMSIS v3.01.001 硬件:Nutini-EVB-M051_V3.0 微控制器在不同环境温度下广泛
    发表于 08-23 06:21

    ADC测量微控制器内部温度传感器示例码

    应用:ADC测量微控制器内部温度传感器示例码 BSP 版本: M051系列 BSP CMSIS v3.01.001 硬件:Nutini-EVB-M051_V3.0 微控制器在不同环境温度下广泛
    发表于 08-30 06:15

    8051微控制器和82527独立CAN总线控制器为核心组成

    介绍一种以8051微控制器和82527独立CAN总线控制器为核心组成的CAN总线智能传感器节点的设计方法,并给出其硬件原理图和初始化程序。
    发表于 07-17 08:41 25次下载

    8051微控制器引脚说明与基本电路

    此前已经介绍过8051微控制器的基础知识,包括它的历史、特性、封装和一些实际应用。在本文中,小编将将继续介绍关于8051微控制器引脚图、引脚说明以及其他一些细节内容,包括
    发表于 08-23 15:53 5623次阅读
    <b class='flag-5'>8051</b><b class='flag-5'>微控制器</b>引脚说明与基本电路