液体点滴速度监控装置资料
液体点滴自动监控系统

安全与隐私保护
数据安全措施
数据加密:采用加密 技术对数据进行加密, 确保数据在传输过程 中的安全性
访问控制:设置访 问权限,确保只有 授权用户才能访问 数据
数据备份:定期备 份数据,防止数据 丢失或损坏
安全审计:定期进 行安全审计,确保 系统安全无漏洞
隐私保护方案
权限管理:设置不同级别的权 限,确保只有授权用户才能访 问数据
● - 实时监测输液速度、输液量、输液时间等信息。 ● - 自动调整输液速度,确保输液安全。 ● - 报警功能,当输液异常时发出警报。 ● - 数据记录功能,记录输液过程数据,便于查询和管理。
工作原理
传感器监测:实时监测液体点 滴情况
数据传输:将监测数据传输到 控制中心
数据处理:控制中心对数据进 行处理和分析
支持多种通信协议,如TCP/IP、 HTTP等
数据分析技术
数据采集:通过传感器实时采集液体点滴数据 数据预处理:对采集到的数据进行清洗、去噪、归一化等处理 数据挖掘:利用机器学习、深度学习等方法对数据进行挖掘,提取有价值的信息 数据可视化:将挖掘到的信息以图表、图形等形式展示,便于用户理解和决策
工业领域
化工行业:监控液体化学品的生产、储存和运输过程 石油行业:监控石油开采、运输和储存过程中的液体流量 制药行业:监控药品生产过程中的液体流量和浓度 食品行业:监控食品生产过程中的液体流量和浓度,确保食品安全
其他领域
医疗领域:用于监测患者输液 情况,确保输液安全
工业领域:用于监测生产线上 的液体流量,确保生产效率
隐私保护措施:匿名化、数据 脱敏、数据最小化等
平衡策略:在确保安全的前提 下,尽量减少对患者隐私的侵 犯
感谢您的观看
汇报人:
液体点滴速度监控装置

液体点滴速度监控装置2007年6月9日摘要:液体点滴速度监控系统是能够实现自动监控液滴的速度并且能做出相应调整的自动控制系统。
本文对系统如何实现自动监测、自动调节等功能作了详细的分析和研究,利用光电传感器采集液滴的速度变化信号和液位高度信号,用AT89S52作为中央处理器进行信号分析和处理,利用建立的模型通过直流电机进行控制液滴速度。
主从站采用MAX487E 与单片机系统构成RS-485通讯接口进行数据和控制信息的传送。
问题重述一、任务设计并制作一个液体点滴速度监测与控制装置,示意图如右图所示。
二、要求1、基本要求(1)在滴斗处检测点滴速度,并制作一个数显装置,能动态显示点滴速度(滴/分)。
(2)通过改变h 2控制点滴速度,如右图所示;也可以通过控制输液软管夹头的松紧等其它方式来控制点滴速度。
点滴速度可用键盘设定并显示,设定范围为20~150(滴/分),控制误差范围为设定值±10%±1滴。
(3)调整时间≤3分钟(从改变设定值起到点滴速度基本稳定,能人工读出数据为止)。
(4)当h 1降到警戒值(2~3cm )时,能发出报警信号。
2、发挥部分 设计并制作一个由主站控制16个从站的有线监控系统。
16个从站中,只有一个从站是按基本要求制作的一套点滴速度监控装置,其它从站为模拟从站 (仅要求制作一个模拟从站)。
(1)主站功能:a .具有定点和巡回检测两种方式。
b .可显示从站传输过来的从站号和点滴速度。
c .在巡回检测时,主站能任意设定要查询的从站数量、从站号和各从站的点滴速度。
d .收到从站发来的报警信号后,能声光报警并显示相应的从站号;可用手动方式解除报警状态。
(2)从站功能:a .能输出从站号、点滴速度和报警信号;从站号和点滴速度可以任意设定。
b .接收主站设定的点滴速度信息并显示。
c .对异常情况进行报警。
(3)主站和从站间的通信方式不限,通信协议自定,但应尽量减少信号传输线的数量。
计控-点滴测速装置

