LCD奇怪的人物

时间:2018-02-07 04:01:06

标签: c arm interrupt

我一直致力于一个项目,我需要通过2x16 LCD显示屏显示数字输出。此外,我在程序中使用计时器中断。在增加中断之前,LCD工作没有缺陷。在我开始使用中断进行正确的时序维护之后,LCD显示屏开始显示奇怪的字符。我找不到解决此问题的正当理由。我正在使用LPC2148 ARM7TDMI-S控制器。编程是在keil SDE中开发的。这个问题可能是什么原因? 我在这里添加了一个应该在中断和LCD更新功能上执行的语句。

  __irq void T0ISR(void)  // interruption function
{
    long int regVal;
    regVal = T0IR; //Read current IR value


if(RUN_STATUS == 1)
{
if(Input>=90)
{
    PWMMR2 = 7500;  // T-ON=75% , Hence 75% Bright
    PWMLER = (1<<2); // Update Latch Enable bit for PWMMR2
}

else
    {
    PWMMR2 = 3200;  // T-ON=32% , Hence 32% Bright
    PWMLER = (1<<2); // Update Latch Enable bit for PWMMR2
    }

    RUN_STATUS = RUN_OFF;    // Turn off the status in order to maintain the sync b/w displaying and interrupting
}


void update_lcd()             // update the status of LED
{

    LCD_STRING("S.P:  ");  

     LCD_STRING(SP);     // prints setpoint in display


   LCD_CMD(0xC0);                

   LCD_STRING(Ip);             //prints input data in display

     //delay(10);
    LCD_CMD(0x01);

    RUN_STATUS = RUN_ON;  // Enable interruption's function after updating LCD


}

0 个答案:

没有答案