冲床自动计数控制系统设计—毕业设计论文.doc

上传人:文库蛋蛋多 文档编号:3935915 上传时间:2023-03-28 格式:DOC 页数:52 大小:2.55MB
返回 下载 相关 举报
冲床自动计数控制系统设计—毕业设计论文.doc_第1页
第1页 / 共52页
冲床自动计数控制系统设计—毕业设计论文.doc_第2页
第2页 / 共52页
冲床自动计数控制系统设计—毕业设计论文.doc_第3页
第3页 / 共52页
冲床自动计数控制系统设计—毕业设计论文.doc_第4页
第4页 / 共52页
冲床自动计数控制系统设计—毕业设计论文.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《冲床自动计数控制系统设计—毕业设计论文.doc》由会员分享,可在线阅读,更多相关《冲床自动计数控制系统设计—毕业设计论文.doc(52页珍藏版)》请在三一办公上搜索。

1、 毕业设计说明书题 目:冲床自动计数控制系统设计摘 要本文简要介绍了冲床自动计数控制系统的设计方法及工作原理。冲床自动计数控制系统具有设置加工参数、计数报警、测试加工、减1、实时查询、断电记忆、时间设置等功能。本设计以STC89C52为主控芯片,利用电感式接近传感器接收信号,采用MAX7219数码管实时显示加工数据,还可通过键盘设置加工参数、查询历史记录、设置时间,同时采用LED灯和蜂鸣器进行指示、报警。本次设计是通过Keil C软件进行软件编程,利用 Protel 99SE画出原理图及PCB图,并且完成了硬件的制作,达到了设计的要求。关键词:冲床;自动计数;STC89C52AbstractI

2、n this paper, the design method of automatic counting control system and its working principle are briefly introduced.Automatic counting control system has functions of setting up the parameter of processing, counting alarm, test processing, minus 1, real-time query, power and memory, setting time a

3、nd so on. STC89C52 is used as the main control chip in this design, which using inductive proximity sensor receipt signal, and MAX7219 digital tube real-time display of data processing, to realize transition through the keys, at the same time realize indication and alarm through LED lights and buzze

4、r. It is designed to use software programming by Keil C software, and use Protel 99 SE to draw the schematic diagram and PCB diagram, then complete the production of hardware, and meet the design requirement.Key words: punching machine; automatic counting; STC89C52目 录摘 要IAbstractII目 录III第1章 绪论1第2章 控

5、制系统的总体设计方案12.1 冲床计数器的安装12.2 设计的内容22.3 设计方案的选择与论证32.4 整体方案的设计3第3章 控制系统硬件设计43.1 单片机最小系统电路43.2 端口分配43.3 接近开关电路模块53.4 显示电路模块63.5 矩阵按键电路模块63.6 指示灯电路模块73.7 报警电路模块93.8 时钟电路模块10第4章 控制系统软件设计104.1 系统主程序设计114.2 设置状态程序124.3 时间设置状态程序144.4 计数状态程序154.5 测试加工状态程序174.6 查询状态程序184.7 按键扫描程序204.8 报警程序214.9中断服务程序22第5章 调试、

6、测试235.1 性能测试与分析235.2 调试23总 结24参考文献25附录1 原理图附录2 PCB图附录3 实物图附录4 元器件清单附录5 控制系统使用说明书附录6 源代码谢 辞第1章 绪论电子技术的飞速发展,电子计算机和集成电路的广泛应用,以及电子信息技术的发展对科学技术、国民经济的日益影响和渗透,使数字电子技术的知识、理论和方法在相关专业的地位越来越重要。电子计数器是数字电路中的一个典型应用。随着人们生活 水平的日益提高,人们越来越追求人性化、智能化和自动化的事物,人们需 求的是一种能给生产和生活带来非常方便和便利的电子产品。1666年,在英国SamuelMorland发明了一部可以计算

