图形点阵LCD液晶模块显示界面的可视化编程方案与实践样本

图形点阵LCD液晶模块显示界面的可视化编程方案与实践样本
图形点阵LCD液晶模块显示界面的可视化编程方案与实践样本

图形点阵LCD液晶模块显示界面的可视化编程方案与实践随着图形点阵LCD液晶显示模块在各行各业的逐步使用, 使得人机界面变得越来越直观, 特别对于国内大多数需要有汉字和图形显示的用户来说, 显示界面的友好与否, 将直接影响到其产品的形象和市场竞争力, 但一般涉及有关图形点阵液晶模块显示界面开发的技术人员由于缺乏经验而往往感到力不从心, 特别当用户的控制电路资源非常缺乏的条件下( 如家用电器) , 图形点阵液晶模块则更是望尘莫及, 而市面上所能见到的仍是那些"不顾客户死活而又自认清高"的传统型液晶显示模块, 虽然其成本已经降到普遍能接受的地步, 但还是因其控制方法的特殊性和复杂性严重阻碍液晶显示器的推广应用。

针对当前的这种状况, 深圳联合电子有限公司开发出一种图形点阵液晶模块, 将LCD所有的底层操作集成于模块内的MCU中, 这样其控制就变得极为容易, 占用户资源最少, 而且所有显示界面的编辑及调试全部在电脑上独立完程, 整个过程一目了然, 极大地方便用户编写显示界面的控制软件, 从而也提高了LCD

液晶显示模块在产品中的附加值。

可视化编程LCD模组技术特性:

1.模块显示点阵数( 分辨率) 128X64, 192X64, 256X64三种可选;

2.内含高速MCU及64KB用户显示资料现场可编程FLASH;

3.标准RS232串行通讯控制, 只占用户两根口线, 小马拉大车成为可能;

4.配备仿真调试软件, 在电脑上独立完成显示界面的编辑, 资料下载, 仿真调试;

5.简单又丰富的控制命令使模块显示的控制易如控制一只LED;

6.用户可随时改写显示资料, 现场编程易如反掌, 显示界面无限升级;

7.模块提供忙信号输出, 以检测模块状态;

用户首先在电脑上完成LCD显示界面的编辑, 资料下载及仿真调试工作, 所配仿真调试软件可使用户方便的进行上述工作, 在硬件上除可视化编程LCD模组之外还配有一块电脑RS232电平转换转接板, 此板负责模块与电脑联接和对模块的供电, 模块与电脑联接图示如下。

图1 模块与电脑的联接

将所配仿真调试软件Visual LCM1.0安装在电脑上(运行附带软盘中INSTALL.BAT), 安装前注意要先将电脑里正在运行且占用串口的程序关闭, 安装完毕屏幕上即出现如下软件主界面:

图2 仿真调试软件主画面

当鼠标移动到某可操作对象上停留一会儿, 就会有相应的操作提示, 建议操作前请先将各功能浏览一遍, 以便先对操作有个感性认识。

在模块与电脑联接之前, 用"图文编辑"将LCD预显示位图画好存档, 注意所作位图必须是黑白的单色位图且需旋转270度, 将画好的位图经过"添加"一一列入"下载位图排序"中, 把模块设为编程模式( JP1选择) 与电脑由RS232转换板相接并通电, 在"串口选择"中选好模块所接串口, 用"状态测试"检查连线和串口号及电源是否正常, 若联机成功, 模块资料下载界面则显示"联机测试OK!", 同时主画面中"下载资料"激活, 点击后电脑将排序列表中的位图按序号由小到大一一下载到模块内FLASH中, 下载时间与列表中位图总和大小成正比, 结束时模块显示"下载资料OK!", 此时将模块断电, 设其为正常模式再加电, 用"状态测试"告电脑模块此时已为正常模式, 经过点击"浏览资料"可在LCD屏上以

点( 00, 00) 为顶点一一观察刚刚下载的所有位图, 且顺序与排序列表中的相同, 也可直接点击排序列表中的位图进行浏览, 所有位图无误后, 可进行LCD显示

界面的仿真调试。

LCD显示界面的生成用六种命令来实现, 在主画面的"发送命令"下边的命令列

表框中罗列出这六种命令的含义及语法规则, 若输入错误的命令将会提示错误

信息, 命令及各参数说明如下:

以下是针对图三以及相应程序的参数定义和说明:

命令格式功能说明 :

1 BMPnxy 在以点( x, y) 为顶点处显示位图n

2 CLR 清除屏上所有显示

3 CLSxywh 清除以点( x, y) 为顶点, 宽w高h的距形

4 INVxywh 反色以点( x, y) 为顶点, 宽w高h的距形

