《基于单片机的工业顺序控制系统设计说明.doc》由会员分享,可在线阅读,更多相关《基于单片机的工业顺序控制系统设计说明.doc(22页珍藏版)》请在课桌文档上搜索。
1、目录摘要2第一章 总体设计31.1设计功能分析31.2系统总体结构设计3第二章 系电路设计统硬件32.1 系统总体设计框图及单片机的设计32.1.1系统总体设计框图32.2 LED灯控制及报警系统设计62.2.1 LED灯控制及报警系统原理62.2.2 LED灯控制及报警系统硬件连线82.3 七段数码管显示系统设计82.3.1 显示系统原理82.3.2 显示系统硬件设计122.4 系统软件程序的设计132.4.1 实验流程图132.4.2 实验源程序14第三章 系统安装调试203.1 安装调试203.2 系统调试20第四章 设计结果及分析21结束语22参考文献:22摘 要随着单片机快速的发展,
2、目前单片机正处于日益完善阶段。单片机集成越来越多的资源,部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅开发简单,同时抗干扰能力加强,系统也更加稳定,使得他更加适合工业领域,具有更加广阔的市场前景。此外单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。因此掌握单片机的基础和实际应用对我们工作学习有重大的意义。在工业控制过程,诸多生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制。顺序控制采用按时间顺序或逻辑顺序进行控制的开环控制方式。 工业控制是计算机的一个重要应用领域,计算机过程控制正是为了适应这
3、一领域而发展起来的一门专业技术。本次设计在阐述工业顺序控制的基础上,以MCS-51系列单片机8051为核心,设计了一个基于单片机的工业顺序控制系统。本文介绍的是利用MCS51单片机模拟控制注塑机的七道工序,通过缓冲 器74LS06控制七只发光二极管的顺序先后分别亮17秒模拟七道工序的运行,同时用MCS51单片机部定时器1的定时中断,控制用三个LED数码显示管显示工序、时间做成一个控制的显示电路;P3.3用作外故障输入模拟端口,在P3.3口送0时,能不断发出告警,P1.7口作为报警声音输出,经功放驱动扬声器。故障排除时,程序应从刚才报警的那道工序继续执行,从而达到模拟控制注塑机的七道工序的目的。
4、关键字:单片机; 工业控制; LED显示器动态扫描第一章 总体设计1.1设计功能分析在工业控制过程,如冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制。顺序控制采用按时间顺序或逻辑顺序进行控制的开环控制方式倒注塑机工艺大致按合模-注射-延时-开模-产伸-产退顺序工作。 P1.0-P1.6代表控制注塑机的其道工序,模拟控制七只发光二级管的点亮,低电平有效,设每道工序的时间为延时,P3.4为开工启动开关,低电平启动,P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警输出,前六道工序只有一位输出,第七道工序中有三位输
5、出。1.2 系统总体结构设计 根据上述问题描述,本设计运用了两个中断,一个外部INT1中断,一个定时器T/C1中断。第二章 系电路设计统硬件2.1 系统总体设计框图及单片机的设计2.1.1系统总体设计框图2.1.2 8051单片机简介 1、8051单片机引脚图-2 8051管脚图2.8051单片机引脚介绍 下面按其引脚功能分为四部分叙述这40条引脚的功能。 1、主电源引脚VCC和VSS VCC40脚接+5V电压; VSS20脚接地。 2、外接晶体引脚XTAL1和XTAL2 XTAL119脚接外部晶体的一个引脚。在单片机部,它是一个反相放大器的输入端,这个放大器构成了片振荡器。当采用外部振荡器时
6、,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。 XTAL218脚接外晶体的另一端。在单片机部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到部时钟发生器的输入端;对XHMOS,此引脚应悬浮。 3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP RST/VPD9脚当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10F的电容,以保证可靠地复位。 VCC掉电期间,
7、此引脚可接上备用电源,以保证部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压围50.5V,VPD就向部RAM提供备用电源。 ALE/PROG30脚:当访问外部存贮器时,ALE允许地址锁存的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动吸收或输出电流8个LS型的TTL输入电路。 对于EPROM单片机如8751,在EPROM编程期间,此引脚用于输入编程脉冲PROG。
8、 PSEN29脚:此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令或常数期间,每个机器周期两次PSEN有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN同样可以驱动吸收或输出8个LS型的TTL输入。 EA/VPP引脚:当EA端保持高电平时,访问部程序存储器,但在PC程序计数器值超过0FFFH对851/8751/80C51或1FFFH对8052时,将自动转向执行外部程序存储器的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有部程序存储器。对于常用的8031来说,无部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。 对
9、于EPROM型的单片机如8751,在EPROM编程期间,此引脚也用于施加21V的编程电源VPP。 4、输入/输出I/O引脚P0、P1、P2、P3共32根 P0口39脚至32脚:是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。 P1口1脚至8脚:是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动吸收或输出电流4个LS型的TTL负载。对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端
10、。对EPROM编程和程序验证时,它接收低8位地址。 P2口21脚至28脚:是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2可以驱动吸收或输出电流4个LS型的TTL负载。 P3口10脚至17脚:是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3能驱动吸收或输出电流4个LS型的TTL负载。 作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。 作为第二功能使用时,各引脚的定义如表所示。 值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输
11、出或第二功能。 P3各口线的第二功能定义: 端口线 引脚 第二功能 P3.0 10 RXD串行输入口 P3.1 11 TXD串行输出口 P3.2 12 INT0外部中断0 P3.3 13 INT1外部中断1 P3.4 14 T0定时器0外部输入 P3.5 15 T1定时器1外部输入 P3.6 16 WR外部数据存储器写脉冲 P3.7 17 RD外部数据存储器读脉冲2.2 LED灯控制及报警系统设计2.2.1 LED灯控制及报警系统原理 单片机可以实现时序控制、时间控制等,用单片机可以构成形式多样的控制系统、数据采集系统,因此选择单片机作为控制芯片。 单片机晶振为12MHZ,一个单指令周期为12
12、个机器周期,以此写出延时17秒的汇编程序。 单片机的P2.0P2.6模拟控制注塑机的七道工序,通过缓冲 器74LS06控制七只发光二极管的点亮,P2口输出高电平有效信号,经74LS06反向后驱动发光二极管,按VL1VL7顺序先后分别亮17秒,依次循环。P3.3用作外故障输入模拟端口,再P3.3口送0时,能不断发出告警,P2.7口作为报警声音输出,经功放驱动扬声器。故障排除时,程序应从刚才报警的那道工序继续执行。图3 2.2.2 LED灯控制及报警系统硬件连线图4 LED灯控制及报警系统电路图2.3 七段数码管显示系统设计2.3.1 显示系统原理1.LED结构和显示原理:1LEDLight Em
13、itting Diode显示器是由发光二极管作为显示字段的显示器件,最常见的是由7段型发光二极管ag7段和1个圆点型发光二极管常以dp表示,主要用来显示小数点组成的LED显示器,其排列形状如下图5所示。这种LED显示器也可称为7段数码显示器或8段数码显示器。LED显示中的发光二极管根据其连接的方法有共阴极和共阳极两种结构。共阴极结构:把各段发光二极管的阴极连接在一起构成公共阴极,如图a所示。使用时,公共阴极接地,根据要求需点亮发光二极管的阳极输入高电平,不需点亮的发光二极管的阳极输入低电平。共阳极结构:把各段发光二极管的阳极连接在一起构成公共阳极,如图b 所示。使用时,公共阳极接+5V,根据要
14、求需要点亮发光二极管的阴极输入低电平,不需点亮的发光二极管的阴极输入高电平。图5 LED结构2字段码。为了显示各个数字或字符,就需要为LED提供相应的代码,因为这些代码是控制各段的亮或灭,供显示器显示字形的,所以称为字段码也可以称为段选码或字形码。七段发光二极管再加上1个小数点位,共计8段,因此提供给LED显示器的字段码正好1个字节。各代码位的对应关系如下表1.3.1:表1.3.1 LED字段码对应关系D7D6D5D4D3D2D1D0dotgfedcbA下表1.3.2所示为共阳极LED所显示的不同字符的字段码表1.3.2 共阳极LED的字段码 显示数字共阳极字段码显示数字共阳极字段码0C0H5
15、92H1F9H682H2A4H7F8H3B0H880H499H990H3) N位LED显示器。在单片机应用系统中,实际使用的LED显示器有多个,N位LED显示器的显示要从两个方面来控制:其一是控制N位的字段显示即显示什么字符;其二是控制字位即哪一位到哪一位亮。由LED的显示原理可知,要使某N位LED显示器的某一位显示某个字符,就必须将此字符转换为对应的字段码来控制该位的8个段,同时,该位的字位线也要控制有效,这要通过一定接口来实现。4) LED数码管在显示时通常有两种显示方式:静态显示方式和动态扫描显示方式。动态扫描显示就是一位一位地轮流点亮显示器各个位扫描,通过人眼的视觉暂留效应,获得视觉稳
16、定的显示状态。N位LED显示器有N根字位选线简称:位选线和N*8根字段选线简称:段选线。根据显示方式不同,位选线和段选线的连接方式也不同。各种字符的字段码的获取方法有两种:即软件译码和硬件译码法。目前通常所用的各种型号的单片机开发系统或实验装置普遍采用软件译码。当单片机应用系统中的LED显示器位数较多时,为了简化电路降低成本,本设计采用动态显示的方式。动态显示方式的接口电路的连接方法是:将所有LED位的段选线a dp同名并联,即所有a段并联,所有b段并联。依次类推,然后由一个8位I/O接口来控制各个段,而所有位的位选线则由另外一个相应的I/O接口线来控制。这样用两个8位I/O接口就能控制8位L
17、ED显示器。LED显示器是由电流型控制器件,其工作电流为2mA20mA,使用时须加限流电阻。本设计中限流电阻选用510,采用动态显示方式。 单片机控制显示电路走时是利用其部定时器的定时中断,在中断服务程序中每定时1S按计时进位规则刷新显示缓冲区数据,主程序负责将显示缓冲区数据送显示器显示。 利用MCS51单片机部定时器1的定时中断,控制用三个LED数码显示管显示工序、时间做成一个控制的显示电路。显示格式:X-X工序 时间 由于用到六个LED数码管,用静态显示所需I/O口线太多,故选用动态扫描显示。用一个8D锁存器74LS273作段数据口,用另一个74LS273作位数据口。74LS273芯片的引
18、脚如图6所示:图6 74LS273引脚图2.数据输入缓冲器74LS24474ls244引脚如图7所示,是8 输入3态缓冲电路。把8个输入分成2组,4个一组。、 H高电平、 L低电平、 Z高阻、 G0 的时候,输入输出、 G1的时候,输出为高阻 图7 74LS244管脚图2.3.2 显示系统硬件设计图8 显示系统电路图2.4 系统软件程序的设计2.4.1 实验流程图主程序流程图如图9所示: 图9 主程序流程图中断服务子程序流程图如图10所示: 图10 中断服务子程序流程图2.4.2 实验源程序CNT EQU 23H SBF EQU 22H MBF EQU 21H PORT1 EQU 0000H
19、PORT2 EQU 0800H ORG 0000H LJMP MAIN ORG 001BH LJMP CLOCK ORG 002BH LJMP HA2S3 ORG 0200HMAIN: MOV P1,#01H ORL P3,#00H JNB P3.4,MAIN ORL IE,#84H ORL IP,#04H MOV PSW,#00H MOV SP,#53H MOV R0,#40H MOV A,#00H MOV R0,A INC R0 MOV A,#0AH MOV R0,A INC R0 MOV A,#00H MOV R0,A INC R0 MOV R0,A ANL TMOD,#0FH ORL
20、TMOD,#10H MOV TL1,#0B0H MOV TH1,#3CH MOV CNT,#00H MOV SBF,#00H MOV MBF,#01H SETB ET1 SETB EA SETB TR1DS1: MOV R0,#40H MOV R2,#0FBHDS2: MOV DPTR,#PORT1 MOV A,R0 LCALL TABLE MOVX DPTR,A MOV DPTR,#PORT2 MOV A,R2 MOVX DPTR,A MOV R3,#0FFH DJNZ R3,$ INC R0 MOV A,R2 JNB ACC.0,JP RR A MOV R2,A SJMP DS2JP: M
21、OV R0,#42H MOV A,SBF ANL A,#0FH MOV R0,A DEC R0 DEC R0 MOV A,MBF ANL A,#0FH MOV R0,A DEC R0 SJMP DS1TABLE: INC A MOVC A,A+PC RET DB 3FH DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 6FH DB 40H RETCLOCK: MOV TL1,#0B0H MOV TH1,#3CH PUSH PSW PUSH ACC INC CNT MOV A,CNT CJNE A,#14H,QUIT MOV
22、CNT,#00H MOV A,SBF INC A DA A MOV SBF,A MOV A,MBF ADD A,#01H CJNE A,SBF,QUIT MOV SBF,#00H MOV A,P1 RL A MOV P1,A MOV A,MBF INC A DA A MOV MBF,A CJNE A,#08H,QUIT MOV P1,#01H MOV MBF,#01HQUIT: POP ACC POP PSW RETIHA2S3: MOV B,R3HA2S4: MOV P1,#07FH MOV 20H,#0A0HHA2S5: SETB P1.7 ACALL HA2S6 CLR P1.7 ACA
23、LL HA2S6 DJNZ 20H,HA2S5 CLR P1.7 ACALL HA2S6 JNB P3.3,HA2S4 MOV R2,B RETIHA2S6: MOV R4,#10D0: MOV R5,#125D1: MOV R6,#2D2: DJNZ R6,D2 DJNZ R5,D1 DJNZ R4,D0 RETI END第三章 系统安装调试3.1 安装调试 1、P3.4连K1,P3.3连K2,P1.0P1.6分别连到L1L7,P1.7连SIN电子音响输入端。 2、K1开关拨在上面,K2拨在上面。 3、 用连续方式从起始地址0200H开始运行程序输入0200后按EXEC键,此时应在等待开工状
24、态。 4、K1拨至上面显低电平,各道工序应正常运行。 5、K2拨至下面低电平,应有声音报警人为设置故障。 6、K2拨至上面高电平,即排除故障,程序应从刚才报警的那道工序继续执行。 7、在接显示电路时,使用专用连接导线,将其中一个的74LS273与74LS244按照顺序连接构成段数据通路,CSO1、CSO2端分别接74LS138的第一和第二个插孔,将另一个74LS273与驱动电路按照顺序连接构成位数据通路,开关SW01、SW02合上,开关S3、S4断开。3.2 系统调试 1.调试环境仪器:PC机,伟福V8/L型仿真机,XZNU MCUS-I实验箱1台,计算机,导线若干。 2.仿真调试:按照说明书
25、,将仿真器通过串行电缆连接到计算机上,将仿真头接到仿真器,检查接线是否有误,确信没有接错后,接上电源,打开仿真器的电源开关。如果仿真器和仿真头设置正确,并且硬件连接没有错误,就会出现硬件仿真的对话框,并显示仿真器、仿真头的型号及仿真器的序列号。表明仿真器初始化正确。如果仿真器初始化过程中有错,软件就会再次出现仿真器设置对话框,这时你应检查仿真器、仿真器的选择是否有错,硬件接线是否有错,检查纠正错误后,再次确认,直至出现好的对话框,然后就可以运行程序了。 3.调试方法:按图连接好线路,K1拨至下面显低电平,各道工序应正常运行,可以看到VL1VL7依次按照17秒分别亮起后熄灭,同时显示部分也会相应
26、的显示所执行的工序和运行的时间,即显示和LED灯同步执行,循环反复。若K2拨至下面低电平,应有声音报警人为设置故障。K2拨至上面高电平,即排除故障,程序应从刚才报警的那道工序继续,则设计实验成功。第四章 设计结果及分析1说明你编制的程序能完成的功能:P1.0-P1.6代表控制注塑机的祈祷工序,模拟控制七只发光二级管点亮,低电平有效,设每道工序时间为延时,P3.4为开工启动开关,低电平启动,P3.3为外部故障输入模拟开关,低电平报警,P1.7未报警输出。 本程序中,SW1、SW2在开始都置一。所有工序都处于准备状态,程序运行,SW1置零,相当于打开工序开关,各工序按此逐步执行,如果执行过程中出现
27、意外,则将SW2置零。相当于启动故障按钮,这是工程停止在故障处,蜂鸣器响起。只要故障不排除,蜂鸣器便一直处于报警状态,等故障一解除,蜂鸣器便停止报警,工程从原来故障处继续往上运行。更具工序功能不同,每个灯亮的时间不同,代表每道工序需要的时间,若中途关闭开关,而工序未完成一遍,则直到工序完成一遍才停止,保证产品的完整。结束语本次课程设计工业顺序控制的设计顺利完成了。通过完成本设计后对单片机的工作原理和特点有了更深入的了解,掌握了各种电路进行单片机应用的设计方法和开发软件的使用,以及程序编程的基本方法。尤其是本设计综合了多门课程的知识,提高了我的动手能力、分析及解决问题的能力。理论结合实际,不仅对
28、是书本知识的重新学习更是对自我动手能力的检验。在这次设计制作的过程中,我将大学期间所学的单片机知识有效的结合在一起,完成了此次的设计。进一步了解了89C51的引脚功能,保护电路的应用,定时器的使用和编程方法,以及动态显示及控制等子程序的设计。这次通过工业顺序控制的制作,给我最大的体会是对一个程序整体的把握和控制。单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,此次在软件上是花费时间最多的。我们上网找资料,上图书馆,尽可能的了解有关于工业顺序控制这方面的知识。另外,在程序的调试调试过程中,我也遇到了很多意想不到的困难,在老师的帮助和自己的不懈努力下,我对伟福这款仿真软件有了更深的
29、认识,使程序编译成功,仿真实现。同时也得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧特别是汇编语言的掌握方面都能向前迈了一大步。最后,完成这次课程设计,充分提升了了自己的各方面能力,提升自信心同时,也夯实了自身所掌握的专业知识,为以后从事专业工作打下坚实的基础相信我的未来因为此刻的努力而展翅飞翔。也对各位老师的悉心指导,表示衷心的感!参考文献:1 雷晓平.单片机计算机及应用M.:电子科技大学,19982宏卫.单片机应用系统设计实例M.:航空航天,19993子叶.MCS51单片机应用教材M.:清华大学,20044大明.单片微机控制应用技术.:机械工业,20065胡汉才.单片机原理及接口技术.:清华大学,2007 6余孟尝.数字电子技术基础简明教程.:高等教育,20067朝青.单片机原理及接口技术简明修订版.:航空航天大学,20048鑫 .单片机原理及应用第二版.:电子工业,20109海宽 .单片机实验与实训教程 .:东南大学,2009