查看: 1149|回复: 0

[原创] 【LPC1768-DEV】③LCD调试

[复制链接]
  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 2002 天

    [LV.Master]伴坛终老

    23

    主题

    6172

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    11928
    最后登录
    2024-4-26
    发表于 2019-3-11 00:29:29 | 显示全部楼层 |阅读模式
         最近工作比较忙,没有抽出更多的时间研究IRD-LPC1768-DEV开发板,工作期间可以翻阅一下各位网友更新的帖子,在工业级开发板上移植加载RTOS系统也有网友做出来了,实在羡慕敬佩。由于此次开发板的发放分有两个版本,管管也将光盘部分的资料以发帖公布的形式奉献出来了,在此也非常感谢。
       根据NXP这款开发板的相关资源以及网友在论坛上发表的帖子,让我受益匪浅。从安装KEIL到编译工程,从UART到CAN总线,要学的东西还是蛮多的,包括ULink-ME驱动的安装,编译加载时提示找不到启动地址。
        今天就LCD的显示这一块做了下调试,部分展示如下:
    int32_t LCD_Init(void)
    {
            LCD_Pin_Initialize();
            LCD_Write_CMD(INSTR_FUNC(IFUNC_8BIT|IFUNC_TWO_LINE|IFUNC_DISPLAY_ON));
            LCD_Write_CMD(INSTR_DISPLAY(IDISPLAY_ON|IDISPLAY_CURSOR_OFF|IDISPLAY_BLINK_OFF));
            LCD_Write_CMD(INSTR_CLEAR);
            LCD_Write_CMD(INSTR_ENTRY_MODE(IENTRY_INCREMENT|IENTRY_SHIFT_OFF));
            return 0;
    }
    int32_t LCD_Write_Data(int8_t data)
    {
            GPIO_PinWrite (LCD_Pin[8].uPort, LCD_Pin[8].uPin, 1);   
            GPIO_PinWrite (LCD_Pin[9].uPort, LCD_Pin[9].uPin, 0);  
            Delayms(1);
            GPIO_PinWrite (LCD_Pin[10].uPort, LCD_Pin[10].uPin, 1);
            GPIO_PortWrite(LCD_Pin[0].uPort,0x000000FF,data);      
            LPC_GPIO2->FIOMASK=0;
            GPIO_PinWrite (LCD_Pin[10].uPort, LCD_Pin[10].uPin, 0);
            GPIO_PinWrite (LCD_Pin[9].uPort, LCD_Pin[9].uPin, 1);  
            Delayms(2);
            return 0;
    }
    int32_t LCD_WR_Str(char * str)
    {
            int i;
            for(i=0;i<(strlen(str));i++){
               LCD_Write_Data(str);
            }
            return 0;
    }
    int main (void)
    {
            char buff[40];
            char dats[64];
            char time[64];
            static char cur_month = 0;
            static char cur_date = 0;
            static char cur_hours = 0;
            static char cur_minutes = 0;
            static char cur_second = 0;
           
          SystemCoreClockUpdate ();               
          SysTick_Config(SystemCoreClock/10);      
          LED_Initialize();                       
          LCD_Init();
          LCD_Set_RowCol(2,0);
          LCD_WR_Str("This is LCD Test");
      while (1)
      {
        if (LEDOn)
        {
          LEDOn = 0;
          GPIO_PinWrite (LED_PORT, LED_PIN, 1);                     
                            cur_times++;
                            cur_second++;
                            if(cur_second > 59)
                           {
                            cur_second = 0;
                            cur_minutes++;
                            }
                             if(cur_minutes > 59)
                            {
                                    cur_minutes = 0;
                                    cur_hours++;
                              }
                              if(cur_hours > 24)
                              {
                                    cur_hours = 0;
                                    cur_date++;
                              }
                              if(cur_date > 30)      //暂且以30天作为一个月的天数
                              {      
                                    cur_date = 0;
                              }
                            sprintf(buff,"cur_times:%d",cur_times);
                            LCD_Set_RowCol(3,1);
                            LCD_WR_Str(buff);
                            sprintf(dats,"Y:2019 M:%2d D:%2d",cur_month,cur_date);   //暂且以2019为固定年份
                                LCD_Set_RowCol(2,2);
                            LCD_WR_Str(dats);
                            sprintf(time,"H:%2d M:%2d S:%2d",cur_hours,cur_minutes,cur_second);
                                LCD_Set_RowCol(2,3);
                            LCD_WR_Str(time);
         }
        if (LEDOff)
         {
          LEDOff = 0;
          GPIO_PinWrite (LED_PORT, LED_PIN, 0);               
         }
       }
    }


         夜深了,明天上要上早班,先介绍到这里,感谢网友的答疑解惑。最后附上结果图,后续再对I2C通讯的键盘,UART,CAN总线进行学习,希望各位网友多多帮忙,奉献出宝贵的经验。


    LCD原理图接线.png
    心跳LED灯.jpg
    动态显示.gif
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-26 16:26 , Processed in 0.100880 second(s), 19 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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