当前位置:首页 > 单片机 > 单片机
[导读] 首先是LCD的RAM写子函数:[objc] view plain copyvoid LCD_WriteRAM(u16 RGB_Code) { GPIO_SetBits(LCD_RS_PORT,LCD_RS_PIN); GPIO_Write(LCD_PORT_PORT,RGB_Code>>8); //Delay(5); GPIO_Rese

首先是LCD的RAM写子函数


[objc] view plain copy

void LCD_WriteRAM(u16 RGB_Code)

{

GPIO_SetBits(LCD_RS_PORT,LCD_RS_PIN);

GPIO_Write(LCD_PORT_PORT,RGB_Code>>8);

//Delay(5);

GPIO_ResetBits(LCD_WR_PORT,LCD_WR_PIN);

//Delay(10);

GPIO_SetBits(LCD_WR_PORT,LCD_WR_PIN);

GPIO_Write(LCD_PORT_PORT,RGB_Code);

// Delay(10);

GPIO_ResetBits(LCD_WR_PORT,LCD_WR_PIN);

//Delay(10);

GPIO_SetBits(LCD_WR_PORT,LCD_WR_PIN);

}


LCD从RAM读取字符并进行显示的子函数:

[objc] view plain copy

void LCD_DrawChar(u8 Xpos, u16 Ypos, const u16 *c)

{

u32 index = 0, i = 0;

u8 Xaddress = 0;

Xaddress = Xpos;

LCD_SetCursor(Xaddress, 319-Ypos);

for(index = 0; index < 24; index++)

{

LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */

for(i = 0; i < 16; i++)

{

if((c[index] & (1 << i)) == 0x00)

{

LCD_WriteRAM(BackColor);

}

else

{

LCD_WriteRAM(TextColor);

}

}

LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET);

Xaddress++;

LCD_SetCursor(Xaddress, 319-Ypos);

}

}



ASCII码转换的基本

[objc] view plain copy

void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii)

{

Ascii -= 32;

LCD_DrawChar(Line, Column, &ASCII_Table[Ascii * 24]);

}





可以应用于主函数的数字显示函数:

[objc] view plain copy

void LCD_ShowNum(uint8_t x,uint16_t y,uint16_t data)

{

LCD_DisplayChar(x,y,data/10000+48);

LCD_DisplayChar(x,(y+25),data%10000/1000+48); // %10000

LCD_DisplayChar(x,(y+50),data%1000/100+48);

LCD_DisplayChar(x,(y+75),data%100/10+48);

LCD_DisplayChar(x,(y+100),data%10+48);

}


可以用于主函数的字符显示函数:

[objc] view plain copy

void LCD_DisplayStringLine(u8 Line, u8 *ptr)

{

u32 i = 0;

u16 refcolumn =0;

/* Send the string character by character on lCD */

while ((*ptr != 0) & (i < 20))

{

/* Display one character on LCD */

LCD_DisplayChar(Line*FONT_HEIGHT, refcolumn, *ptr);

/* Decrement the column position by 16 */

refcolumn += FONT_WIDTH;

/* Point on the next character */

ptr++;

/* Increment the character counter */

i++;

}

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

7月29日消息,LG Display已将其在美国的70项LCD液晶显示器相关专利转让给三星显示,值得注意的是,三星显示已于三年前退出LCD业务。

关键字: LCD 三星

HT16K24操作电压为2.4V~5.5V,内建I²C通信接口,提供三种LCD显示与按键模式:24SEG × 4COM + 24 KEY;22SEG × 6COM + 22 KEY;20SEG × 8COM + 20 K...

关键字: LCD MCU 蜂鸣器

离线GPS工具:跟踪、保存和查找具有距离和方位的航路点——没有网络,没有云,您的数据,您的规则。

关键字: GPS设备 LCD 微控制器 Arduino Uno

在技术上,LCD和OLED各有其独特之处。液晶电视通过控制液态晶体实现图像显示,其原理是在两片玻璃基板中夹入液态晶体,通过细小的电线控制水晶分子的方向。而OLED凭借自发光二极管带来更优的视角与色彩表现,其RGB色彩信号...

关键字: OLED LCD

双锁系统,通过键盘输入密码开门,客人来了用短信开门

关键字: LCD 双锁系统 L293D 变压器

在汽车显示系统领域,TFT LCD显示屏目前是车载显示面板的主流选择。与此同时,OLED和micro-LED显示屏也逐渐吸引了市场的广泛关注。为了适应不同的显示技术,我们需要开发相应的电源技术。TFT LCD显示屏通常使...

关键字: LCD OLED micro-LED

如今,汽车行业对先进显示屏的需求空前高涨,亟需能够实现更大尺寸、更高亮度、曲面设计、更高分辨率和更高对比度的解决方案。与此同时,各类新型车载显示屏也日益受到青睐。目前,TFT LCD是汽车平板显示技术的主流选择。OLED...

关键字: LCD OLED micro-LED

大家好,欢迎回来。在这个项目中,我们将学习如何使用键盘和LCD显示制作一个安全的基于Arduino的门锁。你可以用它来保护你的办公室、房间或家里的保险箱。要锁门和开锁,你需要在安全系统中输入密码。这确保了只有经过授权的人...

关键字: 键盘 LCD Arduino 电子门锁

April 1, 2025 ---- 乐金显示广州LCD 8.5代线今日(4月1日)正式交割至TCL华星光电,并改名为t11。至此,TCL华星光电将拥有2条6代、4条8.5代、1条8.6代和2条10.5代LCD产线。Tr...

关键字: 电视 PID面板 LCD

将您的树莓派Pico变成带有触摸屏界面的USB-HID设备!在这个项目中,我们将在Arduino IDE中设置编程环境,为3.5”Pico Touch LCD屏蔽配置库,测试基本功能,创建简单的按钮(用于复制和粘贴),显...

关键字: 树莓派 触摸屏 LCD Windows
关闭