液体点滴速度监控系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
液体点滴速度监控系统设计
摘要:本设计研制了一种液体点滴速度监控系统。
该系统以单片机为核心,可以实现自动检测并显示液体点滴的速度、用键盘设定点滴速度和对异常情况进行声光报警等功能。
采用红外光电传感器检测液位信号,通过硬件滤波和保护装置消除杂散光干扰。
并能通过上位机与下位机之间的串行通信,实现对多台下位机进行远程监控与管理。
该系统工作稳定、操作简便,能有效的解决目前简易液体点滴装置和输液泵之间的空缺,在医疗卫生领域中具有广泛的应用前景。
关键词:点滴速度,单片机,串行通信,步进电机
Abstract:The monitoring system for the transfusion was developed with microcontroller unit used as a core. The system realizes auto detection and display of the drip velocity. The drip velocity can be set by keyboard and the abnormal event alarm has achieved. The signal of the liquid level was detected by the infrared photoelectric sensor, and the interference of abnormal light was eliminated by the hardware filter and the protect device. In addition, the remote monitoring and managing of several lower computers was achieved by serial communication. The system is stable in performance and simple in operation. The system has bright application future in medical treatment field.
Keywords:Dropping speed, Microcontroller unit, Serial communication, Stepping motor
目录
1前言 (1)
1.1 设计背景 (1)
1.2 设计目标 (1)
1.3 技术路线 (1)
1.4 实施计划 (2)
1.5 必备条件 (2)
2总体方案设计 (3)
2.1 方案比较 (4)
2.1.1 滴速检测方案 (4)
2.1.2 液位检测方案 (4)
2.1.3 滴速控制方案 (4)
2.1.4 电机选择方案 (5)
2.1.5 点滴速度计算方案 (5)
3单元模块设计 (7)
3.1 各单元模块功能介绍及电路设计 (7)
3.1.1 滴速检测模块设计 (7)
3.1.2 液位检测模块设计 (7)
3.1.3 电机驱动模块设计 (8)
3.1.4 声光报警模块设计 (10)
3.1.5 键盘模块设计 (10)
3.1.6 显示模块设计 (11)
3.1.7 通信模块设计 (12)
3.1.8 中央控制模块设计 (13)
3.1.9 电源模块设计 (14)
3.2 电路参数的计算及元器件的选择 (14)
3.2.1 时钟电路 (15)
3.2.2 复位电路 (15)
3.3 功能器件的介绍 (15)
3.3.1 AT89C51介绍 (16)
3.3.2 8255A介绍 (18)
4软件设计 (24)
4.1 软件设计所用工具 (24)
4.2 软件结构图 (24)
4.3 软件流程框图 (25)
4.3.1 上位机软件流程框图 (25)
4.3.2 下位机软件流程框图 (26)
4.3.3 上、下位机通信软件流程框图 (28)
5系统调试 (31)
6系统功能、指标参数 (38)
6.1 系统能实现的功能 (38)
6.2 系统指标参数测试 (38)
6.2.1 点滴速度测试 (38)
6.2.2 报警功能测试 (39)
6.3 系统功能及指标参数分析 (39)
7结论 (40)
8总结与体会 (42)
9谢辞 (43)
10参考文献 (44)
附1 系统的原理电路图 (45)
附2 外文文献翻译-译文 (46)
附3 外文文献翻译-原文 (56)
1前言
随着医院管理系统趋向于电子化、网络化,利用单片机与现代控制技术提高医疗器械的自动化程度成为目前主要应用方向之一。
本课题所要设计的液体点滴速度监控装置,正是在医疗设备自动化的背景下,为了满足患者和医院的需要而设计的。
1.1 设计背景
静脉输液是临床医学中一个重要的治疗手段,但长期以来一直没有有效的自动监测装置,从而需要专人监护,加重了护理人员的劳动负担,也不利于病区的综合管理。
目前医院使用的点滴输液装置是将液体容器挂在一定高度上,利用势差将液体输入到病人的体内,通过软管夹对胶管口径的压紧和放松来控制滴速,其输液速度几乎全部都是一个不精确的值。
有经验的医护人员可以根据药剂的特性对滴速进行控制,而一般的病人却无法做到,做的不好会有一定的危险性。
而采用输液泵是解决输液速度的一种有效方法,但它机器成本和耗材成本太高,只适用于急救和重症情况。
因此对于可进行自助式护理的病人来说,需要一种可以由病人自己操作,可控制滴速的智能型液体点滴速度监控装置,但同时该装置要能接受医护人员的监管,以便更正病人不正确的设定。
1.2 设计目标
系统应用自动化控制技术实现了对液体点滴速度的监控,可根据需要设置点滴速度,并对异常情况进行声光报警。
医护人员也可以通过远程通信,监控病人输液的整个过程,并对液滴速度进行设置,减轻护士的工作量,实现医院护理自动化。
系统所要实现的主要功能有:⑴设定点滴速度;⑵控制点滴速度并实时显示;⑶对液位过低或滴速异常进行声光报警;⑷打印记录详单;⑸实现上位机和下位机的串行通信。
1.3 技术路线
本设计的技术路线如下:
1、对设计中相关的核心器件AT89C51、8255A、步进电机和技术知识进行研究,提出多种技术方案;
2、对所提方案进行论证和比较,以确定最终采用的方案;
3、进行系统硬件电路的模块化设计;
4、进行具体的模块电路设计;
5、进行相关软件设计和编程;
6、进行系统的综合测试和调试工作。
1.4 实施计划
3月下旬至4月初,查阅和收集文献资料;4月初至4月中旬,提出设计方案,并对方案进行比较和论证,选出最佳方案;4月下旬至5月初,完成硬件电路设计;5月初至5月中旬,完成相关软件编程;5月下旬,进行系统的模拟测试;5月底至6月上旬,撰写设计报告,并准备毕业设计答辩。
1.5 必备条件
硬件:计算机、单片机仿真器等。
软件:Proteus、Multisim、Word等。
2总体方案设计
根据设计要求,上位机和下位机的系统框图如图2-1和图2-2所示,上、下位机通信系统结构图如图2-3所示。
图2-1 上位机系统框图
图2-2 下位机系统框图
图2-3 上、下位机通信系统结构图
上位机置于护士站,下位机置于病房,通信模块实现的是这两个部分的联接。
上位机即为下位机除去滴速检测、液位检测、电机驱动、详单打印这四个部分。
所以本设计说明书部分可只对下位机部分进行说明。
2.1 方案比较
通过查阅相关技术资料,结合自己的实际知识,并请教老师之后,针对各个单元模块提出了不同的技术方案来实现所需功能。
下面将对各个单元模块的多种实现方案进行说明,并分析比较它们各自的特点,选择最合适的方案来完成本设计。
2.1.1 滴速检测方案
方案一:采用压力传感器来实现。
在受液瓶下加一压力传感器,通过感知其压力大小来判断是否有液滴落下。
方案二:采用液位传感器来检测。
将一液位传感器置于受液瓶中,根据液位传感器感受到的液位起伏来检测是否有液滴滴下。
方案三:采用红外对管实现,根据接受到的光强的强弱判断是否有液滴滴下。
综合分析,滴管滴出20点蒸馏水相当于1ml±0.1ml。
因此,液滴的质量约为0.05g,对压力传感器的要求很高,故方案一不可取。
本设计涉及医用,任何与瓶中液体有接触的设计方案都是不可行的,所有探测器、传感器只能固定于瓶的外壁,并且输液瓶的晃动会引起测量的误差,故方案二不可取。
方案三成本低,电路简单,且不受可见光的干扰,稳定性好,测量相邻点滴下落的时间间隔即可确定点滴速度。
因此,综合比较后采用方案三。
2.1.2 液位检测方案
方案一:同点滴检测模块,采用红外对管实现,根据接收管接收到的光强大小来判断是否到达警戒线。
方案二:采用电容传感器来检测。
在储液瓶的瓶身外贴两块金属薄片作为传感电容,储液面下降,电容两极间的介电常数减小,传感电容的电容值减小,再经过电容/电压变换器转换为电压值。
经比较,方案一器件简单,软硬件也都相对较容易实现。
方案二虽然简单,但由于不同的药液可能有不同的电容值,而且为了使电容量的变化比较明显,瓶身外的金属薄片应该比较大,影响对液面的肉眼观察,所以不太适于医学使用。
因此采用方案一。
2.1.3 滴速控制方案
方案一:通过电机和滑轮系统控制储液瓶的高度,来达到控制液滴流速的目的。
方案二:通过电机控制滴速夹的松紧程度来控制液滴流速。
综合分析,方案一实现较为简便,通过电机可方便地实现对储液瓶高度的调节,从而达到控制液滴流速的目的,但缺点是调节储液瓶移动的的距离比较大,所需时间比较
长,而且储液瓶高度与流速的关系并没有现成的理论公式可以利用,而只能取足够多的采样点,来分析两者之间的关系,得出大致的经验公式。
方案二控制滴速夹移动的距离很小,调整比较迅速,但是在控制较慢的滴速时容易使塑料软管夹得过紧而变形,从而使滴速由慢向快调整时时间过长。
综合比较,采用方案一。
速度控制方案示意图如图2-4所示。
图2-4 速度控制方案
2.1.4 电机选择方案
方案一:采用直流电机。
方案二:采用步进电机,在较为精确的定位性能方面十分优越。
由于方案一采用的直流电机通电即转动,掉电后惯性较大,停机时还会转动一定角度后才可停下来,且直流电机转矩小、无抱死功能,如果要求准确停在一个位置,实现难度比较大。
方案二中步进电机转矩相对直流电机大,控制精度较高,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。
经比较,采用方案二。
2.1.5 点滴速度计算方案
滴速测量的原理是单片机通过一定时间内红外传感器测得的脉冲信号计数得到滴速。
方案一:根据一定时间T (如10秒)内滴下的点滴的滴数n 计算点滴的滴速,计算公式为:
T
n v 60=(滴/分) 方案二:根据相邻滴液所间隔的时间t 计算点滴的速度,计算公式为
601⨯t
V =(滴/分) 分析比较,方案一若选取的计数时间T 较短,以10秒为例,如检测系统误差为1滴,则计算得出的速度误差为6滴,此时假设点滴的实际速度为30滴/分,而计算速度为36滴/分,误差为20%,误差太大。
若选取的计数时间T 较长,则系统达到稳定的时间太长。
方案二的误差与系统计算的时间精度有关,通过调整计算的时间精度可以改进计算误差,而单片机的计时系统能很好的满足这一要求。
经比较,采用方案二。
3单元模块设计
本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。
3.1 各单元模块功能介绍及电路设计
本系统主要分为九个单元模块,它们分别是:滴速检测模块、液位检测模块、电机驱动模块、声光报警模块、键盘模块、显示模块、通信模块、中央控制模块和电源模块。
各单元模块功能及相关电路的具体说明如下。
3.1.1 滴速检测模块设计
本设计中首要的任务就是对滴速进行检测,实现对滴速的检测之后才能判断滴速是否正常,以及是否需要对滴速进行调整。
该模块实现的就是对是否有液滴落下的检测,滴速检测电路如图3-1所示。
图3-1 滴速检测电路图
无液滴落下时,接收管与发射管正对,接收管接收到的光强较强;有液滴滴下时,下落中的水滴对红外光有较强的漫反射、吸收和一定的散射作用,导致接收光强的较大改变,接收管接收到的信号经一级施密特触发器处理,送入单片机的中断口,据此就可以正确的探测出液滴的滴落。
3.1.2 液位检测模块设计
在输液过程即将结束时,需要通知医护人员进行相关护理。
如果患者自己忘记或者由于视觉误差判断错误时,将会发生危险。
液位检测模块的功能是当液位达到警戒线时,发出报警信号,通知患者和医护人员。
液位检测电路如图3-2所示。
图3-2 液位检测电路图
原理同滴速检测电路,由于红外光在空气及水中的吸收系数不同,从而通过空气和水后接收到的光强也有不同。
为了减小误判几率,在接收端加一比较器,接收管接收到的信号先经比较器后再经一级施密特触发器处理,送入单片机的中断口,就可以检测出液位是否到达警界线。
如果设定的滴速过高,输液瓶上升到支架顶部时,仍然达不到设定的滴速,输液瓶继续上升有可能会拉倒支架,造成危险。
所以在支架的顶部安装一个红外探测器。
如检测到输液瓶上升到支架顶部,则发出信号,通知单片机控制电机停转。
3.1.3 电机驱动模块设计
本设计中的控制系统是通过步进电机控制吊瓶运动速度和方向来控制的。
由于单片机的输出信号无法驱动步进电机,所以必须对其进行功率放大,使用的是TP122功率管。
功率放大图如图3-3所示。
单片机控制步进电动机,主要任务是通过控制电机转速即控制吊瓶运动速度和按相序输入脉冲以实现电机转动方向控制。
每输入一个脉冲电机沿选择方向前进一步,每前进一步电机转动一个固定角度。
从这个意义上讲,电机也是一个数字/角度转换器。
图3-3 电机驱动电路图
该方案步进电机以四相八拍方式工作。
比如,按A →AB →B →BC →C →CD →D →DA →A 次序通电为正转,带动储液瓶升高;按D →DC →C →CB →B →BA →A →AD →D
次序通电为反转,带动储液瓶降低。
当控制A 相的P1.1输出低电平时,A 相导通,步进电机转到A 相,其它各相工作原理与此相同;当单片机控制步进电机的两个输出端同时输出低电平时,步进电机转到两相之间。
四相八拍式步进电机工作方式如表3-1所示。
3-1 四相八拍式步进电机工作方式
电路设计中,步进电机的A 、B 、C 、D 四相分别接P1.1、P1.3、P1.5、P1.7,这样即可设P1口初值为F8H (11111000B ),则通过移位即可实现A →AB →B →BC →C →CD →D →DA →A 的运行方式及各步控制。
3.1.4 声光报警模块设计
当输液过程中出现异常情况,比如滴速异常、液位低于警戒线时,需要该模块提供报警,提醒患者和医护人员的注意,并给予解决,以防危险事故发生。
声光报警电路图如图3-4所示。
图3-4 声光报警电路图
当点滴的速度低于30滴/分或高于120滴/分时,单片机发出信号使P3.4和P3.5
输出高电平,触发蜂鸣器报警装置和LED,在警示灯亮起的同时蜂鸣器发出响声。
同样,当储液瓶中的滴液低于警戒线时,P3.4和P3.5也输出高电平,触发蜂鸣器和LED报警,提醒医护人员和受液人采取相应措施,避免危险事故发生。
3.1.5 键盘模块设计
滴速的设定需要通过键盘的输入,该模块用于对滴速的设定及修改,以及对异常情况下声光报警的解除。
键盘电路图如图3-5所示。
图3-5 键盘电路图
键盘的扫描输入和显示器的扫描输出可以直接由单片机承担,但考虑到键盘与显示接口需要较多的I/O线,如直接由单片机控制,必须扩充I/O口,因此采用可编程键盘、显示接口芯片8255A,由8255A负责键盘的扫描和显示输出工作,这样简化了应用软件的编程。
图3-6是系统控制面板示意图。
8255A键盘被设置为2×8列,扫描线由PA0~PA7输出,接入键盘列线;查询线由PC0~PC1提供,接入键盘行线。
显示器配置为2×3位LED显示,分别用于显示实测滴速和设定滴速,位选线由PA0~PA7获得,段选线由8255A的PB口提供。
8255A片选线CS由单片机的P2.7口(地址线A15)提供,地址线A0与单片机地址总线的A0相连。
图3-6 系统控制面板示意图
3.1.6 显示模块设计
该模块用于显示实测滴速和设定滴速,使用如上图所示的2×3位LED显示,前3位显示实测滴速,后三位显示设定的滴速,单片机比较设定滴速和实测滴速的大小来控制步进电机的转动以控制滴速。
显示模块电路图如图3-7所示。
8255A的PA口为输出口,控制键盘列线的扫描,PA口同时又是6位共阳极显示器的位扫描口。
PB口作为显示器的段码(字型码)口,8255A的PC口作为键盘的行线状态输入口,故称键输入口。
图3-7 显示模块电路图
3.1.7 通信模块设计
系统功能中需要实现上位机对下位机的检测与处理,就需要上、下位机通信模块以实现这一功能。
上位机能实时监控多个下位机的工作状况并可以进行相关的设置。
通信模块电路图如图3-8所示。
通信系统采用MAX1487与单片机系统构成RS-485通信接口。
RS-485的连线少,总线速度快(最大10Mbit/s),传送距离远(90kbit/s下可传1200m),以差分平衡方式传输信号,具有很强的抗共模干扰的能力,允许一对双绞线上一个发送器驱动多个负载设备。
上、下位机的RXD和TXD端各接一片MAX1487的RO与DI端,传输数据,MAX1487的读/写使能端RE和DE接单片机的P2.6口,当P2.6口输出高电平时,接受数据,反之,传送数据。
图3-8 通信模块电路图
3.1.8 中央控制模块设计
中央控制模块是整个系统的核心控制部分。
其主要功能是检测滴速信号、检测液位信号、发出报警信号、控制步进电机、处理按键显示、与上位机进行通信等。
中央控制模块电路图如图3-9所示。
本模块主要由单片机及其外围时钟电路、复位电路组成。
P0口作为数据地址复用口,P1口作为步进电机控制口。
图3-9 中央控制模块电路图
3.1.9 电源模块设计
本模块的功能是为系统提供稳定的电源。
根据系统需要的电源,本模块分为+5V电源部分和+12V电源部分。
+5V电源模块电路图和+12V电源模块电路图分别如图3-10、3-11所示。
图3-10 +5V电源模块电路图
图3-11 +12V电源模块电路图
两个模块均由变压线圈、桥式整流器(整流桥堆)、滤波电路、固定式三端系列稳压器LM78XX系列组成。
固定式三端稳压器LM78XX系列选用LM7805和LM7812,其中LM7805固定输出+5V,LM7812固定输出+12V,可以满足系统需要。
在输入端接入电容以进一步滤除波纹,输出端接电容改善负载的的瞬态响应,使电路稳定工作。
3.2 电路参数的计算及元器件的选择
下面就时钟电路和复位电路中的参数计算以及元器件的选择进行说明。
3.2.1 时钟电路
MCS-51内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
时钟电路如图3-12所示。
电路中对外接电容的值没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性,电路中的电容典型值通常为30pF左右,在本设计电路中选择电容为33pF。
晶振的振荡频率的范围通常是在1.2MHz~12MHz之间,MCS-51常选择振荡频率为6MHz或12MHz左右的石英晶体,在本设计电路中选择振荡频率为6MHz的石英晶体。
图3-12 时钟电路图3-13 复位电路
3.2.2 复位电路
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。
无论是在单片机刚接上电源时,还是在断电后或发生故障后都要复位。
复位电路如图3-13所示。
单片机复位的条件是:使RST引脚(9)加上持续两个机器周期的高电平。
当时钟频率选用6MHz时,电容选用22uF,电阻选用1kΩ。
3.3 功能器件的介绍
本系统中主要使用了如下一些功能器件:MCS-51系列单片机AT89C51、可编程接口芯片8255A。
下面就这些器件的功能特点、主要参数和使用方法作相应说明。
3.3.1 AT89C51介绍
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4Kbytes 的可反复擦写的只读程序存储器和128bytes的随机存取数据存储(RAM),器件采用ATMEL 公司的高密度、非易失性存储器技术生产,兼容MCS-51的指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C51是标准的40引脚双列直插式集成电路芯片,如图3-14所示。
图3-14 A T89C51引脚图
按其功能可分为电源、时钟、控制和I/O接口四大部分:
1)电源引脚
VCC:芯片主电源,外接+5V;GND:电源地线。
2)时钟引脚
XTAL1与XTAL2为内部振荡器的两条引出线。
3)控制引脚
(1) ALE/PROG:地址锁存控制信号/编程脉冲输入端。
在扩展系统时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低8位地址和数据的隔离,P0口作为数据地址复用口线。
当访问单片机外部程序或数据存储器或外接I/O口时,ALE输出脉冲的下降沿用于低8位地址的锁存信号;即使不访问单片机外部程序或数据存储器或外设I/O口,ALE端仍以晶振频率的1/6输出正脉冲信号,因
此可作为外部时钟或外部定时信号使用。
但应注意,此时不能访问单片机外部程序、数据存储器或外设I/O口。
ALE端可以驱动8个TTL负载。
(2)PSEN:片外程序存储器读选通有效信号。
在CPU向片外程序存储器读取指令和常数时,每个机器周期PSEN两次低电平有效。
但在此期间,每当访问外部数据存储器或I/O接口时,该PSEN两次低电平有效信号将不出现。
PSEN端可以驱动8个TTL负载。
(3)EA/VPP:访问程序存储器控制信号/编程电源输入端。
当该引脚EA信号为低电平时,只访问片外程序存储器,不管片内是否有程序存储器;当该引脚为高电平时,单片机访问片内的程序存储器。
但对AT89C51来说,当PC(程序计数器)值超出4K地址时,自动转到片外程序存储器1000H开始顺序读取指令。
(4)RST/VPD:复位/掉电保护信号输入端。
当振荡器运行时,在该引脚加上一个2个机器周期以上的高电平信号,就能使单片机回到初始状态,即进行复位。
掉电期间,该引脚可接上备用电源(VPD)以保持内部RAM数据。
4)I/O引脚
P0口(P0.0~P0.7):8位双向并行I/O接口。
扩展片外存储器或I/O口时,作为低8位地址总线和8位数据总线的分时复用接口,它为双向三态。
P0口可带8个TTL负载电流。
P1口(P1.0~P1.7):8位准双向并行I/O接口。
P1口每一位都可以独立设置成输入输出位。
P1口可以驱动4个TTL电路。
P2口(P2.0~P2.7):8位准双向并行I/O接口。
扩展外部数据、程序存储器时,作为高8位地址输出端口。
P2口可以驱动4个TTL电路。
P3口(P3.0~P3.7):8位准双向并行I/O接口。
除了与P1口有一样的I/O功能外,每一个引脚还兼有第二功能。
如表3-2所示。
表3-2 P3口各引脚对应的第二功能
P3口可以驱动4个TTL电路。
P3口的第二功能信号都是单片机的重要控制信号,因此,在实际使用时,先按需要选用第二功能信号,剩下的才以第一功能的身份作为数据位的I/O使用。
P1、P2、P3口线片内均有固定的上拉电阻,故称为准双向并行I/O接口;P0口片内无固定的上拉电阻,由两个MOS管串接,即可开路输出,又可处于高阻的“悬空”状态,故称为双向三态并行I/O接口。
3.3.2 8255A介绍
8255A是为微型机系统设计的通用I/O接口芯片,它可用程序来改变功能,通用性强,使用灵活,通过它可直接将CPU总线接向外设。
8255A的引脚图如图3-15所示,其内部结构图如图3-16所示。
1.8255A的内部结构
8255A可编程接口由以下4个逻辑结构组成:
(1)A口、B口和C口。
A口、B口和C口均为8位I/O数据口,但结构上略有差别。
A口由一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器组成。
B口由一个8位的数据输入/输出锁存缓冲器和一个8位的数据输入缓冲器组成。
C口由一个8位的数据输出锁存/缓存器和一个8位的数据输入缓冲器(输入不锁存)组成。
三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。
通常A口、B口作为数据输入/输出端口,C口作为控制/状态信息端口。
(2)A、B组控制电路。
这是两组根据CPU的命令字控制8255A工作方式的电路。
A 组控制A口及C口的高4位,B组控制B口及C口的低4位。
(3)数据缓冲器。
这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。
(4)读/写控制逻辑。
这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255A的读/写。