7、加数及减数的机械计数机,随之以后 的技术发展到现在计数器已经非常成熟了,计数器是一款应用广泛的技术产品,随着技术的发展,这就催生出了新一代的计数器。数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的。有采用机械方式的接触式触发的,有采用电子传感器的非接触式触发的,电感式接近传感器是其中之一,它是一种非接触测量的位置传感器。采用电感式接近传感器的电子计数器在工厂的生产流水线上作产品统计,有着其他计数器不可取代的优点。它具有工作可靠、性能稳定、重复定位精度高、无机械磨损、使用寿命长、无火花、无噪音、抗干扰能力强、环

8、境适应性强等突出优点,给人们进行的自动计数带来了方便。自动计数控制系统的设计提供了一次单片机理论知识和实践相结合的机会。计数器在工业生产中应用越来越多,特别是在冲床行业中,已成为不可缺少的一部分。常规的机械计数和人工计数不仅耗时费力,更加浪费资源。随着自动化的不断普及,冲床计数急需一种自动计数的装置。本设计要求的计数器可将机械或人工计数方式变为电子式计数形式,并且采用数码管来显示计数,简单直观明了。在社会需求日益增大的今天,冲床行业发展蒸蒸日上,计数器的应用必将涌起一番风潮。第2章 控制系统的总体设计方案2.1 冲床计数器的安装图2.2计数器安装图在冲床行业中,常规的机械计数和人工计数不仅耗时

9、费力,更加浪费资源。所以随着自动化的不断普及,冲床计数需要一种自动计数的装置。其安装位置:当冲床有凸轮箱的,可以将其中一个凸轮接入计数器的信号输入端;当冲床没有凸轮箱的,可以将以接近开关装在机身靠近滑块侧,感应滑块的上死点位置。计数器安装图如图2.1所示。2.2 设计的内容本设计是一个冲床自动计数控制系统,采用单片机作为控制器核心,实现冲床自动计数器的设计。计数器主要要实现下述功能:1.计数报警功能:用户可以设置报警总量值、分组报警值、冲件计数比例以及零件的图号和批号,传感器接收冲头的位置信息,按计件比例计数,对分组量提前5次进行报警提醒。当计数值达到总量设定值时,报警系统一直报警,直到按下“

10、开始”按键重新计数。2.测试加工功能:按下“测试加工”键,系统不对加工进程进行计数,在这种条件下,要恢复计数功能,只需再按一次该键。3.减1功能:若冲出废品,按下“减1”键,则实际加工数减1,而无效加工数加1,总加工数保持不变。4.实时查询、历史查询功能:在系统计数状态进行时,可以按下“设置”分别循环查看各个参数值,查看不影响计数过程。按下查询并设置查询条件(比如图号和批号),可以按照条件显示符合条件的历史加工记录。2.3 设计方案的选择与论证(1)编程方式的选择:根据自己已学过的编程语言以及适用于单片机控制的编程方法,采用C语言作为编程基础,亦可考虑汇编语言。(2)主控模块:采用STC89C

11、52 单片机作为主控制器。(3)数据显示软硬件模块选择:采用数码管及其接口电路,亦可采用LCD液晶显示器及其接口电路。虽然数码管与LCD显示器相比,有许多缺点,但数码管的价格要低很多,显示比较清楚,由于本次设计只需数码管就可完成,所以采用MAX7219数码管作为显示器。(4)按键输入软硬件模块:采用独立按键,亦可采用44矩阵按键及其接口电路。独立式按键电路配置较灵活,且软件结构也简单。但是每个按键必须占用一根I/O口线,所以这种按键方式适用于按键需要较少或操作速度较快的场合。矩阵式键盘电路结构复杂,但提高了I/O口利用率,所以这种按键方式适用于需使用大量按键的场合。由于本系统需要用到的按键较多

