基于VB 6.0 液晶显示系统的设计

最新更新时间:2012-11-14来源: 维库电子关键字:6.0  液晶显示系统 手机看文章 扫描二维码
随时随地手机看文章

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

  1 主控芯片和液晶屏的选择

  本系统中,主控芯片选用Atmel 公司生产的AT89S51.该芯片具有4k 字节可编程FLASH 存储器,支持串行、并行下载程序ISP 在线编程,且价格低廉,执行速度快。液晶显示屏采用点阵字符型液晶显示模块LCD162,LCD162 采用标准的16 脚接口,可以显示2 行32 个字、每行显示16 个ASCII字符,并且可以自定义图形,只需要写入相对应字符的ASCII 码就可以显示。

  2 硬件电路设计

  系统硬件电路主要有液晶显示模块和通讯模块两个部分组成,电路如图1 所示。

图1 系统硬件电路

  图1 中,液晶显示部分,单片机与LCD162 采用并行接口方式,单片机的P0 口与液晶显示屏的数据线D0~D7 进行连接,并通过8 个10 kΩ 的上拉电阻上拉。P1.5 连接LCD162 的RS 端,当P1.5为高电平时选择数据寄存器,低电平时选择指令寄存器。P1.6 连接RW,用于控制液晶显示屏的读写操作,当P1.6 为高电平时进行读操作,低电平时进行写操作。P1.7 则连接到LCD162 的使能端,当E 由高电平跳变成低电平时,液晶模块执行命令。

  V0为液晶显示器对比度调整端,通过一个10 kΩ的电位器R9为V0提供可调的液晶驱动电压,实现显示对比度的调节。

  本系统需要将微机键盘键入的字符显示在液晶屏上,因此利用51 单片机的异步串行通信接口与计算机进行串行通信,再由单片机控制液晶显示模块。计算机有一个串行通讯端口RS-232, 其逻辑电平用正负电压表示,且信号使用负逻辑,逻辑0 的电压范围是+5~+15V, 逻辑1 的电压范围是-5~-15V.而51 单片机的输出信号实际并不符合RS-232 的标准,其串行通信管脚上的电压为TTL 标准,即0~5V 之间的两个状态。因此,51 单片机与MODEM 连接时,中间必须插入一个电平和逻辑转换环节。这里利用MAX232 芯片实现TTL电平和RS-232 电平之间的转换任务。

  3 软件设计与开发

  软件部分包括单片机控制的液晶显示子程序、单片机和PC 机间通讯子程序以及VB 程序设计部分。

  3.1 液晶显示

  LCD162 液晶模块内部有一个字符发生器CGRAM,存储了160 个不同点阵字符图形,每个字符有一个固定代码,通过标准字库表查找其对应代码即可。显示字符时需要先送地址(写命令),然后再送字符(写数据)。如果要显示字符库外的字符,则需要利用CGRAM 编制显示。本系统液晶显示模块包括LCD 的初始化、光标定位、显示字符等模块,其程序流程图如图2 所示。

图2 液晶显示控制主程序

  初始化时需要设置初始状态、显示光标、清屏、显示模式等,这里设置LCD162 为8 位数据,5×7 字符点阵,两行显示,即将P0 口写入38H.LCD162 有写命令、读状态、写数据和读数据4 种操作,4 种操作由P1.5,P1.6,P1.7 的状态确定。在进行写命令、写数据和读数据3 种操作前需先进行读状态操作,通过查询方式查询忙标志,当忙标志为0 时才可以进行其他3 类操作。送显示字符时,需将显示数据写在相应的DDRAM 地址中,用以确定显示字符的显示位置。以下是忙碌状态判断子程序和写数据子程序,其子程序流程如图3 和图4 所示。

  RS BIT P1.5

  RW BIT P1.6

  E BIT P1.7

  LCD EQU P0

  ;判断是否忙碌子程序:

  CHECK_BF:

  MOV LCD,#0FFH

  CLR RS ; RS 为低电平,RW 为高电平时,可以读状态

  SETB RW ; RW=1,选择读模式

  CLR E

  NOP

  SETB E ;E=1,允许读/写LCD

  NOP

  JB LCD.7,CHECK_BF

  RET

  ;写数据子程序:

  WR_DATA:

  SETB RS ;RS=1,选择数据寄存器

  CLR RW

  CLR E

  ACALL CHECK_BF

  MOV LCD,A ;将数据送入P0,

  NOP ;给硬件反应时间

  NOP

  NOP

  NOP

  SETB E

  NOP

  NOP

  NOP

  NOP

  CLR E ;E 由1-->0 时,液晶模块开始

  执行命令

  RET

图3 判忙碌子程序

