[PIC®/AVR®/dsPIC®产品] 【CuriosityNano测评报告】+驱动LCD显示屏

[复制链接]
1599|5
 楼主| hu9jj 发表于 2021-1-6 13:03 | 显示全部楼层 |阅读模式
    本次测试驱动LCD19264显示屏,这块LCD显示屏共有5个控制引脚(电源及背光除外),其中复位引脚我采用了硬件RC电路,因此只需要4个引脚来驱动,在MCC中的配置如下:


    驱动程序是从其它项目移植过来的,只需要稍作修改就可以了,不过编译时却出错了:


    经过分析,也许是我的字库文件过大造成的,于是尝试先剔除了6*10点阵的ASCII码字库,只保留5*7点阵的字库,同时将汉字字库的子集删减到最少,再次测试,屏幕显示出了字符,但显示的速度很慢,于是只有减少写LCD时的延时,最后减少到只有一个指令周期(代码如下):
  1. /*********************************************
  2. * 函数名称:WriteData(uint8_t,data,uint8_t C)
  3. * 函数功能:向LCD19264写入命令或显示数据)
  4. * 入口参数:uint8_t date(一字节命令或显示数据)
  5. *           uint8_t C(0=写入显示数据、1=写入命令)
  6. * 出口参数:无
  7. * 备注:
  8. *********************************************/
  9. void WriteData(unsigned char data, unsigned char C)
  10. {
  11.     unsigned char i,dat;        //i用于循环写入8位数据,dat用于缓存数据
  12.     //    LCD_DIN_SetDigitalOutput(); //设置数据端口模式
  13.     CS_0();                     //使能片选
  14.     if(C==1)                    //判断要写入的是指令还是数据
  15.     {
  16.         CD_1();                 //等于1 就是数据
  17.     }
  18.     else
  19.     {
  20.         CD_0();                 //等于0 就是指令
  21.     }
  22.     dat=data;                   //缓存数据
  23.     for(i=0;i<8;i++)            //循环发送8位数据
  24.     {
  25.         if((dat&0x80)==0x80)    //判断最高位是否为1
  26.         {
  27.             SDT_1();            //为1 拉高总线写入1
  28.         }
  29.         else
  30.         {
  31.             SDT_0();            //为0 拉低总线写入0
  32.         }
  33.         SCK_0();                //产生一个时钟
  34.         //        Delay(1);
  35.         NOP();
  36.         SCK_1();                //时钟结束
  37.         //        Delay(1);
  38.         NOP();
  39.         dat<<=1;                //左移一位 准备写入下一位
  40.     }
  41.     CS_1();                     //写入完毕,取消片选
  42. }


     下面是测试过程的照片:


    这是测试项目的压缩包:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
函数不想导 发表于 2021-1-6 23:20 | 显示全部楼层
原来文件过大还会直接报错的 我以为就是结果错误而已
氧化二氢 发表于 2021-1-6 23:28 | 显示全部楼层
楼主写的很详细 不知道有没有做滚动字条的demo
 楼主| hu9jj 发表于 2021-1-7 09:16 | 显示全部楼层
函数不想导 发表于 2021-1-6 23:20
原来文件过大还会直接报错的 我以为就是结果错误而已

    从编译结果看,占用的存储器并不太多,因为我是添加了这些文件后就报错,剔除这些文件就编译通过,于是只有从减少文件长度入手测试,误打误撞解决了问题。
 楼主| hu9jj 发表于 2021-1-7 09:20 | 显示全部楼层
氧化二氢 发表于 2021-1-6 23:28
楼主写的很详细 不知道有没有做滚动字条的demo

没有做过滚动字条实验。这块核心板运行速度较慢,做滚动字条可能效果不好。
caigang13 发表于 2021-1-7 20:42 来自手机 | 显示全部楼层
这个开发板比较mini啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

151

主题

1063

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部