12、,所以采用44矩阵按键。(5)报警软硬件模块:采用由蜂鸣器及继电器组成的接口电路。(6)存储器软硬件模块:采用单片机自带的EEPROM,亦可采用采用I2C总线的24C08存储器及其接口电路。考虑到节约资源,选择单片机自带的EEPROM。(7)传感器模块:传感器的种类很多,考虑到实际应用,本系统采用LJ18A3-8-Z/BX电感式接近传感器。2.4 整体方案的设计图2.2系统总体框图该冲床自动计数控制系统以单片机STC89C52为控制核心,采用LJ18A3-8-Z/BX电感式接近传感器接收信号,并通过MAX7219数码管显示数据,还可通过键盘设置加工参数、查询历史记录、设置时间等。同时当分组量提

13、前5次以及有效加工数达到加工总量时,采用蜂鸣器进行报警。系统框图如图2.2所示。第3章 控制系统硬件设计3.1 单片机最小系统电路在本设计的自动计数控制系统中,控制的核心是STC89C52单片机,该单片机是51系列增强型8位单片机,它提供了4个8位的I/O口,分别为P0、P1、P1、P2和P3,实现数据的输入和输出,内部有2个16位定时器/计数器,用于实现定时和计数功能,并且片内含有256个RAM单元以及8KB的ROM存储单元实现数据和程序的存储,便于用电的方式瞬间擦除和改写,且价格便宜,其外部晶振一般用11.0592MHz,一个指令周期为1us。其最小系统主要包括:复位电路、振荡电路以及存储

14、器选择模式(EA脚的高低电平选择),电路如下图3.1所示:图3.1 单片机最小系统3.2 端口分配本论文设计的自动计数控制系统其主控制芯片选型为STC89C52单片机,充分地运用了芯片的各个引脚,能够合理使用各个端口使计数器功能得以实现。现将各个模块使用端口情况作如表3.2配置表3.2单片机端口分配表单片机端口外围接口电路硬件模块P0.0-P0.7,P2.3,P2.4指示灯电路模块P2.0,P2.1,P2.2显示电路模块P2.5,P2.6,P2.7时钟芯片电路模块P3.6报警电路模块P3.2接近开关电路模块P1.0-P1.7矩阵按键电路模块3.3 接近开关电路模块本系统采用电感式接近传感器,它

15、是一种非接触测量的位置传感器,具有工作可靠、性能稳定、重复定位精度高、无机械磨损、使用寿命长、无火花、无噪音、抗干扰能力强、环境适应性强等突出优点。单片机输出与传感器分别属于弱电与强电部分,需要进行隔离处理,这里采用光耦元件在控制部分进行光电隔离。利用光电藕合器件来完成电路之间的信号传输,使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰,减化电路设计。TLP521是可控制的光电藕合器件,TLP5211是由红外发光二极管耦合到光三极管。当传感器有信号传入时,光耦元件导通,P3.2口得到外部触发脉冲,软件内部进行计数。 在本设计中LJ18A3-8-Z/BX电感式接近传感器的接口电路如图3.

16、3所示。图3.3电感式接近传感器电路设计图3.4 显示电路模块由于本设计的显示采用八位数码管,所以直接购买了MAX7219数码管模块,以简化硬件电路。MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。MAX7219同样允许用户对每一个数据选择编码或者不编码。整个设备包含一个150A的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允

17、许用户显示1-8位数据,还有一个让所有LED发光的检测模式。如图3.4为MAX7219数码管接线图:图3.4MAX7219数码管接线图3.5 矩阵按键电路模块本设计需要用到的按键较多,所以选用矩阵式键盘接口。矩阵式键盘是4根I/O接口线(P1.0-P1.3)作为行线,另外4根I/O接口线(P1.4-P1.7)作为列线,按键跨接在行线和列线上,按键按下时,行线和列线发生短路。为了提高CPU的效率,采用中断扫描方式。当按下键盘上任意键时,则表明向单片机申请中断,单片机响应中断请求后,在中断服务程序中扫描按键的行、列值,以形成键号值。为了提高扫描速度,判断按键所在位置的方法采用线反转法:先将行线作为

