最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

AVR单片机(ATmega16)驱动LCD12864显示中文实例

IT圈 admin 22浏览 0评论

2024年10月19日发(作者:张廖念文)

AVR单片机驱动LCD12864显示中文字符实例

AVR单片机驱动LCD12864显示中文字符实例

JCS居士,2019年09月21日

一、说明:

总的来说,Proteus软件中能够仿真的图形LCD驱动器分成三类。

1. Toshiba T6963C Controller,主要有以下型号: LM3228、

LM3229、LM3267、LM3283、LM3287、LM4228、LM4265、LM4267、

LM4283、LM4287、PG12864F、PG24064F、PG128128A、

PG160128A。

2. Sharp SED1520 Controller,主要有以下型号:AGM1232G、

EW12A03GLY、HDM32GS12-B、HDM32GS12Y-B。

3. Sharp SED1565 Controller,主要有以下型号:HDG12864F-1、

HDS12864F-3、HDG12864L-4、HDG12864L-6、NOKIA7110、

TG126410GFSB、TG13650FEY

4. Samsung KS0108 Controller,主要有以下型号:AMPIRE128x64、

LGM12641BS1R。

注意:大家比较关心的ST7920驱动器Proteus里面是没有的,

不要再费尽心思下载什么带中文字库的LCD模型,导入Proteus,

费时费力不讨好!

采用LM3328是一款内置T6963C驱动器的图形液晶显示器,

显示范围为128*64,单色。采用Atmega16单片机,用C语言实

1 / 6

AVR单片机驱动LCD12864显示中文字符实例

现中文显示,是一件特别简单的事情,全部C语言代码仅30余

行。接线及Proteus仿真图、程序均在下文中给出。

二、Proteu软件仿真截图:

三、C语言程序代码:

/*

Chip type : ATmega16

Program type : Application

AVR Core Clock frequency: 8.000000 MHz

Memory model : Small

External RAM size : 0

2 / 6

AVR单片机驱动LCD12864显示中文字符实例

Data Stack size : 256

*/

#include

// Graphic Display functions

#include

extern flash unsigned char HZ16X16[];

extern flash unsigned char EN8X16[];

// Font used for displaying text

// on the graphic display

#include

unsigned char i=0;

void main(void)

{

// Variable used to store graphic display

// controller initialization data

GLCDINIT_t glcd_init_data;

// Graphic Display Controller initialization

// The T6963 connections are specified in the

3 / 6

AVR单片机驱动LCD12864显示中文字符实例

// Project|Configure|C Compiler|Libraries|Graphic Display menu:

// DB0 - PORTA Bit 0

// DB1 - PORTA Bit 1

// DB2 - PORTA Bit 2

// DB3 - PORTA Bit 3

// DB4 - PORTA Bit 4

// DB5 - PORTA Bit 5

// DB6 - PORTA Bit 6

// DB7 - PORTA Bit 7

// C /D - PORTB Bit 0

// /CE - PORTB Bit 1

// /RD - PORTB Bit 2

// /WR - PORTB Bit 3

// /RESET - PORTB Bit 4

// Specify the current font for displaying text

glcd_init_=font5x7;

// No function is used for reading

// image data from external memory

glcd_init_em=NULL;

// No function is used for writing

// image data to external memory

4 / 6

AVR单片机驱动LCD12864显示中文字符实例

glcd_init_mem=NULL;

glcd_init(&glcd_init_data);

glcd_settextjustify(0,0);

while(1)

{

glcd_setfont(HZ16X16);

glcd_moveto(8,0);

for(i=128;i<128+7;i++)

glcd_putchar(i);

glcd_moveto(8,16);

for(i=128+7;i<128+14;i++)

glcd_putchar(i);

glcd_moveto(8,32);

for(i=128+14;i<128+21;i++)

glcd_putchar(i);

glcd_moveto(8,48);

for(i=128+21;i<128+28;i++)

glcd_putchar(i);

glcd_setfont(EN8X16);

glcd_putcharxy(0, 0,'A');

5 / 6

AVR单片机驱动LCD12864显示中文字符实例

glcd_putcharxy(0,16,'b');

glcd_putcharxy(0,32,'C');

glcd_putcharxy(0,48,'d');

glcd_putcharxy(120, 0,'1');

glcd_putcharxy(120,16,'2');

glcd_putcharxy(120,32,'3');

glcd_putcharxy(120,48,'4');

}

}