图4 写数据子程序

  3.2 单片机与PC 的串口通讯

  单片机的串行数据发送端TXD 和串行数据接收端RXD 分别与MAX232 的T1 和R1 相连。设置时应与PC 机的串口设置相对应。本系统单片机串行口采用工作方式1,波特率设置为9 600,由定时器T1 产生。通信开始时由PC 机发出握手信号,单片机收到握手信号后再向PC 机发回响应信号,PC机收到响应信号,经验证正确后表示串口通信成功。

  3.3 PC 机串行通信

  计算机的通信采用VB6.0 软件编写。在VB 中有一个MSComm 通讯控件,该控件可设置串行通信数据的发送和接收,通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。MScomm 控件提供了两种通信方式:事件驱动和查询方式,本系统采用查询方式处理通信。为保证计算机和单片机的可靠通信,双方需要设置相同的数据格式和波特率。本系统采用二进制发送和接收数据。发送数据前,需将发送缓冲区清零,即MScomm 控件的OutBufferCount 属性值为0.对通讯端口初始化时选用串行通讯口Com1,设置其波特率为9 600, 无奇偶校验,8 位数据传送,1 位停止位。字符数据发送完毕后以回车键作为结束。

  下面的程序是实现通讯的代码。其中Label1 控件用于串口通讯成功时的提示标签。

  Private Sub MSComm1_OnComm()' 串口设置

  Dim Buffer As Variant

  Dim Hexbuffer() As Byte

  If MSComm1.PortOpen = True Then

  Select Case MSComm1.CommEvent

  Case comEvReceive ' 有接受事件发生

  MSComm1.InputLen = 0

  MSComm1.InputMode = comInputModeBinary

  ' 数据收发采用二进制

  Buffer = MSComm1.Input

  Label1.Caption = Buffer

  Hexbuffer() = Buffer

  Dim I As Integer

  For I = 0 To UBound(Hexbuffer)

  If Hex(Hexbuffer(I)) = 1 Then

  Label1.Caption = Label1.Caption & "0" &Hex(Hexbuffer(I))

  Else

  Label1.Caption = Label1.Caption & Hex(Hexbuffer(I))

  End If

  Next I

  End Select

  End If

  End Sub

  在VB 窗体界面中还设置了左右移动两个按钮,通过添加两个定时器timer1 和timer2,在定时器的timer 事件里更改控件的位置属性,从而实现字符的在窗体上的移动。图5 为通过虚拟串口和Proteus 软件仿真效果。图5 中,左图为VB 窗体界面,右图是液晶显示仿真图。在窗体文本框控件中输入字符,点击发送按钮后可以在液晶显示屏中进行显示,点击左右移按钮,液晶显示屏的内容也可以同时进行移动。

图5 VB 控制的液晶显示仿真

  4 结论

  本系统以计算机作为主机,单片机作为从机,实现了计算机和单片机的串行通讯,并能够通过键盘向计算机输入字符显示在液晶显示屏上。系统结构设计简单,具有一定实用性。

关键字:6.0  液晶显示系统 编辑:探路者 引用地址:基于VB 6.0 液晶显示系统的设计

上一篇:具有微弱光信号前置放大电路的光电检测系统
下一篇:基于GIS的路灯控制管理系统的实施策略

推荐阅读最新更新时间:2023-10-17 15:08

基于OpenCV和VC6.0的数据监控系统设计
0 引言     近几年来,计算机监控系统已广泛应用于交通、医疗、航天、军事等诸多领域,而其中的实时的图像处理、计算机视觉程序起着举足轻重的作用,OpenCV(Open Source Computer Vision Library)作为Intel开源计算机视觉库,由一系列C函数和少量的C++类构成,是可实现图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的、跨平台的中、高层API,它不依赖任何其它外部库,是开放源代码,对非商业应用和商业应用都是免费的,具有基于Intel处理器指令集开发的优化代码,统一的结构和功能定义,强大的图像和矩阵运算能力以及方便灵活的用户接口。同时,OpenCV可以支持Windows
[嵌入式]
基于VB6.0的燃料电池单片电压巡检系统的设计
1 引言 燃料电池是21世纪最有望取代目前汽车燃油内燃机的新动力体系之一,它是一种将H2和O2的化学能通过电极反应直接转换成电能的装置。一个燃料电池堆是将多片电池片串联起来构成的,整个电堆的性能和单片电池电压有很大的关系。因此在燃料电池的研制中有必要采集不同条件下单片电池的电压值,通过分析找出H2和O2的反应环境和单片电池电压之间的关系。本文所要介绍的是作者单位正在进行的25kW燃料电池轿车项目中,燃料电池单片电压巡检测试、分析系统的设计。本系统的上位机软件采用VB6.0编程语言进行开发,该语言功能强大,具有面向对象和可视化编程,界面友好,特别适于在 Windows环境下图形界面和用户程序的编制,数据采集由多个
[单片机]
基于<font color='red'>VB</font><font color='red'>6.0</font>的燃料电池单片电压巡检<font color='red'>系统</font>的设计
威锋App 6.0上线了!
经过 威锋 App 5.0 版本的大改版,全新的界面设计和丰富的功能,使得威锋 App 逐渐成为众多锋友的新「阵地」,无论是技术帖里的一次次踊跃讨论,还是在水区里谈天说地,都能看到越来越多锋友通过 App 参与社区讨论与互动。 春去秋来,威锋即将迎来全新 6.0 大版本,超多新功能和升级改进等你探索。 清爽首页刷不停 全新威锋App的首页采用了更加清爽、更加清晰的布局样式。通过资讯分类,锋友们可以很好地检索到各类科技资讯,大大提升了获取资讯的效率,还能关注自己感兴趣的内容,第一时间获取优质科技资讯。全新的首页清爽简约,内容分类更易检索,让你刷到停不下来! 资讯分类,首页内容更丰富 通过资讯分类把全站内容进行整合分发
[手机便携]
低成本单片机系统液晶显示器显示技术研究
  1.前言   随着电子技术的迅速发展,使得电子电路的设计日趋复杂,单片机因为具有高集成度、高稳定性和成本低廉等特点,因而在电子设计中得到越来越广泛的应用。   第一,使用数码显示管虽然成本低廉,但是显示内容非常有限且单一,不能满足越来越多的显示需求;第二,使用CRT或者彩色液晶显示器可以显示更多的内容,但是存在着设计复杂化、提高设计成本和浪费资源等弊端。因此,实际工作中迫切需要一种简单实用,成本低廉,设计简单的显示其产品。   2.基本原理LC0811-SL由液晶显示器控制器和液晶显示器面板以及发光二极管背光三部分组成。其中液晶显示器显示控制器是整个显示器的核心部分。其内部结构图如图1所示。  
