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命令要写很多遍?初始化程序中加延时是为什么?谢谢大家!(程序都是在论坛中一个大神半年前上传的,怕联系不到先在这里问问大家。)
|