您现在的位置: 主页 > MCU > 单片机技术应用 > STM32F10X系列LCD屏的配置及子函数 -
本文所属标签:
为本文创立个标签吧:

STM32F10X系列LCD屏的配置及子函数 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
首先是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写子函数

本文引用地址: http://www.21ic.com/app/mcu/201806/764733.htm


[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++;

}

}




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > STM32F10X系列LCD屏的配置及子函数 -
 

"STM32F10X系列LCD屏的配置及子函数 -"的相关文章

网站地图

围观()