導航:首頁 > 編程語言 > uc1701lcd是怎麼編程

uc1701lcd是怎麼編程

發布時間:2022-08-10 17:55:38

單片機怎麼深入學習,特別是編程

不積跬步,無以至千里。
單片機就是控制io口,達到控制外設的目的。
1,首先c語言編程功底要提高,多寫寫游戲啊,軟體之類的,至於移植到到單片機,分分鍾的事情吧,比如貪吃蛇這種。
2,單片機基礎,一定要學透,而不是停留在基礎,基礎也可以學的很好,假設led,你知道所有led控制的方法嗎,位控制,埠控制,宏控制
led移動呢,,埠移位,for循環,等等,到後面,數碼管,點陣,中斷,ad,da
中斷,lcd,串口通信
3,以上這些,讀懂每一句代碼之後,就可以做東西了
循跡小車,串口通信的可以用電腦或者手機來控制單片機了,反正能做很多東西
4,之後可以了解stm32
5,之後直接深入到嵌入式arm架構,現在的手機
6,隨便一個嵌入式領域就行了,驅動,或者開發

㈡ 初學者arino編程在LCD上顯示文字 應該怎麼寫程序

//埠定義 諾基亞5110顯示屏

int LCD_CE=2;
int LCD_RST=3;
int SCLK=4;
int SDIN=5;
int LCD_DC=6;
int inputPin=8; // 定義超聲波信號接收介面
int outputPin=9; // 定義超聲波信號發出介面
/****************************************************************/
void setup()
{
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
}
//****************************定義ASCII字元**********************//