5 SDTxy ( CDTxy) 在点( x, y) 处画点( 在点( x, y) 处灭点)

n 0=x 0=y 0=w 0h 0各参数在128X64LCD显示屏上图示如下:

图3 命令参数在128X64模块显示屏上示意

在主画面的"发送命令"左边的命令输入框中输入正确的命令后点击"发送命令", 此时LCD屏上会有相应的显示动作, 若在调试过程中发现要修改某位图时能够用"图文编辑"

重新修改后按前述步骤再一次下载位图, 直到对显示界面满意为止。

最终要将模块脱离电脑经过模块上的SIO接入用户控制电路中运行, SIO定义如下:

PIN1: 模块背光电极1( LED背光时为负极, EL背光时为交流驱动电极1) ;

PIN2: 模块背光电极2( LED背光时为直流正5伏, EL背光时为交流驱动电极2) ;

PIN3, PIN5: 模块逻辑电源地;

PIN4: 模块逻辑电源直流正5伏;

PIN6: 模块内MCU外部复位, 高有效, 防死机时用;

PIN7: 模块忙信号, 低为忙, 高为闲;

PIN8: 模块显示控制命令串行输入, 通讯协议为(9600,n,8,1),即9600波特率, 无校验位, 8个数据位, 1个停止位。

现举例说明模块如何与单片机AT89C2051接口, 为保证波特率的准确, 建议

AT89C2051用11.0592MHz的晶体, 联接图示如下:

图4 单片机AT89C2051与模块128X64的联接

在编写单片机AT89C2051的控制软件时需注意以下事项:

1.串行口模式设为模式1( 1个起始位, 8个数据位, 1个停止位) ;

2.波特率设为9600( TH1=TL1=0FDH, SMOD=0;TH1=TL1=0FAH, SMOD=1) ; 3.在发送命令之前需检测模块为闲态( PIN7=1) ,否则所发的命令可能失效;

4.串口发送的必须是完整命令的ASCII码, 如命令"BMP0B0C0D", 实际由串口发送的内容是"424D44", 顺序为"B->M->P->0->B->0->C->0->D";

5.在每条命令末尾还要加上命令结束码"0D", 以表明命令结束。

6.若单片机AT89C2051的串口已被占为她用, 那么用一根口线来摸拟生成一个软串口即可。

7.模块SIO接口中PIN6的作用是当模块内MCU由于干扰死机时, 用户控制电路可强行外部复位, 使模块脱离死机状态, 判断模块是否死机可经过向其发送正确的显示命令后, PIN7电平是否有变化来得知, 实际上模块在完成每条命令内部操作后即进入睡眠状态, 死机的机率是极低的。在下面的软件中未考虑死机的情况。

用MCS-51汇编语言编写简单的显示控制源程序如下( 实际运行已经过) :

图形点阵LCD液晶模块显示界面的可视化编程方案与实践

图形点阵LCD液晶模块显示界面的可视化编程方案与实践随着图形点阵LCD液晶显示模块在各行各业的逐步使用,使得人机界面变得越来越直观,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力,但一般涉及有关图形点阵液晶模块显示界面开发的技术人员由于缺乏经验而往往感到力不从心,尤其当用户的控制电路资源非常缺乏的条件下(如家用电器),图形点阵液晶模块则更是望尘莫及,而市面上所能见到的仍是那些"不顾客户死活而又自认清高"的传统型液晶显示模块,虽然其成本已经降到普遍能接受的地步,但还是因其控制方法的特殊性和复杂性严重阻碍液晶显示器的推广应用。 针对目前的这种状况,深圳联合电子有限公司开发出一种图形点阵液晶模块,将LCD所有的底层操作集成于模块内的MCU中,这样其控制就变得极为容易,占用户资源最少,并且所有显示界面的编辑及调试全部在电脑上独立完程,整个过程一目了然,极大地方便用户编写显示界面的控制软件,从而也提高了LCD液晶显示模块在产品中的附加值。 可视化编程LCD模组技术特性: 1.模块显示点阵数(分辨率)128X64,192X64,256X64三种可选; 2.内含高速MCU及64KB用户显示资料现场可编程FLASH; 3.标准RS232串行通讯控制,只占用户两根口线,小马拉大车成为可能; 4.配备仿真调试软件,在电脑上独立完成显示界面的编辑,资料下载,仿真调试; 5.简单又丰富的控制命令使模块显示的控制易如控制一只LED; 6.用户可随时改写显示资料,现场编程易如反掌,显示界面无限升级; 7.模块提供忙信号输出,以检测模块状态; 用户首先在电脑上完成LCD显示界面的编辑,资料下载及仿真调试工作,所配仿真调试软件可使用户方便的进行上述工作,在硬件上除可视化编程LCD模组之外还配有一块电脑RS232电平转换转接板,此板负责模块与电脑联接和对模块的供电,模块与电脑联接图示如下。 图1 模块与电脑的联接

