版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z. . - . 可修编. 通信技术综合课程设计报告题 目: CDMA移动通信系统控制设计 系 别: 电子信息与电气工程 专业 班级:组 员:导 师: 2014年 12 月 4 日-. z.通信技术综合课程设计任务书设计题目CDMA移动通信系统控制设计设计类型工程技术导师*学生*主要内容及目标设计一个系统实现CDMA移动通信系统的控制,要求:1、熟悉CDMA移动通信系统的总体构造; 2、熟悉CDMA移动通信系统实现通信的完整过程;3、可以通过设计交换机软件控制通信终端信息交互过程;4、自由发挥其他功能;5、要求有系统框图,电路原理图,软件流程图,软件代码清单。具有的设计条件根据设计要求提
2、供相关的试验环境,需要三台RZ6001试验箱、交换机及电脑。方案学生数及任务方案需要3人1人主要进展CDMA移动通信系统的总体构造设计;1人主要进展实现CDMA移动通信系统通信的完整过程;1人主要负责设计实现交换机软件控制通信终端信息交互过程。方案设计进程1、从接题开场收集资料、准备设计2、第1周 设计CDMA移动通信系统的总体构造,交换机软件设计,相关电路原理图,制定系统通信实现方案;3、第2周 系统调试和完善,同时编写设计报告。参考文献1郭梯云,邬国扬,李建东著.移动通信.:*电子科技大学.20062南利平,李雪华,*晨燕,王亚飞.通信原理简明教程.:清华大学,20073邬国扬.CDMA数
3、字蜂窝网.:*电子科技大学,20074魏国桢,魏晨.无线本地环路.:人民邮电,1996目录 TOC o 1-3 h z u HYPERLINK l _Toc27236 一、摘要 PAGEREF _Toc27236 1 HYPERLINK l _Toc22158 二、总体框图及交换机流程 PAGEREF _Toc22158 1 HYPERLINK l _Toc16190 2.1 CDMA移动通信系统总体构造 PAGEREF _Toc16190 1 HYPERLINK l _Toc5015 2.2交换机显示流程图 PAGEREF _Toc5015 2 HYPERLINK l _Toc27005 三
4、、移动通信系统通信过程的实现 PAGEREF _Toc27005 3 HYPERLINK l _Toc13411 3.1 移动通信系统的组成局部 PAGEREF _Toc13411 3 HYPERLINK l _Toc23961 3.2系统通信呼叫过程 PAGEREF _Toc23961 3 HYPERLINK l _Toc13618 3.3 移动通信系统通信目的 PAGEREF _Toc13618 5 HYPERLINK l _Toc8682 移动通信系统通信目的是实现信息交互和语音传递。 PAGEREF _Toc8682 5 HYPERLINK l _Toc31143 3.4移动系统通信过
5、程 PAGEREF _Toc31143 5 HYPERLINK l _Toc28528 3.4.1 准备工作 PAGEREF _Toc28528 5 HYPERLINK l _Toc21258 3.4.2 语音通信的实现 PAGEREF _Toc21258 5 HYPERLINK l _Toc25997 3.4.3数据通信短信收发的实现 PAGEREF _Toc25997 6 HYPERLINK l _Toc4482 3.4.4 交换机通信过程的状态 PAGEREF _Toc4482 6 HYPERLINK l _Toc20693 四、交换机软件控制通信终端信息交互过程 PAGEREF _To
6、c20693 8 HYPERLINK l _Toc16442 4.1交换机软件显示移动台工作状态 PAGEREF _Toc16442 8 HYPERLINK l _Toc17700 4.2详细信息 PAGEREF _Toc17700 11 HYPERLINK l _Toc27530 4.3历史信息 PAGEREF _Toc27530 14 HYPERLINK l _Toc3479 五、总结 PAGEREF _Toc3479 16 HYPERLINK l _Toc2466 六、附件 PAGEREF _Toc2466 16-. z.- . 可修编. 一、摘要多台RZ6001型移动终端实验箱与配套的
7、基站RZ6002,交换机RZ6003组成一个移动通信系统,可以完成移动台之间的语音和数据通信。RZ6001型移动终端实验箱完成语音、数据的处理,和基站的信令交互;基站完成各终端的频率分配和信令分析、处理,以及和交换机之间一起完成跨基站的移动终端实验箱之间的通信,同时将本基站管理移动终端实验箱的状态送往交换机。交换机终端完成跨基站之间的移动终端实验箱之间的通信管理,同时将各移动终端实验箱的状态送往PC机,PC机上配套移动系统软件对各移动终端实验箱的状态和数据进展显示、分类、存储和分析。基站通过传输链路和交换机相连,交换机再与固定的电信网络相连,这样就可形成移动用户基站交换机固定网络固定用户或移动
8、用户基站交换机基站移动用户等不同情况的通信链路。交换机通常由交换网络(或称接续网络)、接口和控制系统组成。交换网络的作用是在控制系统的控制下,将任一输入线与输出线接通。它可以看成有 M条入线和N条出线的网络,它有MN个交点,每个交点都可在控制系统的控制下连通和断开,如图5.20(b) 所示,接口单元把来自用户线或中继线的各种不同的输入信令和消息转成统一的机内信令,以便控制单元或交换网络进展处理或接续。控制系统主要负责话路的接续控制,另外还负责通信网络的运行、 管理和维护功能。二、总体框图及交换机流程2.1 CDMA移动通信系统总体构造2.2交换机显示流程图实验台是否开机?基站接收到信号传到交换
9、机发送信号到基站实验台开机是 否对应实验台号显示黄色对应实验台号显示蓝色实验台是否在通信?对应实验台号显示绿色对应实验台号显示红色完毕三、移动通信系统通信过程的实现3.1 移动通信系统的组成局部两台RZ6001型移动终端实验箱与配套的基站RZ6002,交换机RZ6003组成一个移动通信系统,可以完成移动台之间的语音和数据通信。3.2系统通信呼叫过程1移动台呼叫处理 移动台初始化状态。移动台接通电源后就进入初始化状态。在此状态下,移动台首先要判定它要在模拟系统中工作还是要在CDMA系统中工作。 移动台空闲状态。 移动台在完成同步和定时后,即由初始化状态进入空闲状态。在此状态下,移动台可接收外来的
10、呼叫,可进展向外的呼叫和登记注册的处理,还能置定所需的码信道和数据率。系统接入状态。如果移动台要发起呼叫,或者要进展注册登记,或者收到一种需要认可或应答的寻呼信息,移动台即进入系统接入状态,并在接入信道上向基站发送有关的信息。这些信息可分为两类:一类属于应答信息(被动发送);一类属于请求信息(主动发送)。 移动台在业务信道控制状态。在此状态下, 移动台和基站利用反向业务信道和正向业务信道进展信息交换。 2基站呼叫处理 导频和同步信道处理。在此期间,基站发送导频信号和同步信号,使移动台捕获和同步到CDMA信道。同时,移动台处于初始化状态。 寻呼信道处理。在此期间,基站发送寻呼信号。 同时,移动台
11、处于空闲状态或系统接入状态。 接入信道处理。在此期间,基站监听接入信道,以接收移动台发来的信息。同时, 移动台处于系统接入状态。 业务信道处理。在此期间,基站用正向业务信道和反向业务信道与移动台交换信息。同时,移动台处于业务信道控制状态。3呼叫流图 由移动台发起呼叫,见图 3-2。 以移动台为终点的呼叫,见图 3-3。图3-2图3-33.3 移动通信系统通信目的移动通信系统通信目的是实现信息交互和语音传递。3.4移动系统通信过程3.4.1 准备工作翻开相关实验器材的电源,等待实验箱初始化。初始化完毕后显示“初始化完成,请使用。按下键盘上“菜单键;再按下数字键“9选择“九 系统综合通信实验,显示
12、屏上将显示本机,第1位表示所属基站编号,第2位表示移动终端实验箱编号;如果本机后显示“*,表示移动实验箱开机入网正常,否则重复步骤。输入2位被叫,可以听到拨号音和回铃音。3.4.2 语音通信的实现1主叫方和被叫方移动终端实验箱都处于空闲状态; 2主叫方拨号21完毕后按“/确认或“键表示向基站申请与被叫移动终端实验箱进展语音通信;3基站收到请求后,分析被叫,然后基站直接或通过交换机发送主叫到被叫移动终端实验箱;4被叫移动终端实验箱收到主叫后进展显示并振铃;5被叫移动终端实验箱可以按下实验箱的“/确认键选择接通;6基站选择向主叫移动终端实验箱回复接通状态;7基站给主叫和被叫分配频率资源,主叫和被叫
13、建立通信链路此时主叫方移动终端实验箱和被叫方移动终端实验箱显示“通信中,之后主叫和被叫可以通过麦克风进展语音通信;8主叫和被叫用户在进展语音通信过程中如果主叫按下被叫移动终端实验箱的“取消键则选择拒绝接通,基站撤消主叫和被叫的通信链路;9通信链路撤消后原主叫和被叫移动终端实验箱均进入空闲状态,可以再次进展语音或数据通信;10如果被叫移动终端实验箱的长时间没有按键,则主叫移动终端实验箱显示“被叫无应答;11在主叫和被叫通过麦克风进展语音通信时,双方均可主动按下“/取消键挂机并进入空闲状态,此时另一方显示“对方挂机,之后也进入空闲状态。3.4.3数据通信短信收发的实现1发送方和接收方均处于空闲状态
14、;2发送方拨号21完毕后按“短信键表示将进展短信通信,并进入短信编辑方式选择状态;3按下“1键进入“选择短信序号方式,显示屏显示短信编号和内容,可以通过“/确认键和“/取消键查看更多的短信。按下相应的数字编号选择要发送的短信内容,并启动短信发送程序;按下“2键进入“编辑数字短信方式,可以用键盘输入数字,输入完毕后按下“/确认键,启动短信发送程序;按下“3键进入“编辑数字短信方式,此时数字19分别代表字母AI,可以用键盘输入字母,输入完毕后按下“/确认键,启动短信发送程序;实验中我们输入数字12,如下列图所示:九系统综合通信本机:13接收短信:12图3-4实验箱液晶屏显示图按下“/确认键,则接收
15、方移动终端实验箱会收到短信内容并显示。此时发送方显示“发送成功。如果接收方移动终端实验箱不在系统通信实验状态,则短信发送不成功。4短信选择完成后发送方向基站申请与接收方移动终端实验箱进展数据通信; 5基站收到请求后检查接收方当前状态,确定接收方处于空闲状态就将发送方和短信内容发送到接收方移动终端实验箱。否则基站回复发送方短信发送不成功;5接收方移动终端实验箱收到主叫和短信内容后分别显示,完成一次数据通信。6完成一次数据通信后,发送方和接收方均回到空闲状态,可再次进展语音或数据通信。3.4.4 交换机通信过程的状态1首先正确安装移动交换系统软件。安装完成前方可进展下一步操作;启动“移动交换系统软
16、件,如图2-3。根据和交换机相连的接口正确设置软件“RS232参数设置中“端口出厂设置端口号为1。前上述准备工作完成后,进入系统通信实验,可以进展开机,关机,主叫,被叫语音通信。软件可以用不同颜色显示不同基站下各移动台工作状态:黄色表示关机、蓝色表示空闲、绿色表示通信准备以及红色表示正在通信。图3-5 移动台的工作状态显示界面2显示当前各移动台的详细工作状态。可以显示各移动台的、所属基站、当前工作状态、主叫接通次数、呼叫次数、被叫接通次数、主叫时长、通话时长、被叫时长等详细状态信息。操作:可以点击任一个移动台图标,也可以点击“详细信息按钮,还可点击菜单“数据信息-“详细信息完成。图3-6移动台
17、的当前状态列表显示界面3分类查询各移动台的历史记录点击“历史记录按钮,或点击菜单“数据信息-“历史记录可以进入历史信息窗口,在该窗口中可以对历史信息进展分析。可以分别按照“基站编号、“和“通信时间以及它们的组合对各移动台的历史记录进展分类显示。还可以对分类信息按照通信日期、所属基站、或对方进展升序或降序排列显示。图3-7 移动台的历史状态列表显示界面四、交换机软件控制通信终端信息交互过程4.1交换机软件显示移动台工作状态进入通信实验系统,不同实验台之间进展开机,关机,主叫,被叫语音通信。软件用不同颜色显示不同基站下各移动台工作状态:黄色表示关机、蓝色表示空闲、绿色表示通信准备以及红色表示正在通
18、信。我们可以非常方便了解各移动台当前的实验状态。图4-1移动台状态示意图一图4-2移动台状态示意图二具体实现过程及代码:Private Sub Form_Load() Dim i As Integer Dim j As Integer Timer1.Enabled = False Timer2.Enabled = False mstrBaudNumber = 9600 串口波特率为9600 mstrParity = n 串口一帧数据无奇偶校验位 mstrFrameBits = 8 串口一帧数据的bit位数 mstrStopBits = 1 串口一帧数据的停顿位数为1bit宽 mintFrame
19、Start = CRZPROGRAM_START 帧头默认值为1 mintFrameStop = CRZPROGRAM_STOP 帧尾默认值为0 gintReceiveByte = 0 gintFrameStartHasFind = False MSm1.RThreshold = CRZPROGRAM_FRAME_LENGTH 接收到21个字符就产生 Onm 事件 MSm1.SThreshold = 0 发送不产生 Onm 事件 MSm1.Settings = mstrBaudNumber + , + mstrParity + , + mstrFrameBits + , + mstrStopB
20、its#If SWITCH = SWITCH_AVR Then Call mnuBaudNumber_Click(6) 19200 使用AVR对应的交换机 MSm1.RThreshold = CRZPROGRAM_FRAME_LENGTH_AVR 接收到个字符就产生 Onm 事件(AVR)#Else If SWITCH = SWITCH_51 Then Call mnuBaudNumber_Click(5) 9600 使用51芯片对应的交换机 MSm1.RThreshold = CRZPROGRAM_FRAME_LENGTH 接收到个字符就产生 Onm 事件#End If lblCorlorI
21、nde*.Caption = 黄色关机 & vbCrLf & 蓝色空闲 & vbCrLf & 绿色通信准备 & vbCrLf & 红色正在通信 lblCorlorInde*.FontSize = 10 lblCorlorInde*.FontBold = TrueCall frmstat.Reset_stat mReceiveCount = 0初始化信令指针数据,每条信令对应16个字节 前8个字节为时间 g_CurrentDe*(0) = 0 g_CurrentDe*(1) = 0 g_CurrentDe*(2) = 0 g_CurrentDe*(3) = 0 g_CurrentDe*(4) =
22、 0 g_CurrentDe*(5) = 0 g_CurrentDe*(6) = 0 g_CurrentDe*(7) = 0 下面4个字节表示当前信令数据的偏移地址 g_CurrentDe*(8) = 0 g_CurrentDe*(9) = 0 g_CurrentDe*(10) = 0 g_CurrentDe*(11) = 0 下面2个字节表示当前信令数据的长度 g_CurrentDe*(12) = 0 g_CurrentDe*(13) = 0 下面2个字节表示当前信令类型 g_CurrentDe*(14) = &H10 g_CurrentDe*(15) = 0 g_CurrentDatFil
23、eOff = 0 DlgFile.FileName = D:移动交换机a.dat Call file_open_processEnd Sub4.2详细信息点击交换机软件中详细信息按键,屏幕将显示各移动台的、所属基站、当前工作状态、主叫接通次数、呼叫次数、被叫接通次数、主叫时长、通话时长、被叫时长等详细状态信息。图4-3具体实现过程及代码:Dim BaseNumber As Integer 基站编号 Dim StartNumber As Integer 编号3个基站所有终端的编号为029 Dim NewLink As Integer 当前是一次新的连接 Dim LinkTime As Date
24、连接时间 Dim strStatus As String 当前的状态 Dim HostPhoneCode As String 主叫的 Dim CurrentPhoneCode As Byte 主叫的 Dim OhterPhoneCode As Byte 对方 Dim OhterPhoneCodeStatus As Byte 对方的状态 BaseNumber = mintSwithStatus(0) 获得当前基站的编号 StartNumber = (BaseNumber - 1) * CRZ_MOBILE_NUMBER_PER_BASE 获得当前基站的第一个终端的编号0或10或20 If min
25、tSwithStatus(0) CRZ_MA*_BASE_NUMBER Then E*it Sub End If blnCurrentDataChange = False blnHistoryDataChange = False For i = 0 To CRZ_MOBILE_NUMBER_PER_BASE - 1 对当前基站的所有终端进展处理 LinkTime = 0 NewLink = 0 OhterPhoneCode = Format(mintSwithStatus(2 * i + 2) 获得刚收到的当前终端的对方 OhterPhoneCode = mintSwithStatus(2 *
26、 i + 2) 获得刚收到的当前终端的对方 OhterPhoneCode = OhterPhoneCode * 10 / 16 + OhterPhoneCode Mod 16 If OhterPhoneCode &H39 Then temp = OhterPhoneCode 16 temp = temp * 10 temp = temp + OhterPhoneCode Mod 16 OhterPhoneCode = temp End If CurrentPhoneCode = BaseNumber * 10 + i 得到被叫的状态 If OhterPhoneCode 255 Then tem
27、p = OhterPhoneCode 10 t = OhterPhoneCode Mod 10 OhterPhoneCodeStatus = mintPhoneStatus(temp - 1, t) Else OhterPhoneCodeStatus = MS_ST_CLOSE End If temp = mintSwithStatus(2 * i + 1) 获得刚收到的当前终端的状态 last_status = mintPhoneStatus(BaseNumber - 1, i) If temp last_status Then 当前终端刚收到的状态与上次状态比拟,如果状态发生变化,则做以下
28、处理获 Case MS_ST_BEING 正在通信中 cmdMobile(StartNumber + i).BackColor = CMOBLIE_CORLOR_BE_M strStatus = 正在通信 mintPhoneStartLinkTime(BaseNumber - 1, i) = Time mintPhoneStartLinkDateTime(BaseNumber - 1, i) = Now NewLink = 1 If OhterPhoneCodeStatus = MS_ST_BEING And last_status = MS_ST_CALLING_READY Then Cal
29、l signal_7_process(MS_ST_BEING, last_status, CurrentPhoneCode, OhterPhoneCode, 8) Call signal_7_process(MS_ST_BEING, last_status, CurrentPhoneCode, OhterPhoneCode, 9) End If Case MS_ST_CALLING_READY 终端主叫准备(即发起呼叫,但还未开场通信) cmdMobile(StartNumber + i).BackColor = CMOBLIE_CORLOR_BE_READY strStatus = 通信准备
30、 mblnPhoneHostStatus(BaseNumber - 1, i) = True Call signal_7_process(MS_ST_CALLING_READY, last_status, CurrentPhoneCode, OhterPhoneCode, 1) Call signal_7_process(MS_ST_CALLING_READY, last_status, CurrentPhoneCode, OhterPhoneCode, 2) Case MS_ST_CALLED_RING 终端被叫准备(即承受呼叫,但还未开场通信,如振铃) cmdMobile(StartNum
31、ber + i).BackColor = CMOBLIE_CORLOR_BE_READY strStatus = 通信准备 mblnPhoneHostStatus(BaseNumber - 1, i) = False Call signal_7_process(MS_ST_CALLED_RING, last_status, OhterPhoneCode, CurrentPhoneCode, 5) Call signal_7_process(MS_ST_CALLED_RING, last_status, OhterPhoneCode, CurrentPhoneCode, 6) Call sign
32、al_7_process(MS_ST_CALLED_RING, last_status, OhterPhoneCode, CurrentPhoneCode, 7) Case MS_ST_CLOSE 关机 Case Else cmdMobile(StartNumber + i).BackColor = CMOBLIE_CORLOR_BE_CLOSED strStatus = 关机 End Select mintPhoneStatus(BaseNumber - 1, i) = temp mintPhoneLink(BaseNumber - 1, i) = NewLink 保存当前是否处于连接状态
33、Call frmstat.Change_Detail_Record(StartNumber + i, strStatus, OhterPhoneCode, NewLink, mblnPhoneHostStatus(BaseNumber - 1, i), 0, mintPhoneStartLinkDateTime(BaseNumber - 1, i) ElseIf temp = MS_ST_BEING Then 当前终端始终处于通信状态 每次加1秒 blnCurrentDataChange = True LinkTime = Now - mintPhoneStartLinkDateTime(Ba
34、seNumber - 1, i) strStatus = 正在通信 mintPhoneLink(BaseNumber - 1, i) = True 当前处于连接状态 Call frmstat.Change_Detail_Record(StartNumber + i, strStatus, OhterPhoneCode, NewLink, mblnPhoneHostStatus(BaseNumber - 1, i), LinkTime, mintPhoneStartLinkDateTime(BaseNumber - 1, i) End If mintOtherPhoneCode(BaseNumb
35、er - 1, i) = OhterPhoneCode 获得刚收到的当前终端的对方 mintPhoneLinkTime(BaseNumber - 1, i) = LinkTime Ne*t i If blnHistoryDataChange = True Then frmDetails.datPrimaryRS.RefreshEnd Sub4.3历史信息点击交换机软件中历史信息按键,屏幕将显示各移动台的、所属基站、主叫接通次数、呼叫次数、被叫接通次数、主叫时长、通话时长、被叫时长、话费信息等详细状态信息。图4-4具体实现过程及代码:得到源基站的编号,源实验箱的编号,目标基站的编号,目标实验箱的
36、编号0 1 2 3 4 5 6 7 8 9 10编号 , 所属基站, , 当前状态, 主叫接通次数, 呼叫次数, 被叫接通次数, 主叫时长, 通话时长, 被叫时长编号, 所属基站, , 当前状态, 对方, 主叫接通次数,呼叫次数, 被叫接通次数,主叫时长,通话时长,被叫时长 from stat Order by 编号 (StartNumber + i - 1, strStatus, PhoneCode, NewLink, mintPhoneHost(BaseNumber - 1, i - 1), 0)Public Sub Change_Detail_Record(ByVal PhoneInde
37、* As Integer, ByVal PhoneStatus As String, ByVal PhoneCode As Byte, ByVal LinkNumber As Integer, ByVal HostorCalled As Boolean, _ ByVal LinkTime As Date, ByVal StartLinkTime As Date) datPrimaryRS.Recordset.Find 编号 = & (PhoneInde*) If datPrimaryRS.Recordset.BOF = True Or datPrimaryRS.Recordset.EOF =
38、True Then MsgBo* (找不到对应的编号,数据库文件可能被破坏!) E*it Sub End If 当前状态 datPrimaryRS.Recordset.Fields(3).Value = PhoneStatus If PhoneCode &H39 Then datPrimaryRS.Recordset.Fields(4).Value = Format(PhoneCode) Else datPrimaryRS.Recordset.Fields(4).Value = 无 End If If StartLinkTime = 0 Then datPrimaryRS.Recordset.
39、Fields(10).Value = Else datPrimaryRS.Recordset.Fields(10).Value = Format(StartLinkTime, ddddd ttttt) End If If HostorCalled = True Then 主叫处理 If LinkNumber 0 Then 主叫接通次数 datPrimaryRS.Recordset.Fields(5).Value = datPrimaryRS.Recordset.Fields(5).Value + 1 呼叫次数 datPrimaryRS.Recordset.Fields(6).Value = d
40、atPrimaryRS.Recordset.Fields(6).Value + 1 End If 主叫时长 datPrimaryRS.Recordset.Fields(8).Value = CStr(LinkTime) Else 被叫处理 If LinkNumber 0 Then 被叫接通次数 datPrimaryRS.Recordset.Fields(7).Value = datPrimaryRS.Recordset.Fields(7).Value + 1 呼叫次数 datPrimaryRS.Recordset.Fields(6).Value = datPrimaryRS.Recordset
41、.Fields(6).Value + 1 End If 被叫时长 datPrimaryRS.Recordset.Fields(9).Value = CStr(LinkTime) End If datPrimaryRS.RefreshEnd Sub五、总结六、附件Private Sub mnuFileClose_Click() Close #g_FileNumberDat 关闭文件。 Close #g_FileNumberDe* 关闭文件。End SubPrivate Sub mnuHelp_Click() MsgBo* 如果软件状态不正常,请检查PC与RZ6003移动交换机之间连接线是否正确!
42、, , 移动交换系统End SubPrivate Sub mnuRefresh_Click() If MSm1.PortOpen = False Then MSm1.PortOpen = True 开机通过串口向单片机发FF识别标志 MSm1.Output = Chr(255) MsgBo* 已经刷新!, vbOKOnlyEnd SubPrivate Sub mnuStatInformation_Click() frmstat.ShowEnd SubPrivate Sub mnuE*it_Click() Dim i If MSm1.PortOpen = True Then MSm1.PortO
43、pen = False Unload Me EndEnd SubPrivate Sub Form_Unload(Cancel As Integer) Dim i If MSm1.PortOpen = True Then MSm1.PortOpen = False For i = Forms.Count - 1 To 0 Step -1 Unload Forms(i) Ne*t i Close #g_FileNumberDat 关闭文件。 Close #g_FileNumberDe* 关闭文件。End SubPrivate Sub Form_Load() Dim i As Integer Dim
44、 j As Integer Timer1.Enabled = False Timer2.Enabled = False mstrBaudNumber = 9600 串口波特率为9600 mstrParity = n 串口一帧数据无奇偶校验位 mstrFrameBits = 8 串口一帧数据的bit位数 mstrStopBits = 1 串口一帧数据的停顿位数为1bit宽 mintFrameStart = CRZPROGRAM_START 帧头默认值为1 mintFrameStop = CRZPROGRAM_STOP 帧尾默认值为0 gintReceiveByte = 0 gintFrameSt
45、artHasFind = False MSm1.RThreshold = CRZPROGRAM_FRAME_LENGTH 接收到21个字符就产生 Onm 事件 MSm1.SThreshold = 0 发送不产生 Onm 事件 MSm1.Settings = mstrBaudNumber + , + mstrParity + , + mstrFrameBits + , + mstrStopBits#If SWITCH = SWITCH_AVR Then Call mnuBaudNumber_Click(6) 19200 使用AVR对应的交换机 MSm1.RThreshold = CRZPROGR
46、AM_FRAME_LENGTH_AVR 接收到个字符就产生 Onm 事件(AVR)#Else If SWITCH = SWITCH_51 Then Call mnuBaudNumber_Click(5) 9600 使用51芯片对应的交换机 MSm1.RThreshold = CRZPROGRAM_FRAME_LENGTH 接收到个字符就产生 Onm 事件#End If 默认为1,并作端口是否存在判断 Call mnu_Number_Click(0) Call mnu_Number_Click(2) If MSm1.PortOpen = True Then 开机通过串口向单片机发FF识别标志 M
47、Sm1.Output = Chr(255) End If Timer1.Interval = 1000 Timer1.Enabled = True Timer2.Enabled = True For i = 0 To CRZ_MA*_BASE_NUMBER - 1 For j = 0 To CRZ_MOBILE_NUMBER_PER_BASE - 1 cmdMobile(i * CRZ_MOBILE_NUMBER_PER_BASE + j).Caption = (i + 1) * 10 + j cmdMobile(i * CRZ_MOBILE_NUMBER_PER_BASE + j).Back
48、Color = CMOBLIE_CORLOR_BE_CLOSED cmdMobile(i * CRZ_MOBILE_NUMBER_PER_BASE + j).Left = 1680 + j * 1100 cmdMobile(i * CRZ_MOBILE_NUMBER_PER_BASE + j).Top = 1920 + i * 1320 cmdMobile(i * CRZ_MOBILE_NUMBER_PER_BASE + j).FontSize = 15 cmdMobile(i * CRZ_MOBILE_NUMBER_PER_BASE + j).FontBold = True mintPhon
49、eStatus(i, j) = MS_ST_CLOSE mintPhoneLinkTime(i, j) = 0 mintPhoneStartLinkTime(i, j) = 0 mintPhoneStartLinkDateTime(i, j) = 0 mblnPhoneHostStatus(i, j) = 0 mintOtherPhoneCode(i, j) = 255 mintPhoneLink(i, j) = False Ne*t j Ne*t i For i = 0 To CRZPROGRAM_FRAME_LENGTH - 1 mintSwithStatus(i) = 255 Ne*t
50、i lblCorlorInde*.Caption = 黄色关机 & vbCrLf & 蓝色空闲 & vbCrLf & 绿色通信准备 & vbCrLf & 红色正在通信 lblCorlorInde*.FontSize = 10 lblCorlorInde*.FontBold = True Call frmstat.Reset_stat mReceiveCount = 0 初始化信令指针数据,每条信令对应16个字节 前8个字节为时间 g_CurrentDe*(0) = 0 g_CurrentDe*(1) = 0 g_CurrentDe*(2) = 0 g_CurrentDe*(3) = 0 g_C
51、urrentDe*(4) = 0 g_CurrentDe*(5) = 0 g_CurrentDe*(6) = 0 g_CurrentDe*(7) = 0 下面4个字节表示当前信令数据的偏移地址 g_CurrentDe*(8) = 0 g_CurrentDe*(9) = 0 g_CurrentDe*(10) = 0 g_CurrentDe*(11) = 0 下面2个字节表示当前信令数据的长度 g_CurrentDe*(12) = 0 g_CurrentDe*(13) = 0 下面2个字节表示当前信令类型 g_CurrentDe*(14) = &H10 g_CurrentDe*(15) = 0 g
52、_CurrentDatFileOff = 0 DlgFile.FileName = D:移动交换机a.dat Call file_open_processEnd Sub串口的波特率选择菜单处理Private Sub mnuBaudNumber_Click(Inde* As Integer) mnuBaudNumber(0).Checked = False mnuBaudNumber(1).Checked = False mnuBaudNumber(2).Checked = False mnuBaudNumber(3).Checked = False mnuBaudNumber(4).Check
53、ed = False mnuBaudNumber(5).Checked = False mnuBaudNumber(6).Checked = False mnuBaudNumber(7).Checked = False mnuBaudNumber(8).Checked = False Select Case Inde* Case 0 300 mnuBaudNumber(0).Checked = True mstrBaudNumber = 300 Case 1 600 mnuBaudNumber(1).Checked = True mstrBaudNumber = 600 Case 2 1200
54、 mnuBaudNumber(2).Checked = True mstrBaudNumber = 1200 Case 3 2400 mnuBaudNumber(3).Checked = True mstrBaudNumber = 2400 Case 4 4800 mnuBaudNumber(4).Checked = True mstrBaudNumber = 4800 Case 5 9600 mnuBaudNumber(5).Checked = True mstrBaudNumber = 9600 Case 6 19200 mnuBaudNumber(6).Checked = True ms
55、trBaudNumber = 19200 Case 7 38400 mnuBaudNumber(7).Checked = True mstrBaudNumber = 38400 Case 8 57600 mnuBaudNumber(8).Checked = True mstrBaudNumber = 57600 End Select .Te*t = mstrBaudNumber If MSm1.PortOpen = True Then MSm1.PortOpen = False MSm1.Settings = mstrBaudNumber & Right(MSm1.Settings, 6) M
56、Sm1.Settings = mstrBaudNumber + , + mstrParity + , + mstrFrameBits + , + mstrStopBits MSm1.PortOpen = True Else MSm1.Settings = mstrBaudNumber & Right(MSm1.Settings, 6) MSm1.Settings = mstrBaudNumber + , + mstrParity + , + mstrFrameBits + , + mstrStopBits End IfEnd Sub串口的端口选择菜单处理Private Sub mnu_Numb
57、er_Click(Inde* As Integer) On Error GoTo openerror1 mnu_Number(0).Checked = False mnu_Number(1).Checked = False mnu_Number(2).Checked = False mnu_Number(3).Checked = False If Inde* = 0 Then 串口1 mnu_Number(0).Checked = True 串口原已翻开则先关串口,再切换端口,然后再翻开串口 If MSm1.PortOpen = True Then MSm1.PortOpen = False
58、MSm1.mPort = 1 Else MSm1.mPort = 1 End If MSm1.PortOpen = True ElseIf Inde* = 1 Then 串口2 mnu_Number(1).Checked = True 串口原已翻开则先关串口,再切换端口,然后再翻开串口 If MSm1.PortOpen = True Then MSm1.PortOpen = False MSm1.mPort = 2 Else MSm1.mPort = 2 End If MSm1.PortOpen = True ElseIf Inde* = 2 Then 串口3 mnu_Number(2).Ch
59、ecked = True 串口原已翻开则先关串口,再切换端口,然后再翻开串口 If MSm1.PortOpen = True Then MSm1.PortOpen = False MSm1.mPort = 3 Else MSm1.mPort = 3 End If MSm1.PortOpen = True ElseIf Inde* = 3 Then 串口4 mnu_Number(3).Checked = True 串口原已翻开则先关串口,再切换端口,然后再翻开串口 If MSm1.PortOpen = True Then MSm1.PortOpen = False MSm1.mPort = 4
60、Else MSm1.mPort = 4 End If MSm1.PortOpen = True End IfE*it Subopenerror1: mnu_Number(0).Checked = False mnu_Number(1).Checked = False mnu_Number(2).Checked = False mnu_Number(3).Checked = False If MSm1.PortOpen = True Then MSm1.PortOpen = False MSm1.mPort = 1 End If MsgBo* 串口无效,请将串口编号设置为1,再重新设置!, 64
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度置换房产的装修改造合同3篇
- 高速公路建设室外施工合同
- 二零二四年文化旅游项目投资承包合同3篇
- 二零二四年度广告合同的标的广告位置与投放时间2篇
- 商业照明系统施工合同
- 汽车零部件运输司机招聘合同
- 2024年度高档社区住宅买卖合同(二手房)2篇
- 2024年度农业智能化系统建设合同3篇
- 2024年度肖像使用合同:甲方与乙方关于某名人肖像使用的合同2篇
- 乡村道路照明设施安装合同
- 医学心理学(广东药科大学)智慧树知到答案章节测试2023年
- 公墓墓碑及道路维修工程施工方案施工组织设计
- 河道整治工程毕业设计
- 第三部分34课财报阅读方法与技巧之识别老千股
- SB/T 10482-2008预制肉类食品质量安全要求
- GB/T 40427-2021电力系统电压和无功电力技术导则
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- 2023年全国中学生英语能力竞赛(NEPCS)初赛初二组试题笔试部分完整版
- FZ/T 93015-2010转杯纺纱机
- 幼儿园突发事件应急处置流程图
- 国开《可编程控制器应用》形考任务五实验1
评论
0/150
提交评论