2×20串行字符液晶显示
常见液晶驱动芯片详解

因此各位朋友在选择LCD液晶模块的时候,在考虑到串行,还是并行的方式时,可根据其驱动控制IC的型号来判别,当然你还需要看你选择的LCD模块引脚定义是固定支持并行,还是可选择并行或串行的方式。
一、字符型LCD驱动控制IC市场上通用的8×1、8×2、16×1、16×2、16×4、20×2、20×4、40×4等字符型LCD,基本上都采用的KS0066作为LCD的驱动控制器二、图形点阵型LCD驱动控制IC1、点阵数122×32--SED15202、点阵数128×64(1)ST7920/ST7921,支持串行或并行数据操作方式,内置中文汉字库(2)KS0108,只支持并行数据操作方式,这个也是最通用的12864点阵液晶的驱动控制IC(3)ST7565P,支持串行或并行数据操作方式(4)S6B0724,支持串行或并行数据操作方式(5)T6963C,只支持并行数据操作方式3、其他点阵数如192×64、240×64、320×64、240×128的一般都是采用T6963c驱动控制芯片4、点阵数320×240,通用的采用RA8835驱动控制IC这里列举的只是一些常用的,当然还有其他LCD驱动控制IC,在写LCD驱动时要清楚是哪个型号的IC,再到网上去寻找对应的IC数据手册吧。
后面我将慢慢补上其它一些常见的.三 12864液晶的奥秘CD1601/1602和LCD12864都是通常使用的液晶,有人以为12864是一个统一的编号,主要是12864的液晶驱动都是一样的,其实12864只是表示液晶的点阵是128*64点阵,而实际的12864有带字库的,也有不带字库的;有5V电压的,也有~5V(内置升压电路);归根到底的区别在于驱动控制芯片,常用的控制芯片有ST7920、KS0108、T6963C等等。
智能串口显示终端产品数据手册说明书

ZTM480272S43-0xxx智能串口显示终端广州周立功单片机发展有限公司1. 概述广州周立功单片机发展有限公司针对TFT应用需求而开发的智能显示终端系列产品,集成TFT控制器,具有软硬件设计简单、高性能及高可靠性等特点,为8位、16位及32位MCU的GUI设计提供了良好的解决方案。
用户系统只需要通过串口与显示终端进行通信,给终端发送相关的操作指令,即可实现与windows相媲美的人机界面。
ZTM480272S43系列串口屏拥有宽屏幕、高亮度、低功耗的优越性能,且使用简单,操作方便,是显示屏终端的最佳选择之一。
ZTM480272S43系列串口屏集成了4.3寸触摸真彩屏、简易串口指令控制功能于一身,内置中英字库,支持大容量存储图片数据,为用户提供更为多样性、实用性的显示终端平台。
产品实物如图1.1和图1.2所示。
图1.1 产品实物——正面图1.2 产品实物——背面1.1 产品特点z串行接口通信,完成显示屏终端操作控制;z显示屏终端供电电压范围为4.5V~6.5V;z工作温度范围可达-20℃~+70℃;z65K真彩色TFT液晶屏显示;z40MB字库存储空间,内置8个中英标准字库,并可扩展用户字库;z大容量存储图片数据空间,最多可以管理65535张图片;z支持触摸操作控制;[1]z支持矩阵键盘操作控制;[2]z支持实时时钟,万年历功能;[3]z支持背光亮度,背光亮度可以软件调节100级;z图形界面显示操作,上位机完成图形开发;z兼容多种控制器操作控制,只需串口通信即可,如8051,A VR,ARM7,Cortex-M0/M3,ARM9等;z下载速度最高可达800000bps,出厂默认设置为115200bps。
注:[1] 扩展功能具有TP功能的串口屏才支持扩展触摸功能;[2] 扩展功能具有KB功能的串口屏才支持扩展键盘功能;[3] 扩展功能具有RTC功能的串口屏才支持扩展实时时钟功能。
1.2 产品使用说明详细使用说明请参考《智能串口显示终端指令集》。
基于STC89C52单片机的简易数字电压表设计【毕业设计

存档编号华北水利水电大学North China University of Water Resources and Electric Power 毕业设计题目基于单片机的数字电压表设计学院信息工程学院专业通信工程姓名学号 200912303指导教师完成时间 2013年5月20日教务处制目录摘要 (I)Abstract (II)绪论...................................................................................................................... I II 一设计背景................................................................................................ I II 二设计意义. (V)第一章数字电压表 (1)1.1 数字电压表的优点 (1)1.2 数字电压表发展趋势 (1)1.3 设计平台 (2)1.3.1 KEIL C51开发平台 (2)1.3.2 Proteus 7 Professional设计软件 (2)第二章总体设计方案 (4)2.1数字电压设计的两种方案 (4)2.1.1 由数字电路及芯片构建 (4)2.1.2 由单片机系统及A/D 转换芯片构建 (4)2.2 设计要求 (5)2.3 技术要求 (5)2.4 设计方案 (5)第三章硬件简介 (7)3.1 本设计单片机的选择 (7)3.1.1常用单片机的特点比较 (7)3.1.2 单片机的选择 (7)3.1.3 STC89C52单片机介绍 (8)3.2 本设计显示器件选择 (13)3.2.1 常用显示器件简介 (13)3.2.2 显示器件的选择 (14)3.2.3 1602字符型LCD简介 (14)3.3A/D芯片 (19)3.3.1常用的A/D芯片 (19)3.3.2 ADC0809芯片 (20)第四章接口电路 (23)4.1 显示电路 (23)4.2 ADC0809与单片机接口电路 (23)第五章硬件电路系统模块设计 (25)5.1 总电路模块 (25)5.2 硬件系统电路简介 (25)第六章系统软件设计 (26)6.1 主程序 (26)6.2 A/D转换子程序 (26)6.3 显示子程序 (27)第七章调试及性能分析 (28)7.1 调试与测试 (28)7.2 性能分析 (28)总结 (30)参考文献 (31)致谢 (33)附录 (34)附录I(外文翻译) (34)外文译文 (44)附录II(任务书) (52)附录III(开题报告) (54)附录IV(图表) (57)I Proteus仿真图 (57)II 硬件总电路图 (58)III 实物图 (59)附录V(程序清单) (60)摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。
数字显示器实验报告

一、实验目的1. 了解数字显示器的基本原理和分类。
2. 掌握数字显示器的设计方法和应用。
3. 学会使用数码管和LCD显示器进行数字显示。
4. 提高动手实践能力和问题解决能力。
二、实验内容1. 数码管显示实验2. LCD显示器显示实验三、实验原理1. 数码管显示原理:数码管是一种半导体发光器件,由若干个发光二极管(LED)组成,每个LED代表一个数码管的笔画。
通过控制LED的亮灭,可以显示不同的数字和字符。
2. LCD显示器显示原理:LCD显示器是一种液晶显示器,通过液晶分子的旋转控制光的透过与阻挡,实现图像的显示。
LCD显示器主要由液晶面板、背光源、偏振片、驱动电路等组成。
四、实验步骤1. 数码管显示实验(1)搭建电路:将数码管与AT89C51单片机连接,连接方式包括共阴极和共阳极两种。
(2)编写程序:使用C语言编写程序,实现数码管显示数字和字符。
(3)调试程序:使用Keil软件对程序进行编译和调试,观察数码管显示效果。
2. LCD显示器显示实验(1)搭建电路:将LCD显示器与AT89C51单片机连接,连接方式包括并行和串行两种。
(2)编写程序:使用C语言编写程序,实现LCD显示器显示数字和字符。
(3)调试程序:使用Keil软件对程序进行编译和调试,观察LCD显示器显示效果。
五、实验结果与分析1. 数码管显示实验结果:通过编写程序,数码管能够显示数字和字符,实现了实验目的。
2. LCD显示器显示实验结果:通过编写程序,LCD显示器能够显示数字和字符,实现了实验目的。
3. 分析:(1)数码管显示实验:在实验过程中,发现数码管的共阴极和共阳极连接方式不同,需要根据实际连接方式编写程序。
此外,为了提高显示效果,需要对数码管进行动态扫描显示。
(2)LCD显示器显示实验:在实验过程中,发现LCD显示器的并行和串行连接方式不同,需要根据实际连接方式编写程序。
此外,为了提高显示效果,需要对LCD显示器进行初始化和设置显示模式。
J12864 液晶模块使用说明书

