新建
上传
首页
助手
最?/div>
资料?/div>
工具

1602

 

自定义字符显示摄氏度符号

 

LCD1602 

的数据写入及

 

CGRAM 

的使?/p>

 

1.

当使能端

 

E 

?/p>

 

1 

变为

 

0 

时,?/p>

 

行写指令,数据被写入。例如,欲写入数?/p>

 

i 

?/p>

 

DDRAM

?/p>

void 

WDR(uchar 

i){ 

CheckBusy();//

检?/p>

 

LCD_RS=1; 

LCD_RW=0; 

LCD_EN=0; 

Delay(); 

LCD_DATA=i;//

数据输出到定义端?/p>

 

Delay(); 

LCD_EN=1; 

Delay(); 

LCD_EN=0;//

这一步才开始写入到

 

LCD 

Delay();}2.CGRAM1602 

能存?/p>

 

8 

个自

 

定义字符,这

 

8 

个自定义字符存储空间的首地址分别是:

 

0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78

。以

 

0x40 

来说,它的存储空间如

 

图所示:如果使用

 

5*7 

字符的话,那么最?/p>

 

3 

位和最后一行的数据实际上是?/p>

 

用的,通常?/p>

 

0

。如果要自定义一?/p>

?/p>

符号,那么先填框,如图(?/p>

 

1 

?/p>

 

0

):

 

这样我们就得到每个地址需要写入的数据:地址:数?/p>

 

0x40:0x160x41:0x090x42:0x08 

其他类推。将?/p>

 

8 

个数据写入到对应地址即可?/p>

 

使用时,先确定显示的位置,例?/p>

 

0X80

,然后向

 

DDRAM 

写入自定义字符的

 

使用代码?/p>

0X40-0X78 

对应?/p>

 

0X00-0X07

。本例中,先写入指令寄存?/p>

 

0X80 

确定显示位置为第一行第一个,然后写入数据寄存?/p>

 

0X00

,这样就会在第一

 

行第一个位置显示出

?/p>

符号。以下是源程序如果网页格式导致部分字符丢失请

 

下载

 

c 

程序源文件:

51hei/f/avr1602c.rar#include 

#include 

#define 

u8 

uchar 

unsigned char#define u16 uchar unsigned int#define uchar unsigned char#define 

uint 

unsigned intuchar zi[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00}; //

自定义字?/p>

 

摄氏?/p>

#include?602.h?include?8b20.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); //

?/p>

 

置第一个字的起始地址

 