JD19264B图形点阵液晶显示模块使用说明书

JD19264B图形点阵液晶显示模块 使用说明书

目录 (一)概述 (3) (二) 外形尺寸图 (3) (三) 主要硬件构成说明 (4) (四) 引脚说明 (5) (五 )指令说明 (6) (六) 读写操作时序 (7) (七) 读写模块程序 (8)

一、概述 JD19264B是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及192×64全点阵液晶显示器组成。可完成图形显示,也可以显示12×4个(16×16点阵)汉字。 主要技术参数和性能: 1、电源:VDD:+5V; 2、显示内容:192(列)×64(行)点 3、全屏幕点阵 4、七种指令 5、与CPU接口采用8位数据总线并行输入输出和8条控制线 6、占空比1/64 7、工作温度:-20°C∽+70°C,存储温度:-30°C∽+80°C 二、外形尺寸图

三、主要硬件构成说明 IC4为行驱动器。IC1,IC2,IC3为列驱动器。IC1,IC2,IC3,IC4含有以下主要功能器件。了解如下器件有利于对模块编程。 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时,模块为准备状态,随时可接受外部指令和数据。 利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。 4、显示控制触发器DFF 此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DDF的状态是指令DISPLAY ON/OFF和RST信号控制的。 5、XY地址计数器 XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY 地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。 X地址计数器是没有记数功能的,只能用指令设置。 Y地址计数器具有循环计数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

单片机LED点阵显示图形和汉字

本文基于单片机(AT89C51)讲述了16×16 LED汉字点阵显示的基本原理、硬件组成与设计、程序编译与下载等基本环节和相关技术。 2 硬件电路组成及工作原理本产品拟采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16 LED点阵5部分组成,如图1所示。 其中,AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。 时钟电路由AT89C51的18,19脚的时钟端(XTALl及XTAL2)以及12 MHz晶振X1、电容C2,C3组成,采用片内振荡方式。

复位电路采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。 LED点阵显示屏采用16×16共256个象素的点阵,通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布,如图2所示。 我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入89S51单片机,则需要使用32条IO口,这样会造成IO资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74HC154来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO 资源,为单片机系统扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。 汉字扫描显示的基本过程是这样的:通电后由于电阻R1,电容C1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C2,C3,X1以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LCD发光,并利用人眼的视觉暂留特性合成整个汉字的显示。

图形点阵液晶显示模块操作说明

图形点阵液晶显示模块使用手册 FM12864I 深圳市潮丰实业有限公司 深圳市福田区香梅路华泰综合楼西座7楼 邮政编码:518036 电话:3913268 3913228 3922565 传真:3920100

目录 (一)概述 (1) (二) 外形尺寸图 (1) (三) 模块主要硬件构成说明 (2) (四) 模块的外部接口 (3) (五) 指令说明 (3) (六) 读写操作时序 (5) (七) 应用举例 (6)

一.概述 FM12864I是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 主要技术参数和性能: 1.电源:VDD:+5V;模块内自带-10V负压,用于LCD的驱动电压。 2.显示内容:128(列)×64(行)点 3.全屏幕点阵 4.七种指令 5.与CPU接口采用8位数据总线并行输入输出和8条控制线 6.占空比1/64 7.工作温度:-10℃∽+50℃,存储温度:-20℃∽+70℃ 二.外形尺寸图 1.外形尺寸图 2.外形尺寸 表 1 ITEM NOMINAL DIMEN UNIT 模块体积54×50×6.5 mm 视域43.5×29 mm 行列点阵数128×64 dots 点距离0.28×0.35 mm 点大小0.32×0.39 mm

三.模块主要硬件构成说明(结构框图) IC3为行驱动器。IC1,IC2为列驱动器。IC1,IC2,IC3含有以下主要功能器件。了解如下器件有利于对LCD模块之编程。 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时,模块为准备状态,随时可接受外部指令和数据。 利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。4.显示控制触发器DFF 此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY OFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DDF的状态是指令DISPLAY ON/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,指向下一行扫描数据,RST复位后Z地址计数器为0。

16led点阵显示汇编版

课程设计报告 课程《微机原理课程设计》 题目《LED点阵屏应用》 系别物理与电子工程学院 年级 10级专业光电信息工程 班级光电101 学号 0503101(02/28/33/34)学生姓名陈晨、周翔宇、翟付伟、朱易佳 指导教师居伟骏职称讲师 设计时间 2013年3月17日~29日