技术QQ:1035715441非常感谢您使用我们的产品,我们竭诚为您提供服务J12864中文字库注释:(1)模组背部自带3*3 10K硬封可调电位器VR1,可以调到理想对比度(默认5V出厂已经调试好,也可自行再次调节,电位器为微调,请尽量小心调试)(2)LED背光极性可调,JP4为液晶背光正负反接处(3)模组自带原装三星正品防静电电容,抗干扰性更强C6 C7 C8(4)串并口可通过两种方式调节1种PSB接口控制2 种JP2短路到P为并口短路到S为串口(5)自改3.3V可通过JP3调节,默认接+级为5V,接-为3.3V,然后C4 C5加极性电容即可型号为106A或者104A,背光电阻33欧改成3.3欧技术QQ:1035715441一、液晶显示模块概述J12864中文汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:电源:VDD 3.3V~+5V(内置升压电路,无需负压);显示内容:128列× 64行显示颜色:黄绿/蓝屏显示角度:6:00钟直视LCD类型:STN与MCU接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等二、外形尺寸外观尺寸:93×70×12.5mm 视域尺寸:73×39mm外形尺寸图外形尺寸技术QQ:1035715441ITEM NOMINAL DIMEN UNIT模块体积93×70×12.5 mm视域73.0×39.0 mm行列点阵数128×64 dots点距离0.52×0.52 mm点大小0.48×0.48 mm二、模块引脚说明128X64HZ 引脚说明引脚号引脚名称方向功能说明1 GND - 模块的电源地2 VCC - 模块的电源正端3 V0 - LCD驱动电压输入端4 RS(CS)H/L 数据选择信号/并行的指令;串行的片选信号5 R/W(SID)H/L 并行的读写选择信号;串行的数据口6 E(CLK)H/L 并行的使能信号;串行的同步时钟7 DB0 H/L 数据08 DB1 H/L 数据19 DB2 H/L 数据210 DB3 H/L 数据311 DB4 H/L 数据412 DB5 H/L 数据513 DB6 H/L 数据614 DB7 H/L 数据715 PSB H/L 并/串行接口选择:H-并行;L-串行16 NC 空脚17 /RST H/L 复位低电平有效18 VOUT 倍压输出脚(VDD=+3.3V有效)19 LED_A (LED+5V)背光源正极20 LED_K (LED-OV)背光源负极逻辑工作电压(VDD):4.5~5.5V电源地(GND):0V工作温度(Ta):-10℃~60℃(常温) / -20℃~70℃(宽温)技术QQ:1035715441三、接口时序模块有并行和串行两种连接方法(时序如下):8位并行连接时序图MPU写资料到模块MPU从模块读出资料2、串行连接时序图技术QQ:1035715441串行数据传送共分三个字节完成:第一字节:串口控制—格式11111ABCA为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCDB为数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位—格式DDDD0000第三字节:(并行)8位数据的低4位—格式0000DDDD串行接口时序参数:(测试条件:T=25℃VDD=4.5V)技术QQ :1035715441四、用户指令集 1、指令表1:(RE=0:基本指令集)指令码指令R SR W DB 7DB 6DB 5DB 4DB 3DB 2DB 1DB 0说明执行时间(540KHZ ) 清除显示0 0 0 0 0 0 0 0 0 1将DDRAM 填满“20H ”,并且设定DDRAM 的地址计数器(AC )到“00H ”4.6ms地址归位0 0 0 0 0 0 0 0 1 X设定DDRAM 的地址计数器(AC )到“00H ”,并且将游标移到开头原点位置;这个指令并不改变DDRAM 的内容 4.6ms进入点设定 00 0 0 0 0 0 1 I/D S指定在资料的读取与写入时,设定游标移动方向及指定显示的移位72us 显示状态 开/关 0 0 0 0 0 0 1 D C B D=1:整体显示ON C=1:游标ON B=1:游标位置ON72us游标或01S/R/XX设定游标的移动与显示的移位72us技术QQ:1035715441显示移位控制C L 控制位元;这个指令并不改变DDRAM的内容功能设定0 0 0 0 1 DL XREX XDL=1 (必须设为1)RE=1:扩充指令集动作RE=0:基本指令集动作72us设定CGRA M地址0 0 0 1AC5AC4AC3AC2AC1AC设定CGRAM地址到地址计数器(AC)72us设定DDRA M地址0 0 1AC6AC5AC4AC3AC2AC1AC设定DDRAM地址到地址计数器(AC)72us读取忙碌标志(BF)和地址0 1 BFAC6AC5AC4AC3AC2AC1AC读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值0us写资料到RAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)72us读出RAM 的值1 1 D7 D6 D5 D4 D3 D2 D1 D0从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)72us指令表—2:(RE=1:扩充指令集)指令码指令RS RWDB7DB6DB5DB4DB3DB2DB1DB说明执行时间(540KHZ)待命模式0 0 0 0 0 0 0 0 0 1将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”72us卷动地址或IRAM地址选择0 0 0 0 0 0 0 0 1 SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM地址72us反白选择0 0 0 0 0 0 0 1 R1 R0选择4行中的任一行作反白显示,并可决定反白与否72us技术QQ:1035715441睡眠模式0 0 0 0 0 0 1 SL X XSL=1:脱离睡眠模式SL=0:进入睡眠模式72us扩充功能设定0 0 0 0 1 1 X1REG 0RE=1:扩充指令集动作RE=0:基本指令集动作G=1 :绘图显示ONG=0 :绘图显示OFF72us设定IRAM地址或卷动地址0 0 0 1AC5AC4AC3AC2AC1AC0SR=1:AC5—AC0为垂直卷动地址SR=0:AC3—AC0为ICON IRAM地址72us设定绘图RAM 地址0 0 1AC6AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)72us备注:1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
施耐德HMI产品选型指南

