起重机超载限制器的设计Word下载.docx
- 文档编号:19960691
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:22
- 大小:288.37KB
起重机超载限制器的设计Word下载.docx
《起重机超载限制器的设计Word下载.docx》由会员分享,可在线阅读,更多相关《起重机超载限制器的设计Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
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
表示结果
1×
×
0
0×
×
1×
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 起重机 超载 限制器 设计