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

发布时间:2023-10-26  

在这个项目中,我们将触摸传感器与 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) 连接的触摸传感器


*/


#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


}


}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>