- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VB 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 和
您可能关注的文档
最近下载
- 国家森林公园总体规划规范.doc VIP
- Unit 5 The colourful world Part C Reading time大单元教学设计 人教PEP版三年级英语上册2024.pdf
- 2024年疾控大学习全球预防接种进展答案.docx VIP
- 《体教融合文献综述》.docx VIP
- 2018年国家公务员考试《公安专业科目》真题及解析.pdf VIP
- 古代汉字对外传播史.doc
- 采访课件模板.pptx VIP
- 三九控制法——欧博企管.ppt VIP
- GBT 50034-2024 建筑照明设计标准.docx VIP
- 人教PEP五年级上册英语《Unit 4 Read and write 》教学课件.pptx
文档评论(0)