for(i=0;i<8;i++) { writedata(zi[i]); }}void show_temp(uint

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

1602

 

自定义字符显示摄氏度符号

 

LCD1602 

的数据写入及

 

CGRAM 

的使?/p>

 

1.

当使能端

 

E 

?/p>

 

1 

变为

 

0 

时,?/p>

 

行写指令,数据被写入。例如,欲写入数?/p>

 

i 

?/p>

 

DDRAM

?/p>

void 

WDR(uchar 

i){ 

CheckBusy();//

检?/p>

 

LCD_RS=1; 

LCD_RW=0; 

LCD_EN=0; 

Delay(); 

LCD_DATA=i;//

数据输出到定义端?/p>

 

Delay(); 

LCD_EN=1; 

Delay(); 

LCD_EN=0;//

这一步才开始写入到

 

LCD 

Delay();}2.CGRAM1602 

能存?/p>

 

8 

个自

 

定义字符,这

 

8 

个自定义字符存储空间的首地址分别是:

 

0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78

。以

 

0x40 

来说,它的存储空间如

 

图所示:如果使用

 

5*7 

字符的话,那么最?/p>

 

3 

位和最后一行的数据实际上是?/p>

 

用的,通常?/p>

 

0

。如果要自定义一?/p>

?/p>

符号,那么先填框,如图(?/p>

 

1 

?/p>

 

0

):

 

这样我们就得到每个地址需要写入的数据:地址:数?/p>

 

0x40:0x160x41:0x090x42:0x08 

其他类推。将?/p>

 

8 

个数据写入到对应地址即可?/p>

 

使用时,先确定显示的位置,例?/p>

 

0X80

,然后向

 

DDRAM 

写入自定义字符的

 

使用代码?/p>

0X40-0X78 

对应?/p>

 

0X00-0X07

。本例中,先写入指令寄存?/p>

 

0X80 

确定显示位置为第一行第一个,然后写入数据寄存?/p>

 

0X00

,这样就会在第一

 

行第一个位置显示出

?/p>

符号。以下是源程序如果网页格式导致部分字符丢失请

 

下载

 

c 

程序源文件:

51hei/f/avr1602c.rar#include 

#include 

#define 

u8 

uchar 

unsigned char#define u16 uchar unsigned int#define uchar unsigned char#define 

uint 

unsigned intuchar zi[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00}; //

自定义字?/p>

 

摄氏?/p>

#include?602.h?include?8b20.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); //

?/p>

 

置第一个字的起始地址

 

for(i=0;i<8;i++) { writedata(zi[i]); }}void show_temp(uint

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

1602

 

自定义字符显示摄氏度符号

 

LCD1602 

的数据写入及

 

CGRAM 

的使?/p>

 

1.

当使能端

 

E 

?/p>

 

1 

变为

 

0 

时,?/p>

 

行写指令,数据被写入。例如,欲写入数?/p>

 

i 

?/p>

 

DDRAM

?/p>

void 

WDR(uchar 

i){ 

CheckBusy();//

检?/p>

 

LCD_RS=1; 

LCD_RW=0; 

LCD_EN=0; 

Delay(); 

LCD_DATA=i;//

数据输出到定义端?/p>

 

Delay(); 

LCD_EN=1; 

Delay(); 

LCD_EN=0;//

这一步才开始写入到

 

LCD 

Delay();}2.CGRAM1602 

能存?/p>

 

8 

个自

 

定义字符,这

 

8 

个自定义字符存储空间的首地址分别是:

 

0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78

。以

 

0x40 

来说,它的存储空间如

 

图所示:如果使用

 

5*7 

字符的话,那么最?/p>

 

3 

位和最后一行的数据实际上是?/p>

 

用的,通常?/p>

 

0

。如果要自定义一?/p>

?/p>

符号,那么先填框,如图(?/p>

 

1 

?/p>

 

0

):

 

这样我们就得到每个地址需要写入的数据:地址:数?/p>

 

0x40:0x160x41:0x090x42:0x08 

其他类推。将?/p>

 

8 

个数据写入到对应地址即可?/p>

 

使用时,先确定显示的位置,例?/p>

 

0X80

,然后向

 

DDRAM 

写入自定义字符的

 

使用代码?/p>

0X40-0X78 

对应?/p>

 

0X00-0X07

。本例中,先写入指令寄存?/p>

 

0X80 

确定显示位置为第一行第一个,然后写入数据寄存?/p>

 

0X00

,这样就会在第一

 

行第一个位置显示出

?/p>

符号。以下是源程序如果网页格式导致部分字符丢失请

 

下载

 

c 

程序源文件:

51hei/f/avr1602c.rar#include 

#include 

#define 

u8 

uchar 

unsigned char#define u16 uchar unsigned int#define uchar unsigned char#define 

uint 

unsigned intuchar zi[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00}; //

自定义字?/p>

 

摄氏?/p>

#include?602.h?include?8b20.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); //

?/p>

 

置第一个字的起始地址

 

for(i=0;i<8;i++) { writedata(zi[i]); }}void show_temp(uint

Ͼλ">
Ͼλ
Ŀ

1602自定义字符显示摄氏度符号 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

1602

 

自定义字符显示摄氏度符号

 

LCD1602 

的数据写入及

 

CGRAM 

的使?/p>

 

1.

当使能端

 

E 

?/p>

 

1 

变为

 

0 

时,?/p>

 

行写指令,数据被写入。例如,欲写入数?/p>

 

i 

?/p>

 

DDRAM

?/p>

void 

WDR(uchar 

i){ 

CheckBusy();//

检?/p>

 

LCD_RS=1; 

LCD_RW=0; 

LCD_EN=0; 

Delay(); 

LCD_DATA=i;//

数据输出到定义端?/p>

 

Delay(); 

LCD_EN=1; 

Delay(); 

LCD_EN=0;//

这一步才开始写入到

 

LCD 

Delay();}2.CGRAM1602 

能存?/p>

 

8 

个自

 

定义字符,这

 

8 

个自定义字符存储空间的首地址分别是:

 

0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78

。以

 

0x40 

来说,它的存储空间如

 

图所示:如果使用

 

5*7 

字符的话,那么最?/p>

 

3 

位和最后一行的数据实际上是?/p>

 

用的,通常?/p>

 

0

。如果要自定义一?/p>

?/p>

符号,那么先填框,如图(?/p>

 

1 

?/p>

 

0

):

 

这样我们就得到每个地址需要写入的数据:地址:数?/p>

 

0x40:0x160x41:0x090x42:0x08 

其他类推。将?/p>

 

8 

个数据写入到对应地址即可?/p>

 

使用时,先确定显示的位置,例?/p>

 

0X80

,然后向

 

DDRAM 

写入自定义字符的

 

使用代码?/p>

0X40-0X78 

对应?/p>

 

0X00-0X07

。本例中,先写入指令寄存?/p>

 

0X80 

确定显示位置为第一行第一个,然后写入数据寄存?/p>

 

0X00

,这样就会在第一

 

行第一个位置显示出

?/p>

符号。以下是源程序如果网页格式导致部分字符丢失请

 

下载

 

c 

程序源文件:

51hei/f/avr1602c.rar#include 

#include 

#define 

u8 

uchar 

unsigned char#define u16 uchar unsigned int#define uchar unsigned char#define 

uint 

unsigned intuchar zi[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00}; //

自定义字?/p>

 

摄氏?/p>

#include?602.h?include?8b20.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); //

?/p>

 

置第一个字的起始地址

 

for(i=0;i<8;i++) { writedata(zi[i]); }}void show_temp(uint



ļ׺.doc޸Ϊ.docĶ

  • Ĵʡ칫ũ幫·Ƹĸʵʩ
  • Ľлѧ½ڴ
  • ͷ˾¼2018579
  • Ӣרҵ - ͼ
  • һ(꼶)²ѧƻ
  • йҵҵ¼2018548
  • ˮʩ
  • й̺̿ͿҪ
  • ڿƻѧʽ
  • MatlabSTKӺ()

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)