[PIC®/AVR®/dsPIC®产品] 【CuriosityNano测试报告】+ AVR128DA48之驱动LCD5110显示

[复制链接]
2546|2
 楼主| hu9jj 发表于 2020-8-25 12:39 | 显示全部楼层 |阅读模式
    经过反复分析和测试,LCD5110显示屏终于成功驱动,最主要的原因还是程序中的数组指针传递和定时器中断影响问题,数据指针传递问题在原来测试Atmega4809时就遇到过,只是时间太久忘记了,这次也是反复检查不出原因才想起。    在我的驱动代码中有两种显示字符的方式,一是直接发送字符编码显示一个字符,另一个是发送要显示的字符串,由显示函数逐个识别字符内码并显示,这种方式就要用到指针。开始用显示字符串的函数,一直不能正确显示,直到改用显示单个字符的函数才行。代码如下:
void Display_main(void)
{
    uint8_t id;
    LCD_clear();
//    LCD_write_ASCII(12,0,(uint8_t *)"AVR128DA48");
    LCD_write_ASC_SIN(12,0,65);
    LCD_write_ASC_SIN(18,0,86);
    LCD_write_ASC_SIN(24,0,82);
    LCD_write_ASC_SIN(30,0,49);
    LCD_write_ASC_SIN(36,0,50);
    LCD_write_ASC_SIN(42,0,56);
    LCD_write_ASC_SIN(48,0,68);
    LCD_write_ASC_SIN(54,0,65);
    LCD_write_ASC_SIN(60,0,52);
    LCD_write_ASC_SIN(66,0,56);
//    LCD_write_string(0,1,(uint8_t *)"单片机智能门铃");
    for(id=0; id<7; id++){
        LCD_write_char(id*12,1,id);  //字符编码0~6正好是字库中“单片机智能门铃”的顺序。
    }
//    LCD_write_ASCII(0,5,(uint8_t *)"2020  00:00:00");
}


    下图为显示结果:



    为了便于测试,我还在屏幕末行显示了动态的年月日和时分秒,每秒钟更新一次,下面是测试的视频文件:


    这是测试项目的压缩包:



本帖子中包含更多资源

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

×
isageko 发表于 2020-8-26 13:17 | 显示全部楼层
谢谢老哥
pzsh 发表于 2020-8-28 16:34 | 显示全部楼层
终于成功了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

151

主题

1063

帖子

11

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