tp起重机超载限制电路设计.doc

上传人:sccc 文档编号:4797516 上传时间:2023-05-15 格式:DOC 页数:57 大小:873.51KB
返回 下载 相关 举报
tp起重机超载限制电路设计.doc_第1页
第1页 / 共57页
tp起重机超载限制电路设计.doc_第2页
第2页 / 共57页
tp起重机超载限制电路设计.doc_第3页
第3页 / 共57页
tp起重机超载限制电路设计.doc_第4页
第4页 / 共57页
tp起重机超载限制电路设计.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《tp起重机超载限制电路设计.doc》由会员分享,可在线阅读,更多相关《tp起重机超载限制电路设计.doc(57页珍藏版)》请在三一办公上搜索。

1、起重机超载限制电路设计 目 录第一章 绪论11.1 起重机超载限制器的介绍11.2 国内外超载限制器的发展1第二章 系统硬件设计22.1系统方框图22.2系统硬件设计概述22.3各子电路的简介32.3.1电源电路32.3.2 传感器电路32.3.3 A/D转换电路52.3.4复位电路及振荡时钟电路62.4人机通道的设计72.4.1显示器的设计72.4.2 键盘的设计92.4.3 报警电路的设计112.4.4超载限制器控制盒的设计13第三章 系统软件设计153.1软件设计概述143.2软件设计构思与软件结构14结 论29参 考 文 献30致 谢32附 录1 起重机超载限制器主电路图附 录2 PC

2、B图第一章 绪论1.1 起重机超载限制器的介绍起重机超载限制器(Crane Overload Limiter)2是一种重要的起重机超载保护装置。它主要装备在汽车吊、轮胎吊和履带吊等大型起重机上。通过系统内的传感器对起重机的关键工作参数进行实时检测,经过分析计算和数据处理得到结果并结合起重机的当前工况进行判断:当实际载荷接近起重机的非安全工作范围时,系统预报警。超过非安全工作范围时,系统报警并自动进行安全保护控制,禁止起重机向危险方向动作。1.2 国内外超载限制器的发展 伴随微电子技术、计算机技术、智能仪表技术及传感器技术的迅速发展,现今起重机用户己不满足于起重机仅仅拥有载荷、超载限制功能,他们

3、希望获得更多关于起重机工作状态的准确信息,包括起升高度、风速、起升角度、工作幅度甚至钢丝绳状况、油温、振动情况等信息,基于上述原因,起重机超载限制器的功能不断得到延伸,信息集成度更高也更加人性化。国外许多起重机制造商对起重机超载限制器的研究和应用较早,目前已达到较高水平。我国在这方面的工作起步较晚,技术水平不高,应用范围不广。但随着社会经济的发展和安全管理意识的提高,国内起重机的制造商和用户对起重机超载限制器产生了很大需求。国家技术监督局专门制定并发布了起重机安全规程(GB 6067-1985),起重机械超载保护装置安全技术规范(GB 12602-1990),臂架型起重机起重力矩限制器通用技术

4、条件(GB 7950-1999)等国家标准,要求各类起重机械装备载荷、超载限制,并对超载限制器的功能、性能检验等进行了严格规定。国家劳动和社会保障部也规定16t以上的起重机必须装备起重机超载限制器。国内现有的起重机械除近年来进口的较先进的起重机,绝大多数都需要加装起重机超载限制器。一些己有超载限制器的起重机,由于过年限使用以及系统损坏等问题,也需要改装起重机超载限制器。由此可见,国内市场需求巨大。然而国外的起重机超载限制器价格昂贵,而且与国产起重机的配套困难。国内的研究人员在超载限制器的国产化道路上进行着工作,也取得了一定的成果,但在产品的稳定性以及可靠性上还有待提高。可以这样讲,国内起重机行

5、业正在迫切呼唤符合国情、性能先进、功能完善、工作可靠的新型起重机超载限制器产品,以满足内需。第二章 系统硬件设计2.1系统方框图系统主要由主机部分、报警制动保护、状态信息存储、控制盒及显示部分等组成,图2-1为系统组成框图。压力传感器A/D转换器89C51报警制动保护键盘参数输入LED数码显示状态信息存储 图2-1 系统组成框图2.2系统硬件设计概述A/D转换器选用ADC0809,系统主机选用89C51单片机,数码显示部分选用BS212共阳数码管,音响部分选用一片KD9561。硬件系统上电工作后,来自压力(拉力)传感器的微弱电信号(约20V)经滤波电路后送到ADC0809进行A/D转换,ADC

6、0809送出的8位信号一起送到89C51单片机的P1口,89C51根据P0口来的信号进行处理判别后送LED显示。若采集到的物重达到或超过额定值的90%,则由P2.5送出低电平驱动声光预警电路。若采集到的物重达到或超过额定值的105%,超载技术单元加1,由P2.6送出低电平,驱动声光报警电路,并由继电器切断起重机电源。硬件电路图见附录。2.3各子电路的简介2.3.1电源电路图2-2 电源电路220V交流市电通过电源变压器变换成交流低压,再经过桥式整流电路整流桥整流和滤波电容滤波,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载

7、的变化等原因而发生变化)。此直流电压经过LM7805的稳压和;滤波电容的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。本稳压电源可作为TTL电路或单片机电路的电源。2.3.2 传感器电路半导体的压阻效应 :固体受到作用力后,电阻率就要发生变化,这种效应称为压阻效应。半导体材料的压阻效应特别强。 压阻式传感器的灵敏系数大,分辨率高。频率响应高,体积小。它主要用于测量压力、加速度和载荷等参数。 因为半导体材料对温度很敏感,因此压阻式传感器的温度误差较大,必须要有温度补偿。主要优点是灵敏系数比金属电阻应变片的灵敏系数大数十倍, 温度稳定性和线性度比金属电阻应变片差得多。图2-3 压阻

8、式压力传感器结构简图1低压腔 2高压腔 3硅杯 4引线 5硅膜片采用N型单晶硅为传感器的弹性元件,在它上面直接蒸镀半导体电阻应变薄膜 工作原理 : 膜片两边存在压力差时,膜片产生变形,膜片上各点产生应力。四个电阻在应力作用下,阻值发生变化,电桥失去平衡,输出相应的电压,电压与膜片两边的压力差成正比。优点: 体积小,结构比较简单,动态响应也好,灵敏度高,能测出十几帕的微压,长期稳定性好,滞后和蠕变小,频率响应高,便于生产,成本低。测量准确度受到非线性和温度的影响。智能压阻式压力传感器利用微处理器对非线性和温度进行补偿。如图2-4为压阻式传感器电路图。图2-4 压阻式传感器2.3.3 A/D转换电

9、路A/D转换器芯片ADC0809简介 8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100s左右。图2-5为ADC0809引脚图。 图2-5 ADC0809引脚图ADC0809是一种逐次比较式8路模拟输入8位数字量输出的A/D转换器。对ADC0809主要信号引脚的功能如下:IN7IN0-模拟量输入通道。ALE地址锁存允许信号。对应ALE跳沿,A、B、C地址状态送入地址锁存器中。START上升沿时,START-转换启动信号复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时节简写为

10、ST。A、B、C地址线。通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常实用频率为500Khz的时钟信号EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。实用中该状态信号即可作为查询的状态标志,又可作为中断信号使用。D7D0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。VCC+5V电

11、源。VREF参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=0V)2.3.4复位电路及振荡时钟电路计算机在启动运行时都需要复位,复位使中央处理器CPU和系统中的其他器件都处于一种初始状态,并从这个初始状态开始工作。89C51单片机有一个复位引脚RST4。 RST(RESET)是复位信号输入端,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。为了可靠的复位,复位时间都在10ms以上。当RST引脚为低电平时,单片机退出复位,CPU从初始状态开始工作3。

12、此次设计的复位电路为上电自动复位电路,如图2-6所示。对于89C51单片机,在RST复位引脚端接一个电容至+5V和一个电阻至地端,就能实现上电自动复位。在加电瞬间,电容通过电阻充电,就在复位端引脚上产生一定时间的高电平信号,只要高电平信号时间足够长就可以使89C51单片机有效地复位。图2-6 复位电路及振荡时钟电路单片机必须在时钟的驱动下才能工作。89C51单片机内部有一个时钟振荡电路,只需外接振荡源,就能产生一定频率的时钟信号送到单片机的各个单元,决定单片机的工作速度。图2-6就是内部时钟工作方式的原理图,这是一种常用的方式。这种方式是内接振荡源,一般选石英晶体振荡器。此电路在加电后延迟大约

13、10ms振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率决定。电路中的两个电容有两个作用,一是帮助振荡器起振,二是对振荡器的频率起微调作用。2.4人机通道的设计2.4.1显示器的设计发光二极管(LED)显示器是由若干个发光二极管组成的,当发光二极管导通时,相应的一个点或一个笔画发光,控制不同组合的二极管导通,就能显示出各种字符。 本系统需要显示的数据为:实际物体重量,显示的重量为实际重量的10倍,因此在观看时,应该将屏幕上的值缩小10倍。这样可以省略在程序设计时,要考虑小数点的设计的麻烦。因为可以通过自动方式将物体实重值计算出来,所以本设计不必显示

14、毛重、自重值,其中实际物重=毛重自重。3位数码管显示的主要内容为物体的实际重量,即毛重减自重的值。图2-7为七段数码管引脚图图2-7 七段数码管引脚图这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如图2-8所示。图中的8个LED分别与上面那个图中的ADP各段相对应,通过控制各个LED的亮灭来显示数字。图2-8 三极管的内部结构图那么,实际的数码管的引脚是怎样排列的呢?对

15、于单个数码管来说,从它的正面看进去,左下角那个脚为1脚,以逆时针方向依次为110脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。注意,3脚和8脚是连通的,这两个都是公共脚。显示电路如图2-9图2-9 显示电路2.4.2 键盘的设计在单片机应用系统中,键盘是人机交互的重要组成部分,用于向单片机应用系统输入数据或控制信息。键盘形式一般分为独立式键盘和矩阵式键盘两种。独立式键盘的结构简单,大占用资源多,通常用于按键较少的场合,大多数单片机应用采取这种方式。矩阵式键盘的结构相对复杂些,但占用的资源少,通常用于按键较多的场合。 本系统的键盘采用了两个独立式按键,来控制开关电源

16、和数值调整。其中数值调整在本文代表起重重量输入的模拟值,即模拟起重吊物的重量,从而可以实现超载报警。各按键开关均采用上拉电阻,这是为了保证在按键断开时,各I/O9 10口有确定的高电平。每个按键带一个阻容吸收电路,用于吸收按键按下时的电流冲击和硬件上消除一定的抖动。下面给出独立键盘的结构,如图2-10所示。其特点是每个按键单独占用一根I/O口线,每个按键工作不会影响其他I/O口线的状态。每一个按键的电路是独立的,占用一条数据线,当其中任意一个按键按下时,它所对应的数据线的电平就变成低电平,读入单片机就是逻辑0,表示键闭合,若无键闭合,则所有的数据线的电平都是高电平。多用于所需按键不多的场合。可

17、采用JNB(或JB)来查询哪一个按键按下,并转向相应的功能处理程序11 12。图2-10 独立键盘结构按键在按下或释放时,由于弹性作用的影响,通常伴随有一定时间的触点抖动,然后其触点才稳定下来。其抖动过程如右图所示,抖动时间的长短与开关的特性有关。如图2-11所示的电压波形,抖动时间一般在510ms。稳定 前沿抖动 后沿抖动图2-11按键抖动信号波形软件上采取的措施是在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从

18、而消除抖动的影响13。硬件去抖的方法主要有利用R-S触发器和滤波电路。如图2-12所示是一种由R-S触发器构成的去抖动电路,当触发器翻转时,触点抖动不会对其产生任何影响。键盘输出经双稳态电路之后变为规范的矩形方波。在键数较少时,可采用硬件去抖;而当键数较多时,采用软件去抖。本文选硬件去抖。图2-12 按键去抖动电路2.4.3 报警电路的设计报警在起重机超载限制器的使用中有很重要的作用,当起重机起重时若起重的重量过高,而操作人员不清楚的话,很可能引起意外事故。因此报警电路的作用在于当起重机的起重重量达到额定值的90%105%以内黄灯显示,当超过额定值的105%则报警,并且红灯显示。报警电路芯片选

19、用是KD9561,KD95615 6是一款专门用于声光控制系统的芯片,与其它线性音频功放相比较,具有结构简单、效率高、性价比优异这几项突出的优点,虽音质不尽完善,但警报发生器却无高保真之需。图2-13为KD9561的内部结构图图2-13 KD9561的内部结构图 图2-14 KD9561芯片引脚图设计中需要的报警电路如图2-15所示。模拟声光报警最常用的方法是采用模拟声音集成电路芯片,如 KD-956X系列,是一种采用 CMOS工艺、软封装的声报警IC芯片,能够产生一系列的声光报警效果。它内部具有振荡器、节拍器、音色发生器、地址计数器、控制和输出级等部分7。它设有两个选声端SEL1和SEL2,

20、改变这两端的电平,可以选择不同的内部程序,VSS接电源负端,改变跨接在OSCl和OSC2之间的外接振荡电阻R,可以调节模拟声音的放音节奏,R阻值越大,报警声音越急促,一般在180k290k的范围内选择。外接的小功率三极管9013是为了驱动扬声器。当系统检查到报警信号后,使三极管9013导通,便发出报警声音。电路的高电平KD9561输 出的音频信号经三极管推动电动式扬声器LS1发出宏亮的报警声7 8。图2-15 报警电路2.4.4超载限制器控制盒的设计由图2-16我们可以知道,超载限制器的控制盒主要包括物重显示,黄灯和红灯显示,喇叭及电源开关,通过显示屏幕可以直观的看到所测物体的重量。电源开关各

21、用一个键来控制,当超过额定值90%时,黄灯亮。当超过额定值的105%时,红灯亮,且喇叭响,提醒操作人员注意14。 电源 开喇叭关 黄灯 红灯 实际物重 超载限制控制盒图2-16控制盒示意图第三章 系统软件设计3.1软件设计概述单片机的程序设计有其自身的特点。首先,单片机的系统程序与应用程序密不可分,系统程序与应用程序必须在一起考虑。其次,在单片机系统中硬件与软件紧密结合,软件直接操作硬件,硬件设计的优劣直接影响到软件设计的难易和质量。同时,很多时候元件可以代替硬件的功能,当然,需要付出额外占CPU15 16时间的代价。在程序设计时,往往存在着时间和空间的矛盾体。在一些编译器中,有着时间优化和空

22、间优化的选项,但时间优化与空间优化不能同时存在,这些编译器在处理这些优化时,实际是在采用时间换取空间或者空间唤起时间的策略。在设计程序时,我们也可以采用这样的策略提高系统的性能17。除了自身的特点外,单片机的程序设计同样具有一般软件设计的特点。首先,应具有一个合理的算法,以合理的资源耗费实现预定的功能。其次,设计的软件应具有较好的可读性和维护性。做到这一点,往往需要采用结构化的设计18。随着元件技术的提高,在程序设计上出现了许多新的思想,比如面向对象设计,事件驱动等方法,虽然单片机系统中不可能完全实现这些方法,但也可以对单片机软件设计给与有益的启示。比如,利用事件驱动的思想可以细分模块,减少各

23、部分之间的耦合性,便于测试,便于阅读。 单片机的程序设计语言有:汇编语言,C51高级语言等,本系统采用的是汇编语言19。3.2软件设计构思与软件结构 根据上述介绍的超载限制器工作原理和技术要求,可知该应用系统实际上是一个典型的数据采集与控制系统,数据采集的一个对象是一路压力(拉力),故选用压力传感器进行物理量的测量,控制对象是断电及报警装置,故选用继电器及声响电路进行断电及报警。软件设计部分主要由10个部分分别讲解了主系统的构成,其中每个部分都用汇编语言编写。整个软件部分,从功能上可分为数据采集、自重值显示、毛重值显示、显示子程序、报警或预警显示、超载计数单元值显示、超限判断等几部分组成。系统

24、主程序流程图如图3-1所示。初始化取自重、显示取毛重(1)延时0.5s毛重(2)送毛重(1)单元正常显示取毛重(2)毛重(2)-毛重(1)调用STEPNN显示超过数否YYY报警开中断超过90%否NY记超载次数 Y预警N超过105%否Y图3-1 系统主程序流程图根据程序主流程图20,我们可以逐个进行分解,以便可以更加详细了解系统的软件部分。程序设计。在任务的总体设计思想和硬件确定之后,就可以开始设计程序,根据前面的工作原理和技术指标,软件应完成的主要任务为:a.初始化程序主要用来确定堆栈,程序状态字,对存储单元清 “0”,让数码管闪烁显示全0十次,流程图如图3-2显示。根据流程图21,编程如下:

25、STAR: MOV SP, #60H ;初始化 MOV PSW, #00H CLR A ;清21H,22H单元 ANL 21H, A ANL 22H, A MOV R0, #0AH ;全0闪烁十次LOOP: MOV A, #0F0H ;全0显示 MOVX R1, A ;送P0口显示 LACALL DS1 ;调用延时子程序 MOV A,#00H ;显示全暗 MOVX R1, A LACALL DS1 DJNZ R0, LOOP ;闪烁完十次否开始确定堆栈、程序状态字存储物重单元端0数码管显示全零延时DS1数码管全灭延时DS1闪烁十次否 N 取自重显示 Y图3-2 初始化程序流程图b.数据采集子程

26、序。起重机在实际工作前,超载限制器应先检测出起重机挂钩,承重绳等物体的重量,这里把它们称为自重。当起重机实际起吊重物时,检测到的重量为毛重,而物体的实际重量等于毛重减自重。数据采集程序流程图如图3-3所示。IN1: MOV A, P1 ;输入转换结果JNB ACC, 5, IN4 ;是百位选通位否ANL A, #0FH ;提取百位值MOV 31H, A ; 赋给31H单元IN2: MOV A, P1 JNB ACC, 6, IN5 ;是十位选通位否 SWAP A ;高低四位变换ANL A, #0F0H ;提取十位值MOV 32H, A ;暂存到32H高4位IN3: MOV A, P1JNB A

27、CC, 7, IN6 ; 是个位选通位否ANL A, #0FH ;提取个位值ORL A, 32H ;与十位值合并MOV 32H, A ;存入32H单元RET ;子程序返回开始输入转换结果百位选通位否NY暂存,输入转换结果十位选通位否NY 合并,输入转换结果个位选通位否N Y合并,暂存返回 图3-3 数据采集子程序流程图C自重值显示程序。系统开机工作后,首先调用数据采集子程序,获得自重值,然后分别将它们送到27H单元和28H单元。自重值显示程序是从27H单元和28H单元中提取百,十,个位值,再配上选通位后从数据总线输出。为了使人眼能看到连续一段时间内的自重值显示,程序中应使显示部分循环一定的次数

28、,并将每一位的显示时间适当加长。图3-4是自重值显示程序的流程图。编程如下:MOV 27H, 31H ;百位送27H单元MOV 28H, 32H ;十、个位送28H单元MOV A, 27HANL A, #0FH ;提取百位值MOV 11H, A ;存入11H单元MOV A, 28HANL A, #0FH ; 提取十位值SWAP AMOV 12H, A ; 存入12H单元MOV A, 28HANL A, #0FH ;提取个位值MOV 13H, A ;存入13H单元MOV R0, #0FFH ; 设显示次数LOOP1:MOV A, 11HORL A, #20H ;组合百位值和选通位MOVX R1,

29、 A ;输出到显示器LCALL DS2 ;延时MOV A, 12HORL A, #40H ;组合十位值和选通位MOVX R1, A ;输出到显示器LCALL DS2 ;延时MOV A, 13HORL A, #80H ;组合个位值和选通位MOVX R1, A ;输出到显示器LCALL DS2 ; 延时DJNZ R0, LOOP1 ; 显示次数到否分离百、十、个位置循环次数显示百位调延时DS2显示十位调延时DS2显示个位调延时DS2循环完否 N Y毛重 图3-4 自重值显示程序流程图d.采集毛重程序。由于起重机或行车在吊起物体时存在一定的加速度,这势必影响到传感器测得信号值的正确性。因此在这里当程

30、序执行完自重测量和显示后,延时约0.5s后再进行毛重测量。同时采用两次采样,采样间隔为0.5s。如果相隔0.5s的两次采样值的高2位相等,则表明测量值没有受到加速度产生的“峰值”的影响,为正常值;否则放弃第一次采样,再进行一次采样与比较,直到两次采样值相等为止。图3-5为毛重采样程序流程图。根据流程图其编程如下:OUT1: LCALL DS3 ;延时0.5sOUT2: LCALL IN1 ;调用采集子程序MOV 23H, 31H ;将毛重(1)值送到23H,24H单元MOV 24H, 32HLCALL DS3 ;延时0.5sAAA: LCALL IN1 ;调用采集子程序MOV 25H, 31H

31、 ;将毛重(2)值送到25H,26HMOV 26H, 32HMOV A, 25H ;毛重(2)值的百位传送CJNE A, 23H, BBB ;将毛重(2)值和毛重(1)值比较AJMP CCC ;相等则转入下面程序BBB: MOV 23H, 25H :不相等毛重(2)值送到23H,24H单元MOV 24H, 26HSJMP AAA ;重新采样延时0.5s采集毛重(1)存入23H,34H单元延时0.5s采集毛重(2)毛重(1)=毛重(2)否毛重(2)值送到23H,24H单元N超重判断Y图3-5 采集毛重程序流程图e. 判断是否报警或预警程序22 。在执行该程序之前,在中断服务程序中已将毛重值减去自

32、重值,并将物体实际重量的千位和百位存于21H单元,十位和各位存于22H单元,该程序首先判断物体重量是否达到或或超过额定值的90%,如果达到或超过这一限值,预警黄灯亮,并使音响电路发出鸣叫,其次判断物体的重量是否达到或超过额定值的105%,如果超过这一限值,报警红灯亮,并使音响电路发出报警声,数码管显示当前物体重量并不再变化,超载计数内容加1。图3-6为预警、报警程序流程图。报警超载计数单元加1报警物重超过105%否物重超过90%否NYY正常显示N 图3-6 预警、报警程序流程图CLR C ;清进位标志MOV A, 21H ;是否超过90%CJNE A, 90%H, SUB1 ;高2位比较MOV

33、 A, 22HCJNE A, 90%L, SUB1 ;低2位比较SUB0: CRL P3.0 ;预警SJMP SUB2SUB1: JNC SUB0 ;超过额定值90%否SJMP ADD1 ;向下执行显示程序SUB2: CRL CMOV A, 21H ;是否超过105%CJNE A, 105%H, SUB5 ;高2位比较MOV A, 22HCJNE A, 105%L, SUB5 ;低2位比较SUB3: MOV A, 20H ;超载、计数单元加1INC AMOV 20H, ASUB4: CRL P3.1 ;报警、断电LCALL ADD2 ;调用显示子程序SJMP SUB4 ;循环显示SUB5: J

