版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩 课程设计报告 题 目 起重机超载限制 课 程 名 称 计算机控制系统设计 院 部 名 称 机电工程学院 专 业 自动化 班 级 08自动化(本)(2) 学 生 姓 名 王启权 学 号 0804110705 课程设计地点 C204 课程设计学时 1周 指 导 教 师 姜玉东 金陵科技学院教务处制目 录前言 1第一章 总体方案 21.1 系统框图21.2 分析介绍3第二章 硬件设计 42.1 硬件设计4 2.1.1 部分功能部件 第三章 软件设计 5 3.1 系统流程图 5 3.2 子程序设计6 3.2.1 初始化程序7 3.2.2 数据采集子程序8 3.2.3 自重值显示程序11 3.2.
2、4 采集毛重程序13 3.2.5 判断是否预警或报警程序14 3.2.6 显示子程序16 3.2.7 超载计数单元值显示程序STEP16 3.2.8 中断服务子程序INT018 3.2.9 中断服务子程序INT119 3.2.10 延时子程序DS1、DS2、DS3213.3 系统软件 22 第四章 结束语29 附录 30 参考资料 31前 言 计算机控制技术是一门应用性很强的专业课,其理论与实践技能是从事机电类专业技术工作的人员不可缺少的,理论与实践的密切结合,是学好计算机控制技术的重要特点。虽然现在又涌现出很多其他类似的技术,如PLC,但是计算机控制技术由于性价比高,仍然深受广大用户的喜爱。
3、它的应用很多,深入到我们生活的方方面面。如今的计算机控制技术的发展是很快的,有许多方面,虽然有很多相似之处,但每个方面都有其自身的特点,例如在起重机方面应用比较广泛,利用这个技术可以防止起重机因为超重而损怀,合理提高起重机的寿命,节约了成本。 计算机控制技术不单是软件上的技术,更是软件与硬件的结合的一种技术,硬件是软件的基础。硬件的发展是超前软件的发展的,但是离开了硬件的考虑,那软件设计也是徒劳的。第一章 总体方案1.1 系统框图 单片机8031信号放大器A/D转换器石英晶振电路锁存器程序存储数码管,LED显示报警器检测控制 图1.1 系统框图1.2 分析介绍 如上图所示,模拟信号放大部分选用
4、运算放大器OP07,A/D转换器选用MC 14433,系统主机选用8031单片机,扩充一片程序存储器2716,地址及数据锁存器选用74 LS 373,4线-7线译码器选用4511,驱动器选用MC 1413,基准电压源选用MC 1403,数码显示部分选用BS 212共阴数码管,音响部分选用一片KD 9561。硬件系统上电工作后,由压力(拉力)传感器来的微弱电信号经OP07放大后送到MC 14433进行A/D变换,MC 14433送出的4位8421BCD码及4位选通信号一起送到8031单片机的P1口,8031根据P1口来的信号进行处理判别后送4511和MC 1413译码驱动显示。若采集到的物重达到
5、或超过额定值的90%,则P3.0送出低电平驱动声光预警电路。若采集到的物重达到或超过额定值的105%,超载计数单元加1,由P3.1送出低电平,驱动声光报警电路,并由继电器切断起重机电源。 第二章 硬件设计根据上述介绍的工作原理和技术要求,可知该应用系统实际上是一个典型的数据采集与控制系统,数据采集的对象是一路压力(拉力),故选用压力(拉力)传感器进行物理量的测量,控制对象是断电及报警装置,故选用继电器及声响电路进行断电及报警。21 硬件设计 2.1.1各个功能部件介绍如下 (1)A/D转换器选用MC 14433MC14433是美国Motorola公司推出的单片3 1/2位A/D转换器,其中集成
6、了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的A/D转换器,MC14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的A/D转换接口。 图2.1 A/D转换器(2)信号放大电路 放大器是高精度低失调电压的精密运放集成电路,用于微弱信号的放大 图2.2 信号放大电路 (3)8031单片机 MC 14433送出的4位8421BCD码及4位选通信号一起送到8031单片机的P1口,8031根据P1口来的信号进行处理判别后送4
7、511和MC 1413译码驱动显示。晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的 工作速度.比如12M晶振.单片机工作速度就是每秒 12M.和电脑的 CPU概念一样。 8031单片机引脚图 (4)数码管以及译码器 译码器采用4511,数码显示部分选用BS 212共阴数码管,音响部分选用一片KD 9561。 图2.4 数码管及译码器 (5)驱动器1413 驱动器选用MC 1413,基准电压源选用MC 1403 图2.5 驱动器 (6)地址锁存器以及2716程序存储器 74LS373:当三态允许控制端 OE (即图中11口)为低电平时,D1D8 为正常逻辑状态,可用来驱动负载或总线。当
8、OE 为高电平时,D1D8 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。 2716:用于程序存储 图2.6 地址锁存器及2716程序存储器 第三章 软件设计前面我们通过十个部分讨论了起重机超载限制器软件设计方法,下面分别给出实用的系统流程图及软件部分。3. 1 系统流程图初始4.2.1 系统流程图化取自重,显示取毛重(1)延时0.5S取毛重(2)开中断预警正常显示调用STEP计超载次数报警毛重(2)送毛重(1)单元毛重(1)=毛重(2)否?超过90%否?显示超载数否?超过105%否?Y
9、NYNYYNN图3.1 系统流程图3. 2 子程序设计在任务的总体设计思想和硬件之后,就开始设计程序,根据前面介绍的工作原理和技术指标,软件设计主要任务有: 3.2.1 初始化程序 初始化程序主要用于来确定堆栈、程序状态字、对存储单元清0、让数码管闪烁显示全0 十次。START : 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口显示 LCALL DS1 ;调用延时子程序 MOV A,#00
10、H ;显示全暗 MOVX R1,A LCALL DS1 DJNZ R0,LOOP ;闪烁完十次否3.2.2 数据采集子程序 起重机在实际工作前,超载限制器应先检测出起重机挂钩、承重绳等物体的重量,我们称它为自重。当起重机实际起吊重物时,检测到的重量称为毛重。物体的实际重量等于毛重减去自重。IN1 : MOV A,P1 ;输入转换结果 JNB ACC.4,IN1 ;是千位选通位否IN2 : JB ACC.3,IN3 ;千位为1 CLR A ;千位为0 MOV 31H,A ;赋给31H SJMP IN4IN3 : MOV 31H,#10H ;千位为1送入31H高4位IN4 : MOV A,P1 J
11、NB ACC.5,IN4 ;是百位选通位否 ANL A,#0FH ;提取百位值 ORL A,31H ;与千位值合并 MOV 31H,A ;存入31H单元IN5 : MOV A,P1 JNB ACC.6,IN5 ;是十位选通位否 SWAP A ;高、低四位交换 ANL A,#0F0H ;提取十位值 MOV 32H,A ;暂存到32H高4位IN6 : MOV A,P1 JNB ACC.7,IN6 ;是个位选通位否 ANL A,#0FH ;提取个位值 ORL A,32H ;与十位值合并 MOV 32H,A ;存入到32H单元 RET ;子程序返回Y输入转换结果开始千位选通位?暂存、输入转换结果是十位
12、选通位否?合并、输入转换结果是百位选通位否?暂存、输入转换结果是个位选通位否?合并、暂存返回NN YN YN Y 图3.2.2 数据采集子程序流程图3.2.3 自重值显示程序 系统开机工作后,首先调用数据采集子程序,获得自重值,然后分别将它们送到27H和28H单元。自重值显示程序是从27H单元和28H单元中提取千、百、十、个位值,再配上选通位后从数据总线输出。为了使人眼能看到延续一定时间的自重值显示,程序中应使显示部分循环一定的次数,并将每一位的显示时间适当延长。 MOV 27H,31H ;千、百位送27H单元 MOV 38H,32H ;十、个位送28H单元 MOV A,27H ANL A,#
13、0F0H ;提取千位值 SWAP A MOV 11H,A ;存放11H单元 MOV A,27H ANL A,#0FH ;提取百位值 MOV 12H,A ;存放12H单元 MOV A,28H ANL A,#0F0H ;提取十位值 SWAP A MOV 13H,A ;存入13H单元 MOV A,28H ANL A,#0FH ;提取个位值 MOV 14H,A ;存入14H单元 MOV R0,#0FFH ;设显示次数LOOP1: MOV A,11H ORL A,#10H ;组合千位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,12H ORL A,#20H ;组
14、合百位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,13H ORL A,#40H ;组合十位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,14H ORL A,#80H ;组合个位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 DJNZ R0,LOOP1 ;显示次数到否3.2.4 采集毛重程序 由于起重机或行车在吊起重物时存在一定的加速度,这势必影响传感器测得信号值的正确性。因此,在程序执行完自重测量和显示后,延时0.5s后再进行毛重测量。同时采用两次采样,采样间隔约0.5s。如果相隔
15、0.5s的两次采样值的高2位相等,则表明测量值没有受到加速度的影响,为正常值;否则,放弃第一次采样值,并再进行一次采样比较,直到两次采样值相等为止。OUT1 : LCALL DS3 ;延时0.5sOUT2 : LCALL IN1 ;调用采集子程序 MOV 23H,31H ;将毛重值(1)送23H、24H单元 MOV 24H,32H LCALL DS3 ;延时0.5sAAA : LCALL IN1 ;调用采集子程序 MOV 25H,31H ;将毛重值(2)送25H、26H单元 MOV 26H,32H MOV A,25H ;毛重值(2)的千、百位送A CJNE A,23H,BBB ;毛重值(2)毛
16、重值(1)比较 AJMP CCC ;相等则转入下面的程序BBB : MOV 23H,25H ;不相等,毛重值(2)送23H、24H单元 MOV 24H,26H SJMP AAA ;重新采样延时0.5s采集毛重(1)存23H、24H单元延时0.5s采集毛重(2)毛重(1)=毛重(2)否?毛重(2)值送23H、24H单元 Y N 图3.2.4 采集毛重程序流程图3.2.5 判断是否预警或报警程序 在执行该程序之前,在中断服务程序中已将毛重值减去自重值,并将物体实际重量的千位、百位存于21H单元,十位和个位存于22H单元。该程序首先判断物体重量是否达到或超过额定值的90%,如果达到或超过这一限值,预
17、警黄灯亮,并使音响电路发出鸣叫。其次判断物体重量是否达到或超过额定值的105%,如果超过这一限值,报警红灯亮,并由音响电路发出报警声,数码管显示当前物体重量并不在变化,超载计数单元内容加1。 CLR C ;清进位标志 MOV A,21H ;是否超过90% CJNE A,90%H,SUB1 ;高2位比较 MOV A,22H CJNE A,90%L,SUB1 ;低2位比较 SUB0 : CLR P3.0 ;预警 SJMP SUB2 SUB1 : JNC SUB0 ;超过额定值90%否 SJMP ADD1 ;向下执行显示程序 SUB2 : CLR C MOV A,21H ;是否超过105% CJNE
18、 A,105%H,SUB5 ;高2位比较 MOV A,22H CJNE A,105%L,SUB5 ;低2位比较 SUB3 : MOV A,20H ;超载,计数单元加1 INC A MOV 20H,A SUB4 : CLR P3.1 ;报警、断电 LCALL ADD2 ;调用显示子程序 SJMP SUB4 ;循环显示 SUB5 : JNC SUB3 ADD1 : LCALL ADD2 ;调用显示子程序 JNB P3.4,STEP ;显示超载计数单元内容否 HH : LJMP OUT2 ;循环采集3.2.6 显示子程序 显示子程序类似于自重显示程序部分,流程图从略。 ADD2 : MOV A,21
19、H ;显示子程序 ANL A,#0F0H ;取千位 SWAP A MOV 15H,A MOV A,21H ;取百位 ANL A, #0FH MOV 16H,A MOV A,22H ;取十位 ANL A,#0F0H SWAP A MOV 17H,A MOV A,22H ;取个位 ANL A,#0FH MOV 18H,A MOV A,15H ;显示千位 ORL A,#10H MOVX R1,A LCALL DS2 MOV A,16H ;显示百位 ORL A,#20H MOVX R1,A LCALL DS2 MOV A,17H ;显示十位 ORL A,#40H MOVX R1,A LCALL DS2
20、 MOV A,18H ;显示个位 ORL A,#80H MOVX R1,A LCALL DS2 RET3.2.7 超载计数单元值显示程序STEP主程序中通过访问P3.4口是否为“0”进入STEP中,该程序首先将16进制数转换成10进制数,再进行组合显示,采用循环显示一段时间后返回主程序。 STEP : MOV A,20H ;取超载计数单元内容 MOV B,#64H ;设除数为100 DIV AB MOV 19H,A ;取商为百位数 MOV A,B ;取余数继续除 MOV B,#0AH ;设余数为10 DIV AB MOV 1AH,A ;取商为十位数 MOV 1BH,B ;取余数为个位数 MOV
21、 R7,#0FFH ;置循环显示次数 SS : MOV A,19H ORL A,#20H ;组合百位显示码 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,1AH ORL A,#40H ;组合十位显示码 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,1BH ORL A,#80H ;组合个位显示码 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 DJNZ R7,SS ;循环显示次数到否AJMP HH ;跳转执行3.2.8 中断服务子程序INT0本中断服务子程序用来实现掉电保护。由INT0端发出中断请求,中断服务程序接着用P
22、3.7向定时器555的下触发端送一个低电平,并置PCON(电源控制寄存器)的PD位(掉电方式位)为“1”。INT0 : PUSH ACC ;保护现场 PUSH PSW MOV 87H,#02H ;置PCON的PD为“1” CLR P3.7 ;置P3.7输出“0” POP PSW ;恢复现场 POP ACC RETI 3.2.9 中断服务程序INT1 中断服务程序INT1通过16进制减法及10进制调整程序实现10进制数相减,来获得物体的实际重量。由于传感器、放大器及A/D转换器存在一定的误差,当程序中出现自重减自重的负值时,采用让显示器全0的办法进行处理。INT1 : PUSH ACC ;保护现
23、场 PUSH PSW MOV PSW,#08H ;重置工作寄存区 JB P3.5,REL ;对P3.5判断是否对超载计数器清0 MOV 20H,#00H ;超载计数器清0REL : MOV R3,#06H ;设置10进制调整值 MOV R4,#60H CLR C MOV A,24H MOV R0,28H SUBB A,R0 ;对十位、个位作减 JNC DAA1 ;需10进制调整否 CLR C JNB AC,DAA0 ;需10进制调整否 SUBB A,R3 ;对结果进行10进制调整DAA0 : SUBB A,R4 SETB C ;恢复C为“1” MOV 22H,A ;相减结果(十、个位)送22H
24、单元 SJMP DAA3DAA1 : JNB AC,DAA2 ;需10进制调整否 SUBB A,R3 ;进行10进制调整DAA2 : MOV 22H,ADAA3 : MOV A,23H MOV R0,27H SUBB A,R0 ;对千位、百位作减法 JC ADD0 ;判断结果为负否 JNB AC,DAA4 ;需10进制调整否 CLR AC SUBB A,R3 ;进行10进制调整DAA4 : MOV 21H,A ;相减结果(千、百位)送21H单元DDD : POP PSW ;恢复现场 POP ACC RETI ;中断返回ADD0 : CLR A ;结果为负,则清0 ANL 15H,A ANL 1
25、6H,A ANL 17H,A ANL 18H,A ANL 21H,A ANL 22H,A SJMP DDD以上程序中,自重值存储在27H、28H单元,毛重值存储在23H、24H单元,物体实重值存储在21H、22H单元。 3.2.10 延时子程序DS1、DS2、DS3 DS1 : MOV R1,#0FFH DEC1: MOV R2,#0FFH DJNZ R2, DJNZ R1,DEC1 RET DS2: MOV R1,#04H DEC2: MOV R2,#0FFH DJNZ R2, DJNZ R1,DEC2 RET DS3: MOV R3,#04H DEC3: LCALL DS1 DJNZ R3
26、,DEC3 RET3. 3 系统软件 ORG 0000H AJMP START ORG 0003H LJMP INT0 ORG 0013H LJMP INT1START : 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口显示 LCALL DS1 ;调用延时子程序 MOV A,#00H ;显示全暗 MOVX R1,A LCALL DS1 DJNZ R0,LOOP ;闪烁完十次否 LCALL
27、IN1 ;采集自重 MOV 27H,31H ;千、百位送27H单元 MOV 38H,32H ;十、个位送28H单元 MOV A,27H ANL A,#0F0H ;提取千位值 SWAP A MOV 11H,A ;存放11H单元 MOV A,27H ANL A,#0FH ;提取百位值 MOV 12H,A ;存放12H单元 MOV A,28H ANL A,#0F0H ;提取十位值 SWAP A MOV 13H,A ;存入13H单元 MOV A,28H ANL A,#0FH ;提取个位值 MOV 14H,A ;存入14H单元 MOV R0,#0FFH ;设显示次数LOOP1: MOV A,11H OR
28、L A,#10H ;组合千位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,12H ORL A,#20H ;组合百位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,13H ORL A,#40H ;组合十位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 MOV A,14H ORL A,#80H ;组合个位值和选通位 MOVX R1,A ;输出到显示器 LCALL DS2 ;延时 DJNZ R0,LOOP1 ;显示次数到否 OUT1 : LCALL DS3 ;延时0.5sOUT2 : LCA
29、LL IN1 ;调用采集子程序 MOV 23H,31H ;将毛重值(1)送23H、24H单元 MOV 24H,32H LCALL DS3 ;延时0.5sAAA : LCALL IN1 ;调用采集子程序 MOV 25H,31H ;将毛重值(2)送25H、26H单元 MOV 26H,32H MOV A,25H ;毛重值(2)的千、百位送A CJNE A,23H,BBB ;毛重值(2)毛重值(1)比较 AJMP CCC ;相等则转入下面的程序BBB : MOV 23H,25H ;不相等,毛重值(2)送23H、24H单元 MOV 24H,26H SJMP AAA ;重新采样CCC: CLR IT0 ;
30、置INT0为电平触发方式 SETB EX0 ;开外部中断为0 SETB IT1 ;置INT1为边沿角发方式 SETB EX1 ;开外部中断为1 SETB EA ;CPU开中断 CLR C ;清进位标志 MOV A,21H ;是否超过90% CJNE A,90%H,SUB1 ;高2位比较 MOV A,22H CJNE A,90%L,SUB1 ;低2位比较 SUB0 : CLR P3.0 ;预警 SJMP SUB2 SUB1 : JNC SUB0 ;超过额定值90%否 SJMP ADD1 ;向下执行显示程序 SUB2 : CLR C MOV A,21H ;是否超过105% CJNE A,105%H,SUB5 ;高2位比较 MOV A,22H CJNE A,105%L,SUB5 ;低2位比较 SUB3 : MOV A,20H ;超载,计数单元加1 INC A MOV 20H,A SUB4 : CLR P3.1 ;报警、断电 LCALL ADD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资金安全运营风险控制承诺书(5篇)
- 确保食品质量安全卫生健康承诺书(7篇)
- 客户满意度提升与服务改进指南
- 专业服务标准履行承诺书8篇
- 企业人力资源规划及分析工具包
- 物联网农业智能设备操作指南
- 山东省济南长清区六校联考2026年初三下学期线上模拟考试(2)英语试题含解析
- 辽宁省抚顺本溪铁岭辽阳葫芦岛市重点中学2026年初三第六次模拟语文试题含解析
- 2026届重庆市渝中区名校初三下学期三诊考试语文试题试卷含解析
- 质量控制检测流程标准化模板产品抽检与质量评估版
- 企业绩效管理系统的构建
- 《电视摄像教程》课件第6章
- 消化系统常见症状课件
- DISC性格分析与情绪管理课件
- 《小学生C++创意编程》第6单元课件-do-while循环
- 离婚协议书免费下载-完整离婚协议书
- 旅游产品策划与设计课件(完整版)
- 百凤冈厚积人文沃土和谐发展培育世纪英才
- ISO22000标准培训课件
- 【原创】高二数学校本课程教材:生活中的数学校本课程
- 钢筋笼加工与安装施工方案完整
评论
0/150
提交评论