12864液晶ST7920控制器各种曲线显示仪文档格式.docx

上传人:b****3 文档编号:16362515 上传时间:2022-11-23 格式:DOCX 页数:15 大小:18.35KB
下载 相关 举报
12864液晶ST7920控制器各种曲线显示仪文档格式.docx_第1页
第1页 / 共15页
12864液晶ST7920控制器各种曲线显示仪文档格式.docx_第2页
第2页 / 共15页
12864液晶ST7920控制器各种曲线显示仪文档格式.docx_第3页
第3页 / 共15页
12864液晶ST7920控制器各种曲线显示仪文档格式.docx_第4页
第4页 / 共15页
12864液晶ST7920控制器各种曲线显示仪文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

12864液晶ST7920控制器各种曲线显示仪文档格式.docx

《12864液晶ST7920控制器各种曲线显示仪文档格式.docx》由会员分享,可在线阅读,更多相关《12864液晶ST7920控制器各种曲线显示仪文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

12864液晶ST7920控制器各种曲线显示仪文档格式.docx

/*--宽度x高度=128x64--*/

0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x1D,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x11,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x1D,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x15,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x15,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x05,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x05,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x10,0x04,0x01,0x00,0x40,0x10,0x04,0x01,0x00,0x40,0x10,0x04,0x01,0x00,0x40,

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

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

0x01,0xC0,0x04,0x03,0x80,0xE0,0x28,0x0E,0x03,0x80,0xE0,0x38,0x0E,0x05,0xC0,0x90,

0x01,0x40,0x04,0x00,0x80,0x20,0x28,0x08,0x02,0x00,0x20,0x28,0x0A,0x05,0x40,0x90,

0x01,0x40,0x04,0x03,0x80,0xE0,0x38,0x0E,0x03,0x80,0x20,0x38,0x0E,0x05,0x40,0x90,

0x01,0x40,0x04,0x02,0x00,0x20,0x08,0x02,0x02,0x80,0x20,0x28,0x02,0x05,0x40,0x90,

0x01,0xC0,0x04,0x03,0x80,0xE0,0x08,0x0E,0x03,0x80,0x20,0x38,0x02,0x05,0xC0,0x90,

};

//温度坐标图

voiddelay(uintt)

while(t--);

}

voidmain()

{

ucharp=56;

LCD_Init();

LCD_SET_Disply(1,2,"

曲线显示器"

);

LCD_SET_Disply(3,0,"

制作者:

莫剑辉"

delay(50000);

Clear_DDRAM();

Clear_GDRAM();

//清除GDRAM,消除刚上电时GDRAM数据随机造成的花屏

while

(1)

{

Clear_GDRAM();

//清除显示

Delay_50us

(2);

//延时100us

Picture_Disp(pitch);

for(n=12;

n<

128;

n++)

{

LCD_SET_Dot(n,p);

p--;

if(p<

=0)

{

p=56;

}

delay(50000);

}

}

LCD12864.H文件程序:

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

程序调试员:

调试时间:

2011-3-7

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

#defineucharunsignedchar

#defineuintunsignedint

#defineLCD_DATAP0//数据输出端0~7

sbitLCD_RS=P2^7;

//LCD12864RS端

sbitLCD_RW=P2^6;

//LCD12864RW端

sbitLCD_EN=P2^5;

//LCD12864EN端

延时50us函数

voidDelay_50us(uintc)//误差-0.086805555556us

uchara,b;

for(b=c;

b>

0;

b--)

for(a=20;

a>

a--);

LCD12864液晶测忙函数(读状态)

voidLCD_Busy()

ucharbusy;

do

LCD_EN=0;

//关闭使能端

LCD_RS=0;

//选指令

LCD_RW=1;

//选读

Delay_50us

(1);

//读指令持续时间最小值1500ns

LCD_EN=1;

//拉高,数据开始读入

busy=LCD_DATA;

//读取数据口的数据

//延时50us,保证读取完成

//再次置低,准备下一次工作

}

while(busy&

0x80);

//判断BUSY位是否工作:

1为内部在工作,0为正常状态

LCD12864液晶数据读取函数

ucharRead_Data()

uchartemp;

LCD_Busy();

//测忙

P0=0xff;

//初始化数据端口全部置高

LCD_RW=1;

//选读

LCD_EN=0;

//关闭使能端

LCD_RS=1;

//选数据

Delay_50us

(1);

//读数据持续时间最小值1500ns

LCD_EN=1;

//拉高,数据开始读入

temp=LCD_DATA;

//读取数据口的数据

//延时50us,保证读取完成

//再次置低,准备下一次工作

returntemp;

//将读到的数据返回

LCD12864液晶数据写入函数

voidWrite_Data(uchardat)

LCD_RW=0;

//选写

LCD_DATA=dat;

//把数据送到数据口

//写数据持续时间最小值1500ns

//拉高,数据立马写入

//延时50us,保证写入完成

LCD12864液晶指令写入函数

voidWrite_Com(ucharcom)

LCD_RS=0;

//选指令

LCD_DATA=com;

//把指令送到数据口

//写指令持续时间最小值1500ns

//拉高,指令立马写入

LCD12864液晶任意位置打点函数

voidLCD_SET_Dot(ucharx,uchary)

ucharx_byte,x_bit;

//确定dot在横轴上的哪个字节内的哪个位

uchary_byte,y_bit;

//确定dot在竖轴上的哪个字节内的哪个位

ucharTempH,TempL;

//用来存放读出来的原始数据的高8位和低8位,

//目的是为了避免新的数据点写进去后覆盖掉前面的点

x=x&

0x7f;

//限制横坐标所在范围,为0-127

y=y&

0x3f;

//限制纵坐标所在范围,为0-31(上半屏)0-31(下半屏)

x_byte=x/16;

//确定该dot在哪一个字节

x_bit=x%16;

//确定该dot在哪一个点

y_byte=y/32;

//确定该dot在那个半屏,0:

上半屏1:

下半屏

y_bit=y%32;

//确定该dot在第几行(因为到了下半屏也是从0行开始到31行)

Write_Com(0x34);

//打开扩展指令集,关闭基本功能模式,绘图显示关闭

Write_Com(0x80+y_bit);

//先将光标纵坐标写到指定行

Write_Com(0x80+x_byte+8*y_byte);

//再将光标横坐标写到指定位置,若y_byte为1,则说明大于了31行(从0行算起)

//则需将AC指针写到0x88处即ST7920控制下的第3行

Read_Data();

//当下设定AC地址指令后,若要读取数据需要预先dummyread一次,才会读到正确数据

//第2

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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