18、输出线, 列线作为输入线, 行线输出全“0”信号, 读入列线的值, 那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为 0。这样,当一个键被按下时, 必定可读到一对唯一的行列值。再由这一对行列值可以求出闭合键所在的位置。矩阵键盘电路如图3.5所示:图3.5矩阵键盘接线图根据设计要求,各键定义如图3.6所示:图3.6矩阵键盘功能图3.6 指示灯电路模块本设计的指示灯模块采用LED流水灯和74LS164芯片来实现。一般发光二极管的工作电流是十几毫安至几十毫安,正向压降为1.3V-2.5V。所有发光二极管在电路中一般都要串一个电阻用来限流。发光

19、二极管的电流不同,亮度也不同,并且寿命也会受到影响,这个电流通常就是由接入的电阻来调整。 本系统的发光二极管串联了一个电阻后接在5V的电压上。LED 灯电路接在单片机的P0口上。LED灯的阳极接电源,阴级接单片机的I/0 口,因此是低电平驱动,只要单片机在相应引脚给出低电平,LED 就会发光。但是由于硬件的限制,所以使用74LS164芯片。74LS164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。它是8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入

20、端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。LED灯电路如图3.7所示:图3.7LED灯电路图74LS164芯片接线图如图3.8所示:图3.874LS164芯片接线图根据设计要求,指示灯定义如表3.9所示:表3.9指示灯定义表端口定义P0.7设置状态P0.6计数状态P0.5测试加工状态P0.4加工总量(1-9999)P0.3分组量(1-9999)P0.2计件比例(1-9)P0.1加工图号(1-9999)P0.0加工批号(1-9999)Q6有效加工数Q5无效加工数Q4总加工数Q3测试加工数Q2任务开始时间(月.日.时.分)Q1任务结束时间(月.日.时.分)Q

21、0最后测试时间(月.日.时.分)3.7 报警电路模块报警装置采用的是有源蜂鸣器与指示灯。相比一般的蜂鸣器,其体积大,声音响亮。当单片机STC89C52的P3.6脚置0时,三极管Q1就会导通,蜂鸣器发出报警。指示灯采用220v交流电源进行供电,所以采用继电器进行电气隔离。当单片机STC89C52的P3.7脚置0时,三极管Q2就会导通,从而驱动继电器工作,使其开关闭合,指示灯电路导通。报警电路接线图如图3.10所示:图3.10报警电路接线图继电器电路接线图如图3.11所示:图3.11继电器电路接线图3.8 时钟电路模块本系统要有时间设置功能,所以采用DS1302时钟芯片。当前DS1302是美国DA

22、LLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。时钟芯片电路如图3.12所示图3.12时钟电路接线图第4章 控制系统软件设计作为一个自动计数控制系统设计,其每一个动作细节都是确定和符合设计要求的,这些细节就是软件的设计过程和任务,如同设计一个更为详细的产品

23、使用说明书,这个工作必须由系统研发者设计、完成。本次设计的计数器拥有“设置状态”、“计数状态”、“测试加工状态”、“查询状态”、“时间设置状态”五个状态。状态转换如图4.1所示。当系统上电后,系统先进入自检状态,显示屏、指示灯全亮同时蜂鸣器鸣叫1s左右。自检结束后,若上次计数任务没有完成,则自动进入“计数状态”。若计数任务完成,则自动进入“设置状态”。在设置状态下,系统可以设置加工参数。设置完加工参数,按下“开始/新建”键,则系统进入“计数状态”。在设置状态下,如果按下“查询”键,系统进入“查询状态”,此时可以查询保存的数据;如果依次按下“测试加工”键、“清除/减1”键、“测试加工”键,系统进