点滴测速装置目录第1章绪论 (1)1.1 液体点滴速度控制系统的背景 (1)1.2 国内外发展概况 (1)1.3 研究意义 (1)2.1系统方案选择 (2)2.1.1 方案论证 (2)2.1.2方案确定 (2)2.2 系统总体设计 (3)第3章硬件设计 (4)3.1 硬件选型 (4)3.1.1AT89C51 (4)3.1.2 集成运算放大器LM324 (4)3.1.3 电压比较器件LM339 (5)3.1.4 步进电机驱动ULN2003 (6)3.1.5看门狗 (6)3.1.6 LCD显示 (7)3.2硬件模块设计 (8)3.2.1液体点滴速度检测电路 (8)3.2.2储液瓶液面检测电路 (9)3.2.3键盘电路 (9)3.2.4显示模块 (10)3.2.5电动机控制模块 (11)3.2.6滑轮机械控制模块 (11)第4章软件设计 (13)4.1 系统流程 (13)4.2系统图 (13)第1章绪论1.1 液体点滴速度控制系统的背景输液是医院常用的医疗手法。
在输液过程中,输液速度是一个很重要的参数,决定输液速度的因素有患者年龄、患者病情、药物种类。
目前,我国医疗机构在进行输液治疗时,输液速度和输液量几乎全部都是不准确的。
而在未来的医疗机构里,特别是在一些大型医院里,在给病人输液时,对输液速度和输液量的数值的准确程度的要求会越来越高,因此就需要既实用又廉价的输液检测控制系统产品的出现。
1.2 国内外发展概况国外对点滴输液监控装置的研制较早,如日本、美国和德国等国家上世纪80年代末就进行了这方面的研制。
现在市场上流行的大多是国外产品,类型多样,性能较好,但是这些产品在国内只有一些大型医院引进,因其价格昂贵主要用于危重病人。
国内对输液装置的研制起步较晚,大都在90年代中期开始研究,市场上也有一些国产输液装置。
不过总体来说,种类较少,性能也需改进。
我国的点滴输液自动化程度得到普及,还需要很长的路要走。
将来的液体输液泵将向更小型化、更便携化、控制更精确、更安全可靠发展。
液体点滴速度监控装置

处理 ,对 信 号调 整 电路 的要 求 较 高 ,实 现 难度 较 大 。 综 合考 虑 ,通 过选 用 高 亮度 发 光 二 极 管发 射 、光 敏 三 极 管 检测 来 实 现 。这 种 方 法不 仅 具 有 红 外发 射对 管 的优 点 , 并且 光 敏 三 极管 的输 出信 号 强 , 只 需经 过 简单 的滤波 、 整形 即可得 到所 需的计 数脉冲 信号 。 图2 是液体 滴速检 测 电路 , 它包含4 部分 : 个 可见 光反 射
3系统硬件设计
3 1液体 滴速检 测模 块 .
Ab tr c T e n l i e 1 q d r p on t ri g s s m as s a t h i te 1 g nt i ui d o m i o n y te h be n e el pe a mi g e d v o d i n at ol i g he s v n t p o e s x s ed n h me i al r ce u e. T e Sy te m ni o t e r bl m e i t i t e d c p o d r h s m o t rs h he g o s o k o u o a t i ht f t c s l ti n nd he sed f p e o Li ui d o b i f ar d p os t s o i g R i bl c m ni ti ns e w e m t r t i n q d r p y n r e o p i e h ot n . el a e o mu ca o b t e n as e s ar o an Sl ve t ti n d a s a o we e r re li d a ze by me ns f s a i hi g r as n bl c m uni at o p ot c . Th a o e t bl s n a e o a e o m c i n r o o1 e ex e me ts r ve ha t S ys e c s l ss mo y nd as hi h el a 1 t p ri n p o d t t hi s t m o ts e ne a h a g r i bi i y. Ke w d 1 q d r p o t ri y or s i ui d o m ni o ng: i r r o po t s oo i g: Si l c p nf a ed p si e h t n ng e hi
液体点滴速度监控装置

题目一、悬挂运动控制系统一、任务设计一个电机控制系统,控制滑块竖板上运动。
在一个白色的底板上固定2个滑轮,2只电机(固定在板上)通过穿过滑轮的吊绳控制一个滑块在板上运动,运动范围为50cm×50cm。
滑块的形状不限,质量大于100克。
滑块上固定有浅色画笔,以便运动时能在板上画出运动轨迹。
板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点, 示意图1所示。
图1 电机控制系统二、要求1、基本要求:(1)控制系统能够通过键盘或其他方式任意设定坐标点参数;(2)控制滑块在50cm×50cm的范围内作自行设定的运动,运动轨迹长度不小于50cm,滑块在运动时能够在板上画出运动轨迹,限150秒内完成;(3)控制滑块作圆心可任意设定、直径为30cm的圆周运动,限200秒内完成;(4)滑块从左下角坐标原点出发,在100秒内到达设定的一个坐标点(两点间直线距离不小于40cm)。
2、发挥部分(1)能够显示滑块中画笔所在位置的坐标;(2)控制滑块沿板上标出的任意曲线运动(见示意图),曲线在测试时现场标出,线宽1.5cm~1.8cm,总长度约50cm,颜色为黑色;曲线的前一部分是连续的,长约30cm;后一部分是两段总长约20cm的间断线段,间断距离不大于1cm;沿连续曲线运动限定在150秒内完成,沿间断曲线运动限定在300秒内完成;(3)控制滑块在板上绘出一个数字字符,如“2”、“3”、“5”“6”、“8”、“9”等,限定在300秒内完成;(4)其他。
三、评分标准四、说明(1)滑块的运动轨迹以画笔画出的痕迹为准,应尽量使滑块运动轨迹与预期轨迹吻合,同时尽量缩短运动时间;(2)若在某项测试中运动超过限定的时间,该项目不得分;(3)运动轨迹与预期轨迹之间的偏差超过4cm时,该项目不得分;(4)在基本要求(3)、(4)和发挥部分(2)、(3)中,滑块开始运动前,允许手动将滑块定位;开始运动后,不能再人为干预滑块运动。
液体点滴速度监控