目录 目录 (1) 一、绪论 (2) 二、选题分析 (3) 2.1题目内容与要求 (3) 2.1.1具体要求: (3) 三、方案设计 (3) 3.1硬件设计 (3) 3.1.1设计所用元件 (3) 3.1.2硬件连接 (6) 3.2软件设计 (6) 3.2.1编程分析与程序框图 (6) 3.2.2 程序代码 (8) 四、结果及分析 (14) 4.1实验结果 (14) 4.2结果分析 (14) 五、总结与体会 (15) 六、参考文献 (16)

一、绪论 微机原理是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。通过对微机原理课本以及实验的学习,我们可以了解包括微型计算机体系结构、汇编语言设计、8086微处理器和指令系统等内容。 作为一门计算机应用专业的一门必修课,微机原理与接口技术对于我们了解计算机内部的工作原理,各部件的作用,各部件间的联系是十分重要的。但是只学习课本知识是远远不够的。所以,我们只有通过真实的接触,实际的操作,才能将理论知识和实际应用联系在一起,真正的将理论实际化。我们知道学习和掌握计算机中常用的接口技术以及设计技术,充分理解理论知识对于应用的指导作用是很重要的,只有这样才能进一步加强理论知识与应用相结合的实践和锻炼。因此,我们开展了这次历时两个星期的课程设计,通过这次设计实践能进一步加深我们对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 本次课程设计主要是为了了解8255芯片的工作原理和相关设计技术,并且通过此次设计,我们对于微型计算机的基本系统结构和软硬件的工作原理会有大体的认识。 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。这不仅丰富巩固了我们在课堂上学的知识,而且还为我们日后步入社会打下了基础。

单片机 点阵显示图形

按键控制8X8LED点阵屏显示图形 /* 名称:按键控制8X8LED点阵屏显示图形 说明:每次按下K1时,会使8X8LED点阵屏循环显示不同图形。 本例同时使用外部中断和定时中断。 */ #include #include #define uchar unsigned char #define uint unsigned int //待显示图形编码 uchar code M[][8]= { {0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00}, //图1 {0x00,0x38,0x44,0x54,0x44,0x38,0x00,0x00}, //图2 {0x00,0x20,0x30,0x38,0x3c,0x3e,0x00,0x00} //图3 }; uchar i,j; //主程序 void main() { P0=0xff; P1=0xff; TMOD=0x01; //T0方式1 TH0=(65536-2000)/256; //2ms定时 TL0=(65536-2000)%256; IT0=1; //下降沿触发 IE=0x83; //允许定时器0、外部0中断 i=0xff; //i的初值设为0xff,加1后将从0开始while(1); } //T0中断控制点阵屏显示 void Show_Dot_Matrix() interrupt 1 { TH0=(65536-2000)/256; //恢复初值 TL0=(65536-2000)%256; P0=0xff; //输出位码和段码 P0=~M[i][j]; P1=_crol_(P1,1); j=(j+1)%8; } //INT0中断(定时器由键盘中断启动) void Key_Down() interrupt 0 {

几种常见的12864图形点阵模块

几种常见的12864图形点阵模块 12864点阵液晶模块分为带汉字库和不带汉字库两大类,目前带汉字库的通常是ST7 920驱动,它可以工作在汉字字符方式和图形点阵方式,很多制作都用它,如果需要显示较多汉字,用它最为方便。 在显示汉字数量很少的场合,我们可以使用更加廉价的、不带字库的点阵液晶模块,这正是本文重点介绍的。它们的控制电路有KS0108和ST7565两种:KS0108很简单,一共只有7条指令,可是它没有串行接口;ST7565有20多条指令(最常用的也就几条),有串行接口,可选串行或并行工作。KS0108和ST7565的指令和上述带字库的ST7920区别较大,所以初学者买液晶时一定要搞清楚是哪种驱动电路。即使同样的驱动电路,不同厂家或者不同型号的产品,具体细节仍可能不同。例如有的片选信号是高电平有效,有的却是低电平有效,有的把显示区分为左右两半分别选取,有的却不加区分。所以使用前要仔细看厂家说明,如果没有,就要看液晶模块背面给出的具体型号,根据这个型号去查找使用手册。 笔者最近在淘宝网上搜寻到一款12864的图形点阵液晶,只有4cm宽、3.5cm高,显示面积为3.2cm宽、1.95cm高,非常小巧。更加难能可贵的是它可以在3V低电压工作,很适合我们制作小型便携装置。该液晶模块型号是SP12864FPD-12CSBE,由北京集粹电子设备公司出品,它的外形见图A。

