当前位置:首页 > 单片机 > 单片机
[导读] 首先是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++;

}

}


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