原创 nios ii lcd1602显示程序

2010-10-19 21:38 4443 12 12 分类: FPGA/CPLD
芯片为EP2C8Q208C8,晶振50M。

    SOPC配置为经济型nios ii core,4k片上rom(放程序),4k片上ram(放数据),一个8位的输出io:lcd_d,3个一位的输出io,分别为e,rs,rw。


    代码已在硬件平台上测试通过。


    nios ii源码如下:


/********************************************************
 * project name:lcd1602_nios
 * designer:kang
 * date:2010-10-19
 * version:v1.00
 * ******************************************************/
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"


//延时函数
void delay_ms(alt_u8 ms)
{
    alt_u16 i;
    while(ms--)
        for(i=0;i<1000;i++);
}
//lcd写指令函数
void lcd_wcmd(unsigned char cmd)
{
alt_u16 i; 
IOWR_ALTERA_AVALON_PIO_DATA(RS_BASE,0);
IOWR_ALTERA_AVALON_PIO_DATA(RW_BASE,0);
IOWR_ALTERA_AVALON_PIO_DATA(E_BASE,0);                         
IOWR_ALTERA_AVALON_PIO_DATA(LCD_D_BASE,cmd);
for(i=0;i<20;i++);
IOWR_ALTERA_AVALON_PIO_DATA(E_BASE,1); 
for(i=0;i<20;i++);
IOWR_ALTERA_AVALON_PIO_DATA(E_BASE,0);         
}
//lcd写地址函数
void lcd_pos(unsigned char pos)
{                      
lcd_wcmd(pos|0x80);
}
//lcd写数据函数
void lcd_wdat(unsigned char dat)   
{
alt_u16 i;                         
IOWR_ALTERA_AVALON_PIO_DATA(RS_BASE,1);
IOWR_ALTERA_AVALON_PIO_DATA(RW_BASE,0);
IOWR_ALTERA_AVALON_PIO_DATA(E_BASE,0); 
IOWR_ALTERA_AVALON_PIO_DATA(LCD_D_BASE,dat);
for(i=0;i<20;i++);
IOWR_ALTERA_AVALON_PIO_DATA(E_BASE,1);
for(i=0;i<20;i++);
IOWR_ALTERA_AVALON_PIO_DATA(E_BASE,0);
}
//lcd显示函数
//入口:字符串和字符数量
void lcd_disp(alt_u8 a[],alt_u8 i)
{alt_u8 j;
for (j=0;j<i;j++)
    {lcd_wdat(a[j]);
     delay_ms(1);
     }
}
//lcd初始化函数
void lcd_init()                                    
{                          
    lcd_wcmd(0x38);        
    delay_ms(15);
    lcd_wcmd(0x0c);    
    delay_ms(1);
    lcd_wcmd(0x06);    
    delay_ms(1);
    lcd_wcmd(0x01);        
    delay_ms(15);
}
//主函数
int alt_main(void)
{
    lcd_init();
    lcd_pos(0x80);
    lcd_disp("lcd1602 test!!",14);
    lcd_pos(0xc0);
    lcd_disp("made by kang",12);
    while(1)
    {
    ;
    }
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /3 下一条