导航:首页 > 操作系统 > 单片机休眠灯微亮

单片机休眠灯微亮

发布时间:2022-07-01 23:05:14

A. 单片机式的呼吸灯控制方法

我们通常会在各类器件上看到形形色色的指示灯,它们都分别代表着不尽相同各项功能的运行情况。而由灯发出的指示光要比其他方法传递信息更直接更明显,也更加的经济。而现在呼吸灯这项技术已经应用于各个方面,甚至包括智能机的应用,而其比较多样的呼吸方法在传递相关信息上也是方便至极,那么今天我们就来看看呼吸灯的控制问题。

灯光在微电脑的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。


应用

广泛应用于手机之上,并成为各大品牌新款手机的卖点之一。如果你的手机里面有未处理的通知,比如说未接来电,未查收的短信等等,呼吸灯就会由暗到亮的变化,像呼吸一样那么有节奏,起到一个通知提醒的作用。

电子爱好者可通过简单的电路来实现呼吸灯的效果。


为何很多手机都取消了呼吸灯

回答之前,小编想先纠正一个问题,并不是智能机都取消了呼吸灯,很多设备还是具备这一功能的,只不过能够将这一功能发挥到极致的手机,确实是少之又少。安卓设备其实多数都是有LED灯的,不过原生安卓系统本身没有提供一个可以统一控制的通知中心,而是要每个应用自己决定显示通知的方式,这方式包括声音、震动、LED灯及其颜色,再加上不同手机的灯或多或少都有些不同,这样就造成了有的应用不支持LED灯有的应用却错误地触发了LED灯。

久而久之,在我的日常使用中,LED灯通常会给人一种十分不可靠的感觉,实际表现在我们该点亮屏幕的时候还是会点亮屏幕,不该点亮屏幕的时候,看到LED灯错误的亮起,也要去点亮屏幕去处理,就这样,一个听起来很好的功能反倒变得有些鸡肋甚至是惹人讨厌。到了安卓4.4以后,感觉系统在LED灯控制方面更为混乱,一些常驻通知栏的图标甚至也会触发LED灯,导致用户体验极差。

而有些如CM一类的第三方ROM会提供系统级的分应用LED灯设置,不过在实际使用中的表现也不够完美。所以虽然LED呼吸灯本来是一个很好的设计,但是安卓系统却没有做好,于是有些厂商索性就取消了LED灯,或者取消了LED灯的呼吸功能。

另外,可能有些人会问,为何苹果手机也没有呼吸灯,这又是个老生常谈的问题了,苹果不具备的东西很多,很多时候我们都不知道为什么,不采用呼吸灯,可能是因为技术,也可能是因为专利,苹果同安卓不同,其并非开源系统,很多时候,苹果都会来规范用户的使用习惯,不设置呼吸灯,或许只是因为苹果觉得用户不需要它吧。至于这位网友在问题中提到的触控反馈,这个其实不需要小编多说了,貌似目前大部分手机都有触控反馈吧,只需要在设置中调出来就好。

呼吸灯的作用

呼吸灯是一个提气的设计,它让手机不再是一块只会亮屏的板砖。因为不是所有的消息通知都需要处理,也不是所有的消息通知都会马上处理。对于手机来讲,亮屏铃声震动属于强通知,这包括一些软件提供的来电闪光功能,呼吸灯则属于弱通知,不是所有人都会定期去查看手机的,多数情况下在办公室我们都只是把手机放在桌上,偶尔去下洗手间也不会带着,这中间如果有消息,我们回来瞟一眼就知道了,呼吸灯作为弱通知的作用,提醒的意义大于通知。



先说呼吸灯,这个本质上是LED的亮度控制。

一般是用PWM方式控制LED亮度,PWM的输出按照一定的规律变化,就可以做出呼吸灯的效果。

再说30个LED的控制,如果要简单点做,30个LED可以串起来串一个电阻,接高点的电源电压,30个LED用同一个信号控制,当然,亮度也是同步变化的。如果要复杂,那就出30个信号分别控制30个LED串30个电阻,具体看你的追求的效果吧。


呼吸灯的程序,如果有硬件的PWM模块,是很简单的,按一定的规律让PWM的输出变化就可以。

像这样输出10%亮度,持续200ms,输出20%亮度,持续200ms,输出30%亮度,持续200ms。

如果没有硬件PWM模块,可以用软件来模拟,比如,输出10%亮度,持续200ms这两件事合在一起作,变成输出高电平10us,输出低电平90us,循环2000次。


两种方法

方法1:1000个左右的灯,需要10根地址线选通,51的IO管脚应该是没有问题。剩下的就是要用大量的译码器,把二进制信息转换为管脚信息。

估计你仅仅是控制亮和灭,如果是这样选通也就可以进行明暗的控制,否则输出的信息也要加进去,就是说需要加驱动电路。

方法2:用移位电路,比如HC595,在51中地址做为串行信号发出,转换为对应的地址线,然后在连接译码器,这样,51的管脚比较节省,但,编程的难度稍大。


那么上述就是呼吸灯相关控制的方法和技巧,我们讲,呼吸灯控制在硬件圈是一个很普通的项目,而所采用的单片机控制也是硬件里最基础的,相信很多人在研习过后都能够掌握,而即便不必要掌握这个情况,熟悉相关的原理情况也可以让其在遇见故障的时候能够迅速找到方法来排除,那么今天呼吸灯控制的问题就给大家介绍到这里。