/**********************************
6 x 8 font
1 pixel space at left and bottom
index = ASCII - 32
***********************************/
const unsigned char font6x8[][6] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // %
{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // ,
{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // -
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
{ 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55
{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]
{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g
{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j
{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
{ 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p
{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y
{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z
{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 } // horiz lines
};
/************************LCD初始化函數********************************/
void LCD_init(void)
{
//先設置為輸出
pinMode(SCLK,OUTPUT);
pinMode(SDIN,OUTPUT);
pinMode(LCD_DC,OUTPUT);
pinMode(LCD_CE,OUTPUT);
pinMode(LCD_RST,OUTPUT);

// 產生一個讓LCD復位的低電平脈沖
digitalWrite( LCD_RST, LOW);

delayMicroseconds(1);
digitalWrite( LCD_RST, HIGH);

// 關閉LCD
digitalWrite( LCD_CE, LOW);
delayMicroseconds(1);

// 使能LCD
digitalWrite( LCD_CE, HIGH); //LCD_CE = 1;
delayMicroseconds(1);
LCD_write_byte(0x21, 0); // 使用擴展命令設置LCD模式
LCD_write_byte(0xc8, 0); // 設置偏置電壓
LCD_write_byte(0x06, 0); // 溫度校正
LCD_write_byte(0x13, 0); // 1:48
LCD_write_byte(0x20, 0); // 使用基本命令
LCD_clear(); // 清屏
LCD_write_byte(0x0c, 0); // 設定顯示模式,正常顯示

// 關閉LCD
digitalWrite( LCD_CE, LOW); //LCD_CE = 0;
}
/************************LCD清屏函數*******************************/
void LCD_clear(void)
{
unsigned int i;
LCD_write_byte(0x0c, 0);
LCD_write_byte(0x80, 0);
for (i=0; i<504; i++)
{
LCD_write_byte(0, 1);
}
}
/*************************設置字元位置函數**************************/
void LCD_set_XY(unsigned char X, unsigned char Y)
{
LCD_write_byte(0x40 | Y, 0);// column
LCD_write_byte(0x80 | X, 0);// row
}
/*************************ASCII字元顯示函數*************************/
void LCD_write_char(unsigned char c)
{
unsigned char line;
c -= 32;
for (line=0; line<6; line++)
{
LCD_write_byte(font6x8[c][line], 1);
}
}
/*******************************************************************/
/*-------------------------------------------------
LCD_write_english_String : 英文字元串顯示函數
輸入參數:*s :英文字元串指針;
X、Y : 顯示字元串的位置,x 0-83 ,y 0-5
--------------------------------------------------*/
void LCD_write_english_string(unsigned char X,unsigned char Y,char *s)
{
LCD_set_XY(X,Y);
while (*s)
{
LCD_write_char(*s);
s++;
}
}
/******************************************************************/
/*---------------------------------------------
LCD_write_byte : 寫數據到LCD
輸入參數:data :寫入的數據;
command :寫數據/命令選擇;
---------------------------------------------*/
void LCD_write_byte(unsigned char dat, unsigned char command)
{
unsigned char i;
digitalWrite( LCD_CE, LOW); // 使能LCD_CE = 0
if (command == 0)
{
digitalWrite( LCD_DC, LOW);// 傳送命令 LCD_DC = 0;
}
else
{
digitalWrite( LCD_DC, HIGH);// 傳送數據LCD_DC = 1;
}

for(i=0;i<8;i++)
{
if(dat&0x80)
{
digitalWrite( SDIN, HIGH);//SDIN = 1;
}
else
{
digitalWrite( SDIN, LOW);//SDIN = 0;
}
digitalWrite( SCLK, LOW);//SCLK = 0;
dat = dat << 1;
digitalWrite( SCLK, HIGH);//SCLK = 1;
}
digitalWrite( LCD_CE, HIGH);//LCD_CE = 1;

}

/*************************以下為主函數*****************************/

void loop()
{
LCD_init();//初始化液晶
LCD_clear();

LCD_write_english_string(0,0," --Arino-- ");
LCD_write_english_string(0,2,"Renge:");

LCD_write_english_string(0,4,"DESIGN BY KENT");
LCD_write_english_string(0,5," 2010.6 ");

while(1)
{
digitalWrite(outputPin, LOW); // 使發出發出超聲波信號介面低電平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使發出發出超聲波信號介面高電平10μs,這里是至少10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持發出超聲波信號介面低電平
int distance = pulseIn(inputPin, HIGH); // 讀出脈沖時間
distance= distance/58; // 將脈沖時間轉化為距離(單位:厘米)
if(distance>120)
{

LCD_write_english_string(35,2,"???");
}
else
{
LCD_write_english_string(60,2,"cm");
LCD_set_XY(35, 2);
LCD_write_char( 0x30+distance%1000/100); //顯示百位數
LCD_write_char( 0x30+distance%100/10); //顯示十位數
LCD_write_char( 0x30+distance%10); //顯示個位數

}
delay(10);
}

}

㈢ LCD1602 為畫PCB方便 把LCD的D0-D7口分別接到了P0.7-P0.0 怎麼編程

寫一個Port IO順序轉換函數
void PortIO_Trans (unsigned char Port0_Temp)
{
bit Port0_0,Port0_1,Port0_2,Port0_3,
Port0_4,Port0_5,Port0_6,Port0_7;
Port0_0 = Port0_Temp & 0x80;
Port0_1 = Port0_Temp & 0x40;
Port0_2 = Port0_Temp & 0x20;
Port0_3 = Port0_Temp & 0x10;
Port0_4 = Port0_Temp & 0x08;
Port0_5 = Port0_Temp & 0x04;
Port0_6 = Port0_Temp & 0x02;
Port0_7 = Port0_Temp & 0x01;
WR = 0;
P0^0 = Port0_0 ;
P0^1 = Port0_1;
P0^2 = Port0_2;
P0^3 = Port0_3;
P0^4 = Port0_4;
P0^5 = Port0_5;
P0^6 = Port0_6;
P0^7 = Port0_7;
WR = 1;
}

不知道是不是你的意思,你先試試,有問題再說,希望能幫上忙

㈣ uC/OS-II的開發筆記

uC/OS-II是一個簡潔、易用的基於優先順序的嵌入式搶占式多任務實時內核。盡管它非常簡單,但是它的確在很大程度上解放了我的嵌入式開發工作。既然是一個操作系統內核,那麼一旦使用它,就會涉及到如何基於操作系統設計應用軟體的問題。 void task_xxx(void *pArg){/* 該任務的初始化工作 */…… /* 進入該任務的死循環 */while(1){……}}
每個用戶的任務都必須符合事件驅動的編程模型,即uC/OS-II的應用程序都必須是「事件驅動的編程模型」。一個任務首先等待一個事件的發生,事件可以是系統中斷發出的,也可以是其它任務發出的,又可以是任務自身等待的時間片。當一個事件發生了,任務再作相應處理,處理結束後又開始等待下一個事件的發生。如此周而復始的任務處理模型就是「事件驅動的編程模型」。事件驅動模型也涵蓋了中斷驅動模型,uC/OS-II事件歸根結底來自三個方面:(1)中斷服務函數發送的事件(2)系統延時時間到所引起的(3)其它任務發送的事件。其中「中斷服務函數發送的事件」就是指每當有硬體中斷發生,那麼中斷服務程序就會以事件的形式告訴任務,而等待該事件的最高優先順序任務就會馬上得以運行;「系統延時時間到所引起的」事件其實也是硬體中斷導致的,那就是系統定時器中斷。而「其它任務發送的事件」則是由任務代碼自身決定的,這是完全的「軟事件」。不管「軟事件」還是「硬事件」,反正引起uC/OS-II任務切換的原因就是「事件」,所以用戶編寫應用代碼的時候一定要體現出「事件驅動的編程模型」。 互斥信號對象(Mutual Exclusion Semaphore)簡稱Mutex,是uC/OS-II的內核對象之一,用於管理那些需要獨占訪問的資源,並使其適應多任務環境。創建每一個Mutex,都需要指定一個空閑的優先順序號,這個優先順序號的優先順序必須比所有可能使用此Mutex的任務的優先順序都高!
uC/OS-II的Mutex實現原理大致如下:當一個低優先順序的任務A申請並得到了Mutex,於是它獲得資源訪問權。如果此後有一個高優先順序的任務B開始運行(此時任務A已經被剝奪),而且也要求得到Mutex,系統就會把任務A的優先順序提高到Mutex所指定的優先順序。由於此優先順序高於任何可能使用此Mutex的任務的優先順序,所以任務A會馬上獲得CPU控制權。一直到任務A釋放Mutex,任務A才回到它原有的優先順序,這時任務B就可以擁有該Mutex了。
應該注意的是:當任務A得到Mutex後,就不要再等待其它內核對象(諸如:信號量、郵箱、隊列、事件標志等等)了,而應該盡量快速的完成工作,釋放Mutex。否則,這樣的Mutex就失去了作用,而且效果比直接使用信號量(Sem)更糟糕!
雖然普通的信號量(Sem)也可以用於互斥訪問某獨占資源,但是它可能引起「優先順序反轉」的問題。假設上面的例子使用的是Sem,當任務A得到Sem後,那麼任務C(假設任務C的優先順序比A高,但比B低)就緒的話將獲得CPU控制權,於是任務A和任務B都被剝奪CPU控制權。任務C的優先順序比B低,卻優先得到了CPU!而如果任務A是優先順序最低的任務,那麼它就要等到所有比它優先順序高的任務都掛起之後才會擁有CPU,那麼任務B(優先順序最高的任務)跟著它一起倒霉!這就是優先順序反轉問題,這是違背「基於優先順序的搶占式多任務實時操作系統」原則的!
綜上所述,uC/OS-II中多個任務訪問獨占資源時,最好使用Mutex,但是Mutex是比較消耗CPU時間和內存的。如果某高優先順序的任務要使用獨占資源,但是不在乎久等的情況下,就可以使用Sem,因為Sem是最高效最省內存的內核對象。 uC/OS-II的OSSchedLock()和OSSchedUnlock()函數允許應用程序鎖定當前任務不被其它任務搶占。使用時應當注意的是:當你調用了OSSchedLock()之後,而在調用OSSchedUnlock()之前,千萬不要再調用諸如OSFlagPend()、OSMboxPend()、OSMutexPend()、OSQPend()、OSSemPend()之類的事件等待函數!而且應當確保OSSchedLock()和OSSchedUnlock()函數成對出現,特別是在有些分支條件語句中,要考慮各種分支情況,不要有遺漏!
需要一並提醒用戶的是:當您調用開關中斷函數OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()時也要確保成對出現,否則系統將可能崩潰!不過,在OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()函數之間調用OSFlagPend()、OSMboxPend()、OSMutexPend()、OSQPend()、OSSemPend()之類的事件等待函數是允許的。 首先應該闡明的是,我們這里討論的是「驅動程序」,而不是「中斷服務程序」,這兩個詞語往往被用戶混淆。(1)中斷服務程序指那種硬體中斷一旦發生,就會立即被硬體中斷控制器調用的一小段程序,它的操作追求簡單明了,越快速越精簡就越好。(2)驅動程序是指封裝了某種硬體操作細節的函數集,它提供給應用程序的是統一、標准、清晰、易用的API。
對於中斷服務程序的編寫,往往與驅動程序的設計相關聯。比如驅動程序提供非同步操作的功能,那麼就需要中斷服務程序為它准備緩沖區和一個結構體,並且中斷服務程序會依照這個結構體的成員參數自動完成所要求的操作。又如,串口(UART)中斷服務程序的設計有兩種:基於數據包傳輸和基於單位元組傳輸,前者適用於以數據包為單位的通信程序,而後者適用於如超級終端這樣的應用程序。
如果在一個系統中,要求使用同一個硬體設備完成幾種不同的操作方式,就需要設計一個通用的驅動程序,而該驅動程序可以根據需要安裝各種針對性很強的中斷服務程序。
在設計驅動程序時,特別需要注意的是,某些外設的操作往往以一個連續而嚴格的時序作為原子操作,比如用I/O埠來訪問DS1302、24C01、LM75A等等。在這類設備的操作過程中,不允許有其它任務來控制對應的I/O埠,否則會引起數據錯誤甚至器件損壞。所以,這種設備的驅動程序都應該仔細設計「原子操作」,把必須連貫操作的時序控制代碼用互斥對象封裝成一個「原子操作」,以適應多任務環境。其實,大部分設備都是這樣,需要確定「原子操作」,如LCD、RTL8019AS、Flash等等也是如此。
關於驅動程序的設計,還有很多很多的文章可作,需要具體問題具體分析。在這里我就不列出個條條目目了,希望有興趣的朋友多多討論。

㈤ 兩個AT89C52相連,一個發送,一個接收,用LCD顯示,怎麼用C語言編程

圖中,兩根串口線,應該要交叉才行。幾個模塊程序,我的博客上都有,您可以去參考。看懂了,拼起來,就可以用了。

㈥ 用兩個AT89C52聯調,一個發送,一個接收,用LCD顯示一個字元串,怎麼用C語言編程

一個發送,一個接收,發送的直接將數據寫到發送緩存,AT89C52會自動把數據發送出去,而接受的當接受到數據後會自動產生中斷,你此時只需在中斷程序中把接受緩存中的數據讀出即可,至於顯示其實很簡單,既然數據都有了還怕顯示,直接調用LCD1602的庫函數,這個LCD是很好用的,哦,對了,注意發送波特率的一致,OK,就這些了,具體程序你看著寫吧,

㈦ uClinux下LCD驅動程序的編寫方法

如果是寫驅動程序的話,不同的LCD,驅動方式是不一樣的,這里找答案太渺茫了。
你可以自己谷歌一下,看看有沒有現成的,這種東西只能自己編。
先學會linux下對lcd的結構,然後再看懂LCD硬體sheet資料,再開始編程吧。

㈧ C語言中怎麼編程在計算機屏幕上顯示如下圖案

如果實在普通LCD屏上顯示某個圖案,需要先將待顯示的圖案用專用軟體處理成圖像數據,然後封裝到一個數組里,然後編寫一個子函數將這些數據按順序寫到LCD緩沖區中即可。
如果是在PC機的顯示器上顯示該圖案,需要首先根據該圖片的格式(如jpeg,或BMP,或其它格式),進行分析,去除圖片格式頭,然後將圖片文件中的圖像數據(即像素點)提取出來,然後寫入顯示器的緩存中即可。

㈨ 液晶屏lcd在linux下怎麼讓它顯示我想要顯示的內容

在確保linux lcd 顯示屏驅動無誤的情況下.有兩款比較常見的圖像開發工具可供你選擇.

Qt,GTK.
可以先移植個QtE庫.再進行linux的圖像開發.

lcd的顯示方面linux系統會幫你管理.就好像你用VC寫了個窗口一運行在桌面上就會出現個窗口那樣,在linux下用QtE開發了一個窗口一運行也會出現一個窗口.只不過在窗口下就沒有桌面而已.只要搞定了QTE顯示圖片什麼的只是小菜一碟.

不過QTE的移植可不是一件簡單的事.祝好運.

閱讀全文

與uc1701lcd是怎麼編程相關的資料

熱點內容
修改aix默認加密演算法 瀏覽:661
海邊散步放鬆解壓一下 瀏覽:21
空調有不帶壓縮機的嗎 瀏覽:61
java職業規劃面試 瀏覽:985
pdf填色 瀏覽:145
ie運行java 瀏覽:637
單相空調壓縮機的構造 瀏覽:136
迅雷app的回收站在哪裡啊 瀏覽:595
加密技術的特點包括4點 瀏覽:561
pcre源碼包 瀏覽:67
崑山ug數控編程培訓 瀏覽:520
integer類源碼 瀏覽:819
java排序的時間復雜度 瀏覽:859
伺服器陣列卡壞了怎麼維修 瀏覽:537
shm演算法 瀏覽:520
可愛的程序員陸漓離開 瀏覽:608
如何把掃描文件做成pdf格式 瀏覽:627
php個性qq源碼 瀏覽:822
初學c語言顯示源未編譯 瀏覽:247
資產概況源碼 瀏覽:474