熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2024-4-3 23:53
正文摘要:一直想用51單片機(jī)驅(qū)動(dòng)RGB接口的屏,自己啃英文時(shí)序?qū)懙,單片機(jī)用STC8H8K64U,屏幕是480*272分辨率的RGB接口屏,網(wǎng)上說用DE模式驅(qū)動(dòng)比較簡單,麻煩看下我這個(gè)程序時(shí)序哪有問題,不考慮刷屏速度,就單純顯示個(gè)紅色。 ... |
mtt661 發(fā)表于 2024-4-7 11:19 如果只是DCLK翻轉(zhuǎn)當(dāng)然夠用,但是你看時(shí)序圖,DCLK翻轉(zhuǎn)前你要把RGB都設(shè)置成正常值,這是51單片機(jī)無論如何都做不到的。 |
mtt661 發(fā)表于 2024-4-7 11:22 如果只是顯示紅色, 可以吧顯示屏的R0-7全部接高, B0-7,G0-7接GND. 就關(guān)注V,Hsync, Den, CLK的時(shí)序就行. 這個(gè)需要有示波器. 最好還是用SSD1963來直接驅(qū)動(dòng),不要用單片機(jī)直接點(diǎn), 沒有意義. 如果是想搞清楚時(shí)序, 建議用FPGA來做, 這個(gè)真不是單片機(jī)干的活. |
nearsea 發(fā)表于 2024-4-5 14:28 這個(gè)我也知道 所以我就想只顯示一個(gè)顏色,主要是學(xué)習(xí)下這個(gè)時(shí)序。 |
Hephaestus 發(fā)表于 2024-4-6 14:10 你好 ,按照手冊的說法 這個(gè)IO的翻轉(zhuǎn)速度可以達(dá)到12MHz,也就是83.3333ns,速度是可以達(dá)到的啊,不知道我這個(gè)算法對不對 |
DCLK周期最多只能有200ns,用51單片機(jī)根本做不到,就別癡心妄想了。 |
mtt661 發(fā)表于 2024-4-5 16:26 如果你有設(shè)備可以測量上述時(shí)鐘輸出,如果頻率夠就可以使用。如果頻率不夠試試嵌入?yún)R編?纯茨愕姆桨甘欠窨尚。 不然 dclk可以用pwm輸出;如果頻率夠 while(1) { DE電平拉低 時(shí)間=tvbp — H BACK PORECH , for (下面循環(huán)270次) { nop ;=H BACK PORECH ;相當(dāng)于延時(shí) DE=1 rgb 引腳抖動(dòng) / 取值480次; 可增減 DE=0 nop ; =H FRONT PORECH ;相當(dāng)于延時(shí) } DE電平拉低 時(shí)間=tvfp — H FRONT PORECH, } 這是我的大概思路, |
rayin 發(fā)表于 2024-4-5 15:28 你好 我就是這個(gè)9m信號(hào)和mcu頻率算不來,是不是說,不管cpu在干嘛,pclk的高低反轉(zhuǎn)必須在5~12m之間才行? |
lyonkon 發(fā)表于 2024-4-5 00:12 你的意思是dclk 0和dclk=1的時(shí)間必須一致嗎?能不能給個(gè)簡單的時(shí)間控制函數(shù) |
nearsea 發(fā)表于 2024-4-5 14:26 我就是不太清楚引腳時(shí)間是怎么算的,看手冊,io的反轉(zhuǎn)最慢也12m,最快25m,而屏看手冊需要9m就夠了啊 |
51單片機(jī)驅(qū)動(dòng)RGB接口的4.3寸TFT, r,g,b就需要3x8=24個(gè)IO口, pclk引腳需要9Mhz的信號(hào),不適合. 可以用SSD1963來轉(zhuǎn)換MCU16bit到RGB接口, 不僅可以驅(qū)動(dòng)4.3寸480x272,也可以驅(qū)動(dòng)800x480的RGB接口. 也可以用STM32H743來驅(qū)動(dòng), 此芯片自帶RGB接口, 不用轉(zhuǎn)換IC了. |
一頁緩存需要480*272=130.560K (word),8H8K也就是8K字節(jié),差距甚遠(yuǎn),換片子吧 |
51干這活有些困難,需要專門的驅(qū)動(dòng)來做這是,畢竟引腳時(shí)間還是緩存都是嚴(yán)重不足的。 |
我看你沒有程序控制時(shí)間, for(i=0;i<hbp;i++) { de=0; rrr=0; ggg=0; bbb=0; dclk=0; dclk=1; } 我復(fù)制的這部分,一個(gè)循環(huán)時(shí)間應(yīng)該等于一個(gè)dclk高低電平寬度。程序中dclk剛等于0 就等于1; 導(dǎo)致程序高電平時(shí)間 與低電平不一致。調(diào)整這個(gè)時(shí)序,用示波器 或者邏輯分析儀可以增加調(diào)試效率。 |
Powered by 單片機(jī)教程網(wǎng)