完整word版lcd12864 课程设计.docx

上传人:b****6 文档编号:5645150 上传时间:2022-12-30 格式:DOCX 页数:16 大小:486.45KB
下载 相关 举报
完整word版lcd12864 课程设计.docx_第1页
第1页 / 共16页
完整word版lcd12864 课程设计.docx_第2页
第2页 / 共16页
完整word版lcd12864 课程设计.docx_第3页
第3页 / 共16页
完整word版lcd12864 课程设计.docx_第4页
第4页 / 共16页
完整word版lcd12864 课程设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

完整word版lcd12864 课程设计.docx

《完整word版lcd12864 课程设计.docx》由会员分享,可在线阅读,更多相关《完整word版lcd12864 课程设计.docx(16页珍藏版)》请在冰豆网上搜索。

完整word版lcd12864 课程设计.docx

完整word版lcd12864课程设计

LCD12864

1.总体设计思路

SMG12864一般用于显示汉字,字符,分辨率不高的bmp图像,可用来显示传感器采集到信息,是单片机和人交换信息的窗口,

2.方案设计

 

3.硬件设计

单片机控制12864的管脚来显示想要的字符和图像,P0用来发送必要的指令和数据,P2口协助P1口给12864写数据,

 

1.指令寄存器(IR)

IR是用于寄存指令码,与数据寄存器数据相对应。

当D/I=0时,在E信号下

降沿的作用下,指令码写入IR。

2.数据寄存器(DR)

DR是用于寄存数据的,与指令寄存器寄存指令相对应。

当D/I=1时,在下降

沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0

数据总线。

DR和DDRAM之间的数据传输是模块内部自动执行的。

3.忙标志:

BF

BF标志提供内部工作情况。

BF=1表示模块在内部操作,此时模块不接受外部

指令和数据。

BF=0时,模块为准备状态,随时可接受外部指令和数据。

利用STATUSREAD指令,可以将BF读到DB7总线,从检验模块之工作状态。

4.显示控制触发器DFF

此触发器是用于模块屏幕显示开和关的控制。

DFF=1为开显示(DISPLAYOFF),

DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。

DDF的状态是指令DISPLAYON/OFF和RST信号控制的。

5.XY地址计数器

XY地址计数器是一个9位计数器。

高3位是X地址计数器,低6位为Y地址

计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM

的页指针,Y地址计数器为DDRAM的Y地址指针。

X地址计数器是没有记数功能的,只能用指令设置。

Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地

址指针从0到63。

6.显示数据RAM(DDRAM)

DDRAM是存储图形显示数据的。

数据为1表示显示选择,数据为0表示显示

非选择。

DDRAM与地址和显示位置的关系见DDRAM地址表(见第6页)。

7.Z地址计数器

Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显

示行扫描同步。

当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,

 

 

4.软件设计

5.总结

这个实验做得很不顺利,遇到的问题很多,主要有三方面,1)看说明书比较纠结,看好几次都不能完全理解,D/I为发送数据,D/I为低时发送指令,是什么意思,何时发送数据何时发送指令,SMG12864内部没有字库要显示汉字时要先取字模,这个是比较麻烦的事。

2)SMG12864内部地址的设置,起始地址的设置可以在初始化时设置也可以在送数据之前设置,X和Y地址是在起始地址上增加的偏移量。

3)调程序时忽略了两个警告,本以为警告是可以忽略的,程序调了两天都没有修改被警告的部分,所以两天时间都没能搞明白是真么回事。

一个小小的警告纠结了我两天,警告最好不要忽略,以免引起不必要的麻烦。

附件

1.硬件资料芯片资料

..\芯片资料\AT89S52.pdf

..\芯片资料\12864.pdf

2.原理图SCH

3.软件源代码

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitRS=P2^4;

sbitR_W=P2^3;

sbitE=P2^2;

sbitCS1=P2^1;

sbitCS2=P2^0;

 

