利用Nport Express实现单片机的接入网络
时间:06-28
来源:互联网
点击:
3.4 串行口参数的设置
第三个菜单项SerialPort为串行口的设置,包括波特率、奇偶校验、数据位、流控等参数的设置,这些参数的设置必须和单片机的串口传送参数相一致,否则,数据将不能被正确的收发。
3.5 利用Monitor 菜单项监控数据的收发
Monitor是另一个比较重要的菜单选项,从这个窗口中,我们可以检查串行口参数的设置情况,其中的两个参数TX、RX比较重要,显示了Nport Express的收发数据量,从而也为我们判断Nport Express是否工作正常提供了依据。
4 单片机接入
以上对Nport Express的参数进行了比较详尽的设置,作为单片机接入网络的关键设备,Nport Express起到了一个单片机网卡的作用,它是串行口数据往来的通道,而单片机作为现场设备检测控制装置,是实现数据交互的门户。利用单片机采集各种数据,并从串行口发出,当然电平转换必不可少,如利用MAX232或HIN232CP芯片,转换成232电平,接入Nport Express的串行口输入口。其中,关键之处在于单片机波特率和握手协议的设定,一定要与Nport Express相一致,才能实现数据的正确传输[4] 。单片机的初始化与收发程序分别如下:
MAIN:MOV TH1, #0FDH
MOV TL1, #0FDH MOV T MOD, #20H
SETB TR1
MOV PCON, #00H
MOV SCON, #50H
MOV R1, #30H
CLR TI
CLR RI
;以下为接收程序
RECE: MOV @R1, SBUF
NN: JNB RI, NN
CLR RI
INC R1
;以下为发送程序
SEND: MOV SBUF, #41H ;发送字符A
MM: JNB TI, MM
CLR TI
AJMP SEND
单片机的波特率设定为9600 bps,数据的收发采用中断方式,当单片机收到网络端发来的控制命令时便可触发执行相应的操作,实现远程监控的目的。其原理图如图2所示。
5 网络端编程
5.1 网络控件的选择
为完成数据的采集处理和对单片机的控制,需要在客户机或终端服务器设计一软件平台,实现客户机与Nport Express通过以太网的交互。Nport Express驱动模式支持的开发语言很多,如VC,VB,Delphi, C等。因为VB操作界面简单,串行通信与网络接入控件使用方便,故此选择VB编写前台控制程序。VB中有三个internet控件:internet Transfer, webBrowser, WinSock,都是ActiveX控件,可以用来实现每一层Internet 通信的访问。
在VB中利用Winsock控件,可以为两个或多个Internet节点建立连接并使之交换数据。对用户来说,Winsock控件是不可见的,它提供了访问 TCP和UDP网络服务的方便途径,编写客户或服务器应用程序时,可不必了解TCP的细节或调用低级的Winsock APIs。通过设置控件的属性并调用其方法就可以连接到一台远程机器上,并且还可双向交换数据。
5.2 Winsock的属性设置
Winsock的属性主要有以下四个:
(a) Protocol ,返回或设置Winsock空间所使用的协议,本文选用UDP;
(b)RemoteHostIP,远程主机IP地址,本文中即Nport Express的实际IP地址;
(c)RemotePort, 要连接的远程端口号,要与Nport Express的设置相一致;
(d)LocalPort, 本地端口,即与Nport Express进行数据交互的计算机端口号,可自由设定,但要与Nport Express中的设置值相一致。
5.3 利用Winsock实现数据的收发[5]
调用Winsock的SendData方法,可以发送数据到网络,经Nport Express传输到单片机,实现前台对现场设备的远程控制,最简单的调用方法如:
Private Sub Timer1_Timer()
Winsock1.SendData (Text1.Text)
End Sub
由一个时钟控件触发Winsock控件的SendData 方法,实现数据向网络的传输,并经Nport Express,传送到单片机,实现控制命令的传送,当然也可以由其他事件触发。
调用GetData方法,可获得单片机发送到网络上的数据流,这个方法一般在Winsock的DataArrival事件中使用。例如,一段数据接收程序如下:
Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata, vbString
List1.AddItem strdata
End Sub
则单片机发出的数据流将自动添加到列表框中。值得特别注意的一点是,必须对Winsock的Bind属性赋予合理的初值,并且要与Nport Express的本地端口值一致。数据的具体处理涉及到很多方面的内容,如通信协议的制定,低层数据库的建立与数据更新等,在此不一一累述。
6 结束语
以太网作为IT产业的主要通信骨干,已是众所周知的事实,并且在与人类生活息息相关的信息产业上得到了大量应用,面对这股网络化的潮流,身为所有产业基础建设的工业自动化系统,也应广泛的应用TCP/IP以太网作为系统通信界面,提高系统自动化的能力。利用摩莎公司的Nport Express产品实现单片机接入以太网,达到了远程测量和控制的目的,简单易用、成本适中、效果明显是串行通信网络化的一种可行的方案。
第三个菜单项SerialPort为串行口的设置,包括波特率、奇偶校验、数据位、流控等参数的设置,这些参数的设置必须和单片机的串口传送参数相一致,否则,数据将不能被正确的收发。
3.5 利用Monitor 菜单项监控数据的收发
Monitor是另一个比较重要的菜单选项,从这个窗口中,我们可以检查串行口参数的设置情况,其中的两个参数TX、RX比较重要,显示了Nport Express的收发数据量,从而也为我们判断Nport Express是否工作正常提供了依据。
4 单片机接入
以上对Nport Express的参数进行了比较详尽的设置,作为单片机接入网络的关键设备,Nport Express起到了一个单片机网卡的作用,它是串行口数据往来的通道,而单片机作为现场设备检测控制装置,是实现数据交互的门户。利用单片机采集各种数据,并从串行口发出,当然电平转换必不可少,如利用MAX232或HIN232CP芯片,转换成232电平,接入Nport Express的串行口输入口。其中,关键之处在于单片机波特率和握手协议的设定,一定要与Nport Express相一致,才能实现数据的正确传输[4] 。单片机的初始化与收发程序分别如下:
MAIN:MOV TH1, #0FDH
MOV TL1, #0FDH MOV T MOD, #20H
SETB TR1
MOV PCON, #00H
MOV SCON, #50H
MOV R1, #30H
CLR TI
CLR RI
;以下为接收程序
RECE: MOV @R1, SBUF
NN: JNB RI, NN
CLR RI
INC R1
;以下为发送程序
SEND: MOV SBUF, #41H ;发送字符A
MM: JNB TI, MM
CLR TI
AJMP SEND
单片机的波特率设定为9600 bps,数据的收发采用中断方式,当单片机收到网络端发来的控制命令时便可触发执行相应的操作,实现远程监控的目的。其原理图如图2所示。
5 网络端编程
5.1 网络控件的选择
为完成数据的采集处理和对单片机的控制,需要在客户机或终端服务器设计一软件平台,实现客户机与Nport Express通过以太网的交互。Nport Express驱动模式支持的开发语言很多,如VC,VB,Delphi, C等。因为VB操作界面简单,串行通信与网络接入控件使用方便,故此选择VB编写前台控制程序。VB中有三个internet控件:internet Transfer, webBrowser, WinSock,都是ActiveX控件,可以用来实现每一层Internet 通信的访问。
在VB中利用Winsock控件,可以为两个或多个Internet节点建立连接并使之交换数据。对用户来说,Winsock控件是不可见的,它提供了访问 TCP和UDP网络服务的方便途径,编写客户或服务器应用程序时,可不必了解TCP的细节或调用低级的Winsock APIs。通过设置控件的属性并调用其方法就可以连接到一台远程机器上,并且还可双向交换数据。
5.2 Winsock的属性设置
Winsock的属性主要有以下四个:
(a) Protocol ,返回或设置Winsock空间所使用的协议,本文选用UDP;
(b)RemoteHostIP,远程主机IP地址,本文中即Nport Express的实际IP地址;
(c)RemotePort, 要连接的远程端口号,要与Nport Express的设置相一致;
(d)LocalPort, 本地端口,即与Nport Express进行数据交互的计算机端口号,可自由设定,但要与Nport Express中的设置值相一致。
5.3 利用Winsock实现数据的收发[5]
调用Winsock的SendData方法,可以发送数据到网络,经Nport Express传输到单片机,实现前台对现场设备的远程控制,最简单的调用方法如:
Private Sub Timer1_Timer()
Winsock1.SendData (Text1.Text)
End Sub
由一个时钟控件触发Winsock控件的SendData 方法,实现数据向网络的传输,并经Nport Express,传送到单片机,实现控制命令的传送,当然也可以由其他事件触发。
调用GetData方法,可获得单片机发送到网络上的数据流,这个方法一般在Winsock的DataArrival事件中使用。例如,一段数据接收程序如下:
Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata, vbString
List1.AddItem strdata
End Sub
则单片机发出的数据流将自动添加到列表框中。值得特别注意的一点是,必须对Winsock的Bind属性赋予合理的初值,并且要与Nport Express的本地端口值一致。数据的具体处理涉及到很多方面的内容,如通信协议的制定,低层数据库的建立与数据更新等,在此不一一累述。
6 结束语
以太网作为IT产业的主要通信骨干,已是众所周知的事实,并且在与人类生活息息相关的信息产业上得到了大量应用,面对这股网络化的潮流,身为所有产业基础建设的工业自动化系统,也应广泛的应用TCP/IP以太网作为系统通信界面,提高系统自动化的能力。利用摩莎公司的Nport Express产品实现单片机接入以太网,达到了远程测量和控制的目的,简单易用、成本适中、效果明显是串行通信网络化的一种可行的方案。
- 单片机智能频率信号装置(11-25)
- 单片机在医学信号检测仪中的应用(02-07)
- 单片机应用编程技巧(02-25)
- DSP与单片机通信的多种方案设计(03-08)
- 单片机与PC机串行通信的实现方法 (02-25)
- 单片机与PC通信的简化接口 (05-11)