基于VB6.0液晶显示系统的设计

上传人:飞*** 文档编号:45051900 上传时间:2018-06-15 格式:DOC 页数:7 大小:305KB
返回 下载 相关 举报
基于VB6.0液晶显示系统的设计_第1页
第1页 / 共7页
基于VB6.0液晶显示系统的设计_第2页
第2页 / 共7页
基于VB6.0液晶显示系统的设计_第3页
第3页 / 共7页
基于VB6.0液晶显示系统的设计_第4页
第4页 / 共7页
基于VB6.0液晶显示系统的设计_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于VB6.0液晶显示系统的设计》由会员分享,可在线阅读,更多相关《基于VB6.0液晶显示系统的设计(7页珍藏版)》请在金锄头文库上搜索。

1、基基于于 VB 6.0 液液晶晶显显示示系系统统的的设设计计引引言言液晶显示器因其具有功耗低、质量轻、体积小和超薄等优点,成为袖珍式电子产品显示系统中的主流显示技术,被广泛用于通讯、家庭娱乐、广告、仪表等领域。本文设计了一种由计算机与单片机之间的通讯来直接控制液晶显示的系统。采用vb 软件编程,设计直观的人机界面,通过计算机的键盘直接输入字符和字符移动方式,利用串口通讯传送至单片机,再由单片机系统控制液晶显示模块,使字符能够在液晶屏上进行移动显示。1 主主控控芯芯片片和和液液晶晶屏屏的的选选择择本系统中,主控芯片选用Atmel 公司生产的AT89S51.该芯片具有4k 字节可编程FLASH 存

2、储器,支持串行、并行下载程序ISP 在线编程,且价格低廉,执行速度快。液晶显示屏采用点阵字符型液晶显示模块LCD162,LCD162 采用标准的16 脚接口,可以显示2 行 32 个字、每行显示16 个 ASCII 字符,并且可以自定义图形,只需要写入相对应字符的ASCII 码就可以显示。2 硬硬件件电电路路设设计计系统硬件电路主要有液晶显示模块和通讯模块两个部分组成,电路如图1 所示。图 1 系统硬件电路图 1 中,液晶显示部分,单片机与LCD162 采用并行接口方式,单片机的P0 口与液晶显示屏的数据线D0D7 进行连接,并通过8 个 10 k 的上拉电阻上拉。 P1.5 连接 LCD16

3、2 的 RS 端,当 P1.5 为高电平时选择数据寄存器,低电平时选择指令寄存器。P1.6 连接 RW,用于控制液晶显示屏的读写操作,当P1.6为高电平时进行读操作,低电平时进行写操作。P1.7 则连接到LCD162 的使能端,当E 由高电平跳变成低电平时,液晶模块执行命令。V0 为液晶显示器对比度调整端,通过一个10 k 的电位器R9 为 V0 提供可调的液晶驱动电压,实现显示对比度的调节。本系统需要将微机键盘键入的字符显示在液晶屏上,因此利用51 单片机的异步串行通信接口与计算机进行串行通信,再由单片机控制液晶显示模块。计算机有一个串行通讯端口RS-232, 其逻辑电平用正负电压表示,且信

4、号使用负逻辑,逻辑 0 的电压范围是+5+15V, 逻辑 1 的电压范围是-5-15V.而 51 单片机的输出信号实际并不符合RS-232 的标准,其串行通信管脚上的电压为TTL 标准,即 05V 之间的两个状态。因此,51 单片机与MODEM 连接时,中间必须插入一个电平和逻辑转换环节。这里利用MAX232 芯片实现TTL 电平和RS-232 电平之间的转换任务。3 软软件件设设计计与与开开发发软件部分包括单片机控制的液晶显示子程序、单片机和PC 机间通讯子程序以及 VB 程序设计部分。3.1 液晶显示LCD162 液晶模块内部有一个字符发生器CGRAM,存储了 160 个不同点阵字符图形,

5、每个字符有一个固定代码,通过标准字库表查找其对应代码即可。显示字符时需要先送地址(写命令 ),然后再送字符(写数据 )。如果要显示字符库外的字符,则需要利用CGRAM 编制显示。本系统液晶显示模块包括LCD 的初始化、光标定位、显示字符等模块,其程序流程图如图2 所示。图 2 液晶显示控制主程序初始化时需要设置初始状态、显示光标、清屏、显示模式等,这里设置LCD162 为 8 位数据, 57 字符点阵,两行显示,即将P0 口写入38H.LCD162 有写命令、读状态、写数据和读数据4 种操作, 4 种操作由P1.5,P1.6,P1.7 的状态确定。在进行写命令、写数据和读数据3 种操作前需先进