6 / 6

2024年10月19日发(作者:张廖念文)

AVR单片机驱动LCD12864显示中文字符实例

AVR单片机驱动LCD12864显示中文字符实例

JCS居士,2019年09月21日

一、说明:

总的来说,Proteus软件中能够仿真的图形LCD驱动器分成三类。

1. Toshiba T6963C Controller,主要有以下型号: LM3228、

LM3229、LM3267、LM3283、LM3287、LM4228、LM4265、LM4267、

LM4283、LM4287、PG12864F、PG24064F、PG128128A、

PG160128A。

2. Sharp SED1520 Controller,主要有以下型号:AGM1232G、

EW12A03GLY、HDM32GS12-B、HDM32GS12Y-B。

3. Sharp SED1565 Controller,主要有以下型号:HDG12864F-1、

HDS12864F-3、HDG12864L-4、HDG12864L-6、NOKIA7110、

TG126410GFSB、TG13650FEY

4. Samsung KS0108 Controller,主要有以下型号:AMPIRE128x64、

LGM12641BS1R。

注意:大家比较关心的ST7920驱动器Proteus里面是没有的,

不要再费尽心思下载什么带中文字库的LCD模型,导入Proteus,

费时费力不讨好!

采用LM3328是一款内置T6963C驱动器的图形液晶显示器,

显示范围为128*64,单色。采用Atmega16单片机,用C语言实

1 / 6

AVR单片机驱动LCD12864显示中文字符实例

现中文显示,是一件特别简单的事情,全部C语言代码仅30余

行。接线及Proteus仿真图、程序均在下文中给出。

二、Proteu软件仿真截图:

三、C语言程序代码:

/*

Chip type : ATmega16

Program type : Application

AVR Core Clock frequency: 8.000000 MHz

Memory model : Small

External RAM size : 0

2 / 6

AVR单片机驱动LCD12864显示中文字符实例

Data Stack size : 256

*/

#include

// Graphic Display functions

#include

extern flash unsigned char HZ16X16[];

extern flash unsigned char EN8X16[];

// Font used for displaying text

// on the graphic display

#include

unsigned char i=0;

void main(void)

{

// Variable used to store graphic display

// controller initialization data

GLCDINIT_t glcd_init_data;

// Graphic Display Controller initialization

// The T6963 connections are specified in the

3 / 6

AVR单片机驱动LCD12864显示中文字符实例

// Project|Configure|C Compiler|Libraries|Graphic Display menu:

// DB0 - PORTA Bit 0

// DB1 - PORTA Bit 1

// DB2 - PORTA Bit 2

// DB3 - PORTA Bit 3

// DB4 - PORTA Bit 4

// DB5 - PORTA Bit 5

// DB6 - PORTA Bit 6

// DB7 - PORTA Bit 7

// C /D - PORTB Bit 0

// /CE - PORTB Bit 1

// /RD - PORTB Bit 2

// /WR - PORTB Bit 3

// /RESET - PORTB Bit 4

// Specify the current font for displaying text

glcd_init_=font5x7;

// No function is used for reading

// image data from external memory

glcd_init_em=NULL;

// No function is used for writing

// image data to external memory

4 / 6

AVR单片机驱动LCD12864显示中文字符实例

glcd_init_mem=NULL;

glcd_init(&glcd_init_data);

glcd_settextjustify(0,0);

while(1)

{

glcd_setfont(HZ16X16);

glcd_moveto(8,0);

for(i=128;i<128+7;i++)

glcd_putchar(i);

glcd_moveto(8,16);

for(i=128+7;i<128+14;i++)

glcd_putchar(i);

glcd_moveto(8,32);

for(i=128+14;i<128+21;i++)

glcd_putchar(i);

glcd_moveto(8,48);

for(i=128+21;i<128+28;i++)

glcd_putchar(i);

glcd_setfont(EN8X16);

glcd_putcharxy(0, 0,'A');

5 / 6

AVR单片机驱动LCD12864显示中文字符实例

glcd_putcharxy(0,16,'b');

glcd_putcharxy(0,32,'C');

glcd_putcharxy(0,48,'d');

glcd_putcharxy(120, 0,'1');

glcd_putcharxy(120,16,'2');

glcd_putcharxy(120,32,'3');

glcd_putcharxy(120,48,'4');

}

}

6 / 6

发布评论

评论列表 (0)

  1. 暂无评论