• (2)储液检测电路仍然采纳红外对管发射 接收装置。
• (3)点滴速度控制是利用电动机正反转来 调节储液瓶的高度来实现的。
• (4)数码管显示当前的滴速,同时显示调 节的速度。
3
速度部分大致思路:
转动系统
信号采集系统
显示电路
单片机处理电路
4
光电探测器
实验要求:
1
组内组合:任务分配稍微明确,由我和朱立负责硬
件和文章部分,软件大部分由王忠印负责。
硬件部分
光电传感器、比较器、数码管 直流驱动电路、输入键盘 报警电路等等
本实验分为
软件部分
键盘、PWM、测速 电机控制程序、数码管显示
2
系统最终方案确定
• 根据以上方案的论证分析,结合器件与设 备等因素,系统各模块方案确定如下:
• 解决方案:使用430程序框架+官方程序改 编。
12
5
比较器:
6
直流电机驱动电路图
7
显示+键盘电路:
8
• 本次练手历尽各种磨练终于比较顺利的完 成了实验所要求的任务;
• 当然在这之中也遇到了许许多多的问题, 但在我们三人组合的讨论和老师的帮助下 基本上一一被解决。程序和电路大部分实 现原创性,但这之中还有很多瑕疵,需要 以后有时间时再做改进。
9
问题一:
• 选择大瓶时,电动机带动不了,转速跟不 上,瓶子基本处于不动状态,而且电压源 12V电压会被强制下拉。
解决方案: 更换小瓶,电机转ቤተ መጻሕፍቲ ባይዱ比大瓶好了很多
10
问题二
• 电机一度只会上升不能下降,速度刷新不 了
解决方法: 经过层层修改演示,发现判断条件有疏漏。
医疗点滴报警器

医疗点滴报警器1、介绍医疗点滴报警器是一种用于监测患者点滴输液情况的设备。
它通过监测点滴输液速度、液位以及其他相关参数,能及时发出警报,提醒医护人员注意点滴的情况,并防止点滴过快或过慢引起的安全问题。
本文档旨在提供有关医疗点滴报警器的详细信息,包括技术规格、安装使用方法、故障处理等内容。
2、技术规格在选择医疗点滴报警器时,需考虑以下几个关键参数:- 点滴输液速度范围:医疗点滴报警器应能监测常见的输液速度范围,如滴速范围为20-150滴/分钟。
- 液位检测范围:医疗点滴报警器应能准确检测液位,以避免点滴输液过快或过慢。
- 警报方式:医疗点滴报警器应具备声音、光线或振动等警报方式,以便医护人员能及时响应。
- 电源要求:医疗点滴报警器通常使用电池供电,需要注意电池续航时间和更换电池的频率。
3、安装和使用方法3.1 安装步骤- 将医疗点滴报警器放置在患者的近旁或医护人员方便观察的位置。
- 连接点滴输液装置与医疗点滴报警器。
- 打开医疗点滴报警器电源开关。
3.2 使用方法- 设置点滴输液速度范围,确保医疗点滴报警器能够监测到异常情况。
- 监测液位情况,确保液体始终处于适当的范围内。
- 如果医疗点滴报警器发出警报,请及时处理,避免患者的健康风险。
4、故障处理4.1 报警器无法启动或无法正常工作- 检查电池是否已耗尽或电源连接是否正确。
- 检查设备是否存在损坏或松动的部件。
4.2 报警器误报警- 检查液位传感器是否被点滴管路或其他物体阻挡。
- 检查液位传感器是否被污物或液体遮挡,清洁传感器并重新安装。
4.3 报警器无法正常监测点滴输液速度- 检查输液装置的滴速调节是否正确。
- 检查报警器是否正确设置了点滴输液速度范围。
附件:无法律名词及注释:1、医疗器械监督管理条例: 国家对医疗器械的监督管理所制定的法规和规章,以确保医疗器械的质量和安全性,保障患者的权益。
2、电池消耗性产品: 法律上将电池作为一种消耗性产品的定义和规定,电池的使用寿命和更换频率应符合相关法律和标准。
液体点滴滴速监控讲义

