導航:首頁 > 操作系統 > 彩屏單片機

彩屏單片機

發布時間:2022-01-20 03:13:33

A. 單片機如何寫TFT彩屏的程序

武漢 谷鑫科技專業從事單片機驅動TFT彩屏的研發和生產。
下面是TFT6448BS-5.7模塊的驅動程序:
sfr AUXR = 0x8e;//////////////////////////////////注意增加該語句。
#include <reg51.h>
#include <absacc.h>
#define X_ADDR XBYTE[0x0000]
#define Y_ADDR XBYTE[0x0100]
#define CMD XBYTE[0x0200]
#define DAT XBYTE[0x0300]
unsigned char code zk[32] = {//請
0x00, 0x47, 0x20, 0x23, 0x00, 0xEF, 0x20, 0x23, //left
0x22, 0x23, 0x22, 0x23, 0x2A, 0x32, 0x22, 0x02,
0x48, 0xFC, 0x40, 0xF8, 0x40, 0xFE, 0x08, 0xFC, //right
0x08, 0xF8, 0x08, 0xF8, 0x08, 0x08, 0x28, 0x10};
unsigned char code picture[];
main()
{
unsigned int x,y,x2,y2;
unsigned int i;
unsigned char key,x1,y1,j,k,z,m,n,bright;
AUXR = 0x02;//////////////////////////////////注意增加該語句。
bright = 8;

key = 0;//////////////////////////////////////選擇液晶屏型號
//0:TFT2432;
//1:TFT3224;
//2:TFT480234
//3:TFT480272
//4:TFT6448
//5:TFT8048
//6:TFT8060
//7:TFT8060

if(P13==4)
{
if(key==0){x2=240;y2=320;x1=6; y1=16; goto loop1;}//x1/32,y1/20
if(key==1){x2=320;y2=240;x1=8; y1=12; goto loop1;}
if(key==2){x2=480;y2=240;x1=12;y1=12; goto loop1;}
if(key==3){x2=480;y2=272;x1=12;y1=14; goto loop1;}
if(key==4){x2=640;y2=480;x1=16;y1=24; goto loop1;}
if(key==5){x2=800;y2=480;x1=20;y1=24; goto loop1;}
if(key==6){x2=800;y2=600;x1=20;y1=30; goto loop1;}
if(key==7){x2=800;y2=600;x1=20;y1=30; goto loop1;}//亮度測試
}

loop1:
bright--;if(bright==255)bright=7;
CMD = 0x06;
DAT = bright;

///////////////////////以下是清屏功能///////////////////////////////////////
//用紅色清屏
CMD = 0x04;DAT = 0xe0;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作
///////////////////////以上是清屏功能///////////////////////////////////////

while(key==7)
{
for(bright=7;bright!=255;bright--)
{
CMD = 0x06;
DAT = bright;
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
}
CMD = 0x20;//關斷顯示,poweroff
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
key = P1&0x07;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用紅色清屏
CMD = 0x04;DAT = 0x1c;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用紅色清屏
CMD = 0x04;DAT = 0x03;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用紅色清屏
CMD = 0x04;DAT = 0x00;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用紅色清屏
CMD = 0x04;DAT = 0xff;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作
///////////////////////以上是清屏功能///////////////////////////////////////

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

///////////////////////以下是測試8點寫功能///////////////////////////////////////
//8點寫模式下清屏DAT=0;
CMD = 0x02;DAT=0xff;//前景色
CMD = 0x04;DAT=0x00;//背景色
CMD = 0x01;
for( y=0;y<y2;y++ )//用前景色清屏
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = y; ;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for( x=0;x<(x2/8);x++ )DAT=0x55;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

for( y=0;y<y2;y++ )//用背景色清屏
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = y;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for( x=0;x<(x2/8);x++ )DAT=0x0f;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//8點寫模式下寫單色圖片
CMD = 0x02;DAT=0x00;//前景色
CMD = 0x04;DAT=0xff;//背景色
CMD = 0x01;
for (y=0; y<80; y++)
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = y;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for ( n=0; n<10; n++) DAT = picture[y*10+n];
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//8點寫模式下寫漢字
CMD = 0x02;DAT=0x00;//前景色
CMD = 0x04;DAT=0xff;//背景色
CMD = 0x01;
for ( n=0; n<=15; n++ )
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = n;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
DAT = zk[n];
DAT = zk[n+16];
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//以下是測試單點寫
CMD = 0x00;
i=0;
for(j=0;j<x1;j++)//20,x/40
{for (z=0;z<y1;z++)//24,y/20
{for (k=0;k<20;k++)
{x=j*40;
y=z*20+k;
X_ADDR = x;
if(key!=0)X_ADDR = x/256;
Y_ADDR = y;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for (m=0;m<40;m++)DAT = i;
}
i++;
}
}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

http://tieba..com/club/10621043/p/14619152

B. 51單片機上的彩屏液晶如何顯示圖片,怎麼做這個實驗,能不能寫點簡單的c程序。

你用的是普通的51嗎?一般彩屏顯示圖片都是通過讀SD卡來實現的,因為單片機的內存太小
如果你需要顯示很小的圖標51還可以實現
具體做法是:先找到真彩的小圖標,用軟體把圖標取模(把圖標的數據顯示出來)
然後寫到單片機里
如果讀SD卡來顯示圖片的話 就需要先學習SD卡的協議
自我感覺普通的51根本不能很好的駕馭彩屏

C. 初學單片機 是選擇彩屏單片機開發板 還是選擇單色單片機開發板好呢

我認為在讀寫彩色和單色屏時,它們的讀寫時序都是類似的,它們的區別在於,送給屏的顯示數據不同。
但從學習的過程上來看,我推薦,在初學時,先學會能夠點亮單色屏,然後再學會如何點亮彩色屏,因為單色屏的驅動程序要稍微簡單一點。
從以後液晶屏的選用上來看,彩色屏將是趨勢。

D. 求高手指點,單片機怎麼用TFT 彩屏顯示圖像

一般的單片機直接驅動TFT彩屏很困難,資源以及速度都達不到。驅動顏色數較少的低解析度小尺寸屏還可以。
彩屏驅動還是用32位的ARM做吧。
如果一定要用普通的單片機驅動TFT彩屏,就選通用的彩色液晶模塊吧,這個液晶已經用32位的嵌入式處理器做好了驅動,並開發了指令集,你只需通過串口對液晶模塊發命令即可,如顯示文字,畫線,畫園,顯示預存的圖像等。液晶具體驅動已經由模塊內部做好了。這樣的彩色模塊市場有售,北京迪文科技的就不錯,價位也不高

E. 誰能給一個TFT真彩屏的程序,用C51寫,STC單片機用的,謝謝

這個是存儲空間是程序定義的 或者說是交給編譯器定的

電路和程序都有

買個開發板 問題解決 學生為了將來的工作也應該好好學習下單片機

這個開發板帶了USB的模擬和編程功能 一板在手就可以開始學習了

shop_avrvi_com/goods-332.html (麻煩把下劃線換成點)

F. c51單片機tft彩屏開發會經常用到嗎

我建議你還是買過一塊液晶學。是這樣的:對於工業控制的話我們常用4寸的液晶(我因為成本問題買了3.2寸的- -),你要搞清楚的是液晶屏顯示原理,然後要學會配置相關的寄存器。對於買回來的液晶模塊還是簡單的,你覺得液晶的手冊難懂的話,你必須看懂人家的代碼。到了你學arm11(推薦你買arm6410的)用的不是一般的液晶模塊,而是大TFT屏,人家單片機內部還集成液晶控制模塊。因此你要通過簡單的液晶模塊掌握液晶編程套路(顯示文字,圖片),在你學arm11的LCD驅動時因為你有著基礎,可以專注於新的知識:配置單片機液晶控制介面然後根據時序圖配置寄存器。這是我給你的建議,我大四了,學校教arm7但是感覺沒什麼用,我買了一塊cortex a8板子,太高級了,玩起來夠嗆的。人家用的多數是6410驅動。所以我建議你買arm6410的板子,因為它資料多和視頻也多。你買了高級板子吃不消的是自己。。。總之液晶屏你不許不會,工業控制的51,avr,arm7你怎麼和用戶進行交互?通過液晶屏。上了操作系統的arm11 cortexA8 更不可能不用液晶屏。並且大屏的TFT液晶也比工控的液晶屏(我們51上的液晶屏模塊)復雜。正如一部手機,可能用6410作為cpu,但是誰的手機能不用液晶屏呢?是吧?

G. TFT彩屏一般用什麼單片機avr的什麼款可以C51內核的什麼款可以

那要看你拿來幹嘛了。如果要刷屏速度要求不高,一般的單片機都可以。 如果想稍微快點的,可以用1T的單片機,比如STC12C5A系列的單片機。我用來做過3.2寸示波器顯示+觸摸沒問題。

H. TFT彩屏與哪些51單片機才能配合使用89C58可以嗎

如果TFT的驅動方式是用CPU匯流排方式,比如80或者68時序的話,可以用單片機IO模擬時序並驅動,但是速度會非常慢,因為單片機的頻率太低了。

I. 用51單片機如何控制TFT彩屏

如果只用51的話,控制不了。因為TFT彩屏的數據處理量不是51能完成的,如果非要用51控制,中間要加個控制卡。
51隻是8位機,也就是同一時刻最多處理8位數據。
建議用16位機或者是32位機控制彩屏。

J. 怎麼學單片機彩屏

買一塊彩屏,自己動手做,是一個捷徑。

閱讀全文

與彩屏單片機相關的資料

熱點內容
listsortjava 瀏覽:180
plc閃光電路編程實例 瀏覽:297
socket編程試題 瀏覽:201
華為的伺服器怎麼設置從光碟機啟動 瀏覽:867
程序員真的累嗎 瀏覽:323
學信網app為什麼刷臉不了 瀏覽:871
天蠍vs程序員 瀏覽:991
單片機下載口叫什麼 瀏覽:186
程序員的道 瀏覽:924
雲伺服器不實名違法嗎 瀏覽:556
怎樣查看文件夾圖片是否重復 瀏覽:993
文件怎麼導成pdf文件 瀏覽:806
打開sql表的命令 瀏覽:101
安卓手機如何面部支付 瀏覽:37
天元數學app為什麼登錄不上去 瀏覽:823
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:25
伺服器一直崩應該用什麼指令 瀏覽:924
cm202貼片機編程 瀏覽:729
php構造函數帶參數 瀏覽:179