24、入“时间设置状态”,此时可以修改时间。修改完时间,按下“开始/新建”键,系统保存输入的时间并回到“设置状态”。在计数状态下,系统根据设置的参数和信号的进入进行计数。在此状态下,如果按下“测试加工”键,系统进入“测试加工状态”,如果再次按下“测试加工”键,系统退出“测试加工状态”,回到“计数状态”;如果按下“查询”键,系统进入“查询状态”;如果按下“开始/新建”键,系统进入到“设置状态”。在查询状态下,系统可以查询存入的数据。按下“查询”键,如果进入原状态是“计数状态”,则回到“计数状态”;如果进入原状态是“设置状态”,则回到“设置状态”。图4.1状态转换图4.1 系统主程序设计系统的软件主要是

25、采用C语言,对单片机进行编程实现各项功能。该控制器软件的设计采用模块化架构。主程序的主要功能是当芯片开始工作时,内部程序先是初始化、自检和主循环。首先,系统上电时进行初始化,主要包括时钟芯片、定时、MAX7129数码管等初始化。然后开始自检,自检结束后,若上次计数任务没有完成,则自动进入“计数状态”。若计数任务完成,则自动进入“设置状态”,并且上屏显示上次加工的有效加工数,下屏显示加工总数。再采用判断按键来确定系统进入的状态。其主程序流程如图4.2所示:图4.2主程序流程图具体程序:void main() InitDisplay (); /MAX7219数码管初始化Initial_DS1302

26、(); / 时钟芯片初始化while(1) DS1302_GetTime(&time1); /读取时间参数if(flag2=2) /按键按下 if(status=0) 4.2 设置状态程序设置状态子程序主要是设置加工参数。上屏闪烁显示的内容是上一次任务的有效加工数、无效加工数、总加工数和测试加工数。继续按“加工显示”键,上屏可以在这4个值中循环显示其中的一个值。下屏闪烁显示加工总量,此时处于可设置值状态,默认值为上次任务的设置值。继续按“设置/显示”键,下屏可以再加工总量、分组量、计件比例、加工图号和加工批号之间循环显示并设置。按“清除/减1”键可以将当前的设置值清零。当所有的参数设置完成后,

27、按“开始/新建”键后,系统进入“计数状态”并按所设置参数开始当前任务,同时,系统自动记录本次任务的开始时间并将设置的参数存入EEPROM。在设置状态下,如果依次按下“测试加工”键、“清除/减1”键、“测试加工”键,系统进入“时间设置状态”。其程序流程框图如图4.3所示:图4.3设置状态流程图具体程序:if(status=0) /进入设置状态 /设置加工参数if(led5=0) jgph=shuju;flag18=0;else if(led4=0) jgth=shuju;flag18=0;else if(led2=0) fzl=shuju;flag18=0;else if(led1=0) new

28、_shuju=shuju;flag18=0;4.3 时间设置状态程序时间设置状态子程序主要是对时间进行设置并存入时间芯片。在设置状态下,按一次测试加工,按一次清除,按一次测试加工,任务开始时间、任务结束时间、最后测试时间灯全亮。屏幕显示系统当前时间。按下“加工显示”键,count20加1.当count20=1时,重新输入月;当count20=2时,重新输入日;当count20=3时,重新输入时;当count20=4时,重新输入分(每项2位,共8位)。输入后按“开始/新建”键确定。系统保存输入的时间为当前时间。其程序流程框图如图4.4所示:图4.4时间设置状态流程图具体程序:if(status=

29、5) /进入时间设置状态 /写入设置的时间DS1302_SetTime(0x88,shi21); DS1302_SetTime(0x86,shi22); DS1302_SetTime(0x84,shi23); DS1302_SetTime(0x82,shi24);4.4 计数状态程序计数状态子程序主要是对对一个零件分两次以上冲的零件计数、对于空冲或冲出废品能够使得计数减1并且记录空冲的个数、实冲个数、空冲和实冲的总个数。系统进入运行状态后,上屏显示当前任务的有效加工数,下屏显示当前任务设置的参数。这时连续按“加工显示”键,上屏显示的数值可以再有效加工数、无效加工数、总加工数、测试加工数、任务开

30、始时间、任务结束时间和最后测试时间7个值中切换显示其中的一个值(任务开始时间、任务结束时间和最后测试时间均为8位,此时上下屏均为时间。时间用“月.日.时.分”表示,24小时制。如1月2日下午3点零4分表示为“01.02.15.04”)。若当前任务尚未结束,则任务结束时间为0。若当前任务不曾进入测试状态,则最后测试时间为0。这时连续按“设置/显示”键,下屏显示的数值在加工总量、分组量、计件比例、加工图号和加工批号之间切换显示。计数状态下,当系统接收到的信号等于计件比例,则有效加工数加1,总加工数加1。按下“清除/减1”键,如果系统接收到的信号小于计件比例,有效加工数不变,无效加工数加1,总加工数

31、加1;如果系统接收的信号等于计件比例,有效加工数减1,无效加工数加1,总加工数不变。加工过程中,如果按下“查询”键,系统进入“查询状态”;如果按下“测试加工”键,系统进入“测试加工状态”。系统运行状态中或当前任务完成后,按下“开始/新建”键则结束当前任务,新建一个新的任务并将当前任务的参数存入EEPROM,新建任务的参数默认为和上次任务参数相同,但也可以修改。新建任务同时清除所有警报状态。其程序流程框图如图4.5所示:图4.5计数状态流程图具体程序:if(status=1) /进入计数状态 if(cishu=bili) /进行计数 shuju4+; shuju3+; shuju1=shuju4

32、; cishu=0;4.5 测试加工状态程序测试加工状态子程序主要是系统不对加工进程进行计数,只是对系统进行加工测试。系统进入测试加工状态,测试状态指示灯亮。系统自动记录当前时间作为最后测试时间。此时,系统每接收到一次信号,测试加工数加一,其他值不变(测试加工数不计入加工总数)。在测试加工中再按一次“测试加工”键,系统退出测试加工状态,返回计数状态。其程序流程框图如图4.6所示:图4.6测试加工状态流程图具体程序:if(status=2) /进入测试加工状态 if(cishu=1) /计数 shuju1=0; shuju5+;cishu=0; shuju1=shuju5; 4.6 查询状态程序

33、查询状态子程序主要是对历史数据进行查询(最多十组)。系统在任意状态下按下“查询”键均可进入查询模式,此时指示灯全灭,上屏显示系统中的记录条数。下屏显示设置查询条件。 查询可以按照记录的加工图号匹配、加工批号匹配、加工图号和加工批号同时匹配以及查询所有记录四种模式进行。设置完查询条件后,按下“开始/新建”键则开始查询。系统按照任务开始时间从后往前查询。若查到有符合条件的记录,则屏幕显示所查到的记录的开始时间。此时连续按“加工显示”键,上屏可以在有效加工数、无效加工数、总加工数、测试加工数、任务开始时间、任务结束时间和最后测试时间7个值中切换显示其中的一个值(任务开始时间、任务结束时间和最后测试时

34、间均为8位,此时上下屏均为时间)。若当前任务不曾进入测试状态,则最后测试时间为0。这时连续按“设置/显示”键,下屏显示的数值在加工总量、分组量、计件比例、加工图号和加工批号之间切换显示。查到记录后再次按下“开始/新建”键,系统按照刚才的条件再次查询符合要求的记录,若有显示;若没有,则上屏显示“8888”,下屏重新要求输入查询条件。多次按下“开始/新建”键,系统按照设置的查询条件连续查询符合条件的记录,直到屏幕显示“8888”为止,表示已经没有符合条件的记录。查询状态下再次按下“查询”键,系统退出查询状态,返回原状态。若在运行状态下进行查询,不影响系统计数的进行。但此时测试加工、减一等功能无效。

