课程设计报告题目起重机超载限制课程名称计算机控制系统设计院部名称机电工程学院专业自动化班级08自动化(本)(2)学生姓名王启权学号0804110705课程设计地点C204课程设计学时1周指导教师姜玉东金陵科技学院教务处制成绩目录前言……………………………………………………………………1第一章总体方案…………………………………………………21.1系统框图…………………………………………………………21.2分析介绍……………………………………………………………3第二章硬件设计……………………………………………………42.1硬件设计…………………………………………………………42.1.1部分功能部件第三章软件设计…………………………………………53.1系统流程图…………………………………………………………53.2子程序设计……………………………………………………………63.2.1初始化程序………………………………………………………73.2.2数据采集子程序…………………………………………………83.2.3自重值显示程序…………………………………………………113.2.4采集毛重程序……………………………………………………133.2.5判断是否预警或报警程序………………………………………143.2.6显示子程序………………………………………………………163.2.7超载计数单元值显示程序STEP…………………………………163.2.8中断服务子程序INT0……………………………………………183.2.9中断服务子程序INT1……………………………………………193.2.10延时子程序DS1、DS2、DS3……………………………………213.3系统软件……………………………………………………………22第四章结束语………………………………………………29附录…………………………………………………………………30参考资料……………………………………………………31前言计算机控制技术是一门应用性很强的专业课,其理论与实践技能是从事机电类专业技术工作的人员不可缺少的,理论与实践的密切结合,是学好计算机控制技术的重要特点。虽然现在又涌现出很多其他类似的技术,如PLC,但是计算机控制技术由于性价比高,仍然深受广大用户的喜爱。它的应用很多,深入到我们生活的方方面面。如今的计算机控制技术的发展是很快的,有许多方面,虽然有很多相似之处,但每个方面都有其自身的特点,例如在起重机方面应用比较广泛,利用这个技术可以防止起重机因为超重而损怀,合理提高起重机的寿命,节约了成本。计算机控制技术不单是软件上的技术,更是软件与硬件的结合的一种技术,硬件是软件的基础。硬件的发展是超前软件的发展的,但是离开了硬件的考虑,那软件设计也是徒劳的。第一章总体方案1.1系统框图图1.1系统框图1.2分析介绍如上图所示,模拟信号放大部分选用运算放大器OP07,A/D转换器选用MC14433,系统主机选用8031单片机,扩充一片程序存储器2716,地址及数据锁存器选用74LS373,4线-7线译码器选用4511,驱动器选用MC1413,基准电压源选用MC1403,数码显示部分选用BS212共阴数码管,音响部分选用一片KD9561。硬件系统上电工作后,由压力(拉力)传感器来的微弱电信号经OP07放大后送到MC14433进行A/D变换,MC14433送出的4位8421BCD码及4位选通信号一起送到8031单片机的P1口,8031根据P1口来的信号进行处理判别后送4511和MC1413译码驱动显示。若采集到的物重达到或超过额定值的90%,则P3.0送出低电平驱动声光预警电路。若采集到的物重达到或超过额定值的105%,超载计数单元加1,由P3.1送出低电平,驱动声光报警电路,并由继电器切断起重机电源。单片机8031信号放大器A/D转换器石英晶振电路锁存器程序存储数码管,LED显示报警器检测控制第二章硬件设计根据上述介绍的工作原理和技术要求,可知该应用系统实际上是一个典型的数据采集与控制系统,数据采集的对象是一路压力(拉力),故选用压力(拉力)传感器进行物理量的测量,控制对象是断电及报警装置,故选用继电器及声响电路进行断电及报警。2.1硬件设计2.1.1各个功能部件介绍如下(1)A/D转换器选用MC14433MC14433是美国Motorola公司推出的单片31/2位A/D转换器,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的A/D转换器,MC14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的A/D转换接口。图2.1A/D转换器(2)信号放大电路放大器是高精度低失调电压的精密运放集成电路,用于微弱信号的放大图2.2信号放大电路(3)8031单片机MC14433送出的4位8421BCD码及4位选通信号一起送到8031单片机的P1口,8031根据P1口来的信号进行处理判别后送4511和MC1413译码驱动显示。晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度.比如12M晶振.单片机工作速度就是每秒12M.和电脑的CPU概念一样。8031单片机引脚图(4)数码管以及译码器译码器采用4511,数码显示部分选用BS212共阴数码管,音响部分选用一片KD9561。图2.4数码管及译码器(5)驱动器1413驱动器选用MC1413,基准电压源选用MC1403图2.5驱动器(6)地址锁存器以及2716程序存储器74LS373:当三态允许控制端OE(即图中11口)为低电平时,D1~D8为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,D1~D8呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。2716:用于程序存储图2.6地址锁存器及2716程序存储器第三章软件设计前面我们通过十个部分讨论了起重机超载限制器软件设计方法,下面分别给出实用的系统流程图及软件部分。3.1系统流程图图3.1系统流程图初始4.2.1系统流程图化取自重,显示取毛重(1)延时0.5S取毛重(2)开中断预警正常显示调用STEP计超载次数报警毛重(2)送毛重(1)单元毛重(1)=毛重(2)否?超过90%否?显示超载数否?超过105%否?YNYNYYNN3.2子程序设计在任务的总体设计思想和硬件之后,就开始设计程序,根据前面介绍的工作原理和技术指标,软件设计主要任务有:3.2.1初始化程序初始化程序主要用于来确定堆栈、程序状态字、对存储单元清0、让数码管闪烁显示全0十次。START:MOVSP,#60H;初始化MOVPSW,#00HCLRA;清21H、22H单元ANL21H,AANL22H,AMOVR0,#0AH;全0闪烁十次LOOP:MOVA,#0F0H;全0显示MOVX@R1,A;送P0口显示LCALLDS1;调用延时子程序MOVA,#00H;显示全暗MOVX@R1,ALCALLDS1DJNZR0,LOOP;闪烁完十次否3.2.2数据采集子程序起重机在实际工作前,超载限制器应先检测出起重机挂钩、承重绳等物体的重量,我们称它为自重。当起重机实际起吊重物时,检测到的重量称为毛重。物体的实际重量等于毛重减去自重。IN1:MOVA,P1;输入转换结果JNBACC.4,IN1;是千位选通位否IN2:JBACC.3,IN3;千位为1CLRA;千位为0MOV31H,A;赋给31HSJMPIN4IN3:MOV31H,#10H;千位为1送入31H高4位IN4:MOVA,P1JNBACC.5,IN4;是百位选通位否ANLA,#0FH;提取百位值ORLA,31H;与千位值合并MOV31H,A;存入31H单元IN5:MOVA,P1JNBACC.6,IN5;是十位选通位否SWAPA;高、低四位交换ANLA,#0F0H;提取十位值MOV32H,A;暂存到32H高4位IN6:MOVA,P1JNBACC.7,IN6;是个位选通位否ANLA,#0FH;提取个位值ORLA,32H;与十位值合并MOV32H,A;存入到32H单元RET;子程序返回图3.2.2数据采集子程序流程图Y输入转换结果开始千位选通位?暂存、输入转换结果是十位选通位否?合并、输入转换结果是百位选通位否?暂存、输入转换结果是个位选通位否?合并、暂存返回NNYNYNY3.2.3自重值显示程序系统开机工作后,首先调用数据采集子程序,获得自重值,然后分别将它们送到27H和28H单元。自重值显示程序是从27H单元和28H单元中提取千、百、十、个位值,再配上选通位后从数据总线输出。为了使人眼能看到延续一定时间的自重值显示,程序中应使显示部分循环一定的次数,并将每一位的显示时间适当延长。MOV27H,31H;千、百位送27H单元MOV38H,32H;十、个位送28H单元MOVA,27HANLA,#0F0H;提取千位值SWAPAMOV11H,A;存放11H单元MOVA,27HANLA,#0FH;提取百位值MOV12H,A;存放12H单元MOVA,28HANLA,#0F0H;提取十位值SWAPAMOV13H,A;存入13H单元MOVA,28HANLA,#0FH;提取个位值MOV14H,A;存入14H单元MOVR0,#0FFH;设显示次数LOOP1:MOVA,11HORLA,#10H;组合千位值和选通位MOVX@R1,A;输出到显示器LCALLDS2;延时MOVA,12HORLA,#20H;组合百位值和选通位MOVX@R1,A;输出到显示器LCALLDS2;延时MOVA,13HORLA,#40H;组合十位值和选通位MOVX@R1,A;输出到显示器LCALLDS2;延时MOVA,14HORLA,#80H;组合个位值和选通位MOVX@R1,A;输出到显示器LCALLDS2;延时DJNZR0,LOOP1;显示次数到否3.2.4采集毛重程序由于起重机或行车在吊起重物时存在一定的加速度,这势必影响传感器测得信号值的正确性。因此,在程序执行完自重测量和显示后,延时0.5s后再进行毛重测量。同时采用两次采样,采样间隔约0.5s。如果相隔0.5s的两次采样值的高2位相等,则表明测量值没有受到加速度的影响,为正常值;否则,放弃第一次采样值,并再进行一次采样比较,直到两次采样值相等为止。OUT1:LCALLDS3;延时0.5sOUT2:LCALLIN1;调用采集子程序MOV23H,31H;将毛重值(1)送23H、24H单元MOV24H,32HLCALLDS3;延时0.5sAAA:LCALLIN1;调用采集子程序MOV25H,31H;将毛重值(2)送25H、26H单元MOV26H,32HMOVA,25H;毛重值(2)的千、百位送ACJNEA,23H,BBB;毛重值(2)毛重值(1)比较AJMPCCC;相等则转入下面的程序BBB:MOV23H,25H;不相等,毛重值(2)送23H、24H单元MOV24H,26HSJMPAAA;重新采样图3.2.4采集毛重程序流程图延时0.5s采集毛重(1)存23H、24H单元延时0.5s采集毛重(2)毛重(1)=毛重(2)否?毛重(2)值送23H、24H单元YN3.2.5判断是否预警或报警程序在执行该程序之前,在中断服务程序中已将毛重值减去自重值,并将物体实际重量的千位、百位存于21H单元,十位和个位存于22H单元。该程序首先判断物体重量是否达到或超过额定值的90%,如果达到或超过这一限值,预警黄灯亮,并使音响电路发出鸣叫。其次判断物体重量是否达到或超过额定值的105%,如果超过这一限值,报警红灯亮,并由音响电路发出报警声,数码管显示当前物体重量并不在变化,超载计数单元内容加1。CLRC;清进位标志MOVA,21H;是否超过90%CJNEA,90%H,SUB1;高2位比较MOVA,22HCJNEA,