4、主从站通讯电路
从站号
74ls154 高四位数据线
地址兼数 低四位据 线
通讯协议——设置命令
通讯协议——查询命令
通讯协议——清除警报命令
5、电机控制电路
软件设计
1.从站主函数流程图
2.端口1中断函数流程图
3. 端口2中断函数流程图
4. 看门狗定时中断流程图
5. 主站主函数流程图
系统原理
本设计为液体点滴速度监控装置,采用MSP430F149 作为核心,两块系统板(主站和从站)组成有线监控装 置,实现了对液体点滴速度的定点检测与循环检测,且 动态显示点滴速度。速度检测采用主动红外发射接收管, 通过放大,整形输出脉冲,送单片机进行计数,以检测 其速度。键盘采用4x4矩阵键盘,可通过按键设置液体点 滴速度,并使用步进电机进行速度控制;显示采用12864, 可以动态显示点滴速度及设定,通信等信息。报警检测 也采用红外发射接收管,报警装置是由发光二极管和蜂 鸣器组成的声光报警。为了达到较好的调整稳定度,通 过软件实现控制电路的自适应调节,实现了多机通信, 即一个主机站控制多个从机站和主、从机之间的数据传 输。
3. 点滴速度控制方案选择
方案一:通过改变输液瓶高度控制垫底速度。滴斗到 受液瓶的高度H2来调节点滴的速度,由电动机带动储液 瓶使储液瓶上升或下降改变滴斗到受液瓶的高度H2,从 而改变液体压强差,调节点滴速度。 方案二:通过控制滴速夹的松紧来控制点滴的速度。 在输液瓶高度确定的条件下,通过改变输液管导通横截 面积实现点滴速度的控制。 综合分析:方案一采用步进电机调节输液瓶高度,通 过高度与点滴速度的关系实现PID控制,容易较实现。方 案二由于输液管横截面积小,变形后恢复速度缓慢,安 装工艺要求高,难以控制。综合我们选择方案一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
液体点滴速度监控装置[摘要]该装置实时地监测液体点滴速度,通过单片机对信息的分析和处理,由主机发出相应的指令,调整系统的工作平稳,构成了一个高性能的闭环控制系统。
实现了对点滴输液速度的直观监测,同时对一些异常情况的出现可实施报警。
利用该装置还能通过主控平台对各个分立系统信息实施自动化、智能化的集中处理。
能方便、简易的操作和使用,对医疗具有很强的实用性。
[关键词]实时监控红外传感闭环控制步进电机一、方案设计与论证根据题目要求和原输液装置的特点,提出以下三种方案:1、方案一直接在滴斗处用两电极棒的方法。
图1此方案的传感器采用简单的液体导电原理,在滴斗处安装两个电极。
当水滴落下时,电极导通,从而使待测量的变化转化为高低电平电信号。
采用伺服电机改变系统装置中液瓶与受液瓶的高度,达到改变点滴速度,从而进行控制。
2、方案二把通过电机改变系统装置高度的方法,改为控制步进电机对输液管进行压缩或缓松,从而实现对点滴速度的改变。
采用交流电动机控制H2的高度。
即采用红外传感器测量滴斗滴液,送至单片机接口计数,通过数字模拟转换,将其转换为4—20MA标准电流值,同时通过键盘输入给定每分钟的滴数,再将此滴数将其转换为4—20MA标准电流值,将此两个信息同时进入数字PID调节器。
通过偏差计算再输出一组4—20MA标准电流值,通过变频调速器控制电动机调节H2的高度,来控制滴斗滴数。
此方案的优点是,完全按目前电气工程标准化运作,可以在很短时间完成。
2、方案三根据点滴装置的特点,通过对装置的某一位置进行监测和控制,达到对整个系统液体点滴速度的监控。
(如图1)。
通过控制输液软管夹头的松紧来控制点滴速度,采用红外传感器测量滴斗滴数,送至单片机接口计数并显示,首先标定两个脉冲(两滴间)间的时间间隔(以10MS为时基单位)。
然后计算给定滴斗滴数(通过键盘)的时间间隔(以10MS为时基单位)。
将此两个时间间隔进行比较,以决定步进电机运行的方向。
该步进电机通过丝杠控制输液软管夹头的松紧,来控制滴斗滴数4、方案比较方案一的特点是:实现比较简单容易,原理上也是可行的,但由于本装置用于医疗,电弧的产生,可能对不同的药物有影响,同时传感器(电极)不能重复使用,以防止传染。
方案二通过改用红外传感器,弥补了方案一的不足。
但是还存在问题,利用改变高度的方法虽然容易实现,但可控性不好。
由此,我们采用了第三种方案,通过挤压输液管的办法来实现对点滴速度的控制。
二、系统原理框图如图2所示。
图2本系统最主要的是充分利用单片机编程的灵活性和其强大的功能,使一些小的系统实现自动化和智能化成为了现实。
其中的器件都比较简单,尽大可能的利用各集成芯片的功能,如系统的键盘和显示原理电路。
通过红外传感器对水滴滴落的动态信息的感应,单片机对数据的采集分析和处理,同时使用小功率的步进电机进行机械调整,使装置能机智、即时的响应操作者的使用。
三、主要电路原理与设计1、AT89C51单片机基本系统控制与数值信号处理的核心采用AT89C51单片机,采用串口工作方式。
电路如图3。
图32、显示与键盘如图4利用74LS164进行串行动态9位数码管显示,74LS164的主要功能是8bits的串入并出数据处理。
电路结构简单,功能强大。
采用中断和查询的方法,设计的4键键图43、红外传感和信号处理采用红外线的发射和接收装置,它可用来检测包括液体在内的各种透明体、半透明体、不透明体,从而可以灵敏地反应水滴滴下。
利用光电耦合器对电信号进行处理,减少干扰。
4、步进电机驱动和控制如图5图55、声光报警当检测到液面低于3cm时由单片机采集到报警信号,由报警芯片发出声光报警。
5、主控制平台 可以组建一个小型的网络系统,由主机控制和监视各个从机的工作状态和各个装置的信息。
如图 6图 6四、系统软件工作流程 如图7 到 图121、软件设计:软件部分参考流程图,这里主要讲述一下软件编写过程中的几个细节部分。
如前所述,我们计算滴水速度的原理是通过求出2个水滴之间的时间差,通过分析,我们通过定时器建立一个基准时钟,该基准时钟有2个字节单元,分别秒单位和10毫秒单位的数值。
在每次传感器送来中断的时候调用“传感测量”子程序,在该子程序中,我们在取当前触发时间时,先把上一个脉冲发生的时间保存在“历史寄存器”中,然后再更新“当前寄存器”的值,即取当前脉冲的发生时间。
这样我们就记录下了2个时间(连续)值。
历史寄存器 当前寄存器 基准时钟中断前:中断时:注:箭头方向为中断时的赋值方向 图7由于基准时钟是以10毫秒为最小单位的,而对于频率范围在20Hz~150Hz 的脉冲而言,因为我们在后边的求滴速中要用到10毫秒单位值,而水滴的下落并不能保证绝对的规则,经测试发现,每一次求差后的值总有几个单位毫秒的变动,这个变动就导致了最终运算出来的滴速值的大幅度变化,后来惊观察发现这种误差可以归为周期性误差,所以为了消除这个误差,我们不是简单地只取一个差值,相反,我们是取了10个差值,然后再求平均值,这样处理的最大一个好处是可以使周期性误差的正、负偏差互相抵消,在很大程度上消除上述误差。
前面的处理虽然可以提供一个比较接近真值,对于最终显示出来的影响不大,但当要用这个值去控制滴速夹时,很明显这样处理的结果降低了控制的响应度;而另一方面,对于滴速夹的控制,因为我们采用的是步进电机,而且我们对步进电机的转轴又进行了改造,加了一个螺纹栓,可以保持滴速夹控制端的位置,所以我们在每采集一个脉冲间隔时就进行滴速的更改控制,这样可以提高控制设备的响应速度。
所以在本系统中对于建立一个科学合理的系统模型是很有必要的。
在对滴速进行控制时,我们借鉴了PID 算法,建立了一个闭环控制状态,利用类似于锁相环的模型:即把设定的滴速和当前的滴速进行比较,输出一个差值,利用这个差值的极性来决定电机的正反转,并拉小这个差值直至最小。
因为每检测到一个传感信号,我们就把设定值和当前值进行比较,这样不仅提高了设备的响应速度,而且由于我们这个系统的基准时钟是以10毫秒为单位了,因为我们能分辨到10毫秒的数量级,可以使当前值非常接近我们所设定的设定值。
这一点可以参照电机控制的流程图。
(图12)1、运算过程:因为我们系统的基准时钟是以10毫秒为单位了,虽然加大了系统的精度,但是却给系统的数值运算带来了麻烦,直接用四则运算(特别是乘除的运算)很容易带来无法避免的运算误差,即在运算是因为运算位数的限制而带来的数据尾数的丢失。
前面说过这种误差将对我们对信号的处理和显示产生很大了影响,甚至会得到一个误差很大的最终输出,为避免这种情况,我们在保证精度的基础上采用了查表法,并且在建立表格时对数据进行一定的折中处理,使得最终得到了结果的误差能尽量小,实践证明我们这种方法还是有一定的实用性的。
而且查表法的结果便于以后系统误差的自我校正,因为它保存了一个恒值。
2、对数据表格的处理:前面说过我们这个系统的基准时钟有两个字节单元,而即使采用题目要求的滴速(20~150分/滴)也将需要260个字节,这已经超过了8位单片机的查表范围,所以怎样建立一个合理的查表算法是很有必要的。
通过对数据的观察,我们发现虽然每个时间量有两个字节,但是在秒字节的单元里,总共只能出现4种取值,即1、2和3以及0 ,所以我们可以以这4个值为标量对表格的数据进行划分,由于有了秒字节单元来做区分,我们只要在表格中写入10毫秒字节单元的值就行了,通过综合处理,在保证精度的基础上,我们所建立的表格的字节数为100多个,这样不仅满足了8位单片机的查表范围,而且大大了节省了内存,有利于系统资源的优化分配。
3、通信的建立:在选择方案时,考虑到通信线的多少,我们采用了串行通信,直接利用单片机本身的串行通信口,在软件上我们考虑用串行通信的方式0来进行通信。
通信协议如下:先发送握手信号,然后发送被呼叫的从机号,每个从机在接收到地址时跟自身的地址进行比较,如果不是被呼叫机,则关闭通信链路;如果是则发送响应信号。
当确定了通信的链路后,就按照预定的数据包格式进行通信。
数据包格式如下:2、程序流程图图8传感测量:时钟:图9 图10键盘:步进电机控制:图11 图123、源程序:时间基准缓冲区:秒55h 0.01秒56h键盘设置缓冲区:秒57h 0.01秒58h传感测量缓冲区:前次—秒51h 0.01秒52h 当前—秒53h 0.01秒54h 差值—秒4fh 0.01秒50h最终显示缓冲区:选择值:54h测定值5ah 5bh 5ch 设置值 5dh 5eh 5fhR4用于步进电机的步进记忆org 0000hajmp mainorg 0003hajmp jpint ;int0org 000bhajmp times ;t0org 0013hajmp cgint ;int1org 0040hmain:mov sp,#60h ;设置堆栈mov 41h,#00hmov 42h,#00hmov 43h,#00hmov 44h,#00hmov 45h,#00hmov 46h,#00hmov 47h,#00hmov 48h,#00hmov 4fh,#00hmov 50h,#00hmov 51h,#00hmov 52h,#00hmov 53h,#00hmov 54h,#00h ;初值设置mov 55h,#00hmov 56h,#00h ;以上为时间初值mov 54h,#00hmov 57h,#00h ;初值显示为00 mov 58h,#00hmov 59h,#00hmov 5ah,#00hmov 5bh,#00hmov 5ch,#00hmov 5dh,#00h mov 5eh,#00hmov 5fh,#00hmov r7,#00hsetb f0clr p2.1mov tmod,#01h ;T0为工作方式0mov tl0,#0f0h ;计数器初值mov th0,#0d8hmov ie,#87h ;中断设置,除T1,ES外全开中断mov ip,#02h ;中断优先级setb it0setb it1 ;脉冲触发方式setb tr0 ;启动定时setb p1.4disp:acall disp0 ;调用显示子程序ajmp dispdisp0:push accmov dptr,#tablejnb f0,disp1mov a,54h ;选择值显示cjne a,#01h,zzz1movc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0ffhmov sbuf,ajnb ti,$clr tiacall dealyajmp disp1zzz1:cjne a,#02h,zzz2movc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0ffhmov sbuf,ajnb ti,$clr tiacall dealyajmp disp1zzz2:cjne a,#03h,zzz3movc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0ffhmov sbuf,ajnb ti,$clr tiacall dealyajmp disp1zzz3:mov 54h,#00hdisp1:mov a,5ah ;测定值显示cjne a,#00h,disp2ajmp disp3disp2:cjne a,#01h,disp4disp3:movc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0fehmov sbuf,ajnb ti,$clr tiacall dealydisp4:mov a,5bhmovc a,@a+dptrmov sbuf,a jnb ti,$clr timov a,#0fdhmov sbuf,ajnb ti,$clr tiacall dealymov a,5chmovc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0fbhmov sbuf,ajnb ti,$clr tiacall dealymov a,5dh ;设置值显示movc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0dfhmov sbuf,ajnb ti,$clr tiacall dealymov a,5ehmovc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#0bfhmov sbuf,ajnb ti,$clr tiacall dealymov a,5fhmovc a,@a+dptrmov sbuf,ajnb ti,$clr timov a,#7fhmov sbuf,ajnb ti,$clr tiacall dealypop accretdealy:mov r0,#0fahlll:nopnopdjnz r0,lllrettable:db 03hdb 9fhdb 25hdb 0dhdb 99hdb 49hdb 41hdb 1fhdb 01hdb 09hjpint: ;键盘控制子程序push accpush 07hmov r2,#0ahzzz:acall dealydjnz r2,zzzjb p1.0,x2 ;选择键子程序inc 54hclr ex1setb f0mov a,54hcjne a,#04h,x1mov 54h,#01hx1:ajmp ret0x2:jb p1.1,x3 ;加1键子程序mov a,54hcjne a,#00h,lll1ajmp ret0lll1:cjne a,#01h,lll2inc 5fhmov a,5fhcjne a,#0ah,zhongjumov 5fh,#00hajmp ret0lll2:cjne a,#02h,lll3inc 5ehmov a,5ehcjne a,#0ah,ret0mov 5eh,#00hajmp ret0lll3:inc 5dhmov a,5dhcjne a,#0ah,ret0mov 5dh,#00hajmp ret0x3:jb p1.2,x4 ;减1键子程序mov a,54hcjne a,#00h,llll1ajmp ret0llll1:cjne a,#01h,llll2dec 5fhmov a,5fhcjne a,#0ffh,ret0mov 5fh,#09hajmp ret0zhongju:ajmp ret0llll2:cjne a,#02h,llll3dec 5ehmov a,5ehcjne a,#0ffh,ret0mov 5eh,#09hajmp ret0llll3:dec 5dhmov a,5dhcjne a,#0ffh,ret0mov 5dh,#09hajmp ret0x4:jb p1.3,x5 ;确定键子程序clr f0acall enter ;因指令而修改ret01: ;对整数进行修正mov a,r7cjne a,#14,ccc1mov 57h,#03h ;为20置3setb ex1ajmp ret0ccc1:cjne a,#1eh,ccc2mov 57h,#02h ;为30置2setb ex1ajmp ret0ccc2:cjne a,#3ch,ret02mov 57h,#01h ;为60置1setb ex1ajmp ret0x5:jb p2.0,ret0 ;报警监测setb p2.1 ;送报警声音ajmp ret0ret02:setb ex1ret0:pop accpop 07hretienter:mov 54h,#00hclr cmov a,5dh ;求时间段程序mov b,#64h ;百位数mul abmov r7,amov a,5ehmov b,#0ah ;十位数mul abadd a,r7mov r7,amov a,5fhadd a,r7mov r7,a ;此时r7中为设定值clr csubb a,#14h ;查表前减20mov dptr,#table1 ;由数值查时间段表movc a,@a+dptrmov 58h,a rettimes: ;时间设置push accmov tl0,#0f0hmov th0,#0d8hsetb tr0inc 56hmov a,56hcjne a,#64h,quit0mov 56h,#00hinc 55hquit0:pop accreticgint: ;传感测量mov r2,#0ahzzzz:acall dealydjnz r2,zzzzjnb p3.3,cgint1reticgint1:push accpush 03hpush 04hpush 05hpush 06hinc r7cjne r7,#0ah,zhongju1mov r7,#00hmov a,53h ;数值转移mov 51h,amov a,54hmov 52h,amov a,55h ;读取当前时间mov 53h,amov a,56hmov 54h,aclr c ;求10个脉冲差值子程序mov 47h,#00h ;10差值寄存区mov 48h,#00hmov a,53hsubb a,51hmov 47h,aclr cmov a,54hsubb a,52hjnc zero ;如果当前值大就跳转dec 47hclr cmov a,#00hmov a,54hadd a,#64hsubb a,52hzero:mov 48h,amov a,47h ;平均差值mov b,#0ahdiv abmov 4fh,amov a,bmov r3,a ;秒余数暂存mov a,48hmov b,#0ahdiv abmov 50h,amov a,bmov r4,a ;0.01秒暂存mov a,r3mov b,#0ahmul abadd a,50hmov 50h,azhongju1:mov a,44hmov 42h,amov a,43hmov 41h,amov a,55hmov 43h,amov a,56hmov 44h,aclr c ;求差值子程序,供电机使用mov 45h,#00hmov 46h,#00hmov a,43hsubb a,41hmov 45h,aclr c mov a,44hsubb a,42hjnc zero1 ;如果当前值大就跳转dec 45hclr cmov a,#00hmov a,44hadd a,#64hsubb a,42hzero1:mov 46h,amov a,45hmov a,4fhcjne a,#03,ddd1 ;送动态显示缓冲区mov 5ah,#00h ;整值判断mov 5bh,#02hmov 5ch,#00hajmp exitddd1:cjne a,#02h,ddd2mov a,50hjnz ddd01mov 5ah,#00hmov 5bh,#03hmov 5ch,#00hajmp exitddd01:mov b,#0ahdiv abmov dptr,#table2 ;秒值为2的表movc a,@a+dptrmov r5,aanl a,#0fhmov 5ch,amov 5bh,#02hmov 5ah,#00hajmp exitddd2:cjne a,#01h,ddd3mov a,50hjnz ddd02mov 5ah,#00hmov 5bh,#06hmov 5ch,#00hajmp exitddd02:mov b,#0ahdiv abmov dptr,#table3 ;秒值为1的表movc a,@a+dptrmov r5,aanl a,#0fhmov 5ch,amov a,r5swap aanl a,#0fhmov 5bh,amov 5ah,#00hajmp exitddd3:mov a,50hcjne a,#3ch,ddd03mov 5ah,#01hmov 5bh,#00hmov 5ch,#00hajmp exitddd03:clr csubb a,#3chjc lar100 ;大于100跳转mov 5ah,#00h ;小于100mov dptr,#table4 ;60到99的表movc a,@a+dptrmov r5,aanl a,#0fhmov 5ch,amov a,r5swap aanl a,#0fhmov 5bh,aajmp exitlar100:mov 5ah,#01hclr cmov r5,50hmov a,#3chsubb a,r5mov dptr,#table5 ;100到150的表movc a,@a+dptr mov r5,aanl a,#0fhmov 5ch,amov a,r5swap aanl a,#0fhmov 5bh,aexit:jb f0,exit1 ;F0为1时电机不工作acall dianjic ;送步进电机子程序exit1:pop 05hpop 03hpop 04hpop accpop 06hretidianjic: ;电机控制子程序.zhengzh为前进,fanzh为后退push accclr cmov a,57hsubb a,45hjz lowdc ;如果高位相等则进行低位比较jc jcc1 ;当前滴速小于设定滴速,须反转放松acall zhengzh ;当前滴速大于设定滴速,须正转挤压ajmp outjcc1:acall fanzhajmp outlowdc:clr cmov a,58hsubb a,46hjz outjc jcc2acall zhengzhajmp outjcc2:acall fanzhout:pop accretzhengzh: ;前进挤压mov dptr,#table0inc r4mov a,r4cjne a,#06h,zhengzmov r4,#00hmov a,#00hzhengz:movc a,@a+dptr mov p1,aretfanzh: ;反转放松mov dptr,#table0dec r4mov a,r4cjne a,#0ffh,fanzmov r4,#05hmov a,#05hfanz:movc a,@a+dptr mov p1,arettable0:db 80hdb 0c0hdb 40hdb 60hdb 20hdb 0a0htable1:dB 00HdB 86HdB 73HdB 61HdB 50HdB 40HdB 31HdB 22HdB 14HdB 07HdB 00HdB 94HdB 88HdB 82HdB 76HdB 71HdB 67H dB 62H dB 58H dB 54H dB 50H dB 46H dB 43H dB 40H dB 36H dB 33H dB 30H dB 28H dB 25H dB 22H dB 20H dB 18H dB 15H dB 13H dB 11H dB 09H dB 07H dB 05H dB 03H dB 02H dB 00H dB 98H dB 97H dB 95H dB 94H dB 92H dB 91H dB 90H dB 88H dB 87H dB 86H dB 85H dB 83H dB 82H dB 81H dB 80H dB 79H dB 78H dB 77H dB 76H dB 75HdB 74H dB 73H dB 72H dB 71H dB 71H dB 70H dB 69H dB 68H dB 67H dB 67H dB 66H dB 65H dB 65H dB 64H dB 63H dB 63H dB 62H dB 61H dB 61H dB 60H dB 59H dB 59H dB 58H dB 58H dB 57H dB 57H dB 56H dB 56H dB 55H dB 55H dB 54H dB 54H dB 53H dB 53H dB 52H dB 52H dB 51H dB 51H dB 50H dB 50H dB 50H dB 49H dB 49H dB 48H dB 48H dB 48H dB 47H dB 47H dB 47H dB 46H dB 46H dB 45H dB 45H dB 45H dB 44H dB 44H dB 44H dB 43H dB 43H dB 43H dB 43H dB 42H dB 42H dB 42H dB 41H dB 41H dB 41H dB 41H dB 40H dB 40H table2: db 29h db 28h db 27h db 26h db 25h db 24h db 23h db 22h db 21h table3: db 57h db 52h db 49h db 45h db 42h db 39h db 37hdb 35h db 33h db 31h table4: db 99h db 98h db 97h db 95h db 94h db 93h db 91h db 89h db 88h db 87h db 86h db 84h db 83h db 82h db 81h db 80h db 79h db 78h db 77h db 76h db 75h db 74h db 73h db 72h db 72h db 71h db 70h db 69h db 68h db 68h db 67h db 66h db 65h db 65h db 64h db 63h db 63h db 62h db 61h table5: db 00h db 02h db 04h db 06h db 08h db 10h db 12h db 14h db 16h db 18h db 20h db 22h db 25h db 28h db 30h db 33h db 36h db 39h db 43h db 46h db 49h end四、系统测试1、仪器1)数字示波器2)信号发生器3)数字计数器2、波形测试利用示波器观察红外传感电信号是否规则。