ucharcodedat[]={

/*--调入了一幅图像:

C:

\DocumentsandSettings\Administrator\桌面\55486830_1.bmp--*/

/*--宽度x高度=88x128--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x7E,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x0C,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x01,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x07,0xC0,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x60,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,

0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0x98,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x01,0xFF,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,

0xFC,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x04,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,

0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,

0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,

0x00,0x00,0x02,0x10,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x3C,0xF0,0x00,

0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x01,

0xD0,0x00,0x00,0xFE,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0xD0,0x00,0x03,0xFC,0x80,

0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x00,0x03,0xF0,0x80,0x00,0x00,0x00,0x00,0x00,

0x01,0xF0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,

0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,

0x00,0x00,0x78,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,

0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x0F,0xF2,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x3E,0x00,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,

0x03,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x03,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,

0x80,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x03,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x03,0xF0,0x00,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xC4,0x00,

0x06,0x00,0x20,0x00,0x00,0x00,0x01,0xFC,0x0F,0xFC,0x00,0x0B,0x80,0xF7,0x00,0x00,

0x00,0x00,0xFC,0x1F,0xC4,0x00,0x87,0xC3,0xFC,0x80,0x00,0x00,0x00,0xFF,0x3F,0x84,

0x00,0xDF,0xF5,0xFF,0xC0,0x00,0x00,0x00,0x7F,0x80,0x04,0x00,0x3F,0xFF,0xFF,0x20,

0x00,0xF8,0x00,0x7F,0xE0,0x06,0x00,0x01,0x7F,0xF7,0xE0,0x00,0xFF,0x00,0x3F,0xF8,

0x06,0x00,0x01,0xFF,0xEF,0xD0,0x00,0xFF,0xF0,0x0F,0xFE,0x1E,0x00,0x00,0x01,0xEF,

0xE0,0x00,0xFF,0xFC,0x07,0xFF,0x9F,0x00,0x00,0x00,0xE7,0xE0,0x00,0xFF,0xFF,0x81,

0xFF,0xFF,0xC0,0x00,0x00,0x7F,0xE0,0x00,0xFF,0xFF,0xFC,0x7F,0xFF,0xE0,0x00,0x0F,

0xFF,0xF0,0x00,0xFF,0xFF,0xFF,0xBF,0xFF,0xF0,0x00,0x0F,0xFF,0xFC,0x00,0xFF,0xFF,

0xFF,0xFF,0xFF,0xF8,0x00,0x7F,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,

0x7F,0xFF,0xFB,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x03,0x7F,0xFF,0xFE,0x00,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,

0x0F,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,0xFF,0x80,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0x9F,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,

0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x07,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFE,0x0B,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x33,

0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x05,0xFF,0xFF,0xFF,0x00,0xFF,

0xFC,0x63,0xFF,0xFF,0xF8,0x00,0x3F,0xFF,0xFC,0x00,0xFF,0xF0,0x00,0x1F,0xFF,0xF0,

0x00,0x7F,0xFF,0xD8,0x00,0xFF,0x80,0x01,0xFF,0xFF,0xE0,0x00,0x39,0xEF,0xF0,0x00,

0xFE,0x00,0x07,0xFF,0xFF,0xC0,0x00,0x0B,0xE2,0xC0,0x00,0xFC,0x00,0x0F,0xFF,0xFF,

0x80,0x00,0x07,0xC0,0x00,0x00,0xE0,0x00,0x0F,0xFF,0xDF,0x00,0x00,0x07,0x80,0x00,

0x00,0x00,0x00,0x1F,0xFF,0x1F,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x3F,0xFC,

0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x03,0x80,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,

0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x1F,0xF1,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x03,0xF8,0x3F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,

0xF0,0x1F,0xF1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xC1,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x0F,0xC0,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x3F,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0xD3,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x3F,0xFF,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0xFC,0x00,0x1F,0xF9,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x07,

0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,

0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x00,

0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x20,0x00,0x00,

0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,

0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x3E,0x18,0x00,

0x00,0x00,0x00,0x00,0x03,0x40,0x00,0x00,0xFF,0x98,0x00,0x00,0x00,0x00,0x00,0x07,

0x20,0x00,0x01,0x9F,0xF8,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x02,0x03,0x08,

0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,

0x03,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,

0x07,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,

0x00,0x01,0x80,0x00,0x07,0xFE,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x87,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x02,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0xF8,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0x90,0xC0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE1,0x80,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x3F,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,

 

};

 

voiddelay_1ms(intt)//延时函数延时单位.1ms

{

inti,j;

for(i=0;i

for(j=0;j<12;j++);

}

voidwrite_12864_com_CS1(uintcom)//给左半屏写数据的函数

{

RS=0;

R_W=0;

CS1=1;

CS2=0;

delay_1ms

(1);

E=1;

delay_1ms

(1);

P0=com;

delay_1ms

(1);

E=0;

delay_1ms

(1);

}

voidwrite_12864_com_CS2(ucharcom)//给右半屏写数据的函数

{

RS=0;

R_W=0;

CS1=0;

CS2=1;

delay_1ms

(1);

E=1;

delay_1ms

(1);

P0=com;

delay_1ms

(1);

E=0;

delay_1ms

(1);

}

voidwrite_12864_dat(uchardat)//写指令函数

{

RS=1;

R_W=0;

delay_1ms

(1);

E=1;

delay_1ms

(1);

P0=dat;

delay_1ms

(1);

E=0;

delay_1ms

(1);

}

 

/*voidcontrol_12864_CS1()

{

CS1=1;

CS2=0;

}

voidcontrol_12864_CS2()

{

CS1=0;

CS2=1;

}*/

voiddisplay(ucharpage,ucharline)//从第page行开始显示从line列开始显示设置起始地址

{

uchara,b,c,d;

a=0xb8+(0x07&page);

b=0x40+(0x3f&line);

for(c=0x00;c<8;c++)

{

for(d=0;d<128;d++)

{

switch(d)

{

case0:

{

write_12864_com_CS1(a+7-c);

delay_1ms

(1);

write_12864_com_CS1(b);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1