"); //-->
本文主要讲述如何使用sopc_builder中的ip核开发驱动,一大大减小代码长度。如果你的实验板上没有sdram,而只能只用片上ram,这将是一个比较好的解决方案

程序代码如下:
#include<system.h>
#include<altera_avalon_lcd_16207_regs.h>
#include<alt_types.h>
alt_u8 lcd_string1[] = "HB_XFU__ELC__LAB";
alt_u8 lcd_string2[] = "2009 xk";
void check_busy() //读液晶的忙标志位并检测
{
alt_u8 status;
do
{
status="IORD"_ALTERA_AVALON_LCD_16207_STATUS(LCD_BASE);
}while(status&0x80);
}
void lcd_init() //液晶1602初始化
{
IOWR_ALTERA_AVALON_LCD_16207_COMMAND(LCD_BASE, 0x38); //功能设置
check_busy();
IOWR_ALTERA_AVALON_LCD_16207_COMMAND(LCD_BASE, 0x01); //清屏
check_busy();
IOWR_ALTERA_AVALON_LCD_16207_COMMAND(LCD_BASE, 0x06); //Y地址自动加1模式
check_busy();
IOWR_ALTERA_AVALON_LCD_16207_COMMAND(LCD_BASE, 0x0c); //显示开,不显示光标
}
void lcd_prints(alt_u8 *string) //打印字符串
{
while(*string!='\0')
{
check_busy();
IOWR_ALTERA_AVALON_LCD_16207_DATA(LCD_BASE, *string);
string++;
}
}
void select_xy(alt_u8 x,alt_u8 y) //选择屏幕坐标,x=0为第1行,x=1为第2行
{ //y=0~15,分别对应第1列到第16列
check_busy();
if(x%2==0)
{
IOWR_ALTERA_AVALON_LCD_16207_COMMAND(LCD_BASE, 0x80+y);
}
else
{
IOWR_ALTERA_AVALON_LCD_16207_COMMAND(LCD_BASE, 0xc0+y);
}
}
int main (void) __attribute__ ((weak, alias ("alt_main"))); //将程序的入口改为alt_main(),可以使
//很多驱动不会加载,可以大大减小代码长度
void alt_main()
{
lcd_init();
select_xy(0,0);
lcd_prints(lcd_string1);
select_xy(1,7);
lcd_prints(lcd_string2);
}
编译器将做如下设置,以优化代码:
选中工程的properties,将c/c++build中的tool settings选项卡下的nios2 complier中的general里的optimizition levels改为最后一个(-0s),工程syslib的properties也做相同设置。使生成的代码最小。
将系统库属性做如下设置:
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
ASML发布2026年第一季度财报 | 净销售额88亿欧元
请教printf的参数问题
德州仪器支持中国WLAN标准 芯片产品6月前推出
2005年国际航宇回顾
液晶投影机多功能控制器
利用多路转换开关实现准多点RS-232通信
内嵌51MCU的射频收发芯片CC1010及其应用
[讨论]阿东的裤子(讨论团队分工协作)
米尔RK3506 DSMC实战,Local Bus高速互联
由WB705构成的减流型保护电路的应用电路
从单灯到区域动态氛围灯,纳芯微推出多 RGB 氛围灯驱动芯片 NSUC1527,助力汽车氛围灯智能化
台积电2026 Q1财报深度解析:核心数据全部创新高
引入STM32MP135F安全芯!米尔MYD-YF13X系统、安全、功能三重升级
纳芯微推出新一代隔离式CAN收发器NSI1150, 支持±70V总线保护耐压和更高的通信速率
网络中心战中的无人机系统
Gartner:2026年第一季度全球PC出货量增长4%
美军导弹武器低成本化的途径与方式
利用EPP接口协议实现高速数据通信
Numonyx Axcell M29EW:更快的编程速度与更强的安全性
有线广播扩音机保护器
蓝牙收发芯片RF2968的原理及应用
过年送礼:嵌入式及VxWorks应用论文下载(一)
深圳传感器大会收官:传感器产业正从“器件展示”走向“场景牵引”
OpenClaw 秒级上线!JishuShell 适配米尔RK3576开发板
techorICE DSP仿真器for TI
由WB705构成的限流型保护电路的应用电路
AMD成都生态大会:不只推生态,AI存储也被带到台前
CW1524/2524/3524脉宽调制功率控制器的典型应用电路
片红外线传感控制器ZH9576及应用
美国设想的反卫星武器技术