矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: peiguoqing

关于LCD时序抓捕,请教

[复制链接]
     
 楼主| 发表于 2020-10-1 14:07:16 | 显示全部楼层
iffi123 发表于 2020-10-1 11:50
刚才的回复怎么被吃了

我对了下,很像主控ST7567或者接近型号

我比对看看,非常感谢!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-1 14:10:48 | 显示全部楼层
iffi123 发表于 2020-10-1 11:05
我前面的是从按上到下1-5通道, 实际应该写成0-4, 写的不严谨

通道0-我开始怀疑是A0, 液晶上电一般 ...

基本通道0,是cs没错。图形都一样。低电平期间,有clk和数据的
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-1 14:11:58 | 显示全部楼层
资深技术 发表于 2020-10-1 12:50
cs,rst,a0,clk,data 标号不是SPI接口,指令解析使用SPI格式可能有误。

我也是奇怪,但我也想不出还有别的什么,一般串并口的这样标记
回复 支持 反对

使用道具 举报

     
发表于 2020-10-1 14:39:40 | 显示全部楼层
本帖最后由 iffi123 于 2020-10-1 14:41 编辑
peiguoqing 发表于 2020-10-1 14:10
基本通道0,是cs没错。图形都一样。低电平期间,有clk和数据的


但这种液晶接口,有一根线是指示发出的数据是命令还是显示数据的,就是你板上标的A0(RS)

因为不管是串口还是并口,数据只有8位,如果不增加一个引脚区分,会乱的,毕竟显示数据0-255都有可能, 如果不增加一根RS线,液晶主控是区分不出来收到的8bit到底是命令还是数据

所以这根线必不可少,  而cs信号一般使用习惯是一旦选中这个芯片,就持续保持低电平
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-1 15:07:25 | 显示全部楼层
iffi123 发表于 2020-10-1 14:39
但这种液晶接口,有一根线是指示发出的数据是命令还是显示数据的,就是你板上标的A0(RS)

因为不管是 ...

我重新开机抓取,得到了AO的高低变化了。AO=0,命令;=1,数据

基本对了差不多,还有几条没有找到呢?


ca05b1917393e885aa39989d075105e.jpg
11.png
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-1 15:17:14 | 显示全部楼层
现在,只有2条,没有找到是什么意思?
0x01

0x23
画三角的2行
12.jpg
回复 支持 反对

使用道具 举报

     
发表于 2020-10-1 16:47:17 | 显示全部楼层
peiguoqing 发表于 2020-10-1 15:17
现在,只有2条,没有找到是什么意思?
0x01

最好自己编程序驱动验证一下
回复 支持 反对

使用道具 举报

     
发表于 2020-10-1 21:35:27 | 显示全部楼层
peiguoqing 发表于 2020-10-1 15:17
现在,只有2条,没有找到是什么意思?
0x01


0x23就是第(17)指令 选择内部电阻比例, 这条我试过,对比度会变化

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-2 08:39:35 | 显示全部楼层
iffi123 发表于 2020-10-1 21:35
0x23就是第(17)指令 选择内部电阻比例, 这条我试过,对比度会变化

我没找到个3.3v的单片机
都是5v的。
回复 支持 反对

使用道具 举报

     
发表于 2020-10-2 09:03:32 | 显示全部楼层
非广告回帖,很多单片可以在3.3-5V工作,比如PIC, STC51等
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-2 11:30:51 | 显示全部楼层
资深技术 发表于 2020-10-1 12:50
cs,rst,a0,clk,data 标号不是SPI接口,指令解析使用SPI格式可能有误。

这个东西,还真不是SPI

看来,需要软件模拟驱动了

CS
A0
CLK
DATA

这四条线驱动
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-2 11:32:11 | 显示全部楼层
资深技术 发表于 2020-10-2 09:03
非广告回帖,很多单片可以在3.3-5V工作,比如PIC, STC51等

我找了个stc8a8k64s4.谢谢
我找找资料
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-3 10:45:12 | 显示全部楼层
iffi123 发表于 2020-10-1 21:35
0x23就是第(17)指令 选择内部电阻比例, 这条我试过,对比度会变化

#include <STC8.H>


sbit cs = P5^5;
sbit RST= P5^3;
sbit a0 = P5^2;
sbit clk= P5^1;
sbit din= P5^0;

unsigned char code InitData[]={
0xAE,//显示关
0XC0,//从上向下
0XA1,//列地址,从右到左
0X40,//初始行,0x40--0x7f
0XA6,//常规,正显示
0XA4,//常规,显示点阵
0X81,//内电阻微调-对比度控制
0X1E,//范围00--3f
0XAD,//静态图标开,ac关
0X01,//10,未知??
0XA3,//偏压比1/7
0X2F,//内部电压供应模式
0XF8,//升压倍数
0X00,//2倍
0X23,//调整内部电阻的比例-对比度
0XAF,//显示开
0XB0,//第0页
0X04,//第4列低
0X10,//第4列高
0X00   //20
};

char i,j;
long ltmp;
//void Timer1Init(void)                //1微秒@11.0592MHz
//{
//        AUXR |= 0x40;                //定时器时钟1T模式
//        TMOD &= 0x0F;                //设置定时器模式
//        TL1 = 0xF5;                //设置定时初值
//        TH1 = 0xFF;                //设置定时初值
//        TF1 = 0;                //清除TF1标志
//        TR1 = 1;                //定时器1开始计时
//}

unsigned char tmp;
//-------------------------------------------------------------------------
void writeChar(unsigned char cd,unsigned char c)//cd-cmd or data;c,char
{

    if(cd==1)a0 = 0;
    else a0 = 1;
    cs = 0;
   
    for(j=0;j<8;j++)
    {
        clk = 0;
        din = c&0x80?1:0;//msb
        
        clk = 1;
        c <<=1;
    }
    cs = 1;
}

//-------------------------------------------------------------------------
void InitST7567(void)
{

    RST = 0;
    ltmp=65;
    while(ltmp--);

    RST = 1;
    cs=0;
    for(i=0;i<17;i++)
    {        
        writeChar(1,InitData);
    }
   
    //所有像素写一遍0;
//    for(j=0;j<8;j++)
//    {
//        writeChar(1,j+0xb0);
//        writeChar(1,0x10);      
//        writeChar(1,0x00);

//        for(i=0;i<128;i++)
//            writeChar(0,0);
//    }

}

void main(void)
{
//    while(1)
//    {
//    cs = 0;din = 0;
//    i=255;
//    while(i--);
//    cs = 1; din = 1;
      
//    }
   InitST7567();   
    {
    writeChar(1,0xb2);
    writeChar(1,0X10);
    writeChar(1,0X06);
    for(i=0;i<228;i++)
    {
        writeChar(0,0x10);
    }  
    }
       //writeChar(1,0xA5);
}
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-10-3 10:48:33 | 显示全部楼层
请教下,上面的代码,出现了下面的画面

写的是b2.写b3页,我复制b2这段代码,改成b3.   屏幕没有反应。但把写b2 的这段注释掉,b3 的就可以

这是什么原因?
33.jpg
回复 支持 反对

使用道具 举报

     
发表于 2020-10-3 10:53:03 | 显示全部楼层
peiguoqing 发表于 2020-10-3 10:48
请教下,上面的代码,出现了下面的画面

写的是b2.写b3页,我复制b2这段代码,改成b3.   屏幕没有反应。但 ...

上电之后先清屏,就是所有点写零,不然哪怕没有写入显示数据,也是杂点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-7 16:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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