⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_beginning.txt

📁 niosII(12864)lcd写数据函数
💻 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 + -