液晶显示器(LCD)以低电压、微功耗、超薄轻巧、接口简单、显示内容丰富诸多优点,在袖珍式电子产品的显示系统中得到广泛应用。为此,本文介绍一种由微机与单片机之间通讯直接控制液晶显示电路。微机在控制中,采用Visual BasIC(简称VB)编程,做出十分直观的人机界面,操作方便,可直接将字符由微机的键盘输入通过串行通讯口传送到单片机,再由单片机系统控制液晶显示模块,将字符显示在液晶屏上。另外,单片机系统又将字符发送回到微机的人机界面上显示,用于字符传送过程的实时监测。
一、硬件设计
图(1)
本系统关键的器件是AT89C51单片机,一方面利用AT89C51单片机自身具有的串行通讯口,可以与微机的RS232(9针)串行通讯口直接通讯。另一方面通过单片机控制液晶显示模块。AT89C51单片机系统在硬件设计上具有简单、方便等优点。但由于微机的RS232标准接口的电平与AT89C51单片机接口的TTL电平规范不一致,所以采用MAXIM公司的MAX232电平转换器,实现这两种接口的电平相互转换。
字符型液晶显示模块是一种用5x7点阵图形来显示字符的液晶显示器。根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。这里采用2行16个字的TC1602A液晶模块。TC1602A采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择:RS=1选择数据寄存器;RS=0选择指令寄存器。R/W为读写信号线:R/W=1进行读操作;R/W=0进行写操作。当RS=0,R/W=0时,可以写入指令或者显示地址;当RS=0,R/W=1时,可以读忙信号;当RS=1,R/W=0时,可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0~D7为8位双向数据线。 TC1602A液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等。每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 TC1602A液晶模块内部的控制器共有11条控制指令,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
一、软件设计
1、微机串口发送、接收的VB程序设计
VB程序设计包括人机界面设计如图(2),主要利用VB6.0提供的串口控件MSCOMM32.OCX。该控件可方便地对串口状态与89C51单片机之间串口通讯的格式和协议进行设置。MSCOMM控件的属性预设置为:Commport=2,Settings=“9600,n,8,1”,Rthreshold=1,Sthreshold=1。
VB程序设计如下:
Private Sub CmdExit_Click() '使用命令按钮控件
MSComm1.PortOpen = False '关闭通讯端口
End '结束系统
End Sub
Private Sub CmdSend_Click() '使用命令按钮控件
MSComm1.Output = textsend.Text & Chr(13) '将发送区数据传送出去
End Sub
Private Sub Command4_Click() '使用命令按钮控件
MSComm1.Settings = Trim(Text3.Text) '改变通讯参数设置
End Sub
Private Sub ComReceive_Click() '使用命令按钮控件
textreceive.Text = "" '清除接收区数据
End Sub
Private Sub Form_Load()
Text3.Text = CStr(MSComm1.Settings) '显示通讯参数设置
MSComm1.CommPort = 2 '判断串行口
On Error Resume Next
Opcom(1).Value = True
If MSComm1.PortOpen Then
MsgBox "COM2被用,请选COM1!", vbExclamation + vbOKOnly, "系统信息"
Exit Sub
Else
MSComm1.PortOpen = True '打开通讯端口
End If
End Sub
Private Sub MSComm1_OnComm() 'MSComm1_OnComm事件
本文关键字:暂无联系方式自动控制-单片机,电子制作 - 自动控制-单片机