集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1522|回复: 0

lcd的问题

[复制链接]
xyda123456 发表于 2010-7-28 11:16:58 | 显示全部楼层 |阅读模式

为什么我的程序调试出来的结果:是只能够显示出对应的颜色,无法出现在程序指定的地方。同一个程序运行两次,颜色没变,但是出现的位置好像是随机的。期待回答!!!!!!!!!!
这是我写的程序:
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "unistd.h"
#include "alt_types.h"

void X_ADDR(unsigned char x);
void Y_ADDR(unsigned char y);
void CMD(unsigned char cmd);
void DATA(unsigned char data);


int main()
{
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);
    IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DATA_BASE,0xff);
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_RD_BASE,1);//RD始终在写的过程中置高
    unsigned char i, j;
    CMD(0x00);
    for(j=10;j<=50;j++)
    {
        X_ADDR(10);
        X_ADDR(0);
        Y_ADDR(j);
        for(i=10;i<=50;i++)
        DATA(0xe3);
    }
    while(1);
    return 0;   
}

/*****************对寄存器x的操作************************/
void X_ADDR(unsigned char x)
{
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_A1A0_BASE,0);  
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);      
     IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);     
     IOWR_ALTERA_AVALON_PIO_DATA(LCD_DATA_BASE, x);
     IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);
     IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);
     
}
/****************对寄存器y的操作******************************/
void Y_ADDR(unsigned char y)
{
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_A1A0_BASE,1);  
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);   
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);     
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_DATA_BASE, y);
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);
}
/*******************对寄存器cmd的操作******************************/
void CMD(unsigned char cmd)
{
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_A1A0_BASE,2);   
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);   
     IOWR_ALTERA_AVALON_PIO_DATA(LCD_DATA_BASE, cmd);
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);
}
/*******************对寄存器data的操作*****************************/
void DATA(unsigned char data)
{
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_A1A0_BASE,3);   
    IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);  
      IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);     
      IOWR_ALTERA_AVALON_PIO_DATA(LCD_DATA_BASE,data);
      IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);
      IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);
}

请高手知道!!!

菜鸟上路,请多关照!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-25 01:12 , Processed in 0.076239 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表