CN111491410A - 一种一个指示灯指示多个状态的方法 - Google Patents
一种一个指示灯指示多个状态的方法 Download PDFInfo
- Publication number
- CN111491410A CN111491410A CN202010364423.7A CN202010364423A CN111491410A CN 111491410 A CN111491410 A CN 111491410A CN 202010364423 A CN202010364423 A CN 202010364423A CN 111491410 A CN111491410 A CN 111491410A
- Authority
- CN
- China
- Prior art keywords
- timer
- lighting
- value
- state
- short
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B45/00—Circuit arrangements for operating light-emitting diodes [LED]
Landscapes
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
本发明的一个指示灯指示多个状态的方法,用一个指示灯的两次闪亮来表示4种状态,每次闪亮包括点亮时长为T1的短亮和点亮时长为T2的长亮,T1<T2;两次闪亮为一个指示周期,同一指示周期中的两次闪亮之间用时长为D1的短灭分割,指示周期间用时长为D2的长灭分割,D1<D2。本发明的一个指示灯指示多个状态的方法,使得观察者极易分辨出这4种不同的状态,解决了每一个状态采用一个指示灯所造成的占用空间大、成本较高、耗电较多的问题,也避免了现有采用不同频率显示不同状态容易导致误判的问题。
Description
技术领域
本发明涉及一种一个指示灯指示多个状态的方法,更具体的说,尤其涉及一种一个指示周期内利用两次不同时长的闪亮来表征4种不同状态的一个指示灯指示多个状态的方法。
背景技术
应用单片机的电子设备常使用指示灯指示设备的状态。设备的状态可能有多种,如待机状态、手动状态、自动状态、错误状态等。现有两种方法:第一种方法是每个状态使用一个指示灯,多个状态使用多个指示灯:第二种方法是使用一个指示灯,用指示灯闪亮的不同频率表示不同的状态。第一种方法占用空间较大、成本较高、耗电较多,而且随着智能化设备(譬如穿戴式设备)的小型化发展,采用多个指示灯不再被允许,而是尽可能少地采用指示灯,譬如仅采用1个指示灯逐渐成为约定成熟的设计。第二种方法不太容易识别,会造成误判。
发明内容
本发明为了克服上述技术问题的缺点,提供了一种一个指示周期内利用两次不同时长的闪亮来表征4种不同状态的一个指示灯指示多个状态的方法。
本发明的一个指示灯指示多个状态的方法,其特征在于:用一个指示灯的两次闪亮来表示4种状态,每次闪亮包括点亮时长为T1的短亮和点亮时长为T2的长亮,T1<T2;两次闪亮为一个指示周期,同一指示周期中的两次闪亮之间用时长为D1的短灭分割,指示周期间用时长为D2的长灭分割,D1<D2;短亮和长亮的4种组合对应4种状态,短亮-短亮对应着状态0,短亮-长亮对应着状态1,长亮-短亮对应着状态2,长亮-长亮对应着状态3。
本发明的一个指示灯指示多个状态的方法,所述短亮时长T1=200ms,长亮时长T2=600ms,短灭时长D1=300ms,长灭时长D2=1s。
本发明的一个指示灯指示多个状态的方法,具体通过以下步骤来实现:
a).定义参数,定义变量timerLED、status、status0、duty、LEDstep,timerLED用于计时,其初始值为0;status用于存储设备的状态,其值为指示灯的4个状态值0、1、2或3;status0用于暂存设备状态;duty用于存储指示灯点亮时间的设定值,LEDstep用于存储一个指示周期的第几个阶段,LEDstep取值为0、1、2、3,分别对应长灭、第一次点亮、短灭、第二次点亮状态;设置定时器,使其每1毫秒中断一次,在定时器中断服务程序中对变量timerLED加1;
b).设备状态判断,首先判断用于暂存设备状态的变量status0与设备的当前状态值status是否相等,如果不相等,则令status0=status,以使指示灯的两次闪烁符合要表征的设备状态;
c).指示周期阶段判断,通过判断LEDstep的值,判断当前处于一个指示周期的第几个阶段,如果LEDstep=0,执行步骤d);如果LEDstep=1,执行步骤e);如果LEDstep=2,执行步骤f);如果LEDstep=3,执行步骤g);
d).长灭控制,首先令计时变量timerLED=0,通过控制相应端口输出高电平或低电平,使指示灯处于熄灭状态;判断timerLED的值是否达到了D2s,如果达到了D2s,表明长灭时间结束,则输出点亮指示灯的控制信号,使指示灯点亮,并令显示阶段变量LEDstep=1,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
e).第一点亮控制,将status0与2进行按位与运算,并判断其结果是否为0,如果为0,表明第一次点亮为短亮,则令duty=T1,如果不为0,表明第一次点亮为长亮,则令duty=T2;判断计时变量timerLED的值是否达到了duty,如果达到了,表明一个指示周期中的第一次点亮结束,则输出熄灭指示灯的控制信号,使指示灯熄灭,并令显示阶段变量LEDstep=2,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
f).短灭控制,判断timerLED的值是否达到了D1s,如果达到了D1s,表明短灭时间结束,则输出点亮指示灯的控制信号,使指示灯点亮,并令显示阶段变量LEDstep=3,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
g).第二次点亮控制,将status0与1进行按位与运算,并判断其结果是否为0,如果为0,表明第二次点亮为短亮,则令duty=T1,如果不为0,表明第二次点亮为长亮,则令duty=T2;判断计时变量timerLED的值是否达到了duty,如果达到了,表明一个指示周期中的第二次点亮结束,则输出熄灭指示灯的控制信号,使指示灯熄灭,并令显示阶段变量LEDstep=0,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作。
本发明的有益效果是:本发明的一个指示灯指示多个状态的方法,在一个指示周期内,通过采用点亮时长不同的短亮和长亮的两两组合,来表征设备的4种不同状态(如智能设备的待机状态、手动状态、自动状态、错误状态),同一指示周期内的两次点亮用短灭分割,相邻指示周期间用长灭分割,使得观察者用极易分辨出这4种不同的状态,解决了每一个状态采用一个指示灯所造成的占用空间大、成本较高、耗电较多的问题,也避免了现有采用不同频率显示不同状态容易导致误判的问题。
附图说明
图1为本发明的指示灯驱动电路的一种具体实施方式;
图2为本发明的一个指示灯指示多个状态的方法的程序流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
本发明的一个指示灯指示多个状态的方法,具体通过以下步骤来实现:
a).定义参数,定义变量timerLED、status、status0、duty、LEDstep,timerLED用于计时,其初始值为0;status用于存储设备的状态,其值为指示灯的4个状态值0、1、2或3;status0用于暂存设备状态;duty用于存储指示灯点亮时间的设定值,LEDstep用于存储一个指示周期的第几个阶段,LEDstep取值为0、1、2、3,分别对应长灭、第一次点亮、短灭、第二次点亮状态;设置定时器,使其每1毫秒中断一次,在定时器中断服务程序中对变量timerLED加1;
b).设备状态判断,首先判断用于暂存设备状态的变量status0与设备的当前状态值status是否相等,如果不相等,则令status0=status,以使指示灯的两次闪烁符合要表征的设备状态;
c).指示周期阶段判断,通过判断LEDstep的值,判断当前处于一个指示周期的第几个阶段,如果LEDstep=0,执行步骤d);如果LEDstep=1,执行步骤e);如果LEDstep=2,执行步骤f);如果LEDstep=3,执行步骤g);
d).长灭控制,首先令计时变量timerLED=0,通过控制相应端口输出高电平或低电平,使指示灯处于熄灭状态;判断timerLED的值是否达到了D2s,如果达到了D2s,表明长灭时间结束,则输出点亮指示灯的控制信号,使指示灯点亮,并令显示阶段变量LEDstep=1,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
e).第一点亮控制,将status0与2进行按位与运算,并判断其结果是否为0,如果为0,表明第一次点亮为短亮,则令duty=T1,如果不为0,表明第一次点亮为长亮,则令duty=T2;判断计时变量timerLED的值是否达到了duty,如果达到了,表明一个指示周期中的第一次点亮结束,则输出熄灭指示灯的控制信号,使指示灯熄灭,并令显示阶段变量LEDstep=2,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
该步骤中,可知,status0所表征的4种状态的取值分别为0、1、2、3,分别表征短亮-短亮、短亮-长亮、长亮-短亮、长亮-长亮,其对应的16进制数为0x00、0x01、0x02、0x03,对应的二进制数为0000000、00000001、00000010、00000011;将status0与2(00000010)进行按位与运算,当status0=0000000或00000001时,其运算结果均为0,第一次点亮为短亮;当status0=00000010或00000011时,其运算结果均为1,第一次点亮为长亮。
f).短灭控制,判断timerLED的值是否达到了D1s,如果达到了D1s,表明短灭时间结束,则输出点亮指示灯的控制信号,使指示灯点亮,并令显示阶段变量LEDstep=3,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
g).第二次点亮控制,将status0与1进行按位与运算,并判断其结果是否为0,如果为0,表明第二次点亮为短亮,则令duty=T1,如果不为0,表明第二次点亮为长亮,则令duty=T2;判断计时变量timerLED的值是否达到了duty,如果达到了,表明一个指示周期中的第二次点亮结束,则输出熄灭指示灯的控制信号,使指示灯熄灭,并令显示阶段变量LEDstep=0,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作。
该步骤中,将status0与1(00000001)进行按位与运算,当status0=00000001或0000011时,其运算结果均为1,第二次点亮为长亮;当status0=00000000或00000010,其运算结果均为0,第二次点亮为短亮。
如图1所示,给出了本发明的指示灯驱动电路的一种具体实施方式,单片机使用MSP430F5438,其IO脚P4.6,连接指示灯,控制指示灯的亮和灭,后面的程序以此为基础;可见,当单片机的P4.6端口输出低电平时,指示灯所在的回路导通,指示灯点亮;当P4.6端口输出高电平时,指示灯所在的回路截止,指示灯熄灭。如果使用别的单片机或单片机的不同端口,程序要做相应的修改。如图2所示,给出了本发明的一个指示灯指示多个状态的方法的程序流程图,首先定义一个整型变量,命名为timerLED,用于计时,使其值为0。再定义一个整型变量,命名为status,用于存储设备的状态,使其值为0。然后,设置单片机定时器,使其每1毫秒中断一次。在定时器中断服务程序中对变量timerLED加1,程序如下:
if ( timerLED < 65535 ) timerLED ++ ;
在主循环中检测timerLED的值并对指示灯进行控制,使指示灯亮或灭。将该程序定义成一个函数,在主循环中调用此函数。此函数如下所示:
void LED4S()
{
unsigned int duty ; //用于存储指示灯亮的时间的设定值
switch ( LEDstep ) //LEDstep存储一个指示周期的第几个阶段
{
case 0://起始阶段
//在起始阶段读取状态
if (status0 != status ) //status0暂存设备状态,在指示周期内保持不变
{
status0 = status;
LEDstep = 0;
TimerLED = 0;
}
//长灭
if ( TimerLED >= 1024 )
{
P4OUT &= ~0x40;//指示灯亮
LEDstep = 1;
TimerLED = 0;
}
break;
case 1: //第一次闪亮
if ( (status0 & 0x02) == 0)
duty = 200;
else
duty = 600;
if (TimerLED >= duty)
{
P4OUT |= 0x40;//指示灯灭
LEDstep = 2;
TimerLED = 0;
}
break;
case 2://短灭
if (TimerLED >= 300)
{
P4OUT &= ~0x40;//指示灯亮
LEDstep = 3;
TimerLED = 0;
}
break;
case 3://第二次闪亮
if ( (status0 & 0x01) == 0)
duty = 200;
else
duty = 600;
if (TimerLED >= duty)
{
P4OUT |= 0x40;//指示灯灭
LEDstep = 0;
TimerLED = 0;
}
break;
default:
LEDstep = 0;
break;
}
}
说明,上述程序中:长灭的时间D2=1024,视为1s。运算符“&=”为按位与运算并进行赋值,运算符“~”表示“非运算”,运算符“|=”表示按位或运算并赋值。通过语句“P4OUT &= ~0x40”对单片机的P4.6端口进行赋值,与数据“0010 0000”的非进行按位与运算,其P4.6端口肯定为0,即P4.6端口输出低电平,指示灯被点亮。同理,利用语句“P4OUT |= 0x40” 对单片机的P4.6端口进行赋值,与数据“0010 0000”的进行按位或运算,其P4.6端口肯定为1,即P4.6端口输出高电平,指示灯被熄灭。
Claims (3)
1.一种一个指示灯指示多个状态的方法,其特征在于:用一个指示灯的两次闪亮来表示4种状态,每次闪亮包括点亮时长为T1的短亮和点亮时长为T2的长亮,T1<T2;两次闪亮为一个指示周期,同一指示周期中的两次闪亮之间用时长为D1的短灭分割,指示周期间用时长为D2的长灭分割,D1<D2;短亮和长亮的4种组合对应4种状态,短亮-短亮对应着状态0,短亮-长亮对应着状态1,长亮-短亮对应着状态2,长亮-长亮对应着状态3。
2.根据权利要求1所述的一个指示灯指示多个状态的方法,其特征在于:所述短亮时长T1=200ms,长亮时长T2=600ms,短灭时长D1=300ms,长灭时长D2=1s。
3.根据权利要求1或2所述的一个指示灯指示多个状态的方法,其特征在于,具体通过以下步骤来实现:
a).定义参数,定义变量timerLED、status、status0、duty、LEDstep,timerLED用于计时,其初始值为0;status用于存储设备的状态,其值为指示灯的4个状态值0、1、2或3;status0用于暂存设备状态;duty用于存储指示灯点亮时间的设定值,LEDstep用于存储一个指示周期的第几个阶段,LEDstep取值为0、1、2、3,分别对应长灭、第一次点亮、短灭、第二次点亮状态;设置定时器,使其每1毫秒中断一次,在定时器中断服务程序中对变量timerLED加1;
b).设备状态判断,首先判断用于暂存设备状态的变量status0与设备的当前状态值status是否相等,如果不相等,则令status0=status,以使指示灯的两次闪烁符合要表征的设备状态;
c).指示周期阶段判断,通过判断LEDstep的值,判断当前处于一个指示周期的第几个阶段,如果LEDstep=0,执行步骤d);如果LEDstep=1,执行步骤e);如果LEDstep=2,执行步骤f);如果LEDstep=3,执行步骤g);
d).长灭控制,首先令计时变量timerLED=0,通过控制相应端口输出高电平或低电平,使指示灯处于熄灭状态;判断timerLED的值是否达到了D2s,如果达到了D2s,表明长灭时间结束,则输出点亮指示灯的控制信号,使指示灯点亮,并令显示阶段变量LEDstep=1,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
e).第一点亮控制,将status0与2进行按位与运算,并判断其结果是否为0,如果为0,表明第一次点亮为短亮,则令duty=T1,如果不为0,表明第一次点亮为长亮,则令duty=T2;判断计时变量timerLED的值是否达到了duty,如果达到了,表明一个指示周期中的第一次点亮结束,则输出熄灭指示灯的控制信号,使指示灯熄灭,并令显示阶段变量LEDstep=2,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
f).短灭控制,判断timerLED的值是否达到了D1s,如果达到了D1s,表明短灭时间结束,则输出点亮指示灯的控制信号,使指示灯点亮,并令显示阶段变量LEDstep=3,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作;
g).第二次点亮控制,将status0与1进行按位与运算,并判断其结果是否为0,如果为0,表明第二次点亮为短亮,则令duty=T1,如果不为0,表明第二次点亮为长亮,则令duty=T2;判断计时变量timerLED的值是否达到了duty,如果达到了,表明一个指示周期中的第二次点亮结束,则输出熄灭指示灯的控制信号,使指示灯熄灭,并令显示阶段变量LEDstep=0,计时变量timerLED=0,跳转至步骤c);如果没达到,则继续执行中断服务程序中对变量timerLED执行加1操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010364423.7A CN111491410A (zh) | 2020-04-30 | 2020-04-30 | 一种一个指示灯指示多个状态的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010364423.7A CN111491410A (zh) | 2020-04-30 | 2020-04-30 | 一种一个指示灯指示多个状态的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111491410A true CN111491410A (zh) | 2020-08-04 |
Family
ID=71795106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010364423.7A Pending CN111491410A (zh) | 2020-04-30 | 2020-04-30 | 一种一个指示灯指示多个状态的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111491410A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244733A (zh) * | 2021-11-10 | 2022-03-25 | 深圳市联洲国际技术有限公司 | 通信设备led闪烁指示的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5332993A (en) * | 1990-11-07 | 1994-07-26 | Kabushiki Kaisha Toshiba | Power controlling apparatus with a power failure detecting function |
CN102186278A (zh) * | 2011-03-11 | 2011-09-14 | 广东威创视讯科技股份有限公司 | 一种设备指示灯处理方法及其系统 |
CN102680011A (zh) * | 2012-05-15 | 2012-09-19 | 董右云 | 单灯多信息指示方法 |
CN104967105A (zh) * | 2015-07-15 | 2015-10-07 | 苏州创泰电子有限公司 | 单led数据显示电源保护器及其显控方法 |
CN106604505A (zh) * | 2016-12-26 | 2017-04-26 | 广州力控智电信息科技有限公司 | 一种利用灯光闪动获取多灯具照明系统中指定灯具的状态信息的方法及装置 |
CN109996370A (zh) * | 2019-04-04 | 2019-07-09 | 深圳市三旺通信股份有限公司 | 一种指示电子设备运行状态的方法 |
CN110138452A (zh) * | 2019-04-18 | 2019-08-16 | 中国人民解放军战略支援部队信息工程大学 | 一种基于物联网设备指示灯的数据传输方法及系统 |
-
2020
- 2020-04-30 CN CN202010364423.7A patent/CN111491410A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5332993A (en) * | 1990-11-07 | 1994-07-26 | Kabushiki Kaisha Toshiba | Power controlling apparatus with a power failure detecting function |
CN102186278A (zh) * | 2011-03-11 | 2011-09-14 | 广东威创视讯科技股份有限公司 | 一种设备指示灯处理方法及其系统 |
CN102680011A (zh) * | 2012-05-15 | 2012-09-19 | 董右云 | 单灯多信息指示方法 |
CN104967105A (zh) * | 2015-07-15 | 2015-10-07 | 苏州创泰电子有限公司 | 单led数据显示电源保护器及其显控方法 |
CN106604505A (zh) * | 2016-12-26 | 2017-04-26 | 广州力控智电信息科技有限公司 | 一种利用灯光闪动获取多灯具照明系统中指定灯具的状态信息的方法及装置 |
CN109996370A (zh) * | 2019-04-04 | 2019-07-09 | 深圳市三旺通信股份有限公司 | 一种指示电子设备运行状态的方法 |
CN110138452A (zh) * | 2019-04-18 | 2019-08-16 | 中国人民解放军战略支援部队信息工程大学 | 一种基于物联网设备指示灯的数据传输方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244733A (zh) * | 2021-11-10 | 2022-03-25 | 深圳市联洲国际技术有限公司 | 通信设备led闪烁指示的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8013535B2 (en) | Flash pattern selection via power switch | |
CN111246628B (zh) | 一种光模块指示灯的控制方法、装置、设备及存储介质 | |
CN111491410A (zh) | 一种一个指示灯指示多个状态的方法 | |
CN109769332B (zh) | 一种指示方法、指示灯电路和电子产品 | |
CN108882459A (zh) | 一种ui指示灯的亮度调节电路及系统 | |
JP5588184B2 (ja) | Led点灯装置、照明装置および車両 | |
CN112654110B (zh) | Led指示灯的闪烁控制方法、装置和终端设备 | |
JP2015020460A (ja) | 車載照明灯の制御装置 | |
CN101089732B (zh) | 曝光用照明装置 | |
JP2005297818A (ja) | 照明制御装置及び故障検出装置 | |
CA2688185A1 (en) | Multimode controller for led light sources | |
CN104235741A (zh) | 信号灯及其控制方法 | |
EP2103484A2 (en) | Left/right turn indicator for vehicle | |
CN110324939A (zh) | 一种防止灯具连续闪烁的系统及方法 | |
JP2012018702A (ja) | 交通規制用灯器の制御システム及び方法 | |
JP6119510B2 (ja) | Led点灯部の異常検出装置 | |
CN102858052B (zh) | 照明装置 | |
CN101169756B (zh) | 用led半亮度作为项目后台运行状态的显示方法 | |
CN104955223A (zh) | 一种具有双重调光功能的数码管显示led无影灯电路 | |
KR20080042209A (ko) | 자동차 비상등 제어장치 및 그 방법 | |
CN209914121U (zh) | Led灯具的驱动电路及led灯具 | |
CN204761768U (zh) | 一种具有双重调光功能的数码管显示led无影灯电路 | |
CN117093174B (zh) | 嵌入式led显示管理方法 | |
CN113518493B (zh) | 一种控制led转向灯闪烁的闪光继电器及控制方法 | |
JP2012053208A (ja) | 表示処理装置及び信号供給装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200804 |