LCD _WR对应PC7; LCD _RD对应PC6; LCD _D[17:1]对应PB[15:0]; 基本GUI接口函数简介(一) 80并口时序图: (一) : //---写数据函数--- 这里我们采用了宏定义的方式,以提高速度(由于显示图像写入读出频繁): #define LCD_WR_DATA(data){\ LCD_RS_SET;\ //选择数据 LCD_CS_CLR;\ //选择片 DATA...
1LCD1602判忙函数原理(单片机)bit LCD_Check_Busy(void) { DataPort= 0xFF; RS_CLR; //命令RW_SET; //读EN_CLR; //使能赋0_nop_(); EN_SET;//使能赋1return (bit)(DataPort & 0x80);//}在DataPort写1111 1111,读到的是啥?原理是什么?怎么判断1602忙的?然后把DataPort与1,得到的值转换返回. ...
GPIO_PIN_10,GPIO_PIN_SET)#defineLCD_RS_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET)#defineLCD_SDA_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET)
GPIO_PIN_10,GPIO_PIN_SET)#defineLCD_RS_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET)#defineLCD_SDA_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET)
LCD_RS_CLR; //选择指令 LCD_CS_CLR; //选中芯片 DATAOUT(data); //端口放上指令 LCD_WR_CLR; //WR写数据来个上升沿(将数据写入) LCD_WR_SET; LCD_CS_SET; //CS上啦完成操作 } (三) : 由下面2个寄存器设置快速IO //---读取寄存器值函数--- u16 LCD_ReadReg...
// LCD_CS_CLR; //CS片选信号在1.3寸显示屏模块上被拉低 LCD_RS_CLR; SPI_WriteData(Index); // LCD_CS_SET; } void Lcd_WriteData(u8 Data) //SPI 写8位数据 { // LCD_CS_CLR; LCD_RS_SET; SPI_WriteData(Data); // LCD_CS_SET; ...
ClrRs //选择命令 ClrWr //写数据复位 LCD_Write(LCD_Reg); //写入操作指令代码 SetWr //写数据置位 /* 写16位的数据到指定寄存器*/ SetRs ClrWr LCD_Write(LCD_RegValue); //写数据 SetWr SetCs } B. 读寄存器 图:读寄存器波形图 u16 LCD_ReadReg(u8 LCD_Reg) ...
#define ENCLR P2_2 = 0 #define ENSET P2_2 = 1 void lcd_delay(unsigned int delaytime) { while(delaytime)delaytime--; } void write_lcd_command(unsigned char write_command) { lcd_delay(40); RSCLR; RWCLR; LCDPORT=write_command; ...
RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80); } /*--- 写入命令函数 ---*/ void LCD_Write_Com(unsigned char com) { // while(LCD_Check_Busy()); //忙则等待 DelayMs(5); RS_CLR; RW_CLR; EN_SET; DataPort...
LCD_RS_CLR;LCD_SPI_WriteByte(data);LCD_CS_SET;} /*** * [url=home.php?mod...