B. 单片机点亮一个led的实验目的

任何单片机程序都要有一个死循环,否则程序执行到底了,然后怎么办。没有这个死循环,单片机从0地址重新运行,整个系统重新初始化,会导致IO口复位,运行的很快的话,就看到别的灯微亮。at89s52也是51系列的单片机,程序完全兼容,用51的程序就行了,包括外围电路也一样,直接用就行了。 单灯亮就是在io口输出一个二进制数中只有一位不同的数,比如说“00000001”,就只有最后一位是“1”,其余的都是“0”,要双灯亮就使其中的两位与其他的不同就行了,还是那上面的例子来说,现在改成“00000011”,这样有两位是不用的了,当然不同的两位也可以不挨着,比如“00100001”,这样也是两位同时点亮。(例子的前提是输出高电平时led点亮,如果不是的话就把里面的“0”改成“1”,“1”改成“0”就行了。出现这种问题我感觉有一下几点原因,你可以逐个排查下,如果程序下载成功,说明单片机电源应该没有问题,那就需要看已下几点
1.看你的程序是不是编写的不对,主要看你的IO口配置是否正确,IO口的高低电平是不是写错了,IO口电平翻转时,中间是不是延时太短,延时太短的话,人眼看不出来。
2.硬件方面的话,你就看看你的指示灯是不是接错了
3.你看一下你的单片机晶振是不是符合你单片机的型号
4.看一下,晶振旁边的电容是不是焊错了
如果这些都没有问题的话,那只能说你的程序肯定有问题,或者程序没有下载成功。

C. 为什么在单片机实验板上点亮一个LED灯时,需要while(1)循环,要不然其他LED灯会微亮

任何单片机程序都要有一个死循环,否则程序执行到底了,然后怎么办。没有这个死循环,单片机从0地址重新运行,整个系统重新初始化,会导致IO口复位,运行的很快的话,就看到别的灯微亮。

D. 51单片机休眠模式

一般情况下,空闲模式时定时器工作,休眠模式时定时器不工作,只能通过外部中断唤醒。
不过现在51单片机种类很多,可以找找有没有特殊的。

E. 单片机在输出高电平是D2正常发亮,而为什么输出低电平时D2仍然会微亮

低电平表面上看是关了,但是他有漏电流,由于该漏电流是低电平,模电讲过低电平属于灌电流,灌电流的电流比较大,故输出低电平时D2仍然会微亮

F. 51单片机怎么休眠

呵呵,最近刚好研究了一下这个问题

51单片机空闲和掉电模式应用
我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。
1. 空闲模式 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。???? 让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA~7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1μA以下。
2.?? 休眠模式 当单片机进入掉电模式时,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作。使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。【例】:开启两个外部中断,设置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器。程序代码如下:
/************************************************************************
************************************************************************/
#define IdleMode() PCON |=0x01 //01为空闲模式
// 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状
//芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。
//但假若定时器正在运行,那么计数器寄存器中的值还将会增加。
//单片机在空闲模式下可由任一个中断或硬件复位唤醒,
//需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。
#define PowerOFF() PCON |=0x02 //02掉电模式
//进入掉电模式,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作
//使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令
//进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。
//可通过外部中断唤醒,proteus仿真时无法唤醒
#define EXT0_Init() EX0=1;EA=1 //打开外部中断,以方便唤醒。唤醒后程序从原来停止处继续运行
//电源管理模板程序
main()
{
EXT0_Init();
while(1) //
{
if(time.sec==0){time.sec++;PowerOFF();}
//
}
}
void EX0ISR(void) interrupt 0
{
//PCON&=0xfc; //清除之前的掉电(空闲)模式
}

G. 单片机的二极管处半亮状态是什么原因

电流不够,
你用的是51吧?
如果是高电平点亮的话,半亮是正常的,51高电平驱动能力太差
如果是低电平点亮的话,限流电阻接的太大了,一般用300-600欧姆就够了
记得确认一下发光二极管是好的吗,有时发光二极管坏了也是微亮的

H. 51单片机最后一个数码管在断电时仍然微亮,下不进程序

你看烧写软件下面的进程提示上写的是什么错误一般都会提示出来的
STC有的型号的单片机TXD RXD是要接电阻的,你看手册上的图你这个型号要不要接

阅读全文

与单片机休眠灯微亮相关的资料

热点内容
程序员理发店生意怎么样 浏览:601
程序员罗技 浏览:180
软考初级程序员课程2021下载 浏览:487
杭州程序员奶奶 浏览:878
不听命令造成错误 浏览:979
kool系统源码 浏览:608
流氓app在哪里看 浏览:98
域名购买了怎么指向服务器 浏览:121
安卓手机如何让照片颜色反转 浏览:859
怎么下载卓睿安手机版 浏览:514
h3crange命令 浏览:468
php前景和python 浏览:338
php压缩图片内存大小 浏览:495
在哪里可以查看云服务器的信息 浏览:70
python读取非txt文件 浏览:799
艾莫迅用什么编程软件好 浏览:227
android文件存储读取 浏览:214
php基础教程第5版 浏览:543
服务器里面怎么刷东西 浏览:194
荣耀手机如何快速把app切换页面 浏览:798