数码之家

 找回密码
 立即注册
搜索
查看: 85|回复: 0

[AVR] 求助,无控制器的LCD点阵屏,如何驱动。

[复制链接]
发表于 昨天 22:03 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

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

x
本帖最后由 zqf900605 于 2025-5-25 22:36 编辑


如题。


驱动上图的屏,拆掉的大件为LC7981三洋的控制器芯片,小的为三洋的显存。收到
屏时就没有这两件。
另外三个是三星的S6B2086。蹭掉的两个8脚 的是负压芯片,已经补上了,现在有两倍负压。
上面飞的五根线是按手册上找到的有用的信号,FLM帧同步信号 M液晶交流反转信号 CL1行同步锁存信号 CL2数据移位信号 D1串行数据输入。
网上找了多日只找到了bbs.eeworld.com.cn/thread-456309-1-1.html 这个是FPGA看不懂,
还有一个LCD16064|我爱单片机 - 数码之家这个汇编的。@庄华 这个大佬已经很久没登陆论坛了。
@cruelfox 不知道这个大佬有没有在这个论坛,能否帮忙看看。


我看汇编的这个编写后感觉和手册上的相差不多。三行红字有出入。我不会汇编,也不知道转的代码对不对
下面代码,我按手册写的循环里的不一样的两行去掉后每行加入延时后测试屏幕是一行一行显示,
显示内容感觉是正常的,但是每行里好像都有拖尾。而且之前的行会有不定几行的拖尾。

如果按汇编代码的把循环外的交流反转去掉,保留循环里的两行,测试不会有拖尾,但是每行显示的内容都是一样的。

求有驱动过不带控制器的大佬帮助一下。
我知道没控制器单片机刷新不过来。现在只是学习过程。不考虑实用。




void TEST()
{
        CL1L; //数据锁存LC7981 CL1
        CL2L; //移位时钟LC7981 CL2
        SEGL; //显示数据LC7981 D1
        FLML; //帧同步LC7981 FLM
        MABL; //交流驱动LC7981 MB
        _NOP();_NOP();
        
        CL1XOR;                        //行起始信号
        FLMXOR;                        //场起始信号
        _NOP();_NOP();
        CL1XOR;
        FLMXOR;
        MABXOR;                        //液晶反转信号
        for(unsigned char com=0;com<64;com++)//64行,循环64次
        {
                for(unsigned char seg=0;seg<10;seg++)//每行发10个数据
                {
                        FLMXOR;                                                        //和汇编不一样的,按手册上说,只有起始帧才做场同步信号
                        for(unsigned char k=0;k<8;k++)        //单数据线,每个数据发8次
                        {
                                CL2H;                                                //移位时钟,
                                if((pgm_read_byte(&ETM2008SEG3[com*20+seg])<<k)&0x80) SEGH; //AVR从自身flash中读数据。
                                else SEGL;                                                                                                        //高或低发给IO口
                                _NOP();_NOP();
                                CL2L;                                                //移位时钟,高低变换一次读取一位
                        }
                        if(seg==5) MABXOR;                                //和汇编不一样的,按手册上说,每场图像交流信号反转一次即可
                }
                CL1H;                                                                //行同步,或者说行锁存信号,高解锁。
                _NOP();_NOP();
                CL1L;                                                                //行同步,或者说行锁存信号,低锁存。
                _delay_ms(5);                                                //加的长延时,看清每一行的状态。
        }
}


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-26 11:43 , Processed in 0.078000 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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