1、 摘要摘要:GPRS(通用分组无线电业务)是使用包交换的概念发展来的一种无线信号的传输方式。GPRS信号不但拥有信号覆盖范围较广、信号传输数据速度较快、数据传输质量较高、能够实现实时在线以及费用按流量计算的优点,且每个GPRS就是一个分组性的数据网络,同时GPRS能够支持TCP/IP协议,因此其可以直接与Internet连通。因此,GPRS在便携型环境检测设备、交通道路监控设备、移动办公以及无线上网等方面都有较为广泛的应。本文使用的是华为公司生产的一款双频段EGSM900/GSM1800的通信模块GTM900-C,其中嵌入了TCP/IP协议,并且通过8位单片机AT89C51单片机实现对GTM9
2、00-C的控制,进而实现GPRS业务的数据传输。此系统的外围电路较少,设计简单,成本较低。关键词:数据传输与接收 单片机 GPRS通信系统AbstractAbstract:GPRS (general packet radio service) is to use the concept of packet switching the development of a wireless transmission. GPRS nets not only has to cover range, data transmission speed, high quality, and always onl
3、ine communication according to flow billing, and a bit, and its itself is a group data networks, support the TCP/IP protocol, can be directly and Internet communication. Therefore, GPRS is in wireless Internet and environmental monitoring portable type, traffic monitoring, mobile office, and other i
4、ndustries.GPRS is used in portable environmental testing equipment, traffic monitoring equipment, mobile office and wireless Internet access, and other aspects.What is used in this paper is a communication module the Huawei produced GTM900-C dual-band EGSM900/GSM1800 which embedded TCP / IP protocol
5、.GTM900-C are controlled by the 8-bit microcontroller AT89C51 microcontroller, thus achieving GPRS services data transmission. This system is less peripheral circuits, simple design and low cost.Keywords:Data transmission and reception Single-chip, microcomputer, GPRS communication system目录1 GPRS通信1
6、1.1 GPRS无线通讯网络11.2 GPRS的网络结构11.2.1 GPRS协议栈11.2.2 基于GPRS的TCP/IP协议21.2.3 GPRS的优点21.3 课题研究的背景和意义22 AT89C51单片机32.1单片机的用途和使用32.2 AT89C51单片机32.2.1 AT89C51单片机的基本组成和功能32.2.2 AT89C51单片机的引脚及引脚功能43 GPRS通信系统的整体设计方案73.1 GPRS通信系统的硬件设计方案73.2.1 GPRS模块简介及应用73.2.3 GTM900-CGPRS模块简介83.3 GPRS通信系统的软件设计方案83.3.1 连接的建立83.3.
7、2 数据处理93.3.3 主程序流程9致谢12参考文献13附录1 系统程序14word文档 可自由复制编辑1 GPRS通信1.1 GPRS无线通讯网络GPRS是General Packer Radio Service的英文缩写,中文译为通用无线分组业务,具体来讲,GPRS是一项高速数据处理的科技,是一种新的分组数据承载业务,主要以分组的方式把传输数据传送到各用户。相对原有的电路交换数据的传送方式,CPRS具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”、“自如切换”的优点。因此,GPRS技术可以令手机上网快捷、迅速、价格低。1.2 GPRS的网络结构GPRS的网络结构是在GSM网络的
8、基础上所实现,GPRS的语音通话部分的信号传送依然采用的是GSM网络中的基本处理单元,而对于数据部分的信号传输,GPRS网络新增了一些数据处理单元和访问接口。GPRS网络系统中所新增的数据处理单元主要包括以下几个方面。图1 GPRS网络单元(1)PCU(Packet Control Unit):分组处理单元。PCU是BSC(Basc Station Controller)基站控制器中的一个模块,PCU既可以独立的设置,也可以与BSC合并设置。(2)SGSN(Service GPRS Support Node):GPRS服务支持节点。该部分的主要功能是进行GPRS网络中分组移动用户的状态管理和计
9、费管理等,并负责小区位置存储器中用户数据信息的传送。(3)GGSN(Gateway GPRS Support Node):GPRS网关支持节点。负责与外部数据网络通信的接口。主要进行数据的包转发,具有路由器的部分功能。1.2.1 GPRS协议栈GPRS协议体现了无线数据传输与网络相结合的基本特征。其实这里面既包含了逻辑链路控制(LLC)子层和媒体接入控制(MAC)子层,又包含了RLC和BSSGP等新引入到GPRS协议中的特定规程。由GPRS协议中规定的网络系统的端对端之间的结构可知,GPRS网络是存在于网络ISO/OSI七层结构中的应用层之下的承载网络,它可以用来承载X.25或IP等数据业务,
10、由于GPRS网络本身是采用了IP数据网络的结构,所以基于GPRS网络的IP结构可理解为是两层的IP结构,即应用层的IP协议和采用IP协议所构造的GPRS本身。1.2.2 基于GPRS的TCP/IP协议TCP/IP协议是为协同计算机和为了网络资源的分享所设定的一套网络协议。该协议的成员主要包括IP、TCP、UDP等。其中TCP连接能够确保数据的正确传送,如果一个数据包太大,TCP可将数据包分成为若干组。IP被用来为数据包寻找能够到达目的地的一个通道,每一个与Internet相连接的计算机都有全球唯一的IP地址,该IP地址为一个32位二进制数,以点分十进制来表示。TCP/IP是一个面向无连接的协议
11、,传输的数据是以分组的方式进行传输的,所能传输的数据包的最大容量在网络初始化过程中就确定了,当数据包超过了其所确定的最大容量时,数据包将会被分成若干个小的数据报分别进行传送。但是数据包存在未能以原有的顺序传送甚至数据包可能丢失的可能性,因此,TCP必须将数据序号、数据的来源以及数据发送目的地,以及其他相关的信息添加到数据包中,这些信息被称为TCP包头。而当数据到达接收器端时,接收器将会利用TCP包头中的信息来检查数据包是否被正确接收了,并加以整理。另外,TCP包头之上还应该包含IP包头,其中包括数据的源地址和目的地址。发送数据包至目的地后,接收端将会先核对自身的路由列表,当目的地就在在自己的路
12、由列表中时,路由器将会直接把数据包发送到目的地址。否则,它将把数据包发送到网关,每一个网关都有自己的路由列表,数据包可以通过一定数量的路由节点到达目的地址。1.2.3 GPRS的优点相对传统的GSM的电路交换数据的数据传送方式,GPRS的所采用的时分组交换技术,GPRS具有以下的优点。(1)实时在线(2)按量计费(3)快捷登录(4)高速传输(5)自如切换1.3 课题研究的背景和意义目前,我国在水利、电力、天然气和石油等的监测中还没有经济实用的自动化数据采集和传输设备,尤其是在偏远的乡村、山区以及其他恶劣环境下的数据传输更加的困难,不能满足工业现代化、自动化的要求。GPRS通信系统是现代测控的基
13、础,用于获取各种采集到的数据,因为GPRS通信系统作为获取信息的重要工具,正广泛应用于生产、科研的各个领域。随着通信事业的发展,我国已建成了覆盖全国的GSM数字蜂窝移动通信网,GSM网络中重要发展的GPRS网络也已经投入使用。本课题提出并设计了基于单片机的GPRS通信系统的设计,实现远程数据的传输,使得数据传输更加的灵活,并且大大降低了成本,为一些监控系统后的传输数据带来了方便快捷。2 AT89C51单片机2.1单片机的用途和使用单片机是由集成电路构成的芯片,所采用的是超大规模技术,单片机具微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口)集成
14、到一个电路芯片中,还有一些单片机包括特有的定时器,计数器,数据通信接口口,显示驱动电路,脉宽调制电路(PWM)以及模拟多路转换器及A/D转换器等,将这些单个的功能模块构成一个小而全的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。单片机按照其用途大可分为两大类:1. 通用型单片机2. 专用型单片机专用型单片机一般是指那些用途单一,在出厂时单片机中的程序就已经固化好,其内部程序不能够再被修改的单片机。其生产成本很低。而通用型单片机就拥有较为广泛的用途,根据实际情况,用户可以使用各种不同的接口及编写不同的程序下载到单片机中,使得单片机完成不同的功能。2.2 AT
15、89C51单片机本设计使用的单片机是AT89C51单片机,T89S51是美国ATMEL公司生产的低功耗、高性能CMOS 的8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚,它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制的领域。AT89C51单片机中主要是由中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、多功能
16、可编程I/O接口等计算机所需要的基本功能部件集成在一块大规模集成电路中,这些部件经高速片内总线连接在一起,在软件和控制逻辑的作用下构成一个有机的整体。现在我们对其各部分分别进行说明:2.2.1 AT89C51单片机的基本组成和功能1.中央处理器(CPU)中央处理器是AT89C51单片机中的核心部件,AT89C51单片机的中央处理器是8位的数据宽度的,因此,AT89C51单片机能在同一时间处理8位二进制的代码或数据,CPU的主要功能是负责协调、控制和指挥单片机内部各个单元系统之间有序的工作,完成控制和运算输入输出功能等操作。它主要由两大部分组成,这两大部分分别是运算电路和控制电路。2.数据存储器
17、(RAM)AT89C51单片机内部提供256个RAM单元的地址,但是后面的128个单元的地址被21个特殊功能寄存器占用,特殊功能寄存器只能用于存放控制指令的数据,用户只能访问,不能用于存放用户的数据,所以,用户能使用的RAM只有前面的128个,前面的这128个RAM可存放读写的数据,也可以存放单片机在运算过程中的中间结果或者是用户所定义的字型表等。3.程序存储器(ROM)AT89C51单片机内部拥有4KB的ROM,程序存储器所存放的内容主要是用于单片机的程序或者是原始数据等。4.定时/计数器(ROM)AT89C51单片机内部拥有两个16位的可编程的定时/计数器,其主要实现的是对于输入的脉冲信号
18、的计数或者是通过对系统的内部所提供的时钟脉冲信号来计数实现定时的功能。5.并行输入输出(I/O)口AT89C51单片机的内部拥有4组8位的并行的输入/输出端口,分别称之为为P0、 P1、P2、P3口,也可以称之为I/O口。I/O口是单片机芯片以并行的方式实现对外部设备的扩展以及与外部设备联络、通信、控制、数据传输的重要方式。6.全双工串行口AT89C51单片机的内部拥有一个工作方式可以是全双工的串行口的控制器,串行口的控制器是单片机内部能够实现单片机与其他的外部设备之间的串行数据传送的重要设备。AT89C51单片机内部的串行口的功能较强,设置也比较灵活,即可以用作同步的移位器,又可以用作全双工
19、的异步通信收发器。7.中断控制系统AT89C51单片机的拥有比较强大的中断功能,这个中断功能已经能够满足大多数的实际应用中的需求,AT89C51单片机的内部提供了5个中断源,这5个中断源分别为2个外部的中断、2个定时/计数的内部中断以及1个串行的中断。全部中断都包括两个优先级别,这两个优先级别是高级和低级。8.时钟电路AT89C51单片机的内部已经含有了时钟信号的电路,只需要在AT89C51单片机的外部接连一个石英晶体以及两个与之匹配的电容就可产生AT89C51单片机的时钟脉冲的信号,AT89C51单片机的系统时钟的频率是由外接的石英晶体振荡器的频率所决定的。9.总线AT89C51单片机的内部
20、拥有三条总线,这三条总线分别为地址总线、数据总线以及控制总线,它们合称为单片机的“三总线”。单片机内部采用总线结构的优点在于:可以便于实现功能部件的模块化的设计,这样既可以提高数据传输和处理的效率,又可以提高芯片的集成度和可靠性。2.2.2 AT89C51单片机的引脚及引脚功能AT89C51的引脚如图2所示:1.引脚20:此引脚为接地脚。2.引脚40:此引脚为接电源脚,在AT89C51单片机正常工作或者是片内EPROM读写程序的情况下,此引脚应该接+5V电源。3.引脚19:此引脚为时钟XTAL1脚,是AT89C51单片机片内振荡电路的输入端。4.引脚18:此引脚为时钟XTAL2脚,是AT89C
21、51单片机片内振荡电路的输出端。5.输入输出(I/O)引脚:引脚39-引脚32为P0.0-P0.7输入输出脚,引脚1-引脚8为P1.0-P1.7输入输出脚,引脚21-引脚28为P2.0-P2.7输入输出脚,引脚10-引脚17为P3.0-P3.7输入输出脚。图2 AT89C51的引脚图引脚9(RST/VPD):此引脚为复位/备用电源脚,在AT89C51单片机通电之后,单片机的时钟电路从此时就开始了工作,在单片机的正常的工作过程中,如果在RST的引脚上连续的出现超过单片机的两个机器周期的高电平的情况下,系统就能够进行系统的初始化复位操作。完成系统的初始化复位操作之后,AT89C51单片机的程序计数
22、器PC就指向了地址0000H,堆栈指针被写入到地址07H,而P0-P3输出口也将全部被置为高电平,AT89C51单片机中的其它的专用的寄存器会被清为“0”。而当RST引脚上的电平由高电平变为低电平之后,系统也就会从0000H地址开始执行事先所编写好的程序。然而,系统的初始化复位操作并不会改变RAM(包括工作寄存器R0-R7)的状态,AT89C51单片机的复位状态表,如表1所示:寄存器复位状态寄存器复位状态PC0000HB00HA00HSP07HPSW00HTH000HDPTR0000HTL000HIPxxx00000BTH100HIE0xx00000BTL100HTMOD00HTCON00HS
23、CON00HSBUFxxxxxxxxBP0-P31111111BPCON0xxx0000B表1 AT89C51单片机的复位状态表7. 引脚30: 此引脚为ALE/(地址锁存允许/编程线)。ALE引脚所输出的时钟信号为的频率是AT89C51单片机时钟信号频率的1/6,在STC89C511单片机访问片外的程序或数据存储器时,ALE引脚所输出的脉冲信号的下降沿用于锁存P0口所输出的低8位的地址线,与P2口输出的信号,结合形成了16位地址总线;在不访问外部的程序或数据的存储器时,ALE引脚依旧会以不变的频率周期性的向外部输出脉冲信号,因此,ALE端口既被用作为对外输出的时钟,也可以别用做来实现定时的功
24、能,但在实际应用的时候,有一点需要特别的注意,当AT89C51单片机访问外部的数据存储器的时候,系统将会跳空一个ALE脉冲,在这种情况下,ALE端口就不宜作为时钟输出端口来使用。8.引脚29: 此引脚为(片外程序存储器读选通信号输出端)。当单片机从外部的程序存储器读取常数或者指令的时候,该引脚所输出的信号将会在每个机器周期内会出现两次有效的电平,在有效的电平时,单片机可以通过数据总线P0口读回常数或指令。但是,在访问片外的数据存储器的时候,这种信号就不会出现。9.引脚31:此引脚为(片外程序存储器选用端)。在该引脚为高电平的时侯,单片机就会访问内部的程序存储器,当程序计数器的值超过了片内的程序
25、存储器的空间时,单片机就会自动地转向外部的程序存储器,访问其中所存储的程序。当该引脚为低电平时,单片机就只会访问外部的程序存储器,不管单片机是否拥有内部程序存储器。3 GPRS通信系统的整体设计方案3.1 GPRS通信系统的硬件设计方案在该系统中的电路所使用的GPRS通信模块是由华为公司所生产的GTM900-C,其内部嵌入了TCP/IP协议栈,使用方便,另外所使用的控制芯片是AT89C51单片机,这两种芯片都提供支持RS-232的通信标准的串行通信接口。因此,本设计的核心部分是编写单片机AT89C51对GTM900-C的GPRS模块控制的程序代码。AT89C51单片机具有一个通用异步串行接口,
26、使其与GTM900-C模块的相应引脚进行连接,用于单片机对GPRS模块进行数据和AT命令的传输,GTM900-C模块外部需要安装天线。AT89C51单片机用于控制GTM900-C模块的数据的收发,在软件中采用串口通信来实现数据的采集。图3 系统硬件框图3.2.1 GPRS模块简介及应用基于GPRS的TCP/IP协议使得中断在互联网上“永远在线”成为了可能,并且成为了许多便携式,但需要永久在线的设备降低成本的一个重要途径。各种网络的接入技术都逐步被运用于无线网络当中。在FDMA技术中,每个能连接到网络的用户都被分配一个频率,在TDMA技术当中使用的是分隔用户(分隔用户是通过为每个连接到网络的用户
27、分配唯一的代码实现)的技术,而在CDMA技术当中,所有连接网络的用户都在同一时间使用同一个频段发送和接收信号,在2G网络中,数据信号的传输主要通过固定的电路来实现的,在连接到网络时,每个用户都会被分配到一个传输信道,而当该用户完成传输信号的任务时,该信道就会被让出,之后该信道会被提供给其他的用户使用。由于数据业务存在着促发性的基本特征,当一个用户不再使用信道进行数据传输时,那么信道就处于荒废状态中,因此会造成资源的浪费。而在分组交换系统中,所有连接到网络的用户都分享同一个信道,网络通过多路复用来使所有的用户都能完成数据传输的任务。当一个用户不再使用信道进行数据传输的时候,信道就会被其他需要使用
28、的用户所占有。在互联网上的所有的包数据的传输都是依赖于TCP/IP协议的。无线网络也是通过与互联网传输进行结合,包数据通过无线媒介传送到基于TCP/IP协议的网络。在传输时,为了能够辨别是否到达了指定的目的地网络,包数据中必须根据TCP/IP协议将目的IP地址以及源IP地址封装在内,在GPRS网络中就是通过TCP/IP协议来进行数据传输的。3.2.3 GTM900-CGPRS模块简介GTM900-C是华为公司生产的一款双频段EGSM900/GSM1800的通信模块,它在EGSM900 Class4频段下的最大发射功率为2W,而在GSM1800 Class1频段时的最大发射功率为1W,它拥有较大
29、的工作温度范围为-20+70,芯片平均的带电电流为3.5mA,它支持GSM/GPRS Phase2/2+协议以及华为自己的GT800协议。在这些协议的基础上,用户可进行GPRS网段的数据传输,同时芯片也支持短消息服务等功能,采用3.8V电压供电,外围可拥有多种连接接口,如天线接口、模拟音频接口、异步串行接口、SIM卡接口等,另外还支持12C通信,芯片的内部嵌入了TCP/IP协议栈,支持多链接,提供ACK应答,提供大容量的缓存,因此采用此芯片能够大大降低微控制器的编程难度。其实物如图所示:3.3 GPRS通信系统的软件设计方案该系统软件部分的程序代码是使用C语言进行编写,在IAR软件中进行编译。
30、由于本系统是使用在远程终端其中的一个模块,所以在程序代码的编写过程中必须遵守一定的协议,才能保证数据通信的正确性。在编写程序代码的核心任务是如何通过AT89C51对GTM900-C进行初始设置以及控制GTM900-C的AT命令和如何对接收到的信息数据进行处理。程序在总体上分为以下两个部分,第一部分是进行CPRS连接的初始化设置,二是进行数据的接收以及发送。3.3.1 连接的建立在实验中,利用终端助手,实现将系统中的GTM900-C连接到Internet和GPRS网络的具体步骤如下所示:a)使用单片机控制GPRS模块上电,并等侯GPRS模块的正常启动。b)通过使用单片机AT89C1和GTM900
31、-C模块连接在一起的的串口通信模块,在上位机上通过串口通信助手向GTM900-C模块中写入相应的AT命令,对GPRS模块进行相应的初始化设置,使得GPRS模块能够成功的连接到GPRS网络上,并能够获取到网络运行商所分配的动态IP地址,由此来完成与目的终端的连接建立。下面介绍一下在GPRS模块中,经常使用的指令及其相应的功能:AT+CSQ:查询GPRS所连接的网络的质量;AT+CPIN?:查询GPRS模块中SIM卡是否已经准备好;AT+CGREG? :查询GPRS模块是否已经注册成功;通常使用以上三个指令来确认当前的网络和GPRS模块的状态。AT+CGDCONT=1,“IP”,“CMNET”:设
32、置GPRS模块中的APN无线接入点;AT%ETCPIP=”,” :对GPRS模块进行PPP拨号;AT%ETCPIP? :查询获得GPRS模块的IP地址,以及DNS服务器地址;AT%IPSEND=”:使用GPRS模块发送数据;AT%IPOPEN? :查询GPRS模块的链路状态AT%IPCLOSE :关闭GPRS模块的连接3.3.2 数据处理GPRS网络中的包在数据中心服务器和GPRS服务器之间的传输都是基于IP数据包的,但IP数据包不能够通过明文进行传输,因此应该选用点对点协议进行服务器之间的数据传输。数据传输的实现是通过GPRS模块和Internet网络之间的透明传输来完成的。GTM900-C
33、内部嵌入了TCP/IP协议栈,所以用户在控制模块AT89C51单片机中编写代码程序时就不需要对IP协议相关的程序进行编写了,用户可以直接使用GTM900-C内嵌的协议栈进行传递数据。3.3.3 主程序流程主程序由子函数组成。系统的主程序流程大如下:首先对单片机中所用到的变量进行初始化,一般情况下将相应的变量设置为0,同时,还要进行单片机相应单元的初始化配置,比如设定各个端口输入输出方向、设置各种中断的优先级别以及所有用到的定时器计数器的初始化配置等,然后通过单片机控制GTM900-C芯片的电源的通断,以决定是否将其上电开启,待开机成功后,通过一系列的代码来查询GPRS模块的网络是否已经注册成功
34、,如果注册成功,即可建立GPRS模块与PC机服务器的连接,并进行数据传输和短信息处理,另外可以根据用户的个性化需要发送具有一定格式的信息。图4 主程序流程图结论本文采用的是华为公司生产的一款双频段EGSM900/GSM1800的通信模GTM900-C,其中嵌入了TCP/IP协议,并且通过8位单片机AT89C51单片机实现对GTM900-C的控制,进而实现GPRS业务的数据传输。此系统的外围电路较少,设计简单,成本较低。通过标准RS232串口和外部控制器连接,只需按照预先规定的协议就可互相通信,通用性较强。系统软件均使用C语言编写,稍加改动就可以在各种控制器上实现,可移植性也较强。但是,基于GP
35、RS的系统也有一定的缺点,例如,现在的GPRS网还不够稳定,有丢包的现象;主控制器要实现IP协议,使用起来比较复杂;上位机基于互联网的解决方案保密性较差等。上述问题经过精细设计是可以避免和解决的,所以基于GPRS的设计仍具有无可比拟的优势。致谢参考文献1 周静. MSC1210的GPRS无线通信系统设计D. 武汉大学, 2010.2 百度文库. 使用单片机实现GPRS通信笑系统的设计.3 蒋延彪. 单片机原理及应用M.重庆:重庆大学出版社,20054 何立民. 单片机高级教程应用于设计M. 北京:北航空航天大学出版社, 1999.5 林伸茂. 8051单片机彻底研究基础篇M. 北京:人民邮电出
36、版社, 2004.6 学位论文郭文章ATS系统内部通信协议的设计及形式化验证20097 学位论文陆志敏USB接口通信协议研究和接口驱动开发20068 学位论文华扬蓝牙逻辑链路控制和适配协议层数据传输的理论分析与工程实现20089 会议论文李霞丽曹永存潘秀琴一种嵌入式结构传感器网络中数据传输方法的实现200610 学位论文方仕雄AMS慢控制系统实时任务调度和数据传输的设计与研究200911 学位论文杜建华基于点对点的数据传输协议研究200512 期刊论文任全陈西宏谢鹏Win32环境下Modem数据传输实现方法及通信协议研究一计算机应用研究2002,19(4)13 学位论文周秋石无线局域网络节点模
37、块的研究与初步实现2008附录1 系统程序#include #define CPU_F (double)8000000) /mxlk16000K#define delay_us(x) _delay_cycles(long)(CPU_F*(double)x/1000000.0)#define delay_ms(x) _delay_cycles(long)(CPU_F*(double)x/1000.0)#define RST 1#define GPRS_APN_flag 2#define GPRS_PPP_flag 3#define GPRS_IP_DNS_flag 4#define GPRS_T
38、CPIP_flag 5#define GPRS_SEND_OK_flag 6#define GPRS_ACTIVE_flag 7#define uchar unsigned char uchar i_TC35_RECE; uchar i_receive; uchar TC35_MAX; uchar TC35_CON; uchar TC35_RE500; uchar TC_ATF=AT&F; /格式化命令。 uchar GPRS_QD1=AT+CGDCONT=1; /设置APN无线接入点 uchar GPRS_QD2=IP; /设置APN无线接入点 uchar GPRS_QD3=CMNET; /
39、设置APN无线接入点 uchar GPRS_PPP_CMD=AT%ETCPIP=; /进行PPP拨号/- uchar GPRS_IP_DNS_CMD=AT%ETCPIP?; /查询本地启用服务器/=DTU连接= uchar GPRS_TCP1=AT%IPOPEN=; /连接服务器 uchar GPRS_TCP2=TCP; /连接服务器 uchar GPRS_TCP3=118.119.161.192; /该IP为动态分配IP经网络查询 uchar GPRS_TCP4=1234; /服务器端口号 uchar GPRS_TCP5=AT%IPOPEN?; uchar GPRS_SEND1=AT%IPS
40、END=; /向服务器发送数据 命令 uchar GPRS_SEND3=12345; void delayX(uchar m) uchar k,h; for(k=m;k0;k-) for(h=0;h255;h+); void init_serialcom( void ) P3SEL |= 0x30; / 选择P3.4和P3.5做UART通信端口 ME1 |= UTXE0 + URXE0; / 使能USART0的发送和接受 UCTL0 |= CHAR; / 选择8位字符 UTCTL0 |= SSEL0; / UCLK = ACLK UBR00 = 0x03; / 波特率9600 UBR10 =
41、0x00; / UMCTL0 = 0x4A; / Modulation UCTL0 &= SWRST; / 初始化UART状态机 IE1 |= URXIE0; / 使能USART0的接收中断 void send_uart( uchar a_s) while (!(IFG1 & UTXIFG0); /等待发送寄存器为空 TXBUF0 = a_s; void AT_RST()uchar i;for(i=0;isizeof(TC_ATF)-1;i+) send_uart(TC_ATFi); send_uart(0X0D); send_uart(0X0A); TC35_CON=RST; /*void
42、GPRS_APN():AT+CGDCONT=1,”IP”,”CMNET” 设置APN无线接入点*/void GPRS_APN()uchar i;for(i=0;isizeof(GPRS_QD1)-1;i+)send_uart(GPRS_QD1i);send_uart(,);send_uart(0X22);/分号for(i=0;isizeof(GPRS_QD2)-1;i+)send_uart(GPRS_QD2i);send_uart(0X22);/分号send_uart(,);send_uart(0X22);/分号for(i=0;isizeof(GPRS_QD3)-1;i+)send_uart(
43、GPRS_QD3i);send_uart(0X22);/分号send_uart(0X0D);/回车send_uart(0X0A);TC35_CON=GPRS_APN_flag;/*GPRS_PPP():AT%ETCPIP=”,” 进行PPP拨号*/void GPRS_PPP()uchar i;for(i=0;isizeof(GPRS_PPP_CMD)-1;i+)send_uart(GPRS_PPP_CMDi);send_uart(0X22);/分号send_uart(0X22);/分号send_uart(,);send_uart(0X22);/分号send_uart(0X22);/分号send_uart(0X0D);/回车send_uart(0X0A);TC35_CON=GPRS_PPP_flag;/*void GPRS_IP_DNS():AT%ETCPIP? 查询获得本地IP地址,以用DNS服务器地址*/void GPRS_IP_DNS()uchar i;for(i=0;isizeof(GPRS_IP_DNS_CMD)-1;i+)send_uart(GPRS_IP_DNS_CMDi);send_uart(0X0D);/回车send_uart(0X0A);TC35_CON=GPRS_IP_DNS_flag;/*