12864实验
12864串口测试程序

#include <reg51.h>#include <intrins.h>typedef unsigned char u8;typedef unsigned int u16;typedef unsigned long u32;#define uchar unsigned char#define uint unsigned int#define nop _nop_()#define xtal 11.0592 //11.0592M//==========================================================//函数声明void Delay(uint ms); //延时子程序sfr INT_CLKO = 0x8F;sfr WDT_CONTR = 0xC1; //看门狗sfr P4 = 0xC0;sfr P5 = 0xC8;sfr P6 = 0xE8;sfr P7 = 0xF8;sfr P1M1 = 0x91; //PxM1.n,PxM0.n =00--->Standard, 01--->push-pull sfr P1M0 = 0x92; // =10--->pure input, 11--->open drain sfr P0M1 = 0x93;sfr P0M0 = 0x94;sfr P2M1 = 0x95;sfr P2M0 = 0x96;sfr P3M1 = 0xB1;sfr P3M0 = 0xB2;sfr P4M1 = 0xB3;sfr P4M0 = 0xB4;sfr P5M1 = 0xC9;sfr P5M0 = 0xCA;sfr P6M1 = 0xCB;sfr P6M0 = 0xCC;sfr P7M1 = 0xE1;sfr P7M0 = 0xE2;sfr P1ASF = 0x9D; //只写,模拟输入(AD或LVD)选择sfr ADC_CONTR = 0xBC; //带AD系列sfr AUXR = 0x8E;sbit CS= P4^3; //CS=RSsbit SID = P3^6; //RW=SIDsbit SCLK =P3^4; //E=SCLK//==========================================================/********** 12864LCD引脚定义**********//* sbit CS = P4^3; //4脚--VCC, 片选高电平有效单片LCD使用时可固定高电平RS P4.3 CS = P3^5;sbit SID = P3^6; //5脚,数据WR(SID) P4.5 SID = P3^6;sbit SCLK = P3^4; //6脚,时钟E(CLK) P4.6 SCLK = P3^4;sbit PSB = P3^7; //15脚--GND,低电平时表示用串口驱动,可固定低电平//sbit RESET = P2^5; //LCD复位,LCD模块自带复位电路。
12864液晶显示图片,画点,画任意直线

