您的位置 首页 国产IC

1602自定义字符显现摄氏度符号

LCD1602的数据写入及CGRAM的使用1当使能端E由1变为0时,执行写指令,数据被写入。例如,欲写入数据i到DDRAM:voidWDR(uchari){Check

LCD1602的数据写入及CGRAM的运用

1.当使能端E由1变为0时,履行写指令,数据被写入。
例如,欲写入数据i到DDRAM:
void WDR(uchar i)
{
CheckBusy();//检忙
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
Delay();
LCD_DATA=i;//数据输出到界说端口
Delay();
LCD_EN=1;
Delay();
LCD_EN=0;//这一步才开端写入到LCD
Delay();
}
2.CGRAM
1602能存储8个自界说字符,这8个自界说字符存储空间的首地址分别是:0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78。
以0x40来说,它的存储空间如图所示:
假如运用5*7字符的话,那么最左3位和最终一行的数据实际上是没用的,一般置0。假如要自界说一个℃符号,那么先填框,如图(红1白0):
这样咱们就得到每个地址需求写入的数据:
地址:数据
0x40:0x16
0x41:0x09
0x42:0x08
其他类推。将这8个数据写入到对应地址即可。
运用时,先确认显现的方位,例如0X80,然后向DDRAM写入自界说字符的运用代码。0X40-0X78对应为0X00-0X07。
本例中,先写入指令寄存器0X80确认显现方位为榜首行榜首个,然后写入数据寄存器0X00,这样就会在榜首行榜首个方位显现出℃符号。

以下是源程序假如网页格局导致部分字符丢掉请下载c程序源文件:http://www.51hei.com/f/avr1602c.rar
#include
#include
#define u8 uchar unsigned char
#define u16 uchar unsigned int
#define uchar unsigned char
#define uint unsigned int
uchar zi[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00}; //自界说字符摄氏度
#include”1602.h”
#include”18b20.h”
void port_init()
{
PORTA=0xff;
DDRA=0xff;
PORTB=0xff;
DDRB=0xff;
PORTC=0xff;
DDRC=0xff;
PORTD=0xff;
DDRD=0x00;
}
void setzi() //把设定字存入CGRAM
{
uchar i;
writecmd(0x40); //设置榜首个字的开始地址
for(i=0;i<8;i++)
{
writedata(zi[i]);
}
}
void show_temp(uint k)
{
displayonechar(1,1,(k/100)+48);
displayonechar(2,1,(k%100/10)+48);
displayonechar(3,1,.);
displayonechar(4,1,(k%10)+48);
}
void main()
{
uint TT; //显现的温度值
port_init();
delay(1000);
init1602();
displaychar(0,0,”Set zi Test”);
setzi();
displayonechar(5,1,0×00); //0x00表明 0x40地址的值
while(1)
{
TT=read_temper();
show_temp(TT);
}
}
//—————1602.h—————-
#define RS PORTB_Bit0
#define RW PORTB_Bit1
#define EN PORTB_Bit2
#define DATA PORTA
#define busy 0x80
void delay(uint k)
{
uint i,j;
for(i=0;ifor(j=0;j<1140;j++); }
void wait()
{
uchar val;
DATA=0xff;
RS=0;
RW=1;
__no_operation();
__no_operation();
EN=1;
__no_operation();
__no_operation();
DDRA=0x00;
val=PINA;
while(val&busy)
{
val=PINA;
}
EN=0;
DDRA=0xff;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/318362.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部