OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3279|回复: 0

STM8用一个电源按键按下1s后控制LCD显示屏亮的程序移植没写成功

[复制链接]

21

主题

131

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
423
金钱
423
注册时间
2019-5-12
在线时间
168 小时
发表于 2019-9-3 21:43:56 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 hejun96 于 2019-9-6 21:49 编辑

       用ht1621b驱动LCD亮,但是在按键按下前LCD已经是亮的状态了,这个问题如何去解?我的做法是在电源按键按下1s作为一个定时器的标志位
Out_timer.timer_run_flag来判断这个定时器是否运行了?如果运行了定时器的cnt就计时1s,但是我编译运行后按键并没有起到作用,而是上电后直接就亮



static bool isShine=0;
    static uint8_t flag = 0,state = 0x00,flag1 = 0;
    uint16_t Dval = 0;//暂时没用到
       
        static char turn_on_pwrkey = 0;
    switch (state)
    {
            case 0x01: //电源按键
                
                if(key_type == PowerKey)
                        {
                                POWER_KEY_ON;//电源按键PE5的GPIO口打开,电源按键电平置高
                                Key_timer.timer_run_flag = TIMER_RUN;//
                                if(Key_timer.cnt > 1000)//按下时间大于1s
                                {
                                        if(turn_on_pwrkey)
                                        {
                                                delay_ms(10);//10ms防抖动
                                                                               
                                               
                                                POWER_KEY_OFF;//IO口置低,代表脉冲输出
                                                                                                                                                                                                                                                                                                                                                                                
                                               
                                                LED_BG_ON;//背光灯打开
                                                /*蜂鸣器响*/
                                                BEEP_ON;
                                                delay_ms(500);//蜂鸣器延时500ms,这个时间足够响1声
                                                BEEP_OFF;                                       
                                                /***********/
                                               
                                                 SystemStatus.led_state = 1;
                                                Key_timer.timer_run_flag = TIMER_END;
                                                       
                                                 
                                    //UART1_SendString("0x00 cool_key/n");
                                        }

                                        else if(!turn_on_pwrkey)
                                   {
                                               
                                               
                                                delay_ms(10);//防抖动
                                                LED_BG_OFF;//背光灯关闭
                                                               
                                                /*蜂鸣器响*/
                                                BEEP_ON;
                                                delay_ms(500);//蜂鸣器延时500ms,这个时间足够响1声
                                                BEEP_OFF;                                       
                                                /***********/
                                               
                                               
                                               
                                                SystemStatus.led_state = 0;
                                                Key_timer.timer_run_flag = TIMER_END;
                                               
                                               
                                        }
                                       
                                }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 12:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表