玩转12864液晶(2)--显示图片,画点,画任意直线本帖被红金龙吸味执行加亮操作(2009-07-04)通过上一篇的实验,相信大家都掌握了显示字符的基本用法。
下面我们来看一下12864液晶更高级的用法。
首先是它的绘图功能。
让我们先来显示一整副的图片吧,也就是128x64大小。
在使用绘图功能时,先要打开扩充指令集,然后再打开绘图功能。
接着就是送数据显示了。
这里我们首先要弄明白ST7920的显示坐标关系。
其显示坐标如下。
从图中可以看出,X方向共有8个字(16个字节)Y方向共有0~31 行分为上下两个屏。
弄懂了之后我们就可以依照此坐标来显示一整屏的图片了。
随便用一个图片的提取转换软件,讲一副126X64大小的图片转换成字节数据,总共字节大小为128*64/8 = 1024个字节。
下面我们来看看这个显示整屏图像的函数void v_Lcd12864DrawPicture_f( unsigned char code *pPicture ){unsigned char i, j, k ;for( i = 0 ; i < 2 ; i++ )//分上下两屏写{for( j = 0 ; j < 32 ; j++ ){v_Lcd12864SendCmd_f( 0x80 + j ) ;//写Y坐标if( i == 0 ) //写X坐标{v_Lcd12864SendCmd_f( 0x80 ) ;}else{v_Lcd12864SendCmd_f( 0x88 ) ;}for( k = 0 ; k < 16 ; k++ ) //写一整行数据{v_Lcd12864SendData_f( *pPicture++ ) ;}}}v_Lcd12864SendCmd_f( 0x30 ) ;}看看效果图片如下:显示一个人的图像下面来看看如何在任意一个位置显示或者是擦除一个点对于12864这种二值显示屏来说,其显示状态无外乎显示和不显示一个点这两种状态。
课程设计12864LCD液晶显示课程设计

12864LCD液晶显示课程设计摘要:本次课程设计应用的液晶显示屏。
⑴掌握单片机与液晶显示器之间接口设计与编程。
⑵利用点阵式液晶显示器显示汉字或图形。
编制程序,建立图像代码,在液晶显示器上显示文字与图形。
简介:概述:128X64LCD液晶显示屏是一种带中文字库,具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:(1)、低电源电压(VDD:+3.0--+5.5V)(2)、显示分辨率:128×64点(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) (4)、内置 128个16×8点阵字符(5)、2MHZ时钟频率(6)、显示方式:STN、半透、正显(7)、驱动方式:1/32DUTY,1/5BIAS (8)、视角方向:6点(9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 (10)、通讯方式:串行、并口可选(11)、内置DC-DC转换电路,无需外加负压(12)、无需片选信号,简化软件设计(13)、工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃模块接口说明:*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
12864图片动画程序

12864液晶从图像到动画在开始之前你必须了解12864液晶的原理,我开始看原理的时候也看不懂,不要紧,我理解,但是你必须看,等你写程序的时候你还是要回头看的。
12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。
每个显示点对应一位二进制数,1表示亮,0表示灭。
存储这些点阵信息的RAM称为显示数据存储器。
要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。
图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。
由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。
芯片的结构一定要清楚!点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。
实际上是用字模来显示一个字符的。
图1 “A”字模图而中文的“你”在字模中如图2所示:图2 .“你”字模图注意:可能这里你就不明白了,我曾经到论坛上问过,为什么上半屏垂直坐标是00——1F,水平坐标水平坐标分别为0X80+(00~07)。
画个图也许你会懂得这样就清楚了,其实只有两行生产的时候把本来右边的部分折到下边就形成了128*64,两个64*64液晶屏的组合。
图片显示芯片结构分块与汉字显示不一样图象显示过程是这样的:首先设置垂直地址,再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址,然后在每个地址里写入16位数据)。
绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。
GDRAM的坐标地址与资料排列顺序如图5:分上下屏写入。
LCD12864详解

12864液晶一、概述带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:低电源电压(VDD:+3.0--+5.5V)显示分辨率:128×64点内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)内置 128个16×8点阵字符2MHZ时钟频率显示方式:STN、半透、正显驱动方式:1/32DUTY,1/5BIAS视角方向:6点背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10通讯方式:串行、并口可选内置DC-DC转换电路,无需外加负压无需片选信号,简化软件设计工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃模块接口说明:*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.2并行接口管脚号管脚名称电平管脚功能描述1 VSS 0V 电源地2 VCC 3.0+5V 电源正3 V0 - 对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5R/W(SID) H/L R/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR6 E(SCLK) H/L 使能信号7 DB0 H/L 三态数据线8 DB1 H/L 三态数据线9 DB2 H/L 三态数据线10 DB3 H/L 三态数据线11 DB4 H/L 三态数据线12 DB5 H/L 三态数据线13 DB6 H/L 三态数据线14 DB7 H/L 三态数据线15 PSB H/L H:8位或4位并口方式,L:串口方式(见注释1)16 NC - 空脚17 /RESET H/L 复位端,低电平有效(见注释2)18 VOUT - LCD驱动电压输出端19 A VDD 背光源正端(+5V)(见注释3)20 K VSS 背光源负端(见注释3)*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
12864显示程序实例

