LCD初始化程序我看到的兩種形式: 一
- void lcd_init()
- {
- lcd_wcmd(0x38);
- DelayMs(5);
- lcd_wcmd(0x38);
- DelayMs(5);
- lcd_wcmd(0x38);
- DelayMs(5);
- lcd_wcmd(0x38); //8位數據,雙行顯示,5*7點陣
- lcd_wcmd(0x08); //顯示關閉,無光標,光標不顯示
- lcd_wcmd(0x01); //清顯示
- lcd_wcmd(0x06); //光標右移
- DelayMs(5);
- lcd_wcmd(0x0c); //開顯示,有光標,光標閃爍
- }
二
- void lcd_init(void) //LCD初始化設定
- {
- lcd_wcmd(0x38); //設置顯示格式為:16*2行顯示,5*7點陣,8位數據接口
- delay(1);
- lcd_wcmd(0x0c);//0x0f--顯示開關設置,顯示光標并閃爍
- delay(1);
- lcd_wcmd(0x06);//0x06--讀寫后指針加1
- delay(1);
- lcd_wcmd(0x01); // 清除LCD顯示內容
第二個程序中的延時:
- void delay(uchar ms)
- {
- uchar i;
- while(ms--)
- {
- for(i=0;i<120;i++);
- }
- }
請問這兩種初始化程序有什么不同,第一個程序中為什么0x38命令要寫很多遍?初始化程序中加延時是為什么?謝謝大家!(程序都是在論壇中一個大神半年前上傳的,怕聯系不到先在這里問問大家。)
|