起重机超载限制器的设计Word下载.docx

上传人:b****6 文档编号:19960691 上传时间:2023-01-12 格式:DOCX 页数:22 大小:288.37KB
下载 相关 举报
起重机超载限制器的设计Word下载.docx_第1页
第1页 / 共22页
起重机超载限制器的设计Word下载.docx_第2页
第2页 / 共22页
起重机超载限制器的设计Word下载.docx_第3页
第3页 / 共22页
起重机超载限制器的设计Word下载.docx_第4页
第4页 / 共22页
起重机超载限制器的设计Word下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

起重机超载限制器的设计Word下载.docx

《起重机超载限制器的设计Word下载.docx》由会员分享,可在线阅读,更多相关《起重机超载限制器的设计Word下载.docx(22页珍藏版)》请在冰豆网上搜索。

起重机超载限制器的设计Word下载.docx

VAG:

模拟地端。

VSS:

数字地端。

VR:

基准电压输入端。

2)外接电阻及电容端

R1:

积分电阻输入端,转换电压Vx=2V时,R1=470Ω;

Vx=200mV时,R1=27kΩ。

C1:

积分电容输入端,一般取0.1F。

R1/C1:

R1与C1的公共端。

CLKI、CLKO:

外接振荡器时钟调节电阻RC,RC一般取470Ω左右。

3)转换启动/结束信号端

EOC:

转换结束信号输出端,正脉冲有效。

DU:

启动新的转换,若DU与EOC相连,每当A/D转换结束后,自动启动新的转换。

4)过量程信号输出端

OR*:

当|Vx|<VR,输出低电平。

5)位选通控制端

DS4~DS1:

分别为个、十、百、千位输出的选通脉冲,DS1对应千位,DS4对应个位。

每个选通脉冲宽度为18个时钟周期,两个相应脉冲之间间隔为2个时钟周期。

如图所示

6)BCD码输出端

Q0~Q3:

BCD码数据输出线。

Q3为最高位,Q0为最低位。

当DS2、DS3和DS4选通期间,输出三位完整的BCD码数,但在DS1(千位)选通期间,输出端Q0~Q3除了表示个位0或1外,还表示被转换电压的正负极性(Q2=1为正)、欠量程还是过量程,具体含义如表所示。

表11-2DS1选通时Q3~Q0表示的结果

Q3Q2Q1Q0

表示结果

×

0

×

1

1

千位数为0

千位数为1

结果为正

结果为负

输入过量程

输入欠量程

由表11-2可知:

1)在Q0=“0”的条件下,Q3=0表示千位(1/2位)为1,“Q3=1”表示千位为0。

2)Q2表示极性,“1”为正极性,“0”为负极性。

3)Q0=“1”表示过量程或欠量程,Q3=0表示过量程,Q3=1表示欠量程。

(3)译码器4511

4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,特点如下:

具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。

可直接驱动LED显示器。

 

其功能介绍如下:

BI:

4脚是消隐输入控制端,当BI=0时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。

LT:

3脚是测试输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮,显示“8”。

它主要用来检测数码管是否损坏。

LE:

锁定控制端,当LE=0时,允许译码输出。

LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。

DA、DB、DC、DD、为8421BCD码输入端。

a、b、c、d、e、f、g:

为译码输出端,输出为高电平1有效。

CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。

8421BCD码对应的显示见下图 

(4)地址及数据锁存器74LS373

74LS373是单片机种常用的芯片。

它是带三态缓冲输出的8D触发器,起引脚图与结构原理图如下:

E

G

功  能

直通Qi=Di

1

保持(Qi保持不变)

X

输出高阻

<

74LS373功能表>

74LS373引脚图内部结构原理图电路连接图>

G——输入端,与8031ALE连高电平:

畅通无阻。

低电平:

关门锁存。

图中OE——使能端,接地。

当G=“1”时,74LS373输出端1Q—8Q与输入端1D—8D相同;

当G为下降沿时,将输入数据锁存。

2.软件设计

在任务的总体设计思想和硬件确定之后,就可以开始设计程序,根据前面介绍的工作原理和技术指标,软件设计应完成的任务为:

(1)初始化程序

初始化程序主要用来确定堆栈,程序状态字,对存储单元清零,让数码管闪烁显示全零10次。

流程图如下所示:

初始化程序流程图

根据流程图,编程如下:

START:

MOVSP,#60H;

初始化

MOVPSW,#00H

CLRA;

清21H,22H单元

ANL21H,A

ANL22H,A

MOVR0,#0AH;

全0闪烁十次

LOOP:

MOVA,#F0H;

全0显示

MOVX@R1,A;

送P0口显示

LCALLDS1;

调用延时子程序

MOVA,#00H;

显示全暗

MOVX@R1,A

LCALLDS1

DJNZR0,LOOP;

闪烁完十次否

….

(2)数据采集子程序

起重机在实际工作前,超载限制器应先检测出起重机挂钩,承重绳等物体的重量,这里把它们称为自重。

当起重机实际起吊重物时,检测到的重量成为毛重,而物体的实际重量等于毛重减去自重。

程序中数据存储单元为31H(千位和百位),32H(十位和个位)数据采集子程序流程图如下:

编程如下:

IN1:

MOVA,P1;

输入转换结果

JNBACC.4,IN1;

是千位选通否

IN2:

JNBACC.3,IN3;

千位为1否

CLRA;

千位为0

MOV31H,A

SJMPIN4

IN3:

MOV31H,#10H;

千位为1送入31H高四位

IN4:

MOVA,P1

JNBACC.5,IN4;

是百位选通位否

ANLA,#0FH;

提取百位值

ORLA,31H;

与千位值合并

MOV31H,A;

存入31H单元

IN5:

MOVA,P1

JNBACC.6,IN6;

是十位选通位否

SWAPA;

高低四位交换

ANLA,#0F0H;

提取十位值

MOV32H,A

IN6:

JNBACC.7,IN6;

是个位选通位否

ANLA,#0FH;

提取个位值

ORLA,32H;

与十位值合并

MOV32H,A;

存入32H单元

RET;

子程序返回

数据采集子程序流程图

(3)自重值显示子程序

系统开机工作后,首先调用数据采集子程序,获得自重值,然后分别将他们送到27H和28H单元。

自重显示程序是从27H和28H单元中提取千,百,十,个位值,再配上选通位后从数据总线输出。

下面是程序流程图和对应的程序:

根据流程图编程如下:

MOV27H,31H;

千,百位送27H

MOV28H,32H;

十,个位送28H

MOVA,27H

提取千位值

SWAPA

MOV11H,A;

存入11H

MOV12H,A;

存12H单元

MOVA,28H

提取十位值

MOV13H,A;

存入13H

提取个位值

MOV14H,A;

存14H单元

MOVR0,#0FFH;

设显示次数

LOOP1:

MOVA,11H

ORLA,#10H;

组合千位值和选通位

输出到显示器

LCALLDS2;

延时

MOVA,12H

ORLA,#20H;

组合百位值和选通位

MOVA,13H

ORLA,#40H;

组合个位值和选通位

MOVA,14H

ORLA,#80H;

组合十位值和选通位

显示次数到否

自重值显示子程序流程图

(4)采集毛重程序

由于起重机或吊车在吊起重物时存在着一定的加速度,这就会影响到传感器测得的信号的准确性。

因此在这里当程序执行完自重测量和显示后,延时约0.5S后再进行毛重测量。

同时采用两次采样,采样间隔约0.5S。

如果相隔0.5S的两次采样值相等,则表明测量值准确;

否则,放弃第一次采样值,并再进行一次采样并比较,直到两次采样的值相等为止。

下面是流程图和程序:

采集毛重程序流程图

OUT1:

LCALLDS3;

延时0.5S

OUT2:

LCALLIN1;

调用采集子程序

MOV23H,31H

MOV24H,32H;

将毛重值

(1)送23H,24H单元

AAA:

LCALLIN1;

MOV25H,31H

MOV26H,32H;

将毛重值

(2)送25H,26H单元

MOVA,25H;

将毛重值

(2)的千百位送A

CJNEA,23H,BBB;

毛重

(2)和毛重

(1)比较

AJMPCCC;

相等则转入下面程序

BBB:

MOV23H,25H;

不相等,毛重

(2)值送23H,24H单元

MOV24H,26H

SJMPAAA;

重新采样

CCC:

…..

(5)判断是否预警或报警程序

在执行该程序之前,在中断服务程序中已将毛重值减去自重值,并将物体实际重量的千位和百位存于21H单元,十位和个位存于22H单元。

该程序首先判断物体重量是否达到或超过额定值的90%,如果达到或超过这一限定值,预警黄灯亮,并使音响电路发出鸣叫。

其次判断物体重量是否达到或超过额定值105%,如果超过这一限值,报警红灯亮,并使音响电路发出报警声,数码管显示当前的重量不再变化,超载计数单元加1。

下图为程序流程图:

判断是否预警或报警程序流程图

CLRC;

清进位标志

MOVA,21H

CJNEA,90%H,SUB1;

是否超过90%,高2位比较

MOVA,22H;

CJNEA,90%L,SUB1;

低2位比较

SUB0:

CLRP3.0;

预警

SJMPSUB2

SUB1:

JINCSUB0;

超过额定值90%否

SJMPADD1

SUB2:

CLRC

MOVA,21H;

是否超过105%

CJNEA,105%H,SUB6;

高2位比较

MOVA,22H

CJNEA,105%L,SUB6;

SUB3:

MOVA,20H;

超载,计数单元加1

INCA

MOV20H,A

SUB4:

CLRP3.1;

报警,断电

LCALLADD2;

调用显示子程序3

SJMPSUB4;

循环显示

SUB5:

JNCSUB3

SJMPADD1;

未超载,向下执行显示程序

(6)显示子程序

显示子程序类似于自重显示程序部分,流程图略。

程序如下:

ADD2:

MOVA,21H;

显示子程序

ANLA,#0F0H;

取千位

SWAPA

MOV15H,A

取百位

ANLA,#0FH

MOV16HA

MOVA,22H;

取十位

ANLA,#0F0H

MOV17H,A

取个位

MOV18HA

MOVA,15H;

显示千位

ORLA,#10H

MOVX@R1,A

LCALLDS2

MOVA,16H;

显示百位

ORLA,#20H

MOVA,17H;

显示十位

ORLA,#40H

MOVA,18H;

显示个位

ORLA,#80H

LCALLDS2

RET;

返回主程序

(7)超载计数单元值显示程序STEP

主程序中通过访问P3.4口是否为“0”进入STEP中,该程序首先将十六进制转换成十进制数,在进行组合显示。

采用循环显示一段时间后返回主程序。

程序流程图如下:

STEP:

取超载计数单元内容

MOVB,64H;

设除数为100

DIVAB

除以100取商得百位数

   超载计数单元值显示程序STEP流程图

MOV19H,A;

取商为百位数

   MOVA,B;

取余数继续除

   MOVB,#0AH;

设除数为10

MOV1AH,A;

取商为十位数

   MOV1BH,B;

取余数为个位数

   MOVR7,#0FFH;

置循环次数

SS:

 MOVA,19H

组合百位显示码

   MOVX@R1,A;

   LCALLDS2;

MOVA,1AH

组合十位显示码

   MOVA,1BH

组合个位显示码

   DJNZR7,SS;

循环显示次数到否

   AJMPHH;

跳转执行

(8)中断服务子程序INT0

本中断服务子程序用来实现掉电保护。

由INT0发出中断请求,中断服务程序接着用P3.7向定时器555的下触发端送出一个低电平,并置PCON(电源控制寄存器)的PD位(掉电方式位)为“1”。

注:

PD=1时激活掉电工作方式。

程序和程序流程图如下:

 INT0:

PUSHACC;

保护现场

    PUSHPSW

MOV87H,#02H;

置PCON的PD=1

CLRP3.7;

置P3.7输出0

POPPSW;

恢复现场

    POPACC

RETI;

中断返回

中断服务子程序INT0流程图

(9)中断服务程序INT1

中断服务程序INT1通过用十六进制减法及十进制调整程序实现十进制数相减,来获得物体的实际重量。

由于传感器,放大器及A/D转换器存在一定的误差,当程序中出现自重减自重得负值时,采取让显示器显示全0的办法来处理。

中断服务程序INT1的流程图和程序如下:

INT1:

PUSHPSW

MOVPSW,#08H;

重置工作寄存器区

JBP3.5,rel;

对P3.5判断是否对超载计数器清0

MOV20H,#00H;

超载计数器清0

rel:

MOVR3,#06H;

设置十进制调整值

MOVR4,#60H;

CLRC

MOVA,24H

MOVR0,28H

SUBBA,R0;

对十位,个位做减法

JNCDAA1;

需十进制调整否

JNBAC,DAA0;

需十进制调整否

SUBBA,R3;

对结果进行十进制调整

中断服务程序INT1流程图

DAA0:

SUBBA,R4

SETBC;

恢复C为“1”

MOV22H,A;

相减结果(十,个位)送22单元

SJMPDAA3

DAA1:

JNBAC,DAA2;

进行十进制调整

DAA2:

MOV22H,A

DAA3:

MOVA,23H

MOVR0,27H

对千,百位做减法

JCADD0;

判断结果为负否

JNBAC,DAA4;

CLRAC

DAA4:

MOV21H,A;

相减结果(千,百位)送21H单元

DDD:

POPACC

ADD0:

结果为负,则清0

ANL15H,A

ANL16H,A

ANL17H,A

ANL18H,A

SJMPDDD

以上程序中,自重值存储在27H,28H单元;

毛重值存储在23H,24H单元,物体实重值存储在21H,22H单元。

(10)延时子程序DS1,DS2,DS3

DS1:

MOVR1,#0FFH

DEC1:

MOVR2,#0FFH

DJNZR2,$

DJNZR1,DEC1

RET

DS2:

MOVR1,#04H

DEC2:

DJNZR2,$

DJNZR1,DEC2

DS3:

MOVR3,#04H

DEC3:

LCALLDS1

DJNZR3,DEC3

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1