图A 12864图形点阵液晶模块图B 小小日历钟(文字界面)图C 小小日历钟(图形界面) 图B、图C所示为笔者用它制作的一个小小日历钟,它的特点是具有可以随意转换的文字和图形界面。文字界面除了显示年月日时分秒,在右上角还有一个小鸡啄米的小动画,图形界面用指针在刻度上指示出时分秒,是不是有点新意呢?图D所示是调频收

实验六 点阵LED的图形显示

实验六点阵LED的图形显示 一、实验目的 1.了解点阵的显示原理,掌握数模软件的使用方法。 2.进一步巩固单片机定时和中断原理在C51程序设计中的运用。 二、实验内容 通过对单片机编程来实现LED点阵的图形显示。 三、实验参考原理 3.1 点阵LED的初步认识 点阵LED显示屏作为一种现代电子媒体,具有灵活的显示面积(可分割、任意拼装)、高亮度、长寿命、数字化、实时性等特点,应用非常广泛。 一个数码管是8个LED组成,同理,一个8*8的点阵是由64个LED小灯组成。图3-1就是一个点阵LED最小单元,一个8*8的点阵LED,图3-2是它的内部结构图。 图3-1 8*8点阵LED

3-2 8*8点阵LED结构原理图 点阵LED内部原理图如图3-2所示,图上蓝色方框外侧的就是点阵LED的引脚号,左侧的8个引脚是接的内部LED的阳极,上侧的8个引脚接的是内部LED的阴极。如果9脚是高电平,13脚是低电平的话,最左上角的那个LED小灯就会亮,用程序来实现一下,特别注意,我们现在用的74HC138是原理图上的U4。 #include //包含寄存器的库文件 sbit LED = P0^0; sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR0 = 0; ADDR1 = 0; ADDR2 = 0; ADDR3 = 0; //74HC138开启三极管 LED = 0; //点亮点阵的一个点 while(1); //程序停止在这里

×64点阵式LCD显示屏实验设计报告

自动化专业综合课程设计1 课程设计报告 系别:机电与自动化学院 专业班级:自动化0902 学号: 077 学生姓名:王威 指导教师:李川香 (课程设计时间:2012 年月日——2012年月日) 华中科技大学武昌分校

目录 1 课程设计目的 (2) 2 课程设计题目描述和要求 (2) 3 课程设计报告内容 (2) 系统软、硬件功能设定(分工方案) (2) 系统硬件电路介绍 (2) 3.2.1 系统硬件电路框图 (6) 3.2.2 LCD显示基本原理 (7) 3.2.3 接线方法 (7) 3.2.4 管脚应用说明 (7) 系统软件介绍 (8) 3.3.1 系统软件流程 (9) 3.3.2 读写操作时序 (11) 3.3.3 液晶显示模块指令系统 (13) 3.3.4 指令应用说明 (14) 系统软、硬调试过程 (16) 4.总结 (16) 参考文献 (17) 附录 (18)

1 课程设计目的 通过电路结构选择、控制方式选择、参数计算、器件选型、硬件制作及软件编程调试等训练切实培养学生综合应用知识、正确分析问题、解决问题的能力,特别是实际动手和创新能力,将自动化专业知识进行整合,融会贯通。 2课程设计题目描述和要求 设计题目:LCD显示器显示界面的设计 信息时代各种信息最终都是要通过信息显示来实现人、机交换,而信息的显示依赖于各种显示器件的应用,由于液晶显示器(LCD)具有低工作电压、微功耗、显示灵活、成本低等特点,因此在电子计算器、智能化仪器仪表、手机、掌上电脑等等领域应用极为广泛。 (1)了解128X64液晶显示器的基本结构、电路特性、软件特性、接口应用技术等; (2)在(1)基础上能根据实际工作需要,进行液晶显示界面的任意开发;如:要求每位同学在液晶(LCD)上显示自己的学号(数字)、姓名(中文)等; (3)撰写课程设计说明书。说明书中要求有主程序流程图、关键子程序流程图及应用系统硬件电路图; (4)总结调试过程中出现的问题及解决办法。 3 课程设计报告内容 系统软、硬件功能设定(分工方案) 系统软件使用keil,89C51单片机,硬件则选用12864液晶显示器 系统硬件电路介绍 一﹑概述 带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图

12864中文图形点阵液晶显示模块使用说明书

12864中文/图形点阵液晶显示模块 使用说明书

