毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机LED三文动态信息显示系统 第9页

更新时间:2009-5-21:  来源:毕业论文
单片机LED三文动态信息显示系统 第9页
24
以上规定说明了RS-232标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(信
号)的电平低于-3V,逻辑“0”(信号)的电平高于+3V;对于控制信号:接通状态(ON)
即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输
电平的绝对值大于3V时,电路可以有效地检查出来,介于-3V~+3V之间的电压无意义,低
于-15V或高于+15V的电压也认为无意义。因此,实际工作时,应保证电平在±(5~15)V之
间[28]。
c.连接器的机械特性
连接器:由于RS-232并未定义连接器的物理特性。因此,出现了DB-25、DB-15和DB-9
各种类型的连接器,其引脚的定义也各不相同。下面主要介绍常用的DB-9型的连接器。
由于286以上的微机串行口不支持20mA电流环界面,因此使用DB-9连接器,作为提
供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个
信号。DB-9型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型
连接器的DCE设备连接,必须使用专门的电缆线
[28]

电缆长度:在通信速率低于20kb/s时,RS-232所直接连接的最大物理距离为15m(50
英尺)。
最大直接传输距离说明:RS-232标准规定,若不使用MODEM,在码元畸变小于4%
的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码
元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性
中规定,驱动器的负载电容应小于2500pF
[29]
。DB-9的引脚定义如表4-1所示。
Table4-1 Pin definition of DB-9
表4-1 DB-9的引脚定义
针脚功能
1载波检测
2接收数据
3发送资料
4资料终端准备就绪
5信号地线
6数据准备就绪
7发送请求
8发送清除
9振铃指示
4.1.2 Mscomm控件介绍
一般情况下,PC机中采用Visual Basic(VB)或者是Visual C++编写通信程序和接口。4 PC机和单片机之间的串行通信
25
在上述的编程工具中,VB则以其高效、简单易学及功能强大等特点为广大程序设计人员
特别是初学者所青睐。VB支持面向对象的程序的设计,具有结构化的事件驱动编程模式,
而且可以十分简单地做出良好的人机界面[30]。下面就简单介绍其通信控件MSComm。
MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
MSComm控件在串口编程时使用非常方便,程序员不必去花时间去了解较为复杂的API
函数,而且在VC、VB、Delphi等语言中均可使用。Microsoft Communications Control(以
下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,
它为应用程序提供了通过串行接口收发数据的简便方法[31]。
a.MSComm控件两种处理通讯的方式
MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。
(1)事件驱动方式
事件驱动方式是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事
件发生时需要得到通知,例如:在串口接收缓冲区中有字符,或者Carrier Detect(CD)
或Request To Send(RTS)在线一个字符到达或一个变化发生时。在这些情况下,可以
利用MSComm控件的OnComm事件捕获并处理这些通讯事件。OnComm事件还可以
检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅CommEvent属性。在编
程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程
序响应及时,可靠性高。每个MSComm控件对应着一个串行端口。如果应用程序需要访
问多个串行端口,必须使用多个MSComm控件。
(2)查询方式
查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的
每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。如果应用
程序较小,并且是自保持的,这种方法可能是更可取的。例如:如果写一个简单的电话拨
号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调
器的“确定”响应[30]。
b.MSComm控件的常用属性
MSComm控件有很多重要的属性,但首先必须掌握以下几个属性:
CommPort设置或返回通信端口号
Settings设置或返回波特率、奇偶校验、数据位和停止位
PortOpen设置或返回通信端口的状态。也可以打开和关闭端口
Input返回和删除接收缓冲区中的字符
Output将字符串写入发送缓冲区
OnComm当CommEvent属性值改变时产生该事件,表明产生了通信事件
或通信错误
InputLen设置Input属性从接收缓冲区中读取的字符数西安理工大学硕士学位论文
26
InputMode设置和返回Input属性所获取数据的类型
Rthreshold设定为某一个值,每当接收缓冲区收到该设定个数字符时,都会
使Mscomm控件产生OnComm事件
Sthreshold设定为某一个值,每当发送缓冲区的字符个数少于这个值时,
Mscomm控件产生OnComm事件
CommEvent返回最近的通信事件或错误
InBufferSize设置或返回接收缓冲区大小的字节数
[31]
c.MSComm控件的通信步骤
通常以这样的步骤来使用MSComm控件,从而完成上下位机通信的控制。
(1)加入通信控件,也就是MSComm控件。
(2)设计通信端口号码,即CommPort属性。
(3)设置通信协议。
(4)设置传输速度等参数,即Settings属性。
(5)设计其它参数。
(6)打开通信埠,即PortOpen属性设为True。
(7)送出或读入字符串,使用Input和Output属性。
(8)关闭通信埠,即PortOpen属性设为Flase。
4.1.3具体的软件实现
VB通信控件设计程序如下:
/*串口初始化*/
Global comm_time As Integer
Global data(1000)As Integer
Global Receive(1000)As Integer
Private Sub Form_Load()
Comml.CommPort=1`设置串口1
Comml.Settings=“9600,N,8,1”`波特率:9600,奇校验,8位数据,1位停止位
Comml.InputLen=0`读取接收缓冲区的所有字符
Comml.InBufferSize=256`设置接收缓冲区为256字节
Comml.OutBufferSize=256`设置发送缓冲区为256字节
Comml.PortOpen=True`打开串口1
Comml.SThreshold=1`发送缓冲区空触发发送事件
Comml.RThreshold=1`每一个字符到接收缓冲区都触发接收事件
End Sub4 PC机和单片机之间的串行通信
/*发送n个数据*/
Public Sub send-data()
For i=0 To n
Comml.Output=Chr(data(i))
Next i
End Sub
/*接收数据并触发OnComm()事件*/
Public Sub Comml_OnComm()
Select Case Comml.CommEvent`在CommEvent中接收数据
Case comEvReceive
Receive(comm_time)=Asc(Comml.Input)`将接收数据放在Receive(comm_time)数组中
Comm_time=comm_time+1
End Select
End Sub
4.2 MAX232的简介
RS-232是用正负电压来表示逻辑状
态,与TTL以高低电平表示逻辑状态的规
定不同。因此,为了能够使计算机接口与
TTL器件终端连接,必须在RS-232与TTL
电路之间进行电平和逻辑关系的变换。和
其它的单片机器件一样,作为单片机的标
准外围电路,实现这种变换的方法可用分
立组件,也可用集成电路芯片[32]。在这里,
主要采用专用芯片进行电平转换的方法。
目前较为广泛的是使用集成电路芯片,如
MC1488、SN75150芯片可完成TTL电平到
EIA电平的转换,而MC1489、SN75154可
实现EIA电平到TTL电平的转换。但
MAX232芯片可完成TTL电平和EIA电平
的双向转换,在这里就以MAX232为例进
行讨论[33]。其内部原理图如图4-1所示。
根据图4-1对MAX232的引脚简要介绍如下:
(1)外接电容:有5个外接电容,进行电压的匹配和电源的去耦。
图4-1 MAX232的内部原理图
Fig4-1 Internal principle figure of MAX232

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

单片机LED三文动态信息显示系统 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。