//向液晶里面写入数据 时序:RS=H,RW=L,Data0-Data7=指令码,E=高脉冲 //******* 版 权:海联(HarLn)创业团队 ———— 六度传感器事业部****** void Lcd_Write_Data( unsigned char x) //向液晶里面写入数据 { Lcd_Busy(); delay_us(10); SET_RS; //RS = 1 数据模式 delay_us(10); CLE_RW; //RW = 0 写模式 delay_us(40); Gpio_data(x); delay_us(40); Lcd_En_Toggle(); delay_us(100); Lcd_Busy(); }
//向液晶里面写入指令 时序:RS=L,RW=L,Data0-Data7=指令码,E=高脉冲 //******* 版 权:海联(HarLn)创业团队 ———— 六度传感器事业部****** void Lcd_Write_Command(unsigned char x,char Busy) { if(Busy) Lcd_Busy(); delay_us(10); CLE_RS; //RS = 0 命令模式 delay_us(10); CLE_RW; //RW = 0 写模式 delay_us(40); Gpio_data(x); //端口置入数据 delay_us(40); Lcd_En_Toggle(); //发使能脉冲 delay_us(100); Lcd_Busy(); //测忙 }
//====================================================================// // 语法格式:void Lcd_WriteDat(uchar dat) // 实现功能:写显示数据到LCD // 参 数:要显示的数据 // 返 回 值:无 //====================================================================// void Lcd_WriteDat(uchar dat) { while(Lcd_Busy()); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; DelayNOP(); LCD_EN = 1; DelayNOP(); LCD_EN = 0; }
//====================================================================// // 语法格式:void Lcd_WriteCmd(uchar cmd) // 实现功能:写指令数据到LCD // 参 数:要写入的指令 // 返 回 值:无 //====================================================================// void Lcd_WriteCmd(uchar cmd) { while(Lcd_Busy()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; DelayNOP(); LCD_EN = 1; DelayNOP(); LCD_EN = 0; }