
sbit LED0=P0^0
sbit wei=P1^1
sbit duan=P1^0
sbit lcden=P1^7
sbit dianzhen=P1^3
sbit leden=P1^2
void Delay(unsigned int t)
void main (void)
{
unsigned int CYCLE=600,PWM_LOW=0//定义周腔烂衫期并赋历袜值
lcden=0
P0=0x00
dianzhen=0
P0=0xff
wei=0
duan=0
while (1) //主循环
{
LED0=1
Delay(150000)//特意加伍腔延时,可以看到熄灭的过程
for(PWM_LOW=1PWM_LOW<CYCLEPWM_LOW++)
{
LED0=0
Delay(PWM_LOW)
LED0=1
Delay(CYCLE-PWM_LOW)
}
for(PWM_LOW=CYCLE-1PWM_LOW>0PWM_LOW--)
{
LED0=0
Delay(PWM_LOW)
LED0=1
Delay(CYCLE-PWM_LOW)
}
}
}
void Delay(unsigned int t)
{
while(t--)
}
呼吸灯主要是通过呼吸灯律动实现对通知、充电等相应的提醒:ColorOS 3.0及以后版本:
1、设置路径:「设置 >通知与状态栏 >收到通知时呼吸灯闪烁」, 「设置 >通知与状态栏 >通知管理 >选择对应的应用程序 >呼吸灯闪烁」,开关打开,息屏状态收到对应程序的消息时旦如呼吸灯会亮起;
2、关机息屏充电时呼吸灯亮起。
ColorOS 3.0以前版本:
1、通知的开关打开,屏幕熄灭后,当您有未接来电、未读短信或通知时呼吸灯亮起;开关关闭,呼吸灯不响应饥拿;
2、电量低开关打开,当电池电量低于10%时呼吸灯亮起;开关关闭,呼吸灯不响应;
3、充电开关打开,当手机连接充电器时呼吸灯亮起;开关关闭,呼吸灯不响应;
备注:呼吸灯功能与手烂迟搭机硬件相关,您可以通过上述设置路径查看手机是否支持该功能。
因为我不知道你这个板子的硬件,我就假设一下吧,你自己对照着看看,关键是流程假设如下这八个灯依次接在P0口的兆册八个口上,高电平为灯亮,低电平为灯灭,程序如下
ORG 0000H
AJMP START
START:MOV P0,#01H;()只有第一个灯亮
ACALL DELAY;延迟,不加延迟的话 你根本看不起清到底那个灯亮的
MOV P0,#02H()只有第二个灯亮
ACALL DELAY
MOV P0,#04H()只有第三个核猜伍灯亮
ACALL DELAY
MOV P0,#08H()只有第四个灯亮
ACALL DELAY
MOV P0,#10H()只有第五个灯亮
ACALL DELAY
MOV P0,#20H()只有第六个灯亮
ACALL DELAY
MOV P0,#40H()只有第七个灯亮
ACALL DELAY
MOV P0,#80H()只有第八个灯亮
ACALL DELAY
AJMP START;周而复始
DELAY: MOV R6,#40延改或迟程序,晶振为3.57MHZ时大概是0.1S
0.1SL1: MOV R5,#246
0.1SL2: NOP
DJNZ R5,0.1SL2
DJNZ R6,0.1SL1
RET
END
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)