概述 SMC12864系列中文/图形点阵液晶显示模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。内置2M-位中文字型ROM (CGROM) 总共提供8192 个中文字型(16x16 点阵),16K-位半宽字型ROM (HCGROM) 总共提供126 个符号字型(16x8 点阵),64 x 16-位字型产生RAM (CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示。提供多功能指令:画面清除(Display clear)、光标归位(Return home)、显示打开/关闭(Display on/off)、光标显示/隐藏(Cursor on/off)、显示字符闪烁(Display character blink)、光标移位(Cursor shift)显示移位(Display shift)、垂直画面旋转(Vertical line scroll)、反白显示(By_line reverse display)、待命模式(Standby mode)等。 主要参数: 1、工作电压(VDD):4.8~5.2V 2、逻辑电平:2.7~5.5V 3、LCD驱动电压(V o):0~7V 4、工作温度(Ta):0~55℃(常温)/-20~70℃(宽温) 保存温度(Tstg):-10~65℃(常温)/-30~80℃(宽温) 外形尺寸图

基于51单片机的led点阵显示

项目名称:基于51单片机的LED点阵显示器 目录 一、项目介绍 (2) 1.1 项目背景 1.2 功能介绍 二、电路结构………………………………………3 三、实现模块………………………………5 四、运行程序………………………………………7 一、项目介绍 1.1项目背景 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的

信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。 1.2功能介绍 2本次设计的用单片机控制的显示电路使用比较简单,操作方便。它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。在通电以后,显示屏全亮,随后进入逐字显示状态。按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。按键1、2、3、4分别控制不同的图案。另外,我们可以通k5键来控制字符移动速度的快慢。 ? 二、电路结构 单片机最小系统设计 2.2.1 各部分具体电路 1 单片机的时钟电路 AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

026、点阵式LED简单图形显示技术

26.点阵式LED简单图形显示技术 1.实验任务 在8X8点阵式LED显示“★”、“●”和心形图,通过按键来选择要显示的图形。 2.电路原理图 图4.26.1 3.硬件系统连线 (1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块” 区域中的“DR1-DR8”端口上;

(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块” 区域中的“DC1-DC8”端口上; (3).把“单片机系统”区域中的P2.0/A8端子用导线连接到“独立式键 盘”区域中的SP1端子上; 4.程序设计内容 (1).“★”在8X8LED点阵上显示图如下图所示 1 2 3 4 5 6 7 8 12H,14H,3CH,48H,3CH,14H,12H,00H (2).“●”在8X8LED点阵上显示图如下图所示 1 2 3 4 5 6 7 8 00H,00H,38H,44H,44H,44H,38H,00H (3).心形图在8X8LED点阵上显示图如下图所示 1 2 3 4 5 6 7 8

30H,48H,44H,22H,44H,48H,30H,00H 5.汇编源程序 CNTA EQU 30H COUNT EQU 31H ORG 00H LJMP START ORG 0BH LJMP T0X ORG 30H START: MOV CNTA,#00H MOV COUNT,#00H MOV TMOD,#01H MOV TH0,#(65536-4000) / 256 MOV TL0,#(65536-4000) MOD 256 SETB TR0 SETB ET0 SETB EA WT: JB P2.0,WT MOV R6,#5 MOV R7,#248 D1: DJNZ R7,$ DJNZ R6,D1 JB P2.0,WT INC COUNT MOV A,COUNT CJNE A,#03H,NEXT MOV COUNT,#00H NEXT: JNB P2.0,$ SJMP WT T0X: NOP MOV TH0,#(65536-4000) / 256 MOV TL0,#(65536-4000) MOD 256 MOV DPTR,#TAB

点阵动态显示图形或文字

点阵动态显示图形或文字 P0口输出列数据,P2口输出行数据,本显示为8*8LED点阵显示,显示的图案是个心。请看程序: org 0000h start: loop3: mov r3,#2 mov r4,#0 mov p0,#0ffh loop1: mov r0,#0 lcallxianshi djnz r3,loop1 lcalldey inc r4 mov r3,#2 cjne r4,#17,loop1 sjmp loop3 xianshi:mov r2,#8 mov a,r4 mov r1,a loop4: movdptr,#tabb mov a,r0 movc a,@a+dptr mov p0,a inc r0 movdptr,#taba mov a,r1 movc a,@a+dptr mov p2,a inc r1 lcalldey djnz r2,loop4 mov r1,#0 ret dey: mov r6,#0fh mov r7,#08h pp: djnz r7,$ djnz r6,pp ret delay: mov r5,#0ffh mov r4,#18h ppp: djnz r7,$ djnz r6,ppp

ret taba: db 0ffh,0bdh,0bdh,08h,0bdh,0bdh,0ffh,0ffh,0ffh,0bdh,0bdh,081h,0bdh,0bdh,0ffh,0f fh,0ffh,0bdh,0bdh,081h,0bdh,0bdh,0ffh,0ffh tabb: db 01h,02h,04h,08h,10h,20h,40h,80h end

字模点阵显示图形

基于51单片机的8*8字模点阵显示动态图案的系统设计1.电路图如下: 图1

图2 2.程序设计 #include"reg51.h" void delay(unsigned int n) { unsigned int i; unsigned char j,k; for(i=0;i

P0=(temp<<(4+i)|temp<<(3-i)); P2=0; temp=temp<<1; delay(500); } for(i=0;i<=3;i++) { temp=0x01; P0=(temp<<(7-i)|temp<<(0+i)); P2=0; temp=temp<<1; delay(500); } P2=0xff; P0=0x00; } void tuan6(void) { char i,temp; temp=0xfe; for(i=0;i<=7;i++) { P0=~temp; P2=0x00; temp=temp<<1; delay(500); } temp=0x80; for(i=0;i<=7;i++) { P0=~temp; P2=0x00; temp=temp>>1; delay(500); } P2=0xff; P0=0x00; } void tuan5(void) { unsigned char i,temp;

for(i=0;i<=7;i++) { P0=temp; P2=0x00; temp=temp<<1; delay_ms(500); } temp=0x80; for(i=0;i<=7;i++) { P0=temp; P2=0x00; temp=temp>>1; delay(500); } P2=0xff; P0=0x00; } void tuan4(void) { unsigned char i=0,j=0,k=0; for (;;) { for (i=0;i<=7;i++) { P2=0xff; P0=form4[k][i]; P2=~(0x80>>i); delay(1); } if (j++>=70) { j=0; if(k++>=9) k=0; } if (P1!=0xff) { P2=0xff; P0=0x00; break; } } }

点阵LCD的显示原理(12864)

点阵LCD的显示原理 在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。 那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示: 图1 “A”字模图 而中文的“你”在字模中的记载却如图2所示: 图2 “你”字模图 12864点阵型LCD简介

12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 管脚号管脚名称LEVER 管脚功能描述 1 VSS 0 电源地 2 VDD +5.0V 电源电压 3 V0 - 液晶显示器驱动电压 4 D/I(RS) H/L D/I=“H”,表示DB7∽DB0为显示数据 D/I=“L”,表示DB7∽DB0为显示指令数据 5 R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR或DR 6 E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0 R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 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 CS1 H/L H:选择芯片(右半屏)信号 16 CS2 H/L H:选择芯片(左半屏)信号 17 RET H/L 复位信号,低电平复位 18 VOUT -10V LCD驱动负电压 19 LED+ - LED背光板电源 20 LED- - LED背光板电源 表1:12864LCD的引脚说明 在使用12864LCD前先必须了解以下功能器件才能进行编程。12864内部功能器件及相关功能如下:1. 指令寄存器(IR) IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。 2.数据寄存器(DR) DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。

8X8LED点阵屏显示图形

8X8LED点阵屏显示图形 ◆实验目的: 1.通过单片机学习,掌握解决问题的能力。 2.学习8X8LED点阵屏显示的原理。 3.掌握单片机中断的使用方法。 ◆实验原理 本实验是利用PC上的8*8点阵汉字库,提取后将点阵文件存入ROM,直接利用PC中汉字内码作为单片机系统的编码。并使用外部中断和定时中断,采用74LS373作为地址锁存器。 LED阵列是将多个LED以矩阵方式排列成一个器件,其中各LED的引脚有规律的连接。我们以最常见的8×8单色LED点阵显示器为例。8×8 LED的内部电路结构和外型规格如图1所示: 图1 8×8 LED 点阵LED可分为共阳型和共阴型。每行LED的阳极连接在一起即为行引脚(column),毎列LED的阴极连接在一起即为列引脚(row)。 共阳型:(common anode,简称CA)连接行引脚的是LED的阳极,该矩阵行引脚必须采用高电平扫描,列引脚为低电平信号。如图2所示。 共阴型:(common cathode,简称CC)连接行引脚的是LED的阴极,该矩阵行引脚必须采用低电平扫描,列引脚为高电平信号。如图2所示。

图2 共阴型(左)和共阳型(右) 74LS373作为

2.实验程序 #include #include #define uchar unsigned char #define unit unsigned int //待显示图形编码 uchar code M[][8]= { {0x00,0x38,0x44,0x54,0x44,0x38,0x00,0x00}, //图1 {0x00,0x20,0x30,0x38,0x3c,0x3e,0x00,0x00}, //图2 {0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00}, //图3 {0x3c,0x04,0x04,0x00,0x24,0x2c,0x34,0x24} //图4 }; uchar i,j; void main() { P0=0xff; //输入线设置为1 P1=0xff; TMOD=0x01; //T0方式1 TH0=(65536-2000)/256; //2ms定时 TL0=(65536-2000)%256; IT0=1; //下降沿触发 IE=0x83; //允许定时器T0(ET0=1),外部0中断(EX0=1) i=0xff; //i的初值设为0xff,加1后将从0开始 while(1); } //T0中断控制点阵屏显示 void show_Dot_Matrix()interrupt 1 { TH0=(65536-2000)/256; //恢复初值 TL0=(65536-2000)%256; P0=0xff; //输出位码和断码 P0=~M[i][j]; P1=_crol_(P1,1); j=(j+1)%8; } //INT0 中断(定时器由键盘中断启动) void Key_Down() interrupt 0 { P0=0xff; P1=0x80; j=0; i=(i+1)%4; //i在0,1,2,3中取值,因为只要4个图形 TR0=1; //启动TO }

字符型液晶和图形点阵式液晶的区别

字符型液晶和图形点阵式液晶的区别? 液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件.英文名称叫“LCD Module”,简称“LCM”,中文一般称为“液晶显示模块”。实际上它是一种商品化的部件.根据我国有关国家标准的规定:只有不可拆分的一体化部件才称为“模块”,可拆分的叫作“组件”。所以规范的叫法应称为“液晶显示组件”。但是由于长期以来人们都已习惯称其为“模块”。 从广义上说,凡是由液晶显示器件和集成电路装配在一起的部件都属于“模块”,但实际上我们通常所说的“模块”主要是指点阵液晶显示器件装配的点阵液晶显示模块,特别因为是点阵液晶显示器件产品除某些专用大批量的一些品种(如翻译机、通讯用),生产厂家是直接向用户供应液晶显示器件外,几乎所有通用型点阵液晶显示器件都是加工成模块后才供给用户的,所以很容易形成“液晶模块”就是“点阵液晶模块”的误解。 一、液晶点阵字符模块 它是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件,结构件装配而成的,可以显示数字和西文字符。这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。一般该种模块最少也可以显示8位1行或16位l行以上的字符。这种模块的点阵排列是由5×7、5×8或5×11的一组组像素点阵排列组成的。每组为1位,每位间有一点的间隔,每行间也有一行的间隔,所以不能显示图形,其规格主要如下表所示: 8位 1行;2行 16位 1行;2行;4行 20位 1行;2行;4行

24位 1行;2行;4行 32位 1行;2行;4行 40位 1行;2行;4行 一般在模块控制、驱动器内具有已固化好192个字符字模的字符库CGROM,还具有让用户自定义建立专用字符的随机存储器CGRAM,允许用户建立8个5×8点阵的字符。 二、点阵图形液晶模块 这种模块也是点阵模块的一种,其特点是点阵像素连续排列,行和列在排布中均没有空隔。因此可以显示了连续、完整的图形。由于它也是有X-Y矩阵像素构成的,所以除显示图形外,也可以显示字符。 1.行、列驱动型 这是一种必须外接专用控制器的模块,其模块只装配有通用的行、列驱动器,这种驱动器实际上只有对像素的一般驱动输出端,而输入端一般只有4位以下的数据输入端、移位信号输人端、锁存输人端、交流信号输人端等,如HD44100,IID66100等.此种模块必须外接控制电路,如HD61830,SEDl330等才能与计算机连接.该种模块数量最多,最普遍。虽然需要采用自配控制器,但它也给客户留下了可以自行选择不同控制器的自由.

8乘8点阵显示

/*8X8LED 点阵显示数字 /* 名称:8X8LED 点阵显示数字 /*说明:8X8LED 点阵屏循环显 /*示数字0~9,刷新过程由定时器中 /*断完成。 #include #include #define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits[]= { 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //0 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00, //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, //2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00, //3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00, //4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, //5 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, //6 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00, //7 0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //8 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00 //9 };

uchar i=0,t=0,Num_Index; //主程序 void main() { P3=0x80; Num_Index=0; //从0 开始显示 TMOD=0x00; //T0 方式0 TH0=(8192-2000)/32; //2ms 定时 TL0=(8192-2000)%32; IE=0x82; TR0=1; //启动T0 while(1); } //T0 中断函数 void LED_Screen_Display() interrupt 1 { TH0=(8192-2000)/32; //恢复初值 TL0=(8192-2000)%32; P0=0xff; //输出位码和段码 P0=~Table_of_Digits[Num_Index*8+i]; P3=_crol_(P3,1); if(++i==8) i=0; //每屏一个数字由8 个字节构成if(++t==250) //每个数字刷新显示一段时间

相关文档
最新文档