📄 lcd_beginning.txt
字号:
void write_character(void)
{
unsigned char i;
lcd_clear_ddram();
LONG_DELAY(100);
lcd_write_string(0,0,"信号发生器,");
LONG_DELAY(200);
lcd_write_string(0,1,"逻辑分析仪.");
LONG_DELAY(200);
lcd_write_string (0,2, "简易示波器,");
LONG_DELAY(200);
lcd_set_xy(0,3);
for(i=0;i<14;i++)
{
WRD(0x10);
DELAY(2000);
}
DELAY(20000);
lcd_clear_ddram();
DELAY(1000);
write_altera_ep2c5();
}
void lcd_clear_ddram(void)
{
WRI(lcd_funtion_base);
WRI(lcd_clear_display);
DELAY(50);
}
void lcd_write_string(unsigned char x,unsigned char y,unsigned char *s)
{
WRI(lcd_funtion_base);
lcd_set_xy(x,y);//选中汉字坐标
while (*s!='\0') //字符串最后面都有个'\0'表示字符串的结束,所以实际上字符串占的内存单元要
{ //比串中字符数多1个 ''后面没有\0
WRD(*s);
s++;
}
}
void WRD(char lcddata)
{
lcd_check_busy(); //等待忙结束
LCD_RS=1; /*setb RS */
LCD_RW=0; /*clr R/w for write*/
LCD_EN=1; /*Set enable*/
// LCD_DATA_DIR = LCD_DATA_OUT; //data is out
IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DATA_BASE, LCD_DATA_OUT);
LCD_DATA = lcddata;
DELAY(1);
LCD_EN=0;
DELAY(1);
}
void lcd_set_xy(unsigned char x,unsigned char y)
{
unsigned char address;
switch(y){
case 0:
address = 0x80 + x;
break;
case 1:
address = 0x90 + x;
break;
case 2:
address = 0x88 + x;
break;
case 3:
address = 0x98 + x;
break;
default:address = 0x80 + x;}
WRI(lcd_set_ddram_address|address);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -