PTR2000应用资料
- 格式:doc
- 大小:89.00 KB
- 文档页数:17
基于AT89C52单片机实现短距离无线通信时间:2009-12-10 10:21:03 来源:电子设计工程作者:韩改宁赵娟段群1 引言短距离无线传输具有抗干扰性能强、可靠性高、安全性好、受地理条件限制少、安装灵活等优点,在许多领域有着广泛的应用前景。
低功耗、微型化是用户对当前无线通信产品尤其是便携产品的实际需求,短距离无线通信逐渐引起广泛关注。
常见的短距离无线通信有基于802.11的无线局域网WLAN、蓝牙(blueTooth)、HomeRF及欧洲的HiperLAN(高性能无线局域网),但其硬件设计、接口方式、通信协议及软件堆栈复杂,需专门的开发系统,开发成本高、周期长,最终产品成本也高。
因此这些技术在嵌入式系统中并未得到广泛应用。
普通RF产品不存在这些问题,且短距离无线数据传输技术成熟,功能简单、携带方便,使其在嵌入式短程无线产品中得到了广泛应用。
2 PTR2000引脚简介及设计2.1 PTR2000器件引脚功能PTR2000是基于nRF401器件的无线数据传输模块,采用低发射频率、高灵敏度设计。
该器件使用433 MHz频段,是真正的单片UHF 无线收发一体器件,其工作模式包括工作频道的设置和发送、接收、待机状态,由TXEN、CS、PWM 3个引脚共同决定,其工作模式设置如表1所示。
2.2 PrR2000模块设计该器件外围的主要电路有以下两个:(1)与单片机的连接电路单片机AT89C52的RXD和TXD引脚与PTR2000模块的DO和DI引脚直接相连。
PTR2000的模式控制引脚与单片机的控制引脚相连。
(2)与PC机的连接电路采用MAX202器件对PTR2000模块和计算机串口进行RS-232和TTL电平转换,将PTR2000与MAX202的输入和输出信号连接,转换后的信号与计算机的串口连接。
3 硬件设计在无法使用有线传输的场合,采用无线数据传输模块和单片机相结合进行数据传输是较合理的方案。
PTR2000利用串口进行数据传输,而单片机和PC机均带有串口,因此,可利用PTR2000作为单片机和PC机之间数据传输的无线接口,其硬件结构框图如图1所示。
PTR2000超小型、超低功耗、高速率19.2K无线收发数传
MODEM
佚名
【期刊名称】《电子制作》
【年(卷),期】2006(000)003
【摘要】迅通抖技产品。
应用领域与PTR5000相同。
【总页数】1页(P5)
【正文语种】中文
【中图分类】TN919.72
【相关文献】
1.基于无线收发数传模块PTR2030的温度测控系统设计 [J], 曹玲芝;赵合霞
2.无线收发数传MODEM模块PTR2000的原理与应用 [J], 武兴建;吴金宏
3.无线收发数传MODEM模块PTR2030及其应用 [J], 赵合霞;曹玲芝
4.无线收发数传MODEM模块PTR2030及其应用 [J], 赵合霞;曹玲芝
5.无线收发数传及其在高速公路不停车收费系统的应用 [J], 高玉芹
因版权原因,仅展示原文概要,查看原文内容请购买。
控制器。
参100618896模糊PID控制在运动控制中的应用刊,中/李琳//机械与电子.2006,(2).6567(D)0618897电动跑步机控制系统的设计刊,中/周平//机械与电子.2006,(2).2123(D)1821!机器人、机械手、自动调节、控制与执行机构0618898基于对手的足球机器人策略研究刊,中/黄新宇//西华大学学报(自然科学版).2006,25(2).3738,50 (G)0618899令人感兴趣的移动机器人刊,中/Warr en Webb//电子设计技术.2006,13(2).7075(C2)0618900数学建模竞赛活动的一个系统化模式设计刊,中/饶从军//渤海大学学报(自然科学版).2006,27(1). 4041(G)!!通过结合近几年组织数学建模教学和指导学生参加数学建模竞赛的实践,设计了一个具有本院特色的数学建模竞赛活动的系统化模式。
参30618901 T MS320LF2407A在UPFC的控制电路部分的应用刊,中/陈敏//自动化技术与应用.2006,25(2). 3335,45(G)!!本文主要提出了UPFC控制部分电路的硬件系统设计以及部分的软件设计流程。
着重介绍UPF C的控制电路,用TMS320LF2407A作为控制核心,同时对锁相环电路(PLL)作为较为详细的介绍,在软件部分,主要介绍DSP的数据处理过程。
参30618902应用全局最小二乘法辨识AUV运动参数刊,中/田亚杰//自动化技术与应用.2006,25(2).47(G)0618903改进的机器人神经网络变结构混合控制刊,中/陈丽//系统工程与电子技术.2006,28(3).429430, 443(E)0618904分布式多机器人协作研究与仿真刊,中/严勇杰//应用科技.2006,33(2).5255(D)!!描述了一个分布式多机器人完成推箱子或其他任务的协作仿真平台。
仿真系统可以用来试验机器人队伍的控制决策、团队组织原则。
Nanodrop 2000/2000C 分光光度计V1.0 用户手册基因有限公司仪器应用技术支持亲爱的用户,您好!非常感谢您选购我公司代理的仪器。
我们将竭诚为您提供优质的售后服务及免费的专业应用培训。
为了更好地进行仪器的应用培训,我们根据您所选购的仪器特点,将需要您配合准备的工作敬告如下:1. 应用培训内容:仪器操作培训和软件应用培训。
仪器操作培训包括:仪器的操作、维护和仪器使用注意事项。
软件应用培训包括:用户本次所购买的同仪器配套的所有软件的软件应用培训。
2. 培训时间:仪器正式安装调试后,由安装工程师现场培训仪器操作。
3. 应用培训中所需准备的试剂、耗材和仪器均需由用户提供,并在系统培训开始前准备好。
4. 用户签收售后服务工作报告后,基因公司正式的系统培训内容即完成。
您以后在使用的过程中有任何疑问都可以向我们咨询,我们非常乐意为您们解决应用上遇到的问题。
5. 在仪器的使用过程中,无论遇到您认为多么微小或繁琐的问题,请您及时和我们联系,一个及时的通知能节约您的时间,也能帮助我们更好的了解仪器和软件。
6. 联系我们时请您提供:仪器型号、软件名称,版本、错误代码、实验目的、操作系统(98/2k/xp/NT)、维修历史等相关资料。
本守则提的信息仅供参考,本守则包含的所有信息应该是正确和完整的。
如果对本守则中的描述有疑问,请参考厂家的英文操作说明。
如果由于您的不正当使用而对仪器造成损坏或者导致仪器的性能损伤,本公司将不会对此负责。
1.仪器介绍仪器描述Thermo Scientific NanoDrop 2000/2000C分光光度计可以检测0.5-2ul的样本,而且检测是非常高的准确性和重复性。
ND2000C分光光度计不仅提供了NanoDrop 样品保留专利技术的便利性,也可以使用传统的比色皿来进行样本检测。
样本保留系统应用了表面张力来把样本保留在两根检测光纤中间,这使得仪器可以检测较高浓度的样本而不用稀释。
APS2000 系统说明书APS2000系统手册之使用说明书2007年6月北京柯瑞斯通工程技术有限公司修订记录目录第一章APS2000系统介绍 (7)1、系统简介 (7)2、典型系统架构 (7)第二章APS2000系统安装 (10)1、开始前的准备 (10)2、开始安装 (10)3、启动APS2000系统 (22)4、关闭APS2000系统 (23)第三章APS2000 基本配置 (24)1、APS2000的文件系统 (24)2、APS2000系统主要进程 (26)3 程序的版本与系统注册 (28)4 控制台的设置 (30)5 运行时图形配置 (34)第四章APS2000节点配置 (37)1、APS2000服务器配置 (37)2、APS2000工作站配置 (38)3、APS2000的Mis服务器和Web发布 (38)4、APS2000后台与前置机子系统通信 (41)5、APS2000后台与通信管理机通信 (42)第五章APS2000的主要功能配置指南 (43)1 使用excel进行数据库的导入和导出 (43)2 语音报警的设置 (43)3 历史报警查询的配置 (45)4 变位跳画面和事故跳画面设置 (49)5 APS2000日志的备份 (50)6 事故追忆定义和查询 (51)7 如何重写报警记录 (57)8 和APS2000操作票五防闭锁通讯的配置 (58)9 APS2000和其它厂家五防闭锁通讯的配置 (59)10 如何实现月、季、年统计 (59)11 使用自动计算系数 (60)12 计划曲线的实现 (60)13 遥控与直接控制 (61)第六章APS2000计算表达式 (63)1、概述 (63)2、表达式的引用方法 (63)3、表达式的语法定义 (63)4、列举表达式的一些用例 (74)第七章APS2000数据库管理 (77)1 登陆到数据库管理系统 (77)2 了解数据库管理系统环境 (78)3 数据库的输入和设置 (80)编辑说明:本手册主要针对X86平台及Windows操作系统编写,但绝大部分使用说明在Unix环境下同样适用。
针对传统的人工抄表在实际工作中表现出来的种种弊端,设计出了一种无线智能抄表系统。
它是利用装在用户电表终端的计费器,通过无线、有线相结合的网络,实现远程抄表、缴费和管理。
由红外发射、接收对管来检测出用户电表的电能脉冲信号,单片机定时读取脉冲信号,得到用户的用电数据,输出显示并储存。
并且通过无线数据传输,经基站传送到中央控制室的PC机实现数据共享。
通过PC机不仅可以得到用户的用电数据分析用电情况,还可以远程操控用户端的电源,远程智能抄表系统与人工抄表相比,减轻了劳动强度,在成本和效率等方面有着许多突出的优势。
Abstract:The traditional manual meter reading shown in the actual work of many defects, design of a wireless smart meter reading system. It is the use of electricity meters installed in the user terminal meter, wireless, cable combining network, remote meter reading, payment and management. By the infrared transmitter and receiver on the pipe to detect the user's electricity meter pulse signal, pulse signal MCU time to read, by the users of electricity data, the output display and storage. Through wireless data transmission, sent by the base station to a central control room PC, data sharing. Not only through the PC, data analysis by users of electricity power usageYou can also power the remote control client, remote meter reading systems and artificial intelligence than meter reading to reduce the labor intensity, cost and efficiency has a number of outstanding advantages.关键词:终端计费器、计数器8253、AT89S51、MAX7219、PTR2000、nRF401、I2C总线、C程序。
PTP2000及其在不停车收费系统中的应用
1 PTR2000 简介
PTR2000 是超小型、超低功率、高速率无线数传MODEM。
1.1 PTR2000 产品特性
-工作频率为国际通用的数传频段433MHz;
-FSK 调制,扩展能力强,特别适合工业控制场合;
-采用DDS+PLL 频率合成技术,频率稳定性好;
-低工作电压(2.7V),低功耗,接收待机状态电流仅为8μA;
-具有两个频道,特别适合需要多信道工作的特殊场合;
-工作速率最高可达20kbit/s(也可在较低速率下工作,如9600bit/s);
-可直接接单牒同串口,也可接RS232 接口,软件编程方便;
-由于采用低发射功率(+10dBm)、高接收灵敏度(-105dBm)设计,使用无
需申请许可证。
1.2 PTR2000 应用领域
PTT2000 可用于遥控、遥测、小型无线网络、无线抄表、小区传呼、工业数
据采集、无线标签、身份识别、非接触RF 智能卡、小型无线数据终端、生物
信号采集、水文气象监测、机器人控制等场合。
1.3 PTR2000 电气特性
PRT2000 电气特性如表1 所示。
1.4 PRT2000 引脚说明
PRT2000 引脚图如图1 所示。
Pin1:VCC 正电源,2.7V~5.25V;Pin2:CS 频道选择,CS=0 选择工作频道I(433.92MHz),CS=1 选择工作频道。
PTR2000超小型、超低功耗、高速率19.2K无线收发数传MODEM 一、产品特性!接收发射合一!工作频率为国际通用的数传频段433MHz!FSK调制,抗干扰能力强,特别适合工业控制场合!采用DDS+PLL频率合成技术,频率稳定性极好。
!灵敏度高,达到-105dBm!最大发射功率+10dBm!低工作电压(2.7V),功耗小,待机状态仅为8uA.!具有两个频道,特别满足需要多信道工作的特殊场合!工作速率最高可达20Kbit/s(也可在较低速率下工作如9600bps)!超小体积约40mmx27mmx5mm!可直接接CPU串口使用如8031,也可以接计算机RS232接口,软件编程非常方便!由于采用了低发射功率、高接收灵敏度的设计,使用无需申请许可证!标准DIP引脚间距,更适合嵌入式设备二、应用领域遥控、遥测、、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、信息家电、无线232、无线422/485数据通信等。
三、电气特性参数数值工作频率(两组频率)433.92MHz/434.33MHz调制方式FSK稳频方式PLL最大发射功率@3V 400Ω<+10dBm接收灵敏度@400Ω 20Kbit/s-105dBm最高通信速率20Kbit/s工作电压 2.7~5.25V电流发射:20~30mA 接收:10mA待机电流(PWR=0)8uA四、引脚说明(顶视图)Pin1: VCC, 正电源,接2.7~5.25VPin2: CS, 频道选择,CS=0 选择工作频道1即433.92MHz, CS=1选择工作频道2即434.33MHz Pin3: DO, 数据输出Pin4: DI, 数据输入Pin5: GND 电源地Pin6: PWR, 节能控制, PWR=1 正常工作状态, PWR=0 待机微功耗状态Pin7: TXEN, 发射接收控制,TXEN=1时模块为发射状态,TXEN=0时模块为接收状态。
无线收发数传MODEM模块PTR2000的原理与应用
1 概述
无限收发一体数传MODEM 模块PTR2000 芯片性能优异,在业界居领先水平,它的显著特点是所需外围元件少,因而设计非常方便。
该模板块在内部需成了高频接收、PLL 合成、FSK 调制/解调、参量放大、功率放大、频道切换等功能,因而是目前集成度较高的无线数传产品。
以往设计无线数传产品常常需要相当的无线电专业知识和昂贵的专业设备,而且传统的电路方案不是电路太复杂就是调试困难而令人望而却步,以至影响了用户的使用和新产品的开发研制工作。
PTR2000 的出现,使有们摆脱了传统无线产品设计的困扰。
该器件采用抗干扰能力较强的FSK 调制/解调方式,其工作频率稳定可靠、外围元件少、功耗极低且便于设计生产,这些优异特性使得PTR200 非常适合于便携及手持产品的设计。
另外,由于它采用了低发射功率、高灵敏度设计,因而可满足无线管制的要求且无需使用许可证,是目前低功率无线数传的理想选择。
2 PTR2000 的主要特征
PTR2000 的主要特征如下:
该器件将接收和发射合接为一体;
工作频率为国际通用的数传频段433MHZ;
采用FSK 调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;
采用DDS(直接数据合成)+PLL 频率合成技术,因而频率稳定性极好;
灵敏度高达―105bBm;
工作电压低(2.7V),功耗小,接受待机状态电流仅为8μA;。
第33卷第1期东 北 林 业 大 学 学 报Vol.33No.1 2005年1月JOURNAL OF NORT HE AST F ORESTRY UN I V ERSI TY Jan.2005基于PT R2000无线Model的单片机之间无线通信的实现刁宏志 张彦福(东北林业大学,哈尔滨,150040) 摘 要 由一种具体无线射频Model-PTR2000构成的单片机之间的无线射频通信系统,给出了必要的主要硬件电路组成,讨论了通讯软件设计和实现方法。
由此可构成无线射频通信技术的基础,为实现各种不同具体要求单片机之间的通讯,提供了一种新的方法。
关键词 单片机;无线通讯;软件设计;射频技术分类号 T N929.5The Rea li za ti on of W i reless Co mm un i ca ti on between S i n gle Ch i p M i cyocos Ba sed on PTR2000/D iao Hongzhi,Zhang Yanfu(Northeast Forestry University,Harbin150040,P.R.China)//Journal of Northeast Forestry University.-2005,33(1).-108~109A radi o frequency communicati on syste m bet w een Single Chi p M icyocos(S C M)that are composed of Radi o Frequen2cyModel-PT R2000was designed.The hard ware circuit constituti on of this syste m was given,and the design and i m p le2mentati on of communicati on s oft w are were als o discussed.This syste m can be vie wed as the base of radi o frequency com2municati on technol ogy,which p r ovides a ne w method for the communicati on bet w een SC M s that have vari ous de mands.Key words Single chi p m icyocos(SC M);W ireless communicati on;Soft w are design;Radi o technol ogy 目前,移动通信技术发展很快,第三代移动通信系统(3G)已经提上了议事日程。
无线收发数传MODEM模块PTR2000的原理与应用1 概述无线收发一体数传MODEM模块PTR2000芯片性能优异,在业界居领先水平,它的显著特点是所需外围元件少,因而设计非常方便。
该模板块在内部需成了高频接收、PLL合成、FSK调制/解调、参量放大、功率放大、频道切换等功能,因而是目前集成度较高的无线数传产品。
以往设计无线数传产品常常需要相当的无线电专业知识和昂贵的专业设备,而且传统的电路方案不是电路太复杂就是调试困难而令人望而却步,以至影响了用户的使用和新产品的开发研制工作。
PTR2000的出现,使有们摆脱了传统无线产品设计的困扰。
该器件采用抗干扰能力较强的FSK调制/解调方式,其工作频率稳定可靠、外围元件少、功耗极低且便于设计生产,这些优异特性使得PTR200非常适合于便携及手持产品的设计。
另外,由于它采用了低发射功率、高灵敏度设计,因而可满足无线管制的要求且无需使用许可证,是目前低功率无线数传的理想选择。
2 PTR2000的主要特征PTR2000的主要特征如下:该器件将接收和发射合接为一体;工作频率为国际通用的数传频段433MHZ;采用FSK调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;采用DDS(直接数据合成)+PLL频率合成技术,因而频率稳定性极好;灵敏度高达—105bBm;工作电压低(2.7V),功耗小,接收待机状态电流仅为8μA;具有两个频道,可满足需要多信道工作的场合;工作速率最高达20kbit/s(也可在较抵速率下工作,如9600bps);超小体积,约40×27×5mm;可直接与MCU的串口进行连接(如8031),也可以通过MAX232与计算机接口,软件编程非常方便;标准的DIR引脚间距更适合于趼、嵌入式设备;由于采用了低发射功率、高接收灵敏的设计,因此使用时无需申请许可证,开阔地时的使用距离最远可达1000米。
3 引脚排列及功能PTR2000模板的引脚排列如图1所示。
各引脚的功能说明如下;VCC(1脚);下输入端,电压范围为2.7~5.25V;CS(2脚):频道选择端。
CS=0时,选择工作频道1,即433.92MHz;CS=1时选择工作频道2,即434.33 MHzDO(3脚):数据输出端;接收时应将PTR2000置于接收状态,即TXEN=0。
然后将将接收到的数据直接送到单片机串口或经电平转换后送到计算机。
4.3 待机模式当PWR=0时,PTR2000进入节电待机模式,此时的功耗大约为8μA,但在待机模式下不能接收和发射数据。
PTR2000 除了应注意在发送、接收和待机模式下的编程外,还需注意在无信号时,PTR2000的串口输出的是随机数据,此时,可定义一个简单的通信协议,如在发送时,在有效数据这前加两个(或多个)字节的固定标志,以便在接收一方的软件中检测该固定标志并将其作出了为下式数据的开始。
为了使系统能够可靠地通信,在编程时应设计通信协议,并应考虑数据的纠检错,检错可采用较验方式或更好的CRC校验方式。
5 硬件连接图2所示是PTR2000与计算机串口进行接口的典型应用电路。
连接时,PTR2000无线MODEM的DI端应接单片串口的发送端,DO接单片机串口的接收端。
利用单片机的I/O可以控制模块的发射控制、频道转换和低功耗模式。
如果直接将PTR2000与计算机串口连接,则可用RTS来控制PTR2000无线MODEM模块的收/发状态转换(RTS需经电平转换)。
6 应用单片无线收、发一体无线数传模块PTR2000可广泛用于遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象控制、机器人控制、无线/230/422/485数据通信、数字音频、数字图像传输等系统。
图3 是PTR2000的一种具体应用框图。
图中,MCU单片机可以是8031、2051、68HC08、PIC16C、Z8等,可将PTR2000直接到单片机的串口或I/0口上。
图4的接收和发射系统图可完成数据采集的点对点传输。
适用于工业控制、数据采集、无线键盘、无线标签、身份识别等系统中。
利用图5所示电路可以构成3点对多点的双向数据传输通道,该系统可用于无线抄表、无线数传等。
单片机和PTR2000接口电路设计本例中单片机的电平通过串口以及I/O控制口与PTE2000直接相连,接口电路如图8-16所示。
图8-16 单片机和PTR2000接口电路原理图S1是复位键,与C3,R1构成了复位电路;Y1是12MHz 的晶振,决定了单片机串口的传输速率;单片机的P3.0引脚和PTR2000的DO相连,单片机的P3.1引脚和PTR2000的DI相连,实现串行数据传输;PTR2000的TXEN,CS,PWR三个引脚分别和单片机I/O控制中的P2.0,P2.1,P2.2相连。
C机和PTR2000接口电路设计PC机和PTR2000接口电路的原理图如图8-17所示。
图8-17 PC机和PTR2000接口电路原理图因为PC机的串口支持RS-232标准,而PTR2000模块支持的是TTL电平,所以需要MAX202来完成PC机和PTR2000之间的电平转换。
PC机的串口通过MAX202与PTR2000模块的串行输入,输出引脚DI,DO相连;PTR2000的低功耗控制引脚PWR 接VCC高电平,让其处在工作状态;频道选择引脚CS接GND高电平,即采用通信频道1(433.92MHz);TXEN引脚由PC机串口的RTS信号来控制,决定了PTR2000模块的发送/接收状态。
C7,C8,C9,C10的电容值都是0.1μF。
PC机端的串口传输速率也需设定为96kb/s,和单片机保持一致。
软件设计本例中由两个通信终端,分别是单片机和PC机,两部分的软件相互对应,设置各自的PTR2000模块的功能工作状态。
这里着重介绍单片机端的软件设计。
出于方便的考虑,本例中已固定了通信频道,并且让PTR2000模块一直处于工作状态,不能使用待机状态(这两点已经在硬件的设计上有所体现)。
这样,单片机和PC 机端软件就这要在于PTR2000发射还是接受状态的设置。
发射:收到接受命令后,应先将PTR2000模块至于发射模式,即将TXEN置一。
然后等待一段时间才可以发送数据(PTR2000从接收模式转换成发送模式需要一个切换时间,大概5ms左右)。
发送结束后,将模块至于接受状态,即将TXEN置零。
接收:接收时应将PTR2000至于接受模式,即将TXEN 置零。
单片机在不发送时的时候应尽量处于接受状态。
程序流程图本例的程序流程图如图8-18所示。
图8-18 单片机端程序流程图单片机端默认将PTR2000设为接收状态,通过串口中断来识别由PC即通过无线信道传输过来的指令,再根据具体指令完成对应的工作。
需要注意的是,将PTR2000模块设置为发射状态的时候至少要等待5ms的时间才可以发送;发送完毕后,向PC即端发送“发送结束指令”,然后将PTR2000重新设置位接收状态。
程序代码下面是程序的完整代码#include <reg52.h>// 引用标准库的头文件#include <stdio.h>#define uchar unsigned char#define uint unsigned int#define REQ_SEND 0x33#define REQ_RESEND 0x66#define SEND_OVER 0x99//为简化起见,假设了7位固定的采集数据#define DATA0 0x10#define DATA1 0x20#define DATA2 0x30#define DATA3 0x40#define DATA4 0x50#define DATA5 0x60#define DATA6 0x70sbit TXEN = P2^0;sbit CS = P2^1;sbit PWR = P2^2;void ClearT_buf();//清除t_buf函数void ClearR_buf();//清除r_buf函数void Delay();//延时5msvoid GetData();//采集数据void Send();//采集并发送函数void SendOver();//通知PC机发送结束函数xdata uchar Flag_Start = 0 ;//开始接受数据标志位xdata uchar Flag_RSend = 0 ;//请求发送标志位xdata uchar Flag_ReSend = 0 ;//请求重发标志位xdata uchar Flag_Delay = 1 ;//延时5ms标志xdata uchar Data[7];//采集的7个字节数据xdata uchar tCount = 0;xdata uchar t_buf[11];// 1开始字节"$",1长度字节LEN,// 7字节数据,1校验和字节,// 1 结束字节"*"xdata uchar rCount = 0 ;xdata uchar r_buf[5];// 1开始字节"$",1长度字节LEN,// 1字节指令,1校验和字节,// 1 结束字节"*"/* 定时器0中断服务子程序*/void timer() interrupt 1 using 2{Flag_Delay = 0;TH0 = -5000/256;TL0 = -5000%256;}//串口中断服务子程序void serial ( ) interrupt 4 using 1{RI = 0 ;//判断是否收到字符'$',其数值为0x24,置开始接收标志位if ((!Flag_Start) && (SBUF == 0x24)){Flag_Start = 1;}if (Flag_Start){if (rCount <5){r_buf[rCount] = SBUF;rCount ++;}//判断是否收到字符'*',其数值为0x2A,根据接收的指令设置相应标志位if ((r_buf[rCount -1] == 0x2A) || (rCount == 5)){rCount = 0;Flag_Start = 0;if (r_buf[2] == REQ_SEND)//收到“请求发送”指令{Flag_RSend = 1;}if (r_buf[2] == REQ_RESEND) //收到“请求重发”指令{Flag_ReSend = 1;}}elseClearR_buf();}}//清除t_buf函数void ClearT_buf(void){uchar xdata i ;for (i=0;i++;i<11){t_buf[i] = 0;}}//清除r_buf函数void ClearR_buf(void) {uchar xdata i ;for (i=0;i++;i<5){r_buf[i] = 0;}}//延时函数void Delay(void){TR0=1;ET0=1;while( Flag_Delay); ET0 = 0;TR0 = 0;Flag_Delay = 1;}//采集数据函数经过简化处理,取固定的7个字节数据void GetData(void){Data[0]=DATA0;Data[1]=DATA1;Data[2]=DATA2;Data[3]=DATA3;Data[4]=DATA4;Data[5]=DATA5;Data[6]=DATA6;}//单片机端发送数据函数void Send(void){uchar xdata j = 0;uchar xdata len = 0;uchar xdata CheckSum = 0 ;t_buf[0]=0x24;//起始位t_buf[1]=0x07;//7个数据字节len=t_buf[1];CheckSum = CheckSum + len;for ( j=0;j++;j<len){t_buf[j+2] = Data[j];CheckSum = CheckSum + t_buf[j+2]; }t_buf[9] = CheckSum;//校验和字节t_buf[10] = 0x2A;//停止位for (j=0;j++;j<11){TI =0 ;SBUF = t_buf[j];while ( TI ==0 );TI =0 ;}}//通知PC机端发送结束函数void SendOver(void){TI =0 ;SBUF = 0x24;while ( TI ==0 );TI =0 ;SBUF = 0x01;while ( TI ==0 );TI =0 ;SBUF = SEND_OVER;//通知PC机端“发送结束”while ( TI ==0 );TI =0 ;SBUF = 0x99;//校验字节while ( TI ==0 );TI =0 ;SBUF = 0x2A;while ( TI ==0 );TI =0 ;}void main(void){ClearT_buf();ClearR_buf();TXEN = 0;//初始为接收状态PWR = 1;//正常工作模式CS = 0;//选择通道0EA=0;//11.0592MHz,9600波特率,工作方式1,8数据位,1停止位,无奇偶校验TMOD = 0x21;SCON = 0x50;//串行口工作方式1,REN=1PCON = 0x00;//SMOD=0TL1 = 0xfd;TH1 = 0xfd;TR1=1;//定时器1开始计时PT0 = 1;//定时器0高优先级TH0 = -5000/256;//5msTL0 = -5000%256;IE = 0x90;//EA=1,ES=1while (1){if (Flag_RSend)//“请求发送”指令{TXEN = 1;// 改变为发射状态Delay();// 延时5msGetData();// 采集数据Send();// 发送Flag_RSend = 0;SendOver();// 通知PC机发送结束TXEN = 0;// 重设为接收状态}else if (Flag_ReSend)// “请求重发”指令{TXEN = 1;// 改变为发射状态Delay();// 延时5msSend();// 重发Flag_ReSend = 0;SendOver();// 通知PC机发送结束TXEN = 0; // 设为接收状态}}}。