第一篇:基于PC机与8255的交通灯电路系统设计
湖南科技大学 信息与电气工程学院
《课程设计报告》
题 目:基于PC机与8255的交通灯电路系统设计 专 业: 通信工程 班 级: 3班 姓 名: 黄夏妮 学 号: 1304040322 指导教师: 欧青立 陈君 宋芳 管智利 李目
2015 年 12 月 28 日 信息与电气工程学院 课程设计任务书
2015 —2016 学年第 一 学期
专业: 通信工程 班级: 3班 学号: 1304040322 姓名: 黄夏妮 课程设计名称: 微机原理与接口技术
设计题目: 基于PC机与8255的交通灯电路系统设计 完成期限:自 2015年 12 月 14 日至 2015 年 12 月 25 日共 2 周 设计依据、要求及主要内容: 设计依据:
交通灯在我们的日常生活中很常见,现代化城市交通中交通灯已成为城市不可或缺的一部分。基于微处理器的交通灯控制系统成为主要设计方法。采用微处理器结合外围芯片,通过软件编程方式即可实现对交通灯的控制。设计内容及要求:
采用80868088控制器和8位并行接口芯片8255设计实现交通灯控制系统,编写相关软件程序。基本要求:
(1)采用Protel软件或其它软件绘制电路原理图;
(2)初始状态为全红灯,等待5秒,LED显示倒计时,然后东、西方向亮红灯,南、北方向亮绿灯,时间为10秒,LED显示倒计时;转为南、北方向绿灯闪3秒,然后转为黄灯3秒,LED显示倒计时;再转为东、西方向亮绿灯,南、北方向亮红灯,时间为10秒,LED显示倒计时;然后再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。
提高要求:如果发生突发情况,能通过按键使东西或南北方向长时间红灯。
指导教师(签字): 批准日期: 年 月 日
摘要
随着微型计算机技术的飞速发展,计算机在工程领域中的应用日益普及。此次课程设计采用8088控制器及8位并行接口芯片8255设计实现交通灯控制系统。原理图的设计采用ptotel99设计构建,仿真采用AEDK8688ET实验板实现。此交通灯的控制分为东西方向和南北方向两种,其过程有倒计时、绿灯/红灯闪烁,红绿灯交替。8255芯片的PB口对4个交通灯进行控制,A口和C口控制74ALS164(数码管部分)。
关键词:8255;AEDK8688ET实验板;交通灯;
目录
1、前言
2、设计目的
3、设计要求
4、交通灯控制系统介绍
5、设计使用的元器件
6、设计总体方案
7、芯片选择、端口选择及使用原理
8、主程序的流程
9、程序设计
10、实验原理图
11、运行结果
12、调试记录与分析
13、设计心得体会
一、前言
随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。
本次的交通灯控制系统主要由8088控制器、8位并行接口芯片8255、74LS138译码器、74ALS164(数码管显示电路)及74ALS240芯片组成。整个设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。
二、设计目的
1、掌握计算机应用系统特别是微机接口系统的设计。
2、掌握接口电路设计技术,初步掌握电子设计软件Protel 99。
3、掌握微机接口程序的编制与调试技术。
4、通过这次课程设计,熟悉8255的功能,掌握初始化编程方法。
三、设计要求
1、设计一交通灯控制系统,控制东西方向的红、黄、绿灯和南北方向的红、黄、绿灯。
2、采用protel 99设计硬件电路。标示引脚编号、元器件参数。
3、完成硬件电路的搭建。
4、编制相应接口程序。与硬件一并调试成功。
四、交通灯控制系统介绍
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。假设为某个十字路口设计一个交通灯控制系统,分为东、西、南、北4个方向,初始态为4个路口的红灯全亮。在5s的倒计时后,东、西方向亮红灯,南、北方向亮绿灯,持续10s。之后转为南、北方向绿灯闪3秒,然后转为黄灯3秒,再转为东、西方向亮绿灯,南、北方向亮红灯,持续10秒。然后再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。
五、设计使用的元器件
实验室提供PC机与爱迪克AEDK8688ET实验系统
六、设计总体方案
1、基本框架
2、运行思路
编写程序实现通过8255控制四个方向的交通灯的状态,我们可以设计五个状态。
状态1:红灯全亮。
状态2:南北绿灯亮,东西红灯亮。
状态3:南北绿灯先闪然后黄灯闪,东西保持红灯。
状态4:南北变为红灯,东西变为绿灯。
状态5:东西绿灯先闪然后黄灯闪,南北保持红灯。
状态5跳转到状态2.七、芯片选择、端口选择及使用原理 1、8255(1)内部结构
a.面向CPU的接口电路
① 数据总线缓冲器
是一个三态双向的8位缓冲器,是8255与系统数据总线的接口。CPU向8255写入控制字或从8255中读状态信息以及所有数据的输入和输出,都需要通过数据缓冲器来进行传递。
②读写控制逻辑
是8255内部完成读/写控制功能的部件。
它接收来自CPU的地址和控制信号,并依据这些控制信号,向8255各功能部件发出读/写控制命令。依据地址信号,选择8255中的某个端口。b.面向外设的接口电路
端口A:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入锁存器。与之关联的接口线是PA0~PA7 端口B:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入缓冲器。与之关联的接口线是PB0~PB7 端口C:包含一个8位的数据输出锁存/缓冲器和一个8位数据输入缓冲器。与之关联的接口线是PC0~PC7 可作数据、状态和控制端口,可分成两个4位,每4位可独立操作。A组的控制位是高4位PC4~PC7,B组的控制位是低4位PC0~PC3。
(2)引脚功能
a.与CPU相连的引脚
RESET:复位信号,输入,高电平有效。当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有的I/O口(A、B、C)均被置成输入方式。D7~D0:数据线,和系统总线相连。
A0和A1:口选线0和口选线1,用来选择3个数据口和控制字寄存器。
——
RD:读信号,输入,低电平有效。有效时,CPU从8255中读取数据或状态信息。WR:写信号,输入,低电平有效。有效时,允许 CPU将数据或控制字写入 8255A。——--——-CS:片选信号,输入,低电平有效。有效时,允许8255A与CPU进行通信。一般接端口地址译码器输出端。b.与I/O设备相连的引脚
PA0~PA7,PB0~PB7,PC0~PC7分别对应端口A,B,C。
(3)8255芯片有三种工作方式可供选择:
方式0:基本的输入/输出方式。
方式1:带选通的输入/输出方式。
方式2:双向传输方式。当RESET输入端处于高电平时,所有的I/O端口均被置成输入方式;RESET信号撤销后,8255A仍处于输入状态而不必再预置。要改变方式,只需用一条输出指令,向其控制字寄存器写入控制字就可以了。
2、译码器:74LS138
①当一个选通端(E1)为高电平,另两个选通端((/E2))和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。②利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。
③若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。④可用在8086的译码电路中,扩展内存。
3、数码管显示电路:74LS164
74LS164是8 位串入,并出移位寄存器,时钟(CP)每次由低变高时,数据右移一位,输入到 Q0,Q0 是两个数据输入端(DSA和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平。
在本次设计中,数据端AB连接8255的PA0,脉冲端连的是8255的PC5。4、74LS240
74ls240是八单线驱动器。(反码,三态输出)这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器,时钟驱动器和总线定向接收器和发射器的性能可和集成度而特意设计的。
在本次设计中,用74LS240控制交通灯,8个引脚分别连接8255的B口8个引脚,再一高一低两个引脚控制一个交通灯,在有控制字输入时输出应有的交通灯信号。
八、主程序的流程
a.置8255控制字80H,使各端口均为输出口,且均工作于方式0 b.4个路口红灯全亮 c.持续5s d.东、西方向亮红灯,南、北方向亮绿灯 e.持续10s f.南、北方向绿灯闪3秒,然后转为黄灯3秒 g.东、西方向亮绿灯,南、北方向亮红灯 h.持续10s i.东、西方向绿灯闪3秒再转为黄灯3秒 j.东、西方向红灯,南、北方向绿灯 k.从d开始循环
九、程序设计
;-----------数码管-----------------------PA55 EQU 0210H;8255PA口地址 PC55 EQU 0212H;8255PC口地址 P55CTL EQU 0213H;8255控制口地址;-----------LED灯----------------------PB55 EQU 211H D1 EQU 10H D2 EQU 50H DATA SEGMENT PB DB ? DATA ENDS STACK SEGMENT STACK STA DW 50 DUP(?)TOP EQU LENGTH STA STACK ENDS
;-----------开始-----------------
CODE SEGMENT ASSUME CS:CODE,DS:CODE START: PUSH CS POP DS MOV DX,P55CTL;设置8255口为输出口 MOV AL,80H OUT DX,AL;------------LED-----------------MOV DX,204H MOV AL,00H
OUT DX,AL;清LED MOV DX,PB55;全红 MOV AL,0FH OUT DX,AL MOV BX,7fH CALL DLY;CALL BEGIN;CALL WRITE2;调用数码管过程
BG: MOV AL,96H;南北绿,东西红
OUT DX,AL MOV BX,D2 CALL DJS;计数;JMP XH1;MOV CX,03H MOV DX,P55CTL;设置8255口为输出口 MOV AL,80H OUT DX,AL MOV DX,204H MOV AL,00H OUT DX,AL;MOV DX,PB55 MOV CX,03H JNZ XH1 XH1: MOV AL,9FH;OUT DX,AL MOV BX,D1 CALL DLY MOV AL,96H;OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1;MOV AL,06H;OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY MOV AL,69H;OUT DX,AL MOV BX,D2 CALL DLY CALL DJS MOV DX,P55CTL;MOV AL,80H OUT DX,AL MOV DX,204H MOV AL,00H OUT DX,AL;MOV DX,PB55
清LED 绿灭 绿亮 闪烁3次 南北黄 南北红,东西绿 设置8255口为输出口
清LED MOV CX,03 XH2: MOV AL,6FH;东西绿灭 OUT DX,AL MOV BX,D1 CALL DLY MOV AL,69H;东西绿亮 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH2;闪烁3次 MOV AL,09H OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY JMP BG;倒计时----DJS PROC NEAR
PUSH DX PUSH CX PUSH AX PUSH BX BEGIN: MOV AL,0 MOV CH,0 WRITE2:
MOV AH,AL LEA BX,LED XLAT MOV CL,8H;分八位写一个LED
;-----------164驱动--WRITE1: MOV DX,PA55 OUT DX,AL PUSH AX MOV DX,P55CTL;利用8255PC5口控制DCLK,使DCLK产生一低电平到高电平的跳变
MOV AL,0AH;PC5置“0”
OUT DX,AL MOV AL,0BH;PC5置“1”
OUT DX,AL POP AX
RCR AL,1 DEC CL CMP CL,0 JNZ WRITE1 CALL DELAY
MOV AL,AH INC AL INC CH CMP CH,0AH;循环10次
JBE WRITE2;调用数码管过程
POP DX POP CX POP BX POP AX
RET
DJS ENDP;JMP BEGIN
;---------延时1S--------------------DELAY PROC NEAR PUSH CX MOV BL, 24 M2: MOV CX,2810H LOOP $ DEC BL JNZ M2 POP CX RET DELAY ENDP;--DLY PROC NEAR;延时 PUSH CX DDD: MOV CX,0FFFH CCC: LOOP CCC DEC BX CMP BX,0 JNE DDD POP CX RET DLY ENDP;CODE ENDS
;-----------数码管编码----------------------LED: DB 09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H;9 8 7 6 5 4 3 2 1 0 CODE ENDS;------------
END START
十、实验原理图
十一、运行结果
开始时为全红灯,倒计时显示倒数5s后变成东、西方向亮红灯,南、北方向亮绿灯。倒计时倒数10s后,转为南、北方向绿灯闪烁3秒,然后转为黄灯3秒。再转为东、西方向亮绿灯,南、北方向亮红灯。倒计时10s后,转为东、西方向绿灯闪3秒,再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯。之后开始循环。
十二、调试记录与分析
在调试中,刚开始由于对一些芯片不是很了解以及汇编语言用的不是很熟练,所以起初错误比较多,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理。总之是一头雾水,通过翻阅接口方面的书以及在网上查阅资料,有点了初步的进展。诸如像灯不显示或显示不全,一方面可能由于电路连接出错或者可能程序没写正确都会导致这些错误。而红黄绿时间分配不合理,比方说黄灯时间很久而绿灯时间很短,这都是时间设置问题,这些都要通过代码更改才能实现。其中8255A的A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯,由于能力有限以及代码存在的一些错误,没能正确的调试出预期实验结果,希望通过以后不断的学习,提高自身能力。
十三、设计心得体会
本次课程设计是要设计一个交通灯系统,主要通过8255A的A口、B口和C口模拟十字路口交通灯的闪烁情况。在本次对交通灯的设计过程中以此来加深对微机接口技术的理解,提高了自己的动手能力。
首先着手对硬件电路的设计,本次课程设计主要采用了8255A接口电路、74LS138译码器、74LS164(数码管显示电路)以及74LS240这四个芯片电路。由于对各个芯片不熟悉,通过课本了解到了它们的引脚及功能、工作方式、内部结构和控制字。了解之后才能着手开始设计课程设计。
然后就是对程序的设计,想要设计出一个实用的控制系统就需要了解程序流程,先写出了整个设计的流程,然后开始编辑程序。
最后对程序,硬件电路进行调试。在调试过程中遇到了很多问题,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理,对系统功能以及软件延时子程序的调用等等,这些问题在同学和老师的帮助下得以解决,总算能得出让人满意的结果。
经过为期两个星期的课程设计,我获益颇多。将微机接口技术中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解,在实验调试过程中发现问题,分析问题,如何解决问题的能力都有所提高。还有一点让我很感动,遇到问题时,同学不厌其烦的帮忙解决问题举动,意识了一个团体力量的伟大。
最后希望通过以后的学习,不断提升自身各方面的能力,如对专业知识的掌握程度,动手实践能力等。经过此次的课程设计,我们学会了合作。我们要形成自己的设计思想,以便在今后的专业课形成自己的风格。同时在多多锻炼自己的动手能力,以便在以后的工作能独立完成一些设计项目。
第二篇:51单片机与PC机通信资料
《专业综合实习报告》
专
业:
电子信息工程
年
级:
2013级
指导教师:
学
生:
目录
一:实验项目名称 二:前言
三:项目内容及要求 四:串口通信原理 五:设计思路
5.1虚拟串口的设置 5.2下位机电路和程序设计 5.3串口通信仿真 六:电路原理框图 七:相关硬件及配套软件
7.1 AT89C51器件简介 7.2 COMPIN简介 7.3 MAX232器件简介 7.4 友善串口调试助手
7.5 虚拟串口软件Virtual Serial Port Driver 6.9 八:程序设计 九:proteus仿真调试 十:总结 十一:参考文献
一:实验项目名称: 基于51单片机的单片机与PC机通信
二:前言
在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。
目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。
为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。
用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴齿可以很方便的构成一个主从式系统。
串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。串口同时也是仪器仪表设备通过用的通讯协议,很多GPIB兼容的设备也带有RS-232口。同时串口通讯协议也可以用于获取远程采集设备数据。所以,深入的理解学习和研究串口通信相关知识是非常必要的。此次毕业设计选题为“PC机与MCS-51单片机的串口通讯”,使用51单片机来实现一个主从式的总线通讯系统。通过此次设计,对串口通讯的原理和应用融会贯通,为以后的时间工作储备知识和研究方法。
三.项目内容及要求
基于51单片机,在相关软件的辅助下,建立起单片机与PC机之间的通信机制,使用proteus仿真软件进行仿真,要求可从PC机上发送数字及英文字母出来,由单片机接收并在虚拟软件显示屏上显现出来,有开关控制数字或者是字母的发送。
四:串口通信原理
单片机与外围部件或设备的数据传输方式有并行通信和串行通信两种方式,本实验主要通过串行通信方式进行单片机与PC机之间的数据传输,故略去并行通信方式的介绍。
串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。这种传送方式具有方法简单,灵活性强,可靠性高等特点,同时需要的传送线少,适于远距离传送。但是,由于数据是按位发送出去的,因此这种数据传送方式比并行通信速率低。
串行通信又可以分为同步通信和异步通信两种方式。
同步通信是指同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。
相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。
五.设计思路
Pc机和单片机的串口通信系统的调试一般通过一根串口连接线把带有软件上位机的(Pc机)和下位机(即单片机)连接起来进行,用这种调试串口通信程序比较烦琐。本文介绍一种用纯软件实现PC机和单片机串口通信的仿真的方法,所有的调试都在一台电脑上通过软件完成。上位机由Pc机代替,下位机由用PROTEUS软件设计的AT89C51单片机仿真电路代替串口及连接通过由虚拟串口软Virtual Serial Port Driver 6.9进行连接。
5.1虚拟串口的设置
安装虚拟串口软件Virtual Serial Port Driver 6.9,然后打开,左边上面的COMl是电脑上实际的物理串口,下面是虚拟串口,在没有设置前是空的。因为电脑最多有两个物理串口,将圆圈里的串口改为COMl,COM3,点击Add pair,这就表示,利用这个软件将计算机的串口l和模拟串口3联接了起来,这两个串口可以进行通信了。
5.2下位机电路和程序设计
用Proteus6.9设计的仿真电路只用了几个元器件。由于两个虚拟串口采用相同的标准电平,因此电路中用来作,ITllL电平向RS232电平转换的电路在仿真电路中可以省略。单片机的实例程序用Keil C51语言编写,串口接收数据采用中断的方式,发送数据采用外部中断的方式,用按钮开关控制数据的发送。
5.3串口通信仿真
打开友善串口调试助手,修改串口为COM3,波特率为9600,校验位为None,数据位8,停止位为1。用Proteus打开仿真电路文件,先设置AT89C51的属性,右击选中AT89C5l,再用左键单击AT89C51,在出现的属性对话框里点击Program File后的打开按钮,找到自Keil源程序编译好的.HEX文件后单击打开,然后在Clock Frequency后填写12M。单击OK接下来打开串口COMPIN的属性对话框,在PhsicalPort后选择COMl,波特率为9600,校验位为None,数据位8,停止位为l。设置好后,启动仿真就可以实现电脑和单片机串口通信的仿真了。首先演示一下单片机向计算机的串口发送数据。拨动开关向右拨,运行,按一下开关。虚拟串口终端最示单片机向计算 机COMl发送的数据,而计算机的COMI已经和COM3相连,因软件PROTEUS 所此可以在COM3收到单片机发送给COMi的数据。接着冉演示一下计算机的串口向单片机发送数据。拨动开关向左拨,在口调试助手中输入想要发送的数据,点击手动则字符 串由COM3发送给了计算机的COMI。再由COMI发送给单片 机。单片机的程序里面有回显功能,将接 送给了COM因 此可以在COM3的接受框内能够接收到会显得字符串。
六.电路原理框图
七.相关硬件及配套软件 7.1 AT89C51器件简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
7.2 COMPIN简介
COM口(cluster communication port)即串行通讯端口。微机上的com口通常是9针,也有25针的接口,最大速率115200bps。通常用于连接鼠标(串口)及通讯设备(如连接外置式MODEM进行数据通讯或一些工厂的CNC机接口)等。一般主板外部只有一个COM口,机箱后面和并口一起的那个九孔输出端(梯形),就是COM1口,COM2口一般要从主板上插针引出。并口是最长的那个梯形口。本实验主要应用九针接口。
7.3 MAX232器件简介
MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平。
当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的标准不一样,因此要通过max232这种类似的芯片进行电平转换。
7.4友善串口调试助手
一个强大而稳定的串口调试助手,支持常用的110-921600bps波特率及自定义波特率,波特率最高可支持8000000(串口硬件有关),可适应于非标准波特率。支持串口自动识别,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。
7.5虚拟串口软件Virtual Serial Port Driver 6.9简介
该软件安装成功后可以虚拟出多个串口用于实验,虚拟串口都是成对出现使用的,最大限度的方便了用户数的需求。
八.程序设计
注:本程序采用C语言编写,程序如下: #include
}
void main(){ uchar i;
P0 = 0x00;Receive_Buffer[0]=i;SCON = 0x50;TMOD = 0x20;PCON = 0x00;TH1 = 0xfd;TL1 = 0xfd;EA = 1;EX0 = 1;IT0 = 1;ES = 1;IP = 0x01;TR1 = 1;while(1){ for(i=0;i<100;i++){ if(Receive_Buffer[i]==-1)break;while(x--){ for(i=0;i<120;i++);}
}
} } P0 = DSY_CODE[Receive_Buffer[i]];Delay(200);Delay(200);void Serial_INT()interrupt 4 { uchar c;
}
void EX_INT0()interrupt 0 { uchar *s =(“Receiving From 8051...rn”);uchar i = 0;while(s[i]!=' ')if(RI==0)return;ES = 0;RI = 0;c = SBUF;if(c>='0' && c<='9'){ Receive_Buffer[Buf_Index]=c-'0';} ES = 1;Receive_Buffer[Buf_Index+1]=-1;Buf_Index =(Buf_Index+1)%100;
} { SBUF = s[i];} while(TI == 0);TI = 0;i++;
第三篇:三菱PLC与PC上位机VB通讯
三菱PLC通讯
三菱PLC与PC上位机VB通讯
三菱PLC:FX1N + FX1N-232-BD
FX2N + FX2N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版
Windows 98中文版 + Visual Basic 6.0 中文企业版
两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5)
一.三菱PLC的设置
三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。
此外,对于采用RS485形式1:N计算机链接的还必须对站点号(D8121)进行设定。设定的范围从00H到0FH(即0到15)。在这里对D8120采用下述设置: b15 b0 0110 1000 1000 1110 6 8 8 E 即数据长度为7位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,采用计算机链接(RS-232C),自动添加和校验码,采用专用协议格式1。同时设定站号为0。具体设定如下所示:
FX PLC进行计算机链接时可用的专用协议有两种:格式1和格式4。两种格式的差别在于是否在每一个块上添加了CR + LF,其中添加了CR + LF的是格式4。在这里采用格式1。
二.上位机程序的编制
这里采用Microsoft公司的Visual Basic 6.0中文企业版编制上位机程序。Visual Basic中提供了一个名为MSComm的通信控件便于设计串行通信的程序。MSComm控件的主要属性有: 1. CommPort属性
CommPort属性用于指定所要使用的串行端口的号码。虽然Windows操作系统可以容纳最多256个串行通信端口,不过Visual Basic的MSComm控件则仅限于16个端口。2. Settings属性
Settings属性用于设置初始化参数。以字符串的形式设置波特率、奇偶校验、数据位、停止位等4个参数。其格式为“BBBB,P,D,S”,其中BBBB表示波特率,P表示奇偶校验位检查方式,D表示数据位数,S表示停止位数。一般情况下,欧美仪器习惯使用“9600,n,8,1”当成设置值;而日本仪器则习惯使用“9600,e,7,2”作为设置值。Settings设置完成之后,所传输及接受的字符串便以此设置为准,使用RS-232通信的双方,Settings必须完全一样,彼此才能顺利地通信,否则双方将无法正确接收到彼此所传输的信号。所以,该属性的设置必须和三菱PLC中D8120的相关设置保持一致。在这里,统一采用“9600,e,7,2”的设定。
三菱PLC通讯
3. PortOpen属性
PortOpen属性用于设置通信连接端口的状态。在使用串行端口之前必须先将要使用的串行端口打开。在上位机程序中应进行如下设定: Private Sub Form_Load()'窗体载入事件 MSComm1.CommPort = 1 '选择端口号 MSComm1.Settings = “9600,e,7,2” '设置端口属性 MSComm1.PortOpen = True '打开端口 End Sub 4. Output属性
MSComm控件的Output属性提供了发送的功能,当从计算机向可编程控制器写入数据或从可编程控制器读取数据时,上位机应当先发出以下格式(格式1)的指令字符串: ENQ 站号 PC号 命令 消息等待时间 字符区域A 和校验代码
其中站号为在D8121中的设定值,这里是:00,PC号对于FX系列为:FF。
因为ENQ,ACK,NAK等通信控制字符是不可见字符,所以先用Chr函数对其进行赋值: ENQ=Chr(5)ACK=Chr(6)NAK=Chr(&H15)然后在上位机程序中写入以下代码即可发出指令:
MSComm1.Output=ENQ &“00FF<命令><消息等待时间><字符区域A><和校验代码>” 5. Input属性
与Output属性相反,Input属性提供了接收数据的功能。它将对方传到输入缓冲区中的数据读进程序中,并清除缓冲区中已被读取的数据。
a.如果是从计算机向可编程控制器写入数据时,接收到从可编程控制器返回的应该是以下格式的字符串:
ACK 站号 PC号
或者
NAK 站号 PC号 错误代码
前一种表示可编程控制器已经正确接收到从计算机发来的指令,后一种表示可编程控制器未正确接收到从计算机发来的指令。
b.如果是从计算机向可编程控制器读取数据时,接收到从可编程控制器返回的应该是以下格式的字符串:
STX 站号 PC号 字符区域B ETX 和校验代码 或者 NAK 站号 PC号 错误代码
如果要连续读取数据可以利用Timer控件。将Output和Input放在Timer控件的Timer事件中即可。程序会以Timer控件的Interval属性中设置的间隔去发送指令和接收数据。对于MSComm控件的其他一些属性使用VB的默认值即可。
在串行通信传输的应用中,经常使用的Visual Basic中的字符串处理函数如下: Chr函数:返回含有特定ANSI或DBCS字符码的字符串。Asc函数:返回字符串第一个字符的ANSI或DBCS字符码。
Len函数:返回以字符数为单位的字符串长度。
Mid函数:取得字符串中特定数量的字符,可指定开始获取的位置和长度。Left函数:取得字符串的左边固定字符数的字符串。
Right函数:取得字符串的右边固定字符数的字符串。
Val函数:把字符串转换为数值,可以将8进制或16进制的字符串转换为10进制。Hex函数:返回以十六进制数值表示的字符串。
三菱PLC通讯
RS指令应用一
三菱PLC与计算机利用RS指令进行通讯(通讯手册9-14例)三菱PLC:FX1N + FX1N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版
Windows 98中文版 + Visual Basic 6.0中文企业版
两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5)
一.三菱PLC的设置
三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。在这里对D8120采用下述设置: b15 b0 0000 0100 1000 1111 0 4 8 F 即数据长度为8位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,没有添加和校验码,采用无协议。PLC程序如下:
二.上位机程序的编制
完整程序代码及注释如下:
Private Sub cmd1_Click()
'发送按钮
lbl1.Caption = “" If txt1.Text = ”“ Then
'若发送数据栏中未键入指令则提示键入指令 lbl1.Caption = ”Please input data“ Else MSComm1.Output = txt1.Text
'发送指令 Timer1.Enabled = True
'触发延时接收 End If
三菱PLC通讯
End Sub Private Sub Form_Load()
'窗体载入事件 MSComm1.CommPort = 1
'选择端口号 MSComm1.Settings = ”9600,e,8,2“ '设置端口属性 MSComm1.PortOpen = True
'打开端口 End Sub
Private Sub Timer1_Timer()
'延时500ms接收 NAK = Chr(&H15)If MSComm1.InBufferCount > 0 Then txt2.Text = ”“ a = MSComm1.Input txt2.Text = a
'在接收数据栏中显示接收到的数据 Else lbl1.Caption = ”No response" End If Timer1.Enabled = False End Sub
三菱PLC通讯
RS指令应用二
三菱PLC与仪表之间通讯
三菱PLC:FX1N + FX1N-232-BD 仪表(称重器)
两者之间连线该仪表仅提供3线式的简化RS-232C口,即只有:RXD,TXD和GND,于是采用2-3,3-2,5-5的三线接法。
1. 对D8120进行设置并使其与仪表中的设置一致,对其中的控制线设置成使用无硬件握手方式,即(b12,b11,b10)=(0,0,0)。根据仪表说明书上对通讯的要求,设置如下:
b15
b0 0000 0000 1000 0110
0 0 8 6 2. 根据仪表说明书所述,该种仪表有两种工作方式:连续发送和指令状态。这里设置成指令状态,即仪表根据发来的指令返回相应的数据。在此使用READ指令,根据指令协议,输入的指令必须以
注:发送数据点数和接收数据点数必须按指令协议进行设置,否则通讯不能正常进行。PLC程序如下:
三菱PLC通讯
参考资料
1.三菱FX通讯用户手册(RS-232C,RS485)2.《Visual Basic与RS-232串行通信控制(最新版)》清华大学出版社
第四篇:品牌PC机售后服务调查问卷
首先感谢您在百忙之中填写此问卷。本次问卷调查的目的在于了解您对市场上常售品牌台式机的认识及对相关联服务的看法。希望您认真填写,谢谢!
品牌PC机售后服务调查问卷
Q1、你最满意的售后服务品牌?
1、Acer 2长城 3戴尔 4方正 5海尔 6海信 7惠普 8联想Lenovo 9联想ThinkPad 10明基 11苹果 12七喜 13清华同方 14清华紫光 15TCL 16神舟 17其他
Q2、台式PC厂商变换同等质量的售后服务,愿意继续信赖该品牌服务么?
1、非常愿意
2、比较愿意
3、无所谓
4、不愿意
Q3、台式PC厂商增加售后服务的收费项目,愿意继续信赖该品牌服务么?
1、非常愿意
2、比较愿意
3、无所谓
4、不愿意
Q4、台式PC厂商减少售后服务内容,愿意继续信赖该品牌服务么?
1、非常愿意
2、比较愿意
3、无所谓
4、不愿意
Q5、台式PC厂商增加售后服务内容,愿意继续信赖该品牌服务么?
1、非常愿意
2、比较愿意
3、无所谓
4、不愿意
Q6、购买台式PC电脑时,你最看中的因素是?
1、产品本身
2、厂商品牌
3、综合应用
4、售后服务
5、其他
6、不知道Q7、购买台式PC电脑时,在综合质保服务中,你最看中的因素是?
1、售前服务
2、售中服务
3、售后服务
4、其他
5、不知道
Q8、你从哪里能了解到品牌台式PC的服务质量?
1、媒体
2、广告
3、单位同事
4、朋友介绍
5、其他
Q9、对于厂商的售后服务政策,你最看中的因素是?
1、保修时间
2、售后人员素质
3、服务质量
4、收费标准
5、其他
6、无所谓
Q10、对于厂商的保修时间,你认为合理的时间是多长?
1、1年 2、2年 3、3年 4、5年
5、其他
6、无所谓
Q11、你从哪里能了解到台式PC的售后服务条款?。
1、媒体
2、广告
3、产品说明书
4、销售人员介绍
5、朋友介绍
6、其他
7、不清楚
Q12、你所在的城市,你购买的台式PC品牌的指定维修点够多吗?
1、足够多
2、一般
3、很少
4、没有
5、不清楚
Q13、销售商在销售产品的过程中是否会告知产品的售后服务情况?
1、会详细介绍
2、简单介绍
3、不介绍
4、其他
5、不清楚Q14、你能否接受购买超额售后服务的服务?
1、能
2、不能
3、看价格
4、其他
5、不清楚
Q15、购买的台式PC电脑出现故障以后,你会如何解决?
1、自行解决
2、找品牌维修点
3、找经销商
4、等待厂商上门维修
5、其他
6、不清楚
再次感谢您的合作!
第五篇:PLC和PC机间的串行通信
关键词:RS-232串行通信 可编程控制器 自由端口模式 数据缓冲区
HG-2003型温升测控装置是笔者与我国北京某科学研究联联合开发的一套专门用于高压晶闸管阀温升检测试验的测控装置。考虑到PLC及其网络已被公认为现代测控装置开发的几大支柱之一,而且从近几年的统计数字来看,PLC产品在世界范围内的产量、销量高居各测控器件榜首,因此笔者决定本测控系统的核心器件采用可编程控制器(PLC),其基本功能可通过软件编程实现。PLC的三大亮点是:(1)集电控、电传、电仪三电于一体;(2)网络的性能价格比高;(3)可靠性高。这些亮点就使得整个测控设备结构简单、可靠性高,同时也为实现系统控制功能的二次开发奠定了良好的技术基础。本文主要讨论设备中所采用的西门子公司的S7-200型PLC和PC机之间的串行通信问题。
1、温升测控系统整体介绍
1.1 HG-2003测控装置的测控对象及结构
先来介绍一下该温升试验测控装置的基本工作流程。10kV电源进线经过进线框中的高压断路器CB和高压隔离开关柜中的隔离开关G(用于在设备检修或维护时形成一个明显的断点)后,加在10kV转换变压器T1上。该变压器将三相电转化为单相电。这主要是由于做实验时负载电流很大,如果使用三相电源,容易造成负荷电流的不平衡从而造成试验故障。在转换变压器的输出端(二次侧)连接单相温升试验变压器T2。该温升变压器的一次侧应加装用于无功功率补偿的电容柜,二次侧则通过有载分接开关直接连接试验品(即高压晶闸管阀)进行温升试验。
从基本工作流程不难知道测控装置的测控对象,本装置的具体测控对象如表1所示。
表1 测控对象表
测控装置的物理结构分为两部分:操作控制台和试区控制箱。其中,试区控制箱即PLC控制箱被安装在试验区的隔离开关框内。操作控制台即PC机人机办是非曲直操作台则安装在控制室内。由于二者之间相距约40m,所以采用PC/PPI电缆传输测控信号时需加装中继器。
1.2 HG-2003测控装置的基本功能
本测控系统的基本功能包括:开关分合控制指示功能;设备和试品的过流、过压、过热报警及保护功能;各种操作连锁功能,如电源开关柜内10kV电源断路器和隔离开关柜内的手动隔离开关、控制室门触点、试验大厅门触点间的连锁保护功能等,并设有相关的报警提示画面。这些功能可以避免操作顺序出错。
2、S7-200通信程序的设计与实现 2.1 PC机与S7-200的通信方式
西门子S7-200 PLC的通信功能较强,有多种通信方式可供用户选择,如:单主站方式、多主站方式以及使用调制解调器的远程通信方式等。在本测控装置中,笔者采用单主站方式。在运行Windows或Windows NT操作操作的个人计算机(PC机)上安装STEP 7-Micro/WIN32编程软件后,PC机就可作为通信中的主站。它可与一个或多个从站相连,STEP 7-Micro/WIN 32每次和一个S7-200 CPU通信,但可以访问网络上的所有CPU。该通信方式的硬件配置为PLC到PC机通信口的电缆连接器,即带RS-232口的隔离型PC/PPI电缆,用五个DIP开关设置波特率和其它配置项。它支持的波特率为9.6kbps或19,2kbps,支持的协议为PPI协议。这里并没有使用PPI协议,而是使用PC/PPI电缆和自由端口通信功能来实现S7-200 CPU与PC机间的通信。自由端口模式是计算机或其它带有串行通信接口的设备与S7-200 CPU之间通信的一种廉价和灵活的方法。它以用户定义的通信协议为基础,通过使用相关的中断指令和专用的通信指令控制S7-200 CPU通信口的操作模式,实现与多种智能设备的连接。
具体地说,所谓自由通信端口模式是指CPU的串行通信接口可由用户程序控制的一种通信操作模式,其梯形图程序可以使用接收完成中断、字符接收中断、发送完成中断、发送指令(XMT)和接收指令(RCV)等控制通信过程。在该模式下,通信协议完全由用户程序控制。
CPU处于STOP模式时,自由通信端口模式被禁止,CPU重新建立使用其它协议的通信,例如与编程设备的通信。只有当CPU处于RUN模式时,才能使用自由通信端口模式。通过将特殊寄存器字节SM30或SM130的协议选择域(mm)置1可以将通信端口设置为自由端口模式,处于该模式时不能与编程设备通信。
可以用反映CPU模块上的工作方式开关当前位置的特殊存储器位SM0.7来控制自由端口模式的进入。当SM0.7为1时,工作方式开关处于RUN位置,可选择自由端口模式;当SM0.7为0时,工作方式开关处于TEM位置,应选择PC/PPI协议模式,以便用于编程设备监视或控制CPU模块的操作。
2.2 自由端口模式下PLC串行通信程序的编程要点
计算机与可编程控制器通信时,为了避免通信中的各方争用通信线,一般采用主从工作方式,即计算机为主机,可编程控制器为从机;只有主机才有权主动发送请求报文,从机收到后返回响应报文。下面主要谈一谈编程过程中应注意的几个问题。
首先是电缆切换时间的处理。因为使用了PC/PPI电缆,所以在S7-200 CPU的用户程序中应考虑电缆的切换时间。S7-200 CPU接收到RS232设备的请求报文到它发送响应报文的延迟时间必须大于等于电缆的切换时间。波特率为9600bps和19200bps,电缆的切换时间分别为2ms和1ms。在梯形图程序中可用定时中断实现切换延时。
其次就是通信可靠性的处理,校验码的采用是提高通信可靠性最常用的措施之一。用得较多的是异或校验,即将每一帧中的第一个字符(不包括起始字符)到该帧中正文的最后一个字符作异或运算,并将异或的结果(展品或校验码)作为报文的一部分发送到接收端。接收方接收到数据后计算出所接收到的数据的展品或校验码,再与发送方传过来的校验码比较,如果不同,可以判断通信有误。
最后需注意的是防止起始字符、结束字符与数据字符的混淆。因为报文的起始字符和结束字符只有8位,接收到的报文数据区内出现与起始字符或结束字符相同的数据字符的机率很大,这可能会引起字符混淆。可以在发送前对数据作某种处理,例如选择起始字符和结束字符为某些特殊的值,而将数字字符转化为BCD码或ASCII码后再发送,这样可以避免出现上述的情况,但是会增加编程的工作量和数据传 送的时间。2.3 通信程序中关键指令的使用与说明
发送指令XMT(Transmit)用于启动自由端口模式下数据缓冲区(TBL)数据的发送,指令格式如图1所示。通过指定的通信端口(PORT),将存储在数据缓冲区(TBL)中的信息发送。使ENO=0的错误条件:SM4.3(运行时间),0006(间接寻址),009(在端口0同时XMT/RCV),000B(在端口1同时XMT/RCV)。
XMT指令可以方便地发送1~255个字符,如果有中断程序连接到发送结束事件上,在发送完缓冲区中的最后一个字符时,端口0会产生中断事件9,端口1会产生中断事件26。可以监视发送完成状态位SM4.5和SM4.6的变化,而不是用中断进行发送。数据缓冲区中的起始字符和结束字符是可选项,第一个字节的“字符数”是要发送的字节数,它本身并不发送出去。
接收指令RCV(Receive)可以方便地接收一个或多个字符,最多可接收255个字符。通过指令的通信端口(PORT),将接收信息存储在数据缓冲区(TBL)中。数据缓冲区中的第一个字节用来累计接收到的字节数,它本身不能接收到,起始字符和结束字符是可选项。如果有中断程序连接到接收结束事件上,在接收完最后一个字符时,端口0产生中断事件23,端口1产生中断事件24。
使ENO=0的错误条件:SM86.6和SM186.6(RCV参数错误),SM4.3(运行时间),0006(音接寻址),009(在端口0同时XMT/RCV),000B(在端口1同时XMT/RCV)。CPU不是在自由端口模式。
可以监视SM86.6或SM186.6的变化,而不是用中断进行报文接收。SM86.6或SM186.6为非零时,RCV指令未被激活或接收已经结束。正在接收报文时,它们为0。
当超时或校验错误时,要自动中止报文接收功能。必须为报文接收功能定义一个启动条件和一个结束条件。
RCV指令允许通过参数设定选择报文开始条件和报文结束条件,即设定特殊存储器字节SM86~SM94(用于端口0)和SM186~SM194(用于端口1)。
另外两个比较重要的指令是获取与设置通信口地址指令。获取通信口地址指令(GET ADDR指令)用来读取PORT指定的CPU口的站地址,并将数值放入ADDR指定的地址中。设置通信口地址指令(SET ADDR指令)用来将通信口(PORT)站地址设置为ADDR指定的数值。设置的新地址不能永久保存,断电后又上电,通信口地址将恢复为上次的地址值(用系统块下载的地址)。图2为使用RCV指令和接收完成中断接收数据的通信程序流程图。
3、计算机通信程序的设计与实现
3.1 Windows环境下的PC机通信程序 在Windows环境下,操作系统通过驱动程序控制各硬件资源,不允许用户像在DOS环境下那样直接对串口进行底层的操作。为此,Visual Basic提供了一个串行通信控件:MSComm控件。程序员只需设置和监视MSComm控件的属性和事件,就可以劲易而易举地实现串行通信。
3.2 MSComm控件的属性
MSComm控件主要属性如下:(1)Comm Port:设置并返回通信端口号。(2)Settings:以字符的形式设置并返回波特率、奇偶校验位、数据位和停止位。其中字符n、o、e分别代表无校验、奇校验、偶校验。(3)Port Open:设置并返回通信端口状态。设置为Ture时,打开端口;设置为Flase时,关闭端口。另外,还有Input、Output、Input Mode、In Buffer Count等属性,这里不再一一介绍。3.2 MSComm控件处理接收信息的方式
MSComm控件提供两种处理方式:(1)事件驱动方式:RTHreshold属性非0时,收到字符或传输线发生变化时就会产生串口事件On Comm。通过查询CommEvent属性可以捕获并处理这些通信事件。(2)查询方式:通过查询Iuput Buffer Count(接收缓冲区的字节数)属性值,处理接收到的信息。本装置中采用事件驱动方式。
用Visual Basic语言设计串行通信程序简单实用,关键是如何形成一个友好的用户界面。编程的细节这里不再详述。
随着工业PC机的推出,个人计算机在工业现场支行的可靠性问题也得到了解决。因此在各类测控设备中实现PLC和PC机间的串行通信有着重大的意义。这样一方面有助于将个人计算机开发成简易工作站或者工作终端,实现集中显示、集中报警功能;另一方面也可把个人计算机开发成PLC编程终端,通过编程器接口接入PLC网络,进行编程、调试及监控,并最终达到PLC测控设备结构简单、运行可靠、维护容易、便于二次开发的技术特点。