前言:
目前小伙伴们对“51单片机c语言延时程序”可能比较关心,同学们都需要学习一些“51单片机c语言延时程序”的相关内容。那么小编也在网络上网罗了一些关于“51单片机c语言延时程序””的相关内容,希望兄弟们能喜欢,朋友们一起来了解一下吧!功能设计
本智能开关的电路如图1.1所示,设计了两种工作模式,分别为静态模式和工作模式。静态模式下,红、绿、黄LED指示灯亮,点阵屏和节能灯都是熄灭状态;工作模式下,相应的LED指示灯熄灭,点阵屏和节能灯开启。
为了使用方便,本智能开关设计了3个触摸按键(见图1.2)。
绿键:在静态模式(上电即进入静态模式)下,触摸此键即进入工作模式,绿色指示灯熄灭,节能灯和点阵屏开启,延时1min后转入静态模式。
黄键:在静态模式下,触摸此键则进入工作模式,黄色指示灯熄灭,节能灯和点阵屏开启,延时2min后转入静态模式。
红键:在静态模式下,触摸此键则进入工作模式,红色指示灯熄灭,节能灯和点阵屏开启,延时4min后转入静态模式。
材料准备
制作过程
1.测试点阵的行列引脚。因为点阵引脚排列不规则,所以我们需要先测其引脚,然后记录在纸上。注意,每一排引脚有行也有列,一定要耐心测试。
2.将排孔、铜线、LED焊接在万用板上。固定好之后,将点阵屏插到排孔上。注意I/O接口线要平行排列,且上端要做成按钮式,既美观大方又容易触发。
3.将余下的电子元器件焊接在另外一块板上。注意,元器件布局要以连线不交插、美观大方作为两个基本点。还要注意,继电器要远离单片机,防止其干扰单片机电路。
4.按照电路图将元器件连接起来,这个工作很是烦琐,一定要有耐心。注意尽量不要使导线交叉,点阵连接最好用不同颜色的排线连接。
5.用铜柱将两块板子固定在一起。至此,开关的硬件已完工。
软件设计
程序包括主程序、初始化程序、触摸键检测子程序、提醒显示子程序、定时器0溢出中断子程序。
初始化程序除了对继电器、3个LED指示灯、点阵屏进行设置外,还必须将P0置1设为高阻输入状态,这是实现触摸功能的前提。
触摸键检测子程序的任务是根据触摸键操作来执行相应的处理程序,例如,触摸了绿指示灯的触摸按键,接下来单片机要执行4个任务:(1)打开定时器中断;(2)打开继电器,开启节能灯;(3)熄灭绿指示灯;(4)调用提醒显示子程序。注意,触摸键检测子程序需检测单片机引脚高电平,跟普通按键正好相反,当然消抖延时也是必不可少的。
提醒显示子程序的任务是显示所在位置的楼层数。
定时器中断的任务是延时一段时间,然后关掉定时器中断、继电器及提醒显示子程序,打开对应指示灯。定时器延时时间的到来需用中断次数和标志位相与作为判定条件。
另外,要提醒大家几点,调试的时候应该根据出现的现象分析程序哪一部分有问题,程序尽量条理清晰、模块化,以节省调试时间。切记不要使用交流电源,那样对触摸键的干扰会很大。编程部分难度不大,我相信,只要用心编写,耐心调试,把错误一步一步改正过来,大家会很快享受到电子制作带给我们的快乐。
标签: #51单片机c语言延时程序 #单片机延时计算公式