LCD1602显示的三种方式 lcd1602显示程序

在DE2开发板上附带一块1602液晶,在学习SOPC过程中发现下面三种方式都可以控制1602:比如在DE2开发板的LCD上分两行显示"NIOSII ON DE2“和" TIANWEN JLU "

1.LCD的底层开发方式:LCD的编程包括对1602的命令读写和数据读写,根据LCD的定义,可以在LCD.h文件中定义lcd的命令读写和数据读写。

//----------------------------------LCD.h-----------------------------------------------//

#ifndef _LCD_H_
#define _LCD_H_

#definelcd_write_cmd(base,data)IOWR(base,0,data)
#definelcd_read_cmd(base)IORD(base,1)
#definelcd_write_data(base,data)IOWR(base,2,data)
#definelcd_read_data(base)IORD(base,3)

void LCD_Init();
void LCD_Show_Text(char* Text);
void LCD_Line2();
void LCD_Test();
#endif

//-----------------------------LCD.c----------------------------------------------//

#include <unistd.h>
#include "string.h"
#include "io.h"
#include "system.h"
#include "alt_types.h"
#include <stdio.h>
#include "altera_avalon_pio_regs.h"
#include "sys/alt_irq.h"
#include "LCD.h"


void LCD_Init()
{
lcd_write_cmd(LCD_16207_0_BASE,0x38);//初始化LCD
usleep(2000);

lcd_write_cmd(LCD_16207_0_BASE,0x0C);//关显示,光标闪烁方式
usleep(2000);

lcd_write_cmd(LCD_16207_0_BASE,0x01);//清显示
usleep(2000);

lcd_write_cmd(LCD_16207_0_BASE,0x06);//光标迁移方式不许整屏移动
usleep(2000);

lcd_write_cmd(LCD_16207_0_BASE,0x80);//显示光标指示的位置
usleep(2000);

}
//-----------------------------------------------------------------------------------//
void LCD_Show_Text(char* Text)
{
int i;
for(i=0;i<strlen(Text);i++)
{
lcd_write_data(LCD_16207_0_BASE,Text[i]);
usleep(2000);
}
}
//-----------------------------------------------------------------------------------//
void LCD_Line2()//换行
{
lcd_write_cmd(LCD_16207_0_BASE,0xc0);
usleep(2000);
}
//------------------------------main------------------------------------------------//
void main()
{
charText1[16]="NIOS II ON DE2";
charText2[16]=" TIANWEN JLU ";
LCD_Init();
LCD_Show_Text(Text1);
LCD_Line2();
LCD1602显示的三种方式 lcd1602显示程序
LCD_Show_Text(Text2);

return0;
}

2.调用标准函数对LCD编程的方式:利用NIOSII的fprintf标准函数对LCD编程,同样显示上面两行话

#include<unistd.h>
#include<stdio.h>
#include<string.h>
#include<io.h>
#include"system.h"
void main()

{

FILE *lcd;

lcd="fopen"("/dev/lcd_16207_0","w");

fprintf(lcd,"NIOS II ON DE2n");

fprintf(lcd,"TIANWEN JLU");

fclose(lcd);
}

3.使用标准函数控制I/O设备的方式

使用标准输入(stdio)标准输出(stdout)标准错误(stdeer)函数。

#include"stdio.h"
int main()
{
printf("NIOS II ON DE2n");
printf("TIANWEN JLU");
return 0;
}

在编译之前,用右键单击工程,在弹出的"System LibraryProperties",按如下设置:

转载自:http://blog.ednchina.com/tianwen09/246657/Message.aspx

自己在做的过程中,第一种方式能够成功,后面两种却失败了,正在找原因

  

爱华网本文地址 » http://www.aihuau.com/a/25101013/172552.html

更多阅读

获得小米优惠卷的几种方式 小米邀请码获得方式

获得小米优惠卷的几种方式——简介在小米官网成功购机的用户(以支付时间为准)可以到小米官网领取700元优惠券1张,可无条件购买小米网包括手机在内的任何商品,有效期3个月!到小米手机新品发布会现场签到的购票及门票F码用户将会享受到与门

iPhone手机丢了怎么找回的三种方法! iphone5s丢了怎么找回

iPhone手机丢了怎么找回的三种方法!——简介iPhone丢失先不要着急,希望下面的三套找回iPhone方案对你真的有用,就算iPhone无法找回来也能把去向弄的清清楚楚,相信本方案可以提供一些帮助!iPhone手机丢了怎么找回的三种方法!——工具/原料

西湖龙井茶的三种泡法 西湖龙井茶产于

西湖龙井茶的三种泡法——简介西湖龙井茶的泡法和水很有关系,西湖泉水众多,有玉泉、龙井泉、虎跑泉和狮峰泉等,水质以虎跑最优。一般选用无色透明、晶莹剔透的玻璃杯,或青花白瓷茶盏。每杯撮上3克茶叶,加水至茶杯或茶碗的1/5---1/4。水温

怎样办理手机号实名登记的三种方法 台胞证手机号实名登记

怎样办理手机号实名登记的三种方法——简介虽然手机号实名制已经开始了好久,手机实名也在全国范围内实施,新入网用户,现在得必须提供并登记真实身份信息,而现在还是有很多没有实名登记的老用户,有些朋友就会觉得去营业厅办理挺麻烦的,或者

第八讲:HTMLCSS插入样式表的三种方式

暂时了解下CSS,简单点说:CSS就像是外衣,用于设置美化网页外观.最新组合CSS3.0+HTML5,由于版本太新使用必须考虑它兼容性问题.下面演示下:三种方式来插入样式表.第一:外部样式表:<head><linkrel="stylesheet type="text/css" href="mystyl

声明:《LCD1602显示的三种方式 lcd1602显示程序》为网友落花随流水分享!如侵犯到您的合法权益请联系我们删除