基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc

上传人:wj 文档编号:6995939 上传时间:2023-05-07 格式:DOC 页数:12 大小:82.50KB
下载 相关 举报
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第1页
第1页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第2页
第2页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第3页
第3页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第4页
第4页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第5页
第5页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第6页
第6页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第7页
第7页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第8页
第8页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第9页
第9页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第10页
第10页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第11页
第11页 / 共12页
基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc

《基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc(12页珍藏版)》请在冰点文库上搜索。

基于proteus的不带字库的12864的仿真程序(带仿真图)Word格式文档下载.doc

sbitcs1=P3^3;

//左屏幕选择,低电平有效

sbitcs2=P3^4;

//右屏幕选择

sbitwr=P3^6;

//读写控制

//sbitbusy=P1^7;

//忙标志

voidSendCommand(ucharcommand);

//写指令

voidWriteData(uchardat);

//写数据

voidLcdDelay(uinttime);

//延时

voidSetOnOff(ucharonoff);

//开关显示

voidClearScreen(ucharscreen);

//清屏

voidSetLine(ucharline);

//置页地址

voidSetColum(ucharcolum);

//置列地址

voidSetStartLine(ucharstartline);

//置显示起始行

voidSelectScreen(ucharscreen);

//选择屏幕

voidShow1616(ucharlin,ucharcolum,uchar*address);

//显示一个汉字

voidInitLcd();

//初始化

voidResetLcd();

voidShow_english(ucharlin,ucharcolum,uchar*address);

constucharcodehzk[]={

/*--文字:

I--*/

/*--宋体12;

此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

--*/

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

c--*/

0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,

a--*/

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,

n--*/

0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,

m--*/

0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,

k--*/

0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,

e--*/

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,

i--*/

0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

t--*/

0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,

--*/

宽x高=16x16--*/

0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

我--*/

/*--楷体_GB231212;

0x00,0x00,0x80,0x90,0xF0,0x48,0x40,0x7F,0xC0,0x20,0x24,0xA8,0x00,0x00,0x00,0x00,

0x08,0x08,0x04,0x14,0x3F,0x02,0x09,0x08,0x05,0x06,0x09,0x10,0x20,0x78,0x00,0x00,

的--*/

0x00,0xC0,0x60,0x50,0x2C,0xE0,0x80,0x40,0xA0,0x38,0x26,0x10,0xF0,0x00,0x00,0x00,

0x00,0x07,0x19,0x09,0x08,0x1F,0x00,0x00,0x00,0x03,0x10,0x20,0x1F,0x00,0x00,0x00,

未--*/

0x00,0x00,0x80,0x80,0x90,0x90,0xFF,0xC8,0x48,0x48,0x40,0x40,0x00,0x00,0x00,0x00,

0x10,0x10,0x08,0x04,0x02,0x01,0x7F,0x00,0x01,0x02,0x04,0x08,0x18,0x10,0x10,0x00,

来--*/

0x00,0x80,0x80,0xA8,0xC8,0x88,0xFF,0x84,0x64,0x54,0x40,0x40,0x00,0x00,0x00,0x00,

0x00,0x10,0x10,0x08,0x04,0x02,0x7F,0x01,0x02,0x04,0x0C,0x08,0x08,0x08,0x08,0x00,

不--*/

0x00,0x00,0x08,0x08,0x08,0x88,0x48,0xE4,0x14,0x8C,0x84,0x04,0x04,0x04,0x00,0x00,

0x00,0x04,0x04,0x02,0x01,0x00,0x00,0x3F,0x00,0x00,0x00,0x01,0x03,0x06,0x00,0x00,

是--*/

0x00,0x00,0x80,0x80,0x82,0x9E,0xAA,0xAA,0xA1,0x5D,0x43,0x40,0x00,0x00,0x00,0x00,

0x20,0x20,0x10,0x08,0x06,0x04,0x08,0x1F,0x12,0x22,0x22,0x20,0x20,0x20,0x20,0x00,

梦--*/

0x00,0x90,0x50,0x30,0xFE,0x28,0x48,0x28,0x18,0xFF,0x14,0x24,0x24,0x40,0x40,0x00,

0x00,0x00,0x40,0x48,0x44,0x26,0x2B,0x12,0x0A,0x06,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

voidmain()

{

uchari,line,colum,j;

uchar*address;

InitLcd();

while

(1)

/*显示第一行*/

/**********************************

下面这段程序用来卷页

**********************************/

/* line=0;

for(j=0;

j<

4;

j++)

{

ClearScreen

(2);

//清屏

line=line+1;

colum=0;

address=hzk;

SetOnOff

(1);

for(i=0;

i<

14;

i++)

{

if(i<

8)

SelectScreen(0);

Show_english(line,colum,address);

address+=16;

colum+=8;

}

elseif(i>

=8)

if(i<

13)

{

SelectScreen

(1);

Show_english(line,colum,address);

}

else

Show1616(line,colum,address);

address+=32;

colum+=16;

}

for(i=0;

i<

50;

i++)//延时

LcdDelay(3000);

}*/

line=1;

//开始从第2页(第9行)开始显示,

//开始从第一列开始显示

//给地址指针赋初值

//显示开,注意:

如果这里设置显示关,显示会出现错误

i++)//设置要显示的字符个数

8) //i<

