• 大小: 63KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: niosii  

资源简介

这个是那个几个nios 开发的几个实例,谢谢下载啊

资源截图

代码片段和文件信息

/*-----版权声明-----
 *     艾米电子工作室——让开发变得更简单 
 *     网站:http://www.amy-studio.com
 *     淘宝:http://amy-studio.taobao.com
 *     QQ(邮箱):amy-studio@qq.com
 *-----文件信息-----
 *     文件名称:Amy_S_lcd12864.c
 *     最后修改日期:3.20 2009
 *     描述:Lcd12864驱动源文件
 *------------------
 *     创建者:张亚峰
 *     创建日期:3.20 2009
 *     版本:1.0
 *     描述:原始版本
 *------------------
 *     修改者:
 *     修改日期:
 *     版本:
 *     描述:
 *-------------------
 */

#include “Amy_S_lcd12864.h“
#include “alt_types.h“
#include “unistd.h“

void LCD12864_CheckBusy(void)
{
  CLR_RS;                               // 指令
  SET_RW;                               // 读
  SET_E;
  while((RD_DATA&0x80) == 0x80);        // 检测busy flag
  CLR_E;
  usleep(72);                           // 72us
}

void Lcd12864_WrCmd(alt_u8 cmd)
{
  LCD12864_CheckBusy();
  CLR_RS;                               // 指令
  CLR_RW;                               // 写
  SET_E;
  WR_DATA(cmd);
  CLR_E;
  usleep(72);                           // 72us
}

void Lcd12864_WrData(alt_u8 data)
{
  LCD12864_CheckBusy();
  SET_RS;                               // 数据
  CLR_RW;                               // 写
  SET_E;
  WR_DATA(data);
  CLR_E;
  usleep(72);                           // 72us
}

void Lcd12864_Init(void)
{
  usleep(40*1000);
  Lcd12864_WrCmd(0x30);                 // 8bit
  usleep(100);
  Lcd12864_WrCmd(0x30);                 // basic function
  usleep(37);
  Lcd12864_WrCmd(0x0F);                 // 整体显示开 游标开 反白
  usleep(100);
  Lcd12864_WrCmd(0x10);                 // 游标左移
  usleep(100);
  Lcd12864_WrCmd(0x01);
  usleep(10*1000);
  Lcd12864_WrCmd(0x06);                 // 画面整体右移
}


void Lcd12864_WrChar(alt_u8 row alt_u8 col alt_u8 *pCN alt_u8 n)
{
  alt_u8 i addr;
  row &= 0x03;                          // row < 4
  col &= 0x07;                          // col < 8
  switch(row)
  {
    case 0: addr = 0x80; break;
    case 1: addr = 0x90; break;
    case 2: addr = 0x88; break;
    case 3: addr = 0x98; break;
  }
  addr += col;
  Lcd12864_WrCmd(addr);
  for(i=0; i  {
    Lcd12864_WrData(pCN[i]);
  }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2010-03-20 20:32  Amy_S_lcd12864\
     文件        2715  2010-03-20 20:43  Amy_S_lcd12864\Amy_S_lcd12864_avalon_interface.v
     文件        3527  2010-03-20 19:54  Amy_S_lcd12864\Amy_S_lcd12864_avalon_interface_hw.tcl
     目录           0  2010-03-20 20:32  Amy_S_lcd12864\c_demo\
     文件        2289  2010-03-20 19:41  Amy_S_lcd12864\c_demo\Amy_S_lcd12864.c
     文件        2619  2010-03-20 19:41  Amy_S_lcd12864\c_demo\Amy_S_lcd12864.h
     文件       59662  2010-03-20 19:45  Amy_S_lcd12864\c_demo\lcd12864.JPG
     文件        1157  2010-03-20 19:42  Amy_S_lcd12864\c_demo\main.c

评论

共有 条评论