6、行读状态操作,通过查询方式查询忙标志,当忙标志为0 时才可以进行其他 3 类操作。送显示字符时,需将显示数据写在相应的DDRAM 地址中,用以确定显示字符的显示位置。以下是忙碌状态判断子程序和写数据子程序,其子程序流程如图3 和图 4 所示。RS BIT P1.5RW BIT P1.6E BIT P1.7LCD EQU P0;判断是否忙碌子程序:CHECK_BF:MOV LCD,#0FFHCLR RS ; RS 为低电平, RW 为高电平时,可以读状态SETB RW ; RW=1,选择读模式CLR ENOPSETB E ;E=1,允许读 /写 LCDNOPJB LCD.7,CHECK_BFRE

7、T;写数据子程序:WR_DATA:SETB RS ;RS=1,选择数据寄存器CLR RWCLR EACALL CHECK_BFMOV LCD,A ;将数据送入P0,NOP ;给硬件反应时间NOPNOPNOPSETB ENOPNOPNOPNOPCLR E ;E 由 10 时,液晶模块开始执行命令RET图 3 判忙碌子程序图 4 写数据子程序3.2 单片机与PC 的串口通讯单片机的串行数据发送端TXD 和串行数据接收端RXD 分别与 MAX232 的 T1 和 R1 相连。设置时应与PC 机的串口设置相对应。本系统单片机串行口采用工作方式1,波特率设置为9 600,由定时器T1 产生。通信开始时由

8、PC 机发出握手信号,单片机收到握手信号后再向PC 机发回响应信号,PC 机收到响应信号,经验证正确后表示串口通信成功。3.3 PC 机串行通信计算机的通信采用VB6.0 软件编写。在VB 中有一个MSComm 通讯控件,该控件可设置串行通信数据的发送和接收,通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。MScomm 控件提供了两种通信方式:事件驱动和查询方式,本系统采用查询方式处理通信。为保证计算机和单片机的可靠通信,双方需要设置相同的数据格式和波特率。本系统采用二进制发送和接收数据。发送数据前,需将发送缓冲区清零,即MScomm 控件的 OutBufferCount

9、属性值为 0.对通讯端口初始化时选用串行通讯口Com1,设置其波特率为9 600, 无奇偶校验,8 位数据传送,1 位停止位。字符数据发送完毕后以回车键作为结束。下面的程序是实现通讯的代码。其中Label1 控件用于串口通讯成功时的提示标签。Private Sub MSComm1_OnComm() 串口设置Dim Buffer As VariantDim Hexbuffer() As ByteIf MSComm1.PortOpen = True ThenSelect Case MSComm1.CommEventCase comEvReceive 有接受事件发生MSComm1.InputLen

10、= 0MSComm1.InputMode = comInputModeBinary 数据收发采用二进制Buffer = MSComm1.InputLabel1.Caption = BufferHexbuffer() = BufferDim I As IntegerFor I = 0 To UBound(Hexbuffer)If Hex(Hexbuffer(I) = 1 ThenLabel1.Caption = Label1.Caption & “0“ &Hex(Hexbuffer(I)ElseLabel1.Caption = Label1.Caption & Hex(Hexbuffer(I)E

11、nd IfNext IEnd SelectEnd IfEnd Sub在 VB 窗体界面中还设置了左右移动两个按钮,通过添加两个定时器timer1 和 timer2,在定时器的timer 事件里更改控件的位置属性,从而实现字符的在窗体上的移动。图5 为通过虚拟串口和Proteus 软件仿真效果。图5 中,左图为VB 窗体界面,右图是液晶显示仿真图。在窗体文本框控件中输入字符,点击发送按钮后可以在液晶显示屏中进行显示,点击左右移按钮,液晶显示屏的内容也可以同时进行移动。图 5 VB 控制的液晶显示仿真4 结结论论本系统以计算机作为主机,单片机作为从机,实现了计算机和单片机的串行通讯,并能够通过键盘向计算机输入字符显示在液晶显示屏上。系统结构设计简单,具有一定实用性。更多技术文章:www.big-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号