[单片机]
低成本单片机<font color='red'>系统</font>的<font color='red'>液晶显示</font>器显示技术研究
基于VB串口通信的电动天窗耐久性测试系统
1 概述 汽车天窗是为满足消费者乘车健康和舒适度的要求而设计的,因此人们对天窗性能的要求不仅仅停留在美观、豪华上,还必须满足安全、可靠、运行自如等全方位的要求。所以,在汽车天窗装车前要首先对其进行耐久性和安全性测试,以确保其装车后符合技术和用户的要求。而现有汽车天窗存在行程不到位,天窗打不开;行程不到位,天窗关不严,对汽车防盗防雨构成威胁;控制开关失灵,出现夹人现象等隐患和问题。 目前,国内天窗测试大都采用单机式的下位机系统。该类系统虽能进行常规测试,但不能记录或反馈测试信息。我们设计的汽车天窗测试系统分上、下位机,下位机具有控制天窗的执行机构,不但可以控制天窗的往返等动作,完成测试项目,而且还具备自动辨别故障功能,能
[测试测量]
基于<font color='red'>VB</font>串口通信的电动天窗耐久性测试<font color='red'>系统</font>
AVR单片机+DS18B20简易VB显示程序
//------AVR代码----------------- #include iom16.h               //1602代码 #include intrinsics.h #define RS PORTB_Bit0 #define RW PORTB_Bit1 #define EN PORTB_Bit2 #define DATA PORTA #define busy 0x80 void delay(uint k) {  uint i,j; for(i=0;i k;i++) for(j=0;j 1140;j++);    } void wait() {
[单片机]
Rambus推出PCIe 6.0接口子系统方案,以应对标准升级加速
2022年初,PCIe 6.0标准和规范正式提出,相较于2019年5月推出的PCIe 5.0标准,只过去了两年多时间。Rambus 战略营销副总裁Matt Jones表示,PCIe标准演进速度加快,主要是由于数据中心、云计算及高性能计算的迅速发展,数据密集型应用的要求需要更高的总线标准。 子系统方案加速开发进程 今年初,Rambus推出了针对PCIe 6.0的控制器IP,以助力PCIe 6.0技术的发展。今天,Rambus宣布推出PCIe 6.0的PHY,并可以与PCIe 6.0控制器结合,成为PCIe 6.0接口子系统。 Matt表示,Rambus这种以PHY和控制器全集成的方案,可进一步降低延迟,降低功耗,并且优
[嵌入式]
Rambus推出PCIe <font color='red'>6.0</font>接口子<font color='red'>系统</font>方案,以应对标准升级加速
深圳威科达VB伺服在匣式电缆成圈机摆杆中的应用
匣式自由放线用成圈机由1000mm主动放线架,张力装置储线器及成圈机组成。 线缆从主动放线架放出后,经过张力装置储线器绕到成圈机的膨胀芯轴上去。 当达到了设定长度时,成圈机即自动停车。将下托盘降低,并将移动台上的包装纸推到圈线下面,圈线自动落入纸匣中。 移动台退出后,下托盘升至工作位置,开始下一圈的绕线。 整个流程摆杆保证交叉卷绕位置及形状正确。卷绕及放线张力由储线器张力臂控制恒定,并保证主动放线架同步。如图: 电缆绕线机械结构图 1.工艺要求: a. 摆杆与成圈机收线轮同步,电缆密集度要均匀;  b.摆杆每30圈为一个周期,到达30圈重新回到起点绕
[工业控制]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved