mtt661 发表于 2024-4-7 11:19 如果只是DCLK翻转当然够用,但是你看时序图,DCLK翻转前你要把RGB都设置成正常值,这是51单片机无论如何都做不到的。 |
mtt661 发表于 2024-4-7 11:22 如果只是显示红色, 可以吧显示屏的R0-7全部接高, B0-7,G0-7接GND. 就关注V,Hsync, Den, CLK的时序就行. 这个需要有示波器. 最好还是用SSD1963来直接驱动,不要用单片机直接点, 没有意义. 如果是想搞清楚时序, 建议用FPGA来做, 这个真不是单片机干的活. |
nearsea 发表于 2024-4-5 14:28 这个我也知道 所以我就想只显示一个颜色,主要是学习下这个时序。 |
Hephaestus 发表于 2024-4-6 14:10 你好 ,按照手册的说法 这个IO的翻转速度可以达到12MHz,也就是83.3333ns,速度是可以达到的啊,不知道我这个算法对不对 |
| DCLK周期最多只能有200ns,用51单片机根本做不到,就别痴心妄想了。 |
mtt661 发表于 2024-4-5 16:26 如果你有设备可以测量上述时钟输出,如果频率够就可以使用。如果频率不够试试嵌入汇编。看看你的方案是否可行。 不然 dclk可以用pwm输出;如果频率够 while(1) { DE电平拉低 时间=tvbp — H BACK PORECH , for (下面循环270次) { nop ;=H BACK PORECH ;相当于延时 DE=1 rgb 引脚抖动 / 取值480次; 可增减 DE=0 nop ; =H FRONT PORECH ;相当于延时 } DE电平拉低 时间=tvfp — H FRONT PORECH, } 这是我的大概思路, |
rayin 发表于 2024-4-5 15:28 你好 我就是这个9m信号和mcu频率算不来,是不是说,不管cpu在干嘛,pclk的高低反转必须在5~12m之间才行? |
lyonkon 发表于 2024-4-5 00:12 你的意思是dclk 0和dclk=1的时间必须一致吗?能不能给个简单的时间控制函数 |
nearsea 发表于 2024-4-5 14:26 我就是不太清楚引脚时间是怎么算的,看手册,io的反转最慢也12m,最快25m,而屏看手册需要9m就够了啊 |
|
51单片机驱动RGB接口的4.3寸TFT, r,g,b就需要3x8=24个IO口, pclk引脚需要9Mhz的信号,不适合. 可以用SSD1963来转换MCU16bit到RGB接口, 不仅可以驱动4.3寸480x272,也可以驱动800x480的RGB接口. 也可以用STM32H743来驱动, 此芯片自带RGB接口, 不用转换IC了. |
| 一页缓存需要480*272=130.560K (word),8H8K也就是8K字节,差距甚远,换片子吧 |
| 51干这活有些困难,需要专门的驱动来做这是,毕竟引脚时间还是缓存都是严重不足的。 |
|
我看你没有程序控制时间, for(i=0;i<hbp;i++) { de=0; rrr=0; ggg=0; bbb=0; dclk=0; dclk=1; } 我复制的这部分,一个循环时间应该等于一个dclk高低电平宽度。程序中dclk刚等于0 就等于1; 导致程序高电平时间 与低电平不一致。调整这个时序,用示波器 或者逻辑分析仪可以增加调试效率。 |