/* 合肥工业大学HFUT邮编:2330011地址:屯溪路193号*/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit rs=P0^4;sbit e=P0^5;sbit rw=P0^6;sbit psb=P0^7;uchar num[]="合肥工业大学";uchar num1[]="邮编";uchar num2[]="地址屯溪路0193号";void delay(uint x)//延时x毫秒{uchar i;while(x--)for(i=0;i<110;i++);}void com(uchar com)//写指令{rs=0;//rs=0:MPU进行读模块操作时,指向地址寄存器;当MPU进行写模块操作时,指向指令寄存器rw=0;//写操作P2=com;delay(5);e=1;//使能信号,高电平有效delay(5);e=0;//把数据锁存}void dat(uchar dat)//写数据{rs=1;//rs=1:无论MPU读/写操作,均指向数据寄存器rw=0;P2=dat;delay(5);e=1;delay(5);e=0;//把数据锁存}void init()//初始化液晶{com(0x01); //清屏com(0x30); //功能设置。
8字节界面,基本指令集。
(0011 x0xx)com(0x0c); //显示设置。
整体显示,光标不显示,光标不反向。
(0000 1110)com(0x06); //输入方式设置。
光标右移,地址位加1;整体右移。
(0000 0110)com(0x14); //光标右移。
}void disp(){uchar i;com(0x81);for(i=0;i<12;i++){dat(num[i]);delay(4);}}void disp1(){com(0x93);dat(0x48);dat(0x46);dat(0x55);dat(0x54);}void disp2(){uchar i;com(0x88);for(i=0;i<4;i++){dat(num1[i]);}com(0x8A);dat(0x32);dat(0x33);dat(0x30);dat(0x30);dat(0x31);dat(0x31);}void disp3(){uchar i;com(0x98);for(i=0;i<16;i++){dat(num2[i]);}}void main(){init();disp();disp1();disp2();disp3(); while(1); }。
12864程序实例三篇

12864程序实例三篇篇一:不带字库12864程序实例/******************************************************************* **************************///程序部分开始///******************************************************************* **************************//头文件定义///******************************************************************* **************************/#include<reg52.h>//包含头文件#include<string.h>//用于指针/******************************************************************* **************************//接口定义///******************************************************************* **************************/#defineLCM12864_DB7_DB0P0//定义LCM12864的数据总线sbitLCM12864_RS=P2^3;//定义LCM12864的RS控制线sbitLCM12864_RW=P2^4;//定义LCM12864的RW控制线sbitLCM12864_E=P2^2;//定义LCM12864的E控制线sbitLCM12864_CS1=P2^7;//定义LCM12864的CS1控制线sbitLCM12864_CS2=P2^6;//定义LCM12864的CS2控制线sbitLCM12864_RESET=P2^5;//定义LCM12864的RESET控制线sbitLCM12864_LEDK=P2^0;//定义LCM12864的LEDK(BLK)控制线/******************************************************************* **************************//数据定义//定义LCM12864的命令字/******************************************************************* **************************/#defineLCM12864_DISP_ON0x3f//打开LCM12864显示#defineLCM12864_DISP_OFF0x3e//关闭LCM12864显示#defineLCM12864_START_ROW0xc0//显示起始行0,可以用LCM12864_START_ROW+x设置起始行。
12864课程设计

12864课程设计一、教学目标本课程的教学目标是使学生掌握12864显示模块的基本原理和操作方法,能够独立完成简单显示内容的编程和显示。
具体包括:1.知识目标:使学生了解12864显示模块的内部结构、工作原理和接口协议,掌握其在嵌入式系统中的应用。
2.技能目标:培养学生能够使用编程语言进行12864显示模块的驱动程序编写,实现基本显示功能。
3.情感态度价值观目标:培养学生对嵌入式系统的兴趣,提高学生动手实践能力,培养学生的创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.12864显示模块的内部结构和工作原理:介绍12864显示模块的组成部分,如显示缓冲区、控制逻辑等,以及其工作原理。
2.12864显示模块的接口协议:讲解12864显示模块与微控制器之间的接口协议,如数据线、时序等。
3.12864显示模块的编程方法:介绍如何使用编程语言编写12864显示模块的驱动程序,实现字符、图形等的显示。
4.12864显示模块在嵌入式系统中的应用:讲解12864显示模块在嵌入式系统中的应用实例,如液晶显示屏、触摸屏等。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法:1.讲授法:用于讲解12864显示模块的基本原理、接口协议和编程方法。
2.讨论法:用于引导学生探讨12864显示模块在实际应用中的问题和解决方案。
3.案例分析法:通过分析具体的嵌入式系统应用案例,使学生更好地理解12864显示模块的应用。
4.实验法:安排实验课程,让学生动手实践,巩固所学知识,提高实际操作能力。
四、教学资源本课程所需教学资源包括:1.教材:选用权威、实用的教材,详细介绍12864显示模块的相关知识。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作PPT、视频等多媒体教学资料,提高课堂教学效果。
4.实验设备:准备12864显示模块实验板和相关调试工具,方便学生进行实验操作。