35、其程序流程框图如图4.7所示:图4.7查询状态流程图具体程序:if(status=3) /进入查询状态 /设置查询条件if(led5=0&flag18=1) jgphh=shuju;flag18=0; else if(led4=0&flag18=1) jgthh=shuju;flag18=0; 4.7 按键扫描程序键盘扫描子程序用于完成按键的判断、按键的去抖动以及按键的键值处理。本次设计运用了线反转法并将扫描程序放入中断中处理。矩形键盘扫描子程序流程图如图4.8 所示。图4.8按键扫描流程图具体程序:void timer0(void) interrupt 1 TH0=(65536-10000)

36、/256; TL0=(65536-10000)%256;P1=0x0F; _nop_(); scan1=P1&0x0f;P1=0xF0; _nop_(); scan2=P1&0xf0; keycode=scan1|scan2;4.8 报警程序报警子程序主要是在计数状态下对分组量提前5次以及有效加工数达到加工总量进行报警,根据比较结果做出相应的程序处理。本系统报警的情况有两种:(1)当有效加工数达到分组量前5组时,分组报警输出一秒钟,作为分组量报警。(2)当有效加工数达到加工总量时,蜂鸣器长鸣和指示灯亮,直到按下“开始/新建”键。其程序流程框图如图4.9所示:图4.9报警流程图具体程序:void

37、 timer0(void) interrupt 1 TH0=(65536-10000)/256; TL0=(65536-10000)%256;fmq=!fmq;4.9 中断服务程序系统使用定时器0完成开机自检,对分组量提前5次以及有效加工数达到加工总量进行报警。同时每隔10ms对按键情况扫描一次,用以判断是否有按键按下或按下按键是否抬起。系统使用定时器0的定时中断来进行倒计时,故在程序中设计了count8一个全局变量。当系统上电开机后,系统进入自检,flag12=1,数码管全亮并且蜂鸣器鸣叫。每次进入中断,count8减1。当count8=0时,标志位flag12置0,蜂鸣器停止鸣叫,数码管显

38、示上次加工数据及加工参数。当分组量提前5次时,蜂鸣器鸣叫1s。当有效加工数等于总加工数时,标志位biaoji2=1,蜂鸣器长鸣。其程序流程框图如图4.10所示:图4.10中断服务流程图具体程序:void timer0(void) interrupt 1 TH0=(65536-10000)/256; TL0=(65536-10000)%256;shuju=8888; shuju1=8888;P0=0x00; sendbytew(0xff);fmq=!fmq; 第5章 调试、测试5.1 性能测试与分析本次设计的结果能比较准确的进行总量设置、加工到总量的报警并且能对总量分多组加工到达预设量的报警(总

39、量范围为:1-9999),能对一个零件分两次以上冲的零件计数(比例范围为:1-9),对于空冲或冲出废品能够使得计数减1,能够记录空冲的个数、实冲个数、空冲和实冲的总个数并且能够进行历史数据查询(最多十组)。5.2 调试完成计数器设计思想并开始动手实现的期间,调试就显得特别重要。本设计需从硬件调试和软件调试中着手。硬件调试主要是对电路板的制作,首先要画出系统的原理图并根据原理图设计出PCB图。设计绘制PCB前应了解相关元器件的封装。原件的封装对于元件的排布十分重要,只有知道元件封装才能合理安排布局。绘制完PCB图后就是PCB板的制作。然后在PCB板上,焊上元器件并进行调试。如果调试出现问题,则需