8时,在左半屏显示(因为每半屏最多只能显示8个英文字符即4个汉字)

SelectScreen(0);

//选择左屏

//显示一个英文字符

//每个英文字符需要16个十六进制数表示

//每个英文字符占8列

=8) //当i>

8时(当然最多只能是16)在右屏显示

13) //本程序第一行前13个字符为英文字符,最后一个字符为中文字符,英文字符和中文字符必须分开显示

else //显示中文字符“!

//每个汉字要用32个16进制表示

//每个汉字占16列

}

/*显示第二行*/

/****显示原理与第一行完全相同,这里不再赘述了****/

line=4;

colum=1;

8;

4)

Show1616(line,colum,address);

address+=32;

colum+=16;

else

SelectScreen

(1);

LcdDelay(30000);

if(colum>

63)

colum=0;

}

延时函数

voidLcdDelay(uinttime)

while(time--);

写指令

voidSendCommand(ucharcommand)

e=1;

wr=0;

rs=0;

databus=command;

e=0;

写数据

voidWriteData(uchardat)

rs=1;

databus=dat;

显示开/关

voidSetOnOff(ucharonoff)

if(onoff==1)

SendCommand(0x3f);

SendCommand(0x3e);

选择页

voidSetLine(ucharline)//12864总共有8页(0~7),每页有8行

line=line&

0x07;

//只取后三位xxxxx111,这3个是要改变位置的数据

line=line|0xb8;

//页设置的固定格式

SendCommand(line);

选择列

voidSetColum(ucharcolum) //12864每半屏有64列(0~63),分为左右2屏

colum=colum&

0x3f;

//xx111111,这个是要改变Y位置的数据

colum=colum|0x40;

//固定格式

SendCommand(colum);

选择起始行

voidSetStartLine(ucharstartline)

startline=startline&

//xx111111,这个是要改变x位置的数据

startline=startline|0xc0;

//11xxxxxx,是起始行设置的固定指令

SendCommand(startline);

选择左右屏0:

左屏,1:

右屏,2:

全屏

voidSelectScreen(ucharscreen)

switch(screen)

case0:

cs1=0;

LcdDelay

(2);

cs2=1;

break;

case1:

cs1=1;

cs2=0;

case2:

}

显示一个汉字

voidShow1616(ucharlin,ucharcolum,uchar*address)

uchari;

SetLine(lin);

SetColum(colum);

16;

WriteData(*address);

address++;

SetLine(lin+1);

显示一个英文字符

voidShow_english(ucharlin,ucharcolum,uchar*address)

清屏

**********************************/

voidClearScreen(ucharscreen)

uchari,j;

SelectScreen(screen);

SetLine(i);

SetColum(0);

for(j=0;

64;

WriteData(0);

12864初始化

voidInitLcd()

// ResetLcd();

SetOnOff(0);

//显示关

ClearScreen(

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2