灯饰配件中有一种操控器叫数码分段开关,根本作业原理是使用墙面开关通断电来完成对多种负载的轮番亮灭,这其中就涉及到单片机怎么检测沟通电掉电。首要,要把沟通电的同步信号提取出来,构成单片机能辨认的低压信号,一般有2中办法,一种是直接使用电阻分压法,把同步信号提取(合适非阻隔型电路)。别的一种办法是使用光耦提取阻隔的沟通信号。2种办法如下所示:
光耦阻隔取样电路
电阻分压取样电路
所获得的沟通信号如下图:
本程序完成的功用是,第一次打开关,L1亮,L2灭,第2次打开关,L1灭,L2亮,第三次打开关,L1,L2全亮,第四次打开关,L1,L2全灭,如此循环。那么,单片机检测沟通电掉电,每隔必定时刻检测一次沟通信号输进口,假如是低电平,开端计时,假如12MS-15MS之后,仍是低电平,阐明沟通电被断过一次电,此刻要做出相应的操控动作。所用单片机为P%&&&&&%16F676,RA5上的脚作为沟通检测脚。RC2,RC3作为负载输出操控端。程序如下:
#include
#define uchar unsigned char//宏界说,相当于uchar=unsigned char
#define uint unsigned int//宏界说,相当于uint=unsigned int