34、NC SUB3 ADD1: LCALL ADD2 ;调用显示子程序JNB P3.4, STEP ;显示超载计数单元内容否HH: LJMP OUT2 ;循环采集f.显示子程序。显示子程序类似于自重显示程序部分。程序如下:ADD2: MOV A, 21H ;显示子程序 ANL A, #0FH ;取百位MOV 15H, AMOV A, 22H ;取十位ANL A, #0F0HSWAP AMOV 16H, AMOV A, 22H ;取个位ANL A, #0FHMOV 17H, AMOV A, 15H ;显示百位ORL A, #20HMOVX R1, ALCALL DS2MOV A, 16H ;显示十位

35、ORL A, #40HMOVX R1, ALCALL DS2MOV A, 17H ;显示个位ORL A, #80HMOVX R1, ALCALL DS2RET ;返回主程序g.超载计数单元值显示程序。主程序中通过访问P3.3口是否为“0”进入STEP23 24中,该程序首先将十六进制数转换成使十进制数,再进行组合显示。采用循环显示一段时间后返回主程序。程序流程图如图3-7所示。根据流程图编程如下:除以100取商得百位数除以10取商得十位数取余数为个位数组合百、十、个位数显示图3-7 超载计数单元值显示程序流程图STEP: MOV A, 20H ;取超载计数单元内容MOV B, #64H ;设除

36、数位100DIV ABMOV 19H, A ;取商为百位数MOV A, B ;取余数继续除MOV B, #0AH ;设除数位10DIV ABMOV 1AH, A ;取商为十位数MOV 1BH, B ;取余数为个位数MOV R7, #0FFH ;置循环显示次数SS: MOV A, 19HORL A, #20H ;组合百位显示码MOVX R1, A ;输出到显示器LCALL DS2 ;延时MOV A, 1BHORL A, #80H ;组合个位显示码MOVX R1, A ;输出到显示器LCALL DS2 ;延时DJNZ R7, SS ;循环显示次数到否AJMP HH ;跳转执行入口h.中断服务子程序

37、INT0。由INT0发出中断请求,中断服务程序接着向定时器555的下触发端送一个低电平,并置PCON25(电源控制寄存器)的PD位(掉电方式位)为“1”。程序流程图如图3-8所示。保护现场置PCON的PD=1置P3.7输出0返回图3-8 中断服务子程序INT0流程图注:PD=1时,激活掉电工作方式。中断服务子程序用来实现掉电保护。根据流程图编程如下:INT0: PUSH ACC ;保护现场PUSH PSWMOV 87H, #02H ;置PCON的PD为“1”CLR P3.7 POP PSW ;恢复现场POP ACCRET1 ;中断返回i.中断服务程序INT1。中断服务程序INT1通过十六进制减

38、法及十进制调整实现十进制数相减,来获得物体的实际重量。由于传感器、放大器及A/D转换器存在一定的误差,当程序出现自重减自重为负值时,采取让显示器显示全0的办法进行处理。中断服务子程序INT1的程序流程图如图3-9所示38。入口保护现场十位、个位减法十进制调整百位十进制调整中断返回图3-9 中断服务子程序INT1的程序流程图根据流程图编程如下:INT1: PUSH ACC ;保护现场PUSH PSWMOV PSW, #08H ;重置工作寄存器JB P3.5, REL ;对P3.5判断是否对超载计数器清0MOV 20H, #00H ;超载计数器清0REL: MOV R3, #06H ;设置十进制调整值MOV R4, #60HClR C MOV A, 24HMOV R0, 28HSUBB A, R0 ;对十位、个位作减法JNC DA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号