40、要检查元器件的正负极是否接错,元器件是否损坏,是否存在短路、断路。软件调试与所选用的软件结构和程序设计技术有关。本系统有五个状态,所以采用模块程序设计技术,则逐个模块调好以后,再进行系统程序总调试。总 结本设计以STC89C52芯片为核心部件,采用LJ18A3-8-Z/BX电感式接近传感器接收冲头的位置信息,并通过MAX7219数码管显示数据,并且充分利用软件编程,使数码管可以循环显示多组数据。系统还可以通过按键来查询历史记录、设置加工参数、设置时间,同时采用LED灯和蜂鸣器来指示、报警。整个冲床自动计数控制系统基本完成了理论上的硬件设计和程序设计。但这与实际工业中应用的自动计数控制系统还是有

41、很大差距的,数据的存储、报警系统等都需要更高的要求。经过这次毕业设计的研究,让我深深地体会到课堂中所学知识的局限性,在硬件设计中要根据要求学会选取所需要的芯片,而通过选择适当的芯片可以提高仪器的精度,同时又可降低设备的成本。通过本次毕业设计,让我了解了设计一个冲床计数器所需要经历的一些步骤,也让我看到了目前冲床计数器的发展走势。近年来在电子计数器中引入了计算技术,特别是引入微处理机,引起了电子计数器设计的重大变革, 出现了许多自动化的, 可程控的仪器或自动测量系统。测量的数字化、智能化是当前测量技术发展的趋势。参考文献1李广弟等.单片机基础M. 北京航空航天出版社,2001.2王东峰等.单片机

42、C语言应用100例M. 电子工业出版社,2009.3陈海宴.51单片机原理及应用M. 北京航空航天大学出版社,2010.4刘守义等.单片机技术基础M. 西安电子科技大学出版社,2007.5钟富昭等.8051单片机典型模块设计与应用M. 人民邮电出版社,2007.6 刘守义. 单片机应用技术M. 西安:西安电子科技大学出版社, 2002. 8.7 胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社,1996. 7.8 张毅刚. 单片机原理及应用M. 北京: 高等教育出版社,2004.9 李全利, 迟容强. 单片机原理及接口技术M. 北京: 高等教育出版社, 2004. 1.10 马长林,

43、 陈怡, 程利民. 单片机实践应用与技术M. 北京: 清华大学出版社, 2008. 6.11 何希才. 传感器及其应用M. 北京: 国防工业出版社,2001.12 先锋工作室. 单片机程序设计实例M. 北京: 清华大学出版社,2003.13 陈杰, 黄鸿. 传感器与检测技术M. 北京: 高等教育出版社,2002.14 王彤. C语言在测量与控制中的应用M. 北京: 机械工业出版社, 2009.15 刘坤,高征红. Protel 99 SE电路设计实例M. 北京: 清华大学出版社,2008.16 王力, 张伟. 电路设计与制板. Protel 99 SE典型实例. M. 北京: 人民邮电出版社,

44、2006. 17 汪道辉. 单片机系统设计与时间M. 电子工业出版社, 2007.18 孙增圻. 智能控制理论和技术M. 北京: 清华大学出版社,1997.19 邸春红. Visio 2003图形设计实用M. 北京: 清华大学出版社,2006.20楼然苗,李光飞. 单片机课程设计指导M. 北京: 北京航空航天大学出版社,2007.21 何立民. 单片机高级教程应用与设计M. 北京: 北京航空航天大学出版社,2000.22夏路易, 石宗义. 电路原理图与电路板设计教程protel 99seM. 北京: 北京希望电子出版社,2002.23 李朝青. 单片机原理及接口技术M. 北京: 北京航空航天大

45、学出版社,1994.24 陈雪丽. 单片机原理及其应用M. 西安: 化学工业出版社,2001.25 Gourab Sen. Embedded Microcontroller Based DC Motor Control: A Project Based Approach J. Embedded Microcontroller Interfacing, 2010, 83-102.26 Nikolaos S. Voros.Hardware/Software Co-Design of Complex Embedded Systems: An Approach Using Efficient Process Models, Multiple Formalism Sp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号