龙空技术网

单片机小制作,智能触摸延时开关

电子工程师小李 1518

前言:

目前小伙伴们对“51单片机c语言延时程序”可能比较关心,同学们都需要学习一些“51单片机c语言延时程序”的相关内容。那么小编也在网络上网罗了一些关于“51单片机c语言延时程序””的相关内容,希望兄弟们能喜欢,朋友们一起来了解一下吧!

功能设计

图1.1 电路原理图

本智能开关的电路如图1.1所示,设计了两种工作模式,分别为静态模式和工作模式。静态模式下,红、绿、黄LED指示灯亮,点阵屏和节能灯都是熄灭状态;工作模式下,相应的LED指示灯熄灭,点阵屏和节能灯开启。

为了使用方便,本智能开关设计了3个触摸按键(见图1.2)。

图1.2 实际效果图(LED下方为触摸式开关,节能灯以220U指示灯代替)

绿键:在静态模式(上电即进入静态模式)下,触摸此键即进入工作模式,绿色指示灯熄灭,节能灯和点阵屏开启,延时1min后转入静态模式。

黄键:在静态模式下,触摸此键则进入工作模式,黄色指示灯熄灭,节能灯和点阵屏开启,延时2min后转入静态模式。

红键:在静态模式下,触摸此键则进入工作模式,红色指示灯熄灭,节能灯和点阵屏开启,延时4min后转入静态模式。

材料准备

表1.1 元器件清单

制作过程

1.测试点阵的行列引脚。因为点阵引脚排列不规则,所以我们需要先测其引脚,然后记录在纸上。注意,每一排引脚有行也有列,一定要耐心测试。

2.将排孔、铜线、LED焊接在万用板上。固定好之后,将点阵屏插到排孔上。注意I/O接口线要平行排列,且上端要做成按钮式,既美观大方又容易触发。

3.将余下的电子元器件焊接在另外一块板上。注意,元器件布局要以连线不交插、美观大方作为两个基本点。还要注意,继电器要远离单片机,防止其干扰单片机电路。

4.按照电路图将元器件连接起来,这个工作很是烦琐,一定要有耐心。注意尽量不要使导线交叉,点阵连接最好用不同颜色的排线连接。

5.用铜柱将两块板子固定在一起。至此,开关的硬件已完工。

软件设计

程序包括主程序、初始化程序、触摸键检测子程序、提醒显示子程序、定时器0溢出中断子程序。

初始化程序除了对继电器、3个LED指示灯、点阵屏进行设置外,还必须将P0置1设为高阻输入状态,这是实现触摸功能的前提。

触摸键检测子程序的任务是根据触摸键操作来执行相应的处理程序,例如,触摸了绿指示灯的触摸按键,接下来单片机要执行4个任务:(1)打开定时器中断;(2)打开继电器,开启节能灯;(3)熄灭绿指示灯;(4)调用提醒显示子程序。注意,触摸键检测子程序需检测单片机引脚高电平,跟普通按键正好相反,当然消抖延时也是必不可少的。

提醒显示子程序的任务是显示所在位置的楼层数。

定时器中断的任务是延时一段时间,然后关掉定时器中断、继电器及提醒显示子程序,打开对应指示灯。定时器延时时间的到来需用中断次数和标志位相与作为判定条件。

另外,要提醒大家几点,调试的时候应该根据出现的现象分析程序哪一部分有问题,程序尽量条理清晰、模块化,以节省调试时间。切记不要使用交流电源,那样对触摸键的干扰会很大。编程部分难度不大,我相信,只要用心编写,耐心调试,把错误一步一步改正过来,大家会很快享受到电子制作带给我们的快乐。

标签: #51单片机c语言延时程序 #单片机延时计算公式