3
人机界面
Magelis 一款满足您多方面应用需求的全面的人机界面产品。
小型显示终端 高级图形终端 工业用计算机
配置软件
文本屏和半图形屏
Magelis XBT N/R/RT
小型面板 亮剑系列面板 高级面板 人机界面控制器
平板电脑
箱式工控机 上架式工控机 工业触摸显示器
Vijeo Designer Lite Vijeo Designer
上架式工控机 上架式工控机 ............................................................................................................................................. 33
高级面板 Magelis GTO/XBT GT/XBT GK/XBT GTW/XBT GH .....................................................................6-11 附件 ................................................................................................................................................................ 12
用于 Magelis STO/STU、XBT GT、GK、GTW、GH、Magelis 工控机 (平板电脑、箱式工控机和上架式工控机)
Vijeo Designer ............................................................................................................................................41
触摸屏及其应用

报警 模式
报警记录(历史) 报警总计(频率) 清除记录 画面清单
测试 模式
数据文件 调试操作 通信监视 设定时间开关 数据传送
其它 模式
打印输出 密码 环境设置
承德技师学院电气工程系
韩志民
触摸屏及其应用 5.1.5 触摸屏的操作和系统设置
1.启动 启动是指从打开GOT电源到选择相应模式的过程,GOT启动流程如图5—6所示。
如图5—5所示为GOT与PLC的连接,图5—5a为GOT与FX1、FX2、FX2c、 A型PLC的连接示意;图5—5b为GOT与FXo、FX0s、FXon、FX2N、FX2Nc型 PLC的连接示意。①为MT4300C, ②为电缆FX-40DU-CAB(3 m)或FX 一40DU-CAB-10M(10 m),③为 FX-50DU—CAB(3 m),FX一 50DU—CABO(3 m)或FX一50DU— CABO一10M(1 m),FX一50DU— CABO(10m),FX一50DU—CABO 一20M(20m),FX一50DU— CABO(30 m),④为FX1、FX2、 FX2c系列PLC,⑤为A系列PLC, ⑥为FXo、FX0S、FX0N、FX2N、 FX2nc系列PLC。
承德技师学院电气工程系
韩志民
触摸屏及其应用 5.1.4 GOT触摸屏的功能模式
GOT触摸屏有6种模式,操作人员可以通过选择相应模式使用其各个功能。模 式及对应的功能见表5—3。 表5-3模式GOT触摸屏模式及对应功能
功能 字符显示 绘图 灯显示 图形显示 显示字母和数字 显示直线、圆或长方形等图形 屏幕上指定区域以指示灯的形式,根据PLC中位元件的ON/OFF状态进行切换显示 可以以棒图、线形图和仪表面板的形式显示PLC中字元件的设定值和当前值 可以以数字的形式显示PLC中字元件的设定值和当前值 可以改变PLC中字元件的设定值和当前值 功能概要
12864串行显示(字符、字符串)

