课程设计报告题目起重机超载限制课程名称计算机控制系统设计院部名称机电工程学院专业自动化班级08自动化(本)(2)学生姓名王启权学号0804110705课程设计地点C204课程设计学时1周指导教师姜玉东成绩金陵科技学院教务处制目录前言……………………………………………………………………1第一章总体方案…………………………………………………………21.1系统框图…………………………………………………………2第二章硬件设计……………………………………………………32.1器件选择及部分电路设计…………………………………………………………32.1.1A/D转换器………………………………………………………………………32.1.2信号放大电路……………………………………………………………………32.1.3主控制器及外围电路……………………………………………………………42.1.4显示电路…………………………………………………………………………42.1.5驱动器1413………………………………………………………………………52.1.6扩展电路…………………………………………………………………………52.2硬件电路图……………………………………………………………………………6第三章软件设计……………………………………………………73.1系统流程图…………………………………………………………73.2子程序设计……………………………………………………………83.2.1初始化程序………………………………………………………83.2.2数据采集子程序…………………………………………………83.2.3自重值显示程序…………………………………………………113.2.4采集毛重程序……………………………………………………123.2.5判断是否预警或报警程序………………………………………143.2.6显示子程序………………………………………………………153.2.7超载计数单元值显示程序STEP…………………………………163.2.8中断服务子程序INT0……………………………………………173.2.9中断服务子程序INT1……………………………………………173.2.10延时子程序DS1、DS2、DS3……………………………………193.3程序语言清单……………………………………………………………19第四章结束语………………………………………………28参考文献……………………………………………………291前言计算机控制技术是一门应用性很强的专业课,其理论与实践技能是从事机电类专业技术工作的人员不可缺少的,理论与实践的密切结合,是学好计算机控制技术的重要特点。虽然现在又涌现出很多其他类似的技术,如PLC,但是计算机控制技术由于性价比高,仍然深受广大用户的喜爱。它的应用很多,深入到我们生活的方方面面。如今的计算机控制技术的发展是很快的,有许多方面,虽然有很多相似之处,但每个方面都有其自身的特点,例如在起重机方面应用比较广泛,利用这个技术可以防止起重机因为超重而损怀,合理提高起重机的寿命,节约了成本。计算机控制技术不单是软件上的技术,更是软件与硬件的结合的一种技术,硬件是软件的基础。硬件的发展是超前软件的发展的,但是离开了硬件的考虑,那软件设计也是徒劳的。2第一章总体方案1.1系统框图图1.1系统框图如图1.1所示,整个系统由上面九个部分构成,以8031单片机为核心,附带有信号放大器、A/D转换器、石英晶振电路、锁存器、检测控制、程序存储器、数码管显示器以及报警电路。其中报警电路是关键性的,对不同起重机,我们会设定不同的基础值,当物体重量低于此,正常运载;若物体重量超过此重量,则根据不同情况,设定警报开启。信号放大器石英晶振电路锁存器程序存储数码管,LED显示报警器检测控制A/D转换器单片机80313第二章硬件设计根据上述介绍的工作原理和技术要求,可知该应用系统实际上是一个典型的数据采集与控制系统,数据采集的对象是一路压力(拉力),故选用压力(拉力)传感器进行物理量的测量,控制对象是断电及报警装置,故选用继电器及声响电路进行断电及报警。2.1器件选择及部分电路设计2.1.1A/D转换器图2.1为所选A/D转换器引脚图。MC14433是美国Motorola公司推出的单片31/2位A/D转换器,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的A/D转换器,MC14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的A/D转换接口。图2.1MC1433引脚图2.1.2信号放大电路图2.2为所选信号放大电路,所选型号为TLC3702。放大器是高精度低失调电压的精密运放集成电路,用于微弱信号的放大。4图2.2信号放大电路2.1.3主控制器及外围电路主控制器选用8031单片机,MC14433送出的4位8421BCD码及4位选通信号一起送到8031单片机的P1口,8031根据P1口来的信号进行处理判别后送4511和MC1413译码驱动显示。晶振是给单片机提供工作信号脉冲的。这个脉冲就是单片机的工作速度。比如12M晶振.单片机工作速度就是每秒12M.和电脑的CPU概念一样。图2.38031单片机引脚图2.1.4显示电路如图2.4所示,译码器采用4511,数码显示部分选用BS212共阴数码管。CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动数码管显示器。5图2.4显示电路2.1.5驱动器1413如图2.5所示,驱动器选用MC1413,基准电压源选用MC1403。MC1413是高耐压,大电流达林顿陈列反相驱动器,由7个NPN达林顿管组成。MC1413的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接连接,可以直接处理原先需要标准逻辑缓冲器来处理的数据。MC1413工作电压高,工作电流大,灌电流可达500mA,并且能够早关太时承受50V的电压,输出还可以早高负载电流并行运行。图2.5MC1413的引脚图2.1.6扩展电路74LS373:当三态允许控制端OE(即图中11口)为低电平时,D1~D8为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,D1~D8呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。2716:如图2.6所示,2716是紫外线可擦除,可编程存储器。在计算机系统中,我们把2716作为程序存储器或数据存储器使用,存放程序或数据。2716的存储容量为16384位,24线的双列直插式器件,单一+5V供电,运行时最大功耗为252mW,维持功耗为132mW,读出时间最大为450ns。图2.62716引脚图62.2硬件电路图图2.7硬件电路图如图2.7所示,模拟信号放大部分选用运算放大器TLC3207,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送出低电平,驱动声光报警电路,并由继电器切断起重机电源。7第三章软件设计前面我们通过十个部分讨论了起重机超载限制器软件设计方法,下面分别给出实用的系统流程图及软件部分。3.1系统流程图系统流程图如图3.1所示图3.1系统流程图初始4.2.1系统流程图化取自重,显示取毛重(1)延时0.5S取毛重(2)开中断预警正常显示调用STEP计超载次数报警毛重(2)送毛重(1)单元毛重(1)=毛重(2)否?超过90%否?显示超载数否?超过105%否?YNYNYYNN83.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;赋给31HSJMPIN49IN3: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;子程序返回10Y输入转换结果开始千位选通位?暂存、输入转换结果是十位选通位否?合并、输入转换结果是百位选通位否?暂存、输入转换结果是个位选通位否?合并、暂存返回NNYNYNY11图3.2数据采集子程序流程图3.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;组合百位值和选通位12MOVX@R1,A;输出到显示器LCALLDS2;延时MOVA,13HORLA,#40H;组合十位值和选通位MOVX@R1,A;输出到显示器LCALLDS2;延时MOVA,14HORLA,#80H;组合个位值和选通位MOVX@R1,A;输出到显示器LCALLDS2;延时DJNZR0,LO