打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测试报告】+ AVR128DA48之驱动LCD5110显示

[复制链接]
2351|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");
}


    下图为显示结果:



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

    这是测试项目的压缩包:
mytest.X.rar (241.92 KB)


使用特权

评论回复
沙发
isageko| | 2020-8-26 13:17 | 只看该作者
谢谢老哥

使用特权

评论回复
板凳
pzsh| | 2020-8-28 16:34 | 只看该作者
终于成功了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

151

主题

1059

帖子

11

粉丝