12864串行显示(字符、字符串)/************************************************************** ******* 文件名:串行12864显示.c* 描述 : 该程序实现了12864以串行的方式进行通信。
液晶上的R9。
R10决定液晶的串行或者并行通讯方式。
液晶上的PSB已经拉为高电平。
如果使用串行,需要取掉R9。
* 创建人:* 版本号:*************************************************************** ********/#include#include#define uchar unsigned char#define uint unsigned intsbit CS=P2^5; //片选信号sbit SID=P2^6; //数据信号sbit SCLK=P2^7; //时钟信号sbit RST=P2^2; //复位信号sbit CH = P2^4; //并行、串行选择信号/************************************************************** ******* 名称 : delay()* 功能 : 延时,延时时间为 100us * t。
这是通过软件延时,有一定误差。
* 输入 : t* 输出 : 无*************************************************************** ********/void delay(unsigned int t){unsigned int i,j;for(i=0; ifor(j=0; j<10; j++);}/************************************************************** ******* 名称 : sendbyte()* 功能 : 按照液晶的串口通信协议,发送数据* 输入 : zdata* 输出 : 无*************************************************************** ********/void sendbyte(unsigned char zdata){unsigned int i;for(i=0; i<8; i++){if((zdata << i) & 0x80){SID = 1;}else{SID = 0;}SCLK = 0;SCLK = 1;}}/************************************************************** ******* 名称 : write_com()* 功能 : 写串口指令* 输入 : cmdcode* 输出 : 无*************************************************************** ********/void write_com(unsigned char cmdcode){CS = 1;sendbyte(0xf8);sendbyte(cmdcode & 0xf0);sendbyte((cmdcode << 4) & 0xf0);delay(2);}/************************************************************** ******* 名称 : write_data()* 功能 : 写串口数据* 输入 : cmdcode* 输出 : 无***********************************************************************/void write_data(unsigned char Dispdata){CS = 1;sendbyte(0xfa);sendbyte(Dispdata & 0xf0);sendbyte((Dispdata << 4) & 0xf0);delay(2);}/************************************************************** ******* 名称 : lcdinit()* 功能 : 初始化函数* 输入 : cmdcode* 输出 : 无*************************************************************** ********/void lcdinit(){RST = 0;delay(100);RST = 1;delay(20000);write_com(0x30);delay(50);write_com(0x0c);delay(50);}/************************************************************** ******* 名称 : L1602_num(uchar hang,uchar lie,char sign)* 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符显示(0~9) ,调用该函数如下L1602_char(1,5,9)* 输入 : 行,列,需要输入1602的数据* 输出 : 无*************************************************************** ********/void L12864_num(uchar hang,uchar lie,char sign){switch(hang){case 1: write_com(0x80+lie);break;case 2: write_com(0x90+lie);break;case 3: write_com(0x88+lie);break;case 4: write_com(0x98+lie);break;default:break;}write_data(sign+48);}/************************************************************** ******* 名称 : L1602_char(uchar hang,uchar lie,char sign)* 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符显示"b" ,调用该函数如下L1602_char(1,5,'b')* 输入 : 行,列,需要输入1602的数据* 输出 : 无*************************************************************** ********/void L12864_char(uchar hang,uchar lie,char sign){switch(hang){case 1: write_com(0x80+lie);break;case 2: write_com(0x90+lie);break;case 3: write_com(0x88+lie);break;case 4: write_com(0x98+lie);break;default:break;}//write_data(00);write_data(sign);}/************************************************************** ******* 名称 : L1602_string(uchar hang,uchar lie,uchar *p)* 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符开始显示"ab cd ef" ,调用该函数如下L1602_string(1,5,"ab cd ef;")* 输入 : 行,列,需要输入1602的数据* 输出 : 无*************************************************************** ********/void L12864_string(uchar hang,uchar lie,uchar *p){switch(hang){case 1: write_com(0x80+lie);break;case 2: write_com(0x90+lie);break;case 3: write_com(0x88+lie);break;case 4: write_com(0x98+lie);break;default:break;}while(*p>0){write_data(*p);p++;}}/************************************************************** ******* 名称 : Test()* 功能 : 显示子函数* 输入 : 无* 输出 : 无*************************************************************** ********/void Test(){//write_com(0x03);//delay(50);L12864_num(1,0,8);L12864_char(2,0,'m');L12864_string(3,0,"sffds");L12864_string(4,0,"是电池");}/************************************************************** ******* 名称 : Main()* 功能 : 主函数* 输入 : 无* 输出 : 无*************************************************************** ********/void Main(){CH = 0;delay(1);lcdinit();delay(10);while(1){Test();delay(5000);}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//-----------------------------------------------------
Void putc_to_LCD (uchar c)
{
SBUF=c;
While(TI==0);
TI=0;
}
//------------------------------------------------------
//写lcd命令
//--------------------------------------------------
void wrcmd(uchar comm)
{
putc_to_LCD(0xfe);
putc_to_LCD(comm);
}
//-----------------------------------------------------
//--------------------------------------------------
Void Delayms(uint ms)
{
Uchar i;
While (ms--)
For(i=0;i<120;i++);
}
//-----------------------------------------------------
//说明:程序执行时串行液晶上显示serial lcd demo,
//当光标在第二行产生闪烁时,虚拟终端中输入的字符将显示
//在LCD上,按下退格键时光标左移,按下回车时清屏。
//-----------------------------------------------------
#include <reg51.h>
TL1 = 0xfd;
SCON = 0x50; //串口工作方式1,允许接收(01010000)
RI = 0;
TI = 0;
TR1 = 1; //定时器1启动
DelayMS(200);
while(prompts[i] != '\0') //在LCD上显示提示字符串
{
putc_to_LCD(prompts[i+1]);
//接收字符
//----------------------------------------------------------
Uchar getc_from_terminal(){whileFra bibliotekRI == 0);
RI = 0;
return SBUF;
}
//--------------------------------------------
//主程序
//---------------------------------------------------------
void main()
{
uchar i=0,c;
TMOD = 0x20; //定时器1工作在方式2(00100000)
TH1 = 0xfd; //波特率9600,11.0592MHZ
DelayMS(5);
}
wrcmd(0xc0); //光标定位到第二行
wrcmd(0x0d); //显示光标
DelayMS(120);
while(1)
{
c = getc_from_terminal();
if(c==0x0d) //按下回车时LCD清屏
{ //如果希望VT1中输入回车时,VT2中出现换行
在调试本例后,读者可在第三章中有关串口的案例中添加串行液晶显示功能,并禁止本例中串行液晶的光标闪烁。
源程序代码:
//-----------------------------------------------------
//名称:2×20串行液晶显示
//-----------------------------------------------------
wrcmd(0x01); //则删除该if语句及其中的两行代码
continue;
}
if(c==0x08) //按下退格时光标后移
{
wrcmd(0x10);
continue;
}
putc_to_LCD(c); //在串行LCD上显示输入的字符
DelayMS(200);
}
}
#define uchar unsigned char
#define uint unsigned int
Uchar code prompts[]="serial lcd demo";
//--------------------------------------------------------
//延时
2×20串行字符液晶显示
本例中胡液晶屏也是基于HD44780控制芯片胡,它连接单片杨串口,显示单片机串口所发送胡字符信息。运行本例中,虚拟终端1中输入的字符也可以显示在串行液晶屏上。
本例电路如图所示。
程序设计调试实训:
读者在第3章的基础程序设计中已经调试过有关单片机串口的案例,调试本例时仍要注意将电路中晶振频率设为11.0592MHZ,并编程将波特率设为与串口液晶同(9600)。阅读该液晶的是本例向串行液晶写入命令时要先写入0xFE。