12864判断按键为什么屏幕闪烁,怎么解决

2019-07-21 20:41发布

void main(void)
{
        WDTCTL = WDTHOLD + WDTPW ;
        TA0CCTL0 = CCIE;                 /* Capture/compare interrupt enable */
    TA0CCR0  = 32768;
        TA0CTL=TASSEL_1+MC_1;
        _BIS_SR(GIE);
        P2DIR &=~ BIT1;
        P2REN |=  BIT1;
        P2OUT  =  0xff;


        initial_lcd();
        clear_screen(); //clear all dots

                display_graphic_16x16(1,1,shi1); /*在第1 页,第49 列显示单个汉字"成"*/
                display_graphic_16x16(1,(1+16),yong1); /*在第5 页,第49 列显示单个汉字"用"*/
                display_graphic_16x16(1,(1+16*2+1),zhuang1); /*在第5 页,第49 列显示单个汉字"用"*/
                display_graphic_16x16(1,(1+16*3+1),tai1); /*在第5 页,第49 列显示单个汉字"用"*/
                display_graphic_16x16(1,(1+16*4+1),shuo); /*在第5 页,第49 列显示单个汉字"用"*/
                display_graphic_16x16(1,(1+16*5+1),ming); /*在第5 页,第49 列显示单个汉字"用"*/
                display_graphic_16x16(1,(1+16*6+1),maohao); /*在第5 页,第49 列显示单个汉字"用"*/
                uchar n=0;


        while(1)

        {

                if((P2IN&BIT1)!=0x02)
                {
                        delay(200);
                         if((P2IN&BIT1)!=0x02)
                         {


                                 n++;
                                 if(n==10)n=0;

                                        display_graphic_8x16(3,56,num_mu[n]);


                         }
                }




        }


}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
dirtwillfly
2019-07-21 23:23
不要把液晶显示程序和按键判断程序放到一起。
设置一个缓存,按键有变化就更新缓存。
液晶显示程序定时刷新缓存内容到显示屏

一周热门 更多>