毕业设计(论文)-秒表及工件分拣.doc_第1页
毕业设计(论文)-秒表及工件分拣.doc_第2页
毕业设计(论文)-秒表及工件分拣.doc_第3页
毕业设计(论文)-秒表及工件分拣.doc_第4页
毕业设计(论文)-秒表及工件分拣.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目录目录 摘要摘要 第一章分配与分捡线的控制第一章分配与分捡线的控制 1、控制任务及要求 2、课程设计的基本要求 3、分配输入输出. 3.1、分配 i/o 点 3.2、plc 外部接线 图 4、程序设计. 4.1、完整 t 形 图. 4.2、程序说明 5、指令表. 第二章第二章. 1 秒表 1.1 设计任务 1.2 秒表的简介 1.3 秒表的基本特点 1.4 秒表的理 2 单片机识的相关知识 2.1 单片机简介 2.2 单片机的发史 2.3 单片机的特点 2.4 89c51 单片机介绍. 3 控制系统的硬件设计 3.1 单片机型号的选择 3.2 数码管显示工作理. 3.3 键盘电路计 3.4 整个电路原理图 4 控制系统的软件设计 4.1 程序设计 4.2 程序流程图 4.3 仿真图. 4.4 仿真结果分析 5附录 2 设计小结设计小结 参考文献及资料参考文献及资料 摘要摘要 可编程序控制器(plc)是一种工业控制计算机,是继承计算机,自动控 制技术和通信技术为一体的新型自动装置。它具有抗干扰性强,价格便宜,可 靠性强,编程简单,简单易用等特点,在工业领域中深受工程操作人员的喜欢 ,因此 plc 在工业的各个领域中被广泛应用。 本次任务是要设计一个分捡与分配线的控制。整个设计的关键就是在 fx 软 件中通过设计 t 形图模拟完成整个生产线上部件的分捡与分配,达到完美的类 似现场展示的效果。此过程中还有不断的检测与纠错的过程,是最终以最简便 的方式完成设计任务,减少成本。 单片计算机即单片微型计算机。由 ram ,rom,cpu 构成,定时,计数和 多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产 业和工业自动化上。而 51 系列单片机是各单片机中最为典型和最有代表性的 一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、 硬的能力。 本设计主要设计了一个基于 at89c51 单片机的秒表。并通过一个控制键 用来实现时间的调节和是否进入省电模式的转换。应用 proteus 的 isis 软件实 现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了 硬件资源。 关键字关键字:plc 分捡与分配 fx 检测 单片机 秒表 proteus 设计 仿真 3 第一章第一章 分拣和分配线的控制设计分拣和分配线的控制设计 1、控制任务及要求、控制任务及要求 (1)控制要求:)控制要求: 按下启动按钮后,机械手定时供给部件,然后按小、中、大进行分配,大 号部件经分检器送入后部传送带直接从右边落下,中号部件直接送入前方传送 带,由机械手取走放入最右边的碟子中,小号部件经分检器送入后部传送带并 推入相应的碟子中;按下停止按钮时,动作立即停止,且传送带上不能有部件。 当机械手补给一个部件时,闪烁灯红灯亮,当传送带移动时,绿灯亮,当传送 带停止时,黄灯亮。 (2)控制规格和编程)控制规格和编程 1) 2 当按下操作面板上的 pb1 (x20), 机器人的供给指令供给指令 (y0) 被置为 on。当机器人移动完部件而且回到出发点后, 供给指令供给指令 (y0) 被置为 off。机器人在 供给指令供给指令 (y0) 被置为 on 以后补给一个部件。 按下操作面板上的pb2(x21)。 4 机器人停止供给部件,等传送带上的部件运送完毕后,分拣与分配线停止 工作。 3) 在传送带上的大,中和小部件被输入传感器 上上 (x1), 中中 (x2) 和 下下 (x3) 分拣而且将被搬运到特定的碟子上。 大部件:在传送带分支的分捡器分捡器 (y3) 被置为 on 的时候被放到后部传 送带然后从右端落下。 中部件:在传送带分支的分捡器分捡器 (y3) 被置为 off 的时候被放到前面传 送带然后被机器人放到碟子上。 小部件:在传送带分支的分捡器分捡器 (y3) 被置为 on 的时候被放到后部传 送带。 当在传送带分支的传感器 检测到部件检测到部件 (x6) 被置为 on, 传送 带停止,部件被推到碟子上。 4) 当机器人里的部件在桌子上部件在桌子上 (x11) 被置为 on, 取出指令取出指令 (y7) 被置为 on。 当 机器人操作完成机器人操作完成 (x12) 被置为 on (当一个部件被放到碟子上时为 on), 取出指令取出指令 (y7) 被置为 off。 5) 闪烁灯在以下情况下点亮。 红灯:当机器人补给一个部件时点亮 绿灯:当传送带移动时点亮 黄灯:当传送带停止时点亮 (3)确认程序的要点)确认程序的要点 1. 按下操作面板上的 pb1 (x20) 。 结果 机器开始工作。 2. 按下操作面板上的pb2(x21)。 机器人停止供给部件,等传送带上的部件运送完毕后,分拣与分配线停止 工作。 3. 分拣部件大小 大部件:被搬运到后部传送带而且从传送带右端掉下。结果 中部件:被搬运到前部传送带而且被机器人移动到碟子上。 5 小部件:被搬运到后部传送带而且被推到下部的碟子上。 点击远程控制上的【复位】按钮可以初始化屏幕以便重复执行操作。 2 2、plcplc 选型选型 在 plc 系统设计时,首先应确定控制方案,下一步工作就是 plc 工程设计 选型。工艺流程的特点和应用要求是设计选型的主要依据。plc 及有关设备应 是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能 的原则选型所选用 plc 应是在相关工业领域有投运业绩、成熟可靠的系统,plc 的系统硬件、软件配置及功能应与装置规模和控制要求相适应。熟悉可编程序 控制器、功能表图及有关的编程语言有利于缩短编程时间,因此,工程设计选 型和估算时,应详细分析工艺过程的特点、控制要求,明确控制任务和范围确 定所需的操作和动作,然后根据控制要求,估算输入输出点数、所需存储器容 量、确定 plc 的功能、外部设备特性等,最后选择有较高性能价格比的 plc 和 设计相应的控制系统。 一、输入输出(i/o)点数的估算 i/o 点数估算时应考虑适当的余量,通常根据统计的输入输出点数,再 增加 10%20%的可扩展 余量后,作为输入输出点数估算数据。实际订货时,还需根据制造厂商 plc 的 产品特点,对输入输出点数进行圆整。 二、存储器容量的估算 存储器容量是可编程序控制器本身能提供的硬件存储单元大小,程序容 量是存储器中用户应用项目使用的存储单元的大小,因此程序容量小于存储器 容量。设计阶段,由于用户应用程序还未编制,因此,程序容量在设计阶段是 未知的,需在程序调试之后才知道。为了设计选型时能对程序容量有一定估算, 通常采用存储器容量的估算来替代。 存储器内存容量的估算没有固定的公式,许多文献资料中给出了不同公式,大 体上都是按数字量 i/o 点数的 1015 倍,加上模拟 i/o 点数的 100 倍,以此数 为内存的总字数(16 位为一个字),另外再按此数的 25%考虑余量。 三、控制功能的选择 该选择主要包括下列六项等特性的选择。 (一)运算功能 (二)控制功能 (三)通信功能 (四)编程功能 (五)诊断功能 (六)处理速度 四、机型的选择 (一)plc 的类型 plc 按结构分为整体型和模块型两类,按应用环境分为现场安装和控制 室安装两类;按 cpu 字长分为 1 位、4 位、8 位、16 位、32 位、64 位等。从应 6 用角度出发,通常可按控制功能或输入输出点数选型。 整体型 plc 的 i/o 点数固定,因此用户选择的余地较小,用于小型控制系统; 模块型 plc 提供多种 i/o 卡件或插卡,因此用户可较合理地选择和配置控制系 统的 i/o 点数,功能扩展方便灵活,一般用于大中型控制系统。 (二)输入输出模块的选择 输入输出模块的选择应考虑与应用要求的统一。例如对输入模块,应考 虑信号电平、信号传输距离、信号隔离、信号供电方式等应用要求。对输出模 块,应考虑选用的输出模块类型,通常继电器输出模块具有价格低、使用电压 范围广、寿命短、响应时间较长等特点;可控硅输出模块适用于开关频繁,电 感性低功率因数负荷场合,但价格较贵,过载能力较差。输出模块还有直流输 出、交流输出和模拟量输出等,与应用要求应一致。 可根据应用要求,合理选用智能型输入输出模块,以便提高控制水平和降低应 用成本。 考虑是否需要扩展机架或远程 i/o 机架等。 (三)电源的选择 (四)存储器的选择 为保证应用项目的正常投运,一般要求 plc 的存储器容量,按 256 个 i/o 点至少选 8k 存储器选择。需要复杂控制功能时,应选择容量更大,档次更高的 存储器。 (五)冗余功能的选择 1控制单元的冗余 (1)重要的过程单元:cpu(包括存储器)及电源均应 1b1 冗余。 (2)在需要时也可选用 plc 硬件与热备软件构成的热备冗余系统、2 重 化或 3 重化冗余容错系统等。 2i/o 接口单元的冗余 (1)控制回路的多点 i/o 卡应冗余配置。 (2)重要检测点的多点 i/o 卡可冗余配置。3)根据需要对重要的 i/o 信 号,可选用 2 重化或 3 重化的 i/o 接口单元。 (六)经济性的考虑 选择 plc 时,应考虑性能价格比。考虑经济性时,应同时考虑应用的可 扩展性、可操作性、投入产出比等因素,进行比较和兼顾,最终选出较满意的 产品。 下面对比一下网上所查到一些 plc 价格及型号。 型号型号 参数参数面价面价 fx1n-60mr-001 输入点:36,24点继电器输出 4680 fx1n-40mr-001 输入点:24,16点继电器输出 4030 fx1n-24mr-001 输入点:14,10点继电器输出 3330 fx1n-14mr-001 输入点:8,6点继电器输出 2310 fn1n-60mr-d 输入点:36,24点继电器输出(直流 供电) 4490 fn1n-40mr-d 输入点:24,16点继电器输出(直 流供电) 4010 7 此课程设计分捡与分配线的控制中有此课程设计分捡与分配线的控制中有 1111 个输出点,个输出点,1212 输入点,综合以上输入点,综合以上 各方面的考虑,选择各方面的考虑,选择 fn1n-40mr-d 输入点:24,16点继电器输出(直 流供电) 4010 3、分配输入输出、分配输入输出 根据系统的控制要求,确定系统所需的全部输入设备(如:按纽、位置开 关、转换开关及各种传感器等)和输出设备(如:接触器、电磁阀、信号指示 灯及其它执行器等),从而确定与三菱 plc 有关的输入/输出设备,以确定 plc 的 i/o 点数。 3.13.1、分配、分配 i/oi/o 点点 画出 plc 的 i/o 点与输入输出设备的连接图或对应关系表。 输入输出 元件通道 地址 说明元件通道 地址 说明 sb1x000原点位置km1y0供给一个部件 sb2x001小部件传感器km2y1输送带正转 sb3x002中部件传感器km3y2输送带正转 sb4x003大部件传感器km4y3分捡器打开 sb5x004检测部件到位km5y4输送带正转 sb6x005检测部件到位km6y5输送带正转 sb7x006检测部件到位km7y6推出机构推出小部件 sb9x010中部件到达原点km8y7机器人取出中部件 sb10x011中部件在桌子上hl1y10红灯亮 sb11x012机器人操作完成hl2y11绿灯亮 pb1x20启动按钮hl3y12黄灯亮 pb2x21停止按钮 8 3.23.2、设计、设计 plcplc 外部接线图外部接线图 画出系统其它部分的电气线路图,包括主电路和未进入 plc 的控制电路等 。 由 plc 的 i/o 连接图和 plc 外围电气线路图组成系统的电气原理图。到此为 止 系统的硬件电气线路已经确定。 9 4、plc 程序设计程序设计 4.1、完整、完整 t 形图如下形图如下: 10 11 4.24.2、程序说明、程序说明 12 x20 是启动按钮,x000 是供给的原点,x21 是停止按钮。按下启动按钮 x020, 常闭触点 x021 接通,辅助继电器 m21 得电并自锁,常闭触点 t5 接通,同时计 时器 t6 得电开始计时。t6 计时达到 2 秒之后,常开触点 t6 接通,计时器 t5 开始计时,计时时间为 3.5 秒,同时辅助继电器 m22 得电。 这是一个闪烁电路,最终辅助继电器 m22 达到 2 秒低电平 3.5 秒高电平,以周 期 t=5.5 秒不断供给部件。 紧接着上面,辅助继电器 m22 得电后,输出线圈 y000 得电,y000 为供给指令。 机器人开始供给部件。 按下启动按钮 x020 后,常闭触点 t3 接通,辅助继电器 m9 得电并自锁,为控制 指示灯与传送带做好准备。 按下停止按钮 x021,常闭触点 t3 接通,辅助继电器 m20 得电并自锁,计时器 t3 开始计时,8 秒后,两处常闭触点均断开。 注意注意:这里 8 秒钟的设置时恰好的最小时间,保证最后一个刚供给的部件也在 传送完毕后传送带才会停止工作。 这里是实现三个灯的控制: y010 控制红灯,y011 控制绿灯,y012 控制黄灯。 13 传动带不转动的时候黄灯亮,通过常闭的辅助继电器 m9 控制。m9 得电的时候 绿灯亮,传送带开始运转。m22 得电的时候机器人供给一个部件,这时红灯亮, 红灯亮与机器人供给一个部件是同步的,供给则红灯亮,不供给则熄灭。 x1、x2、x3 是三个传感器,来的是大部件时辅助继电器 m0 得电,来的是 中部件时 m1 得电,来的是小部件时 m2 得电,这里用的是 set 指令,只有在被 rst 复位后才会失电。 14 这也是一个简单的起保停电路,辅助继电器 m30 被激活以后,继续激活辅助继 电器 m31,同时计时器开始计时,计时一秒钟后,t1 的常闭触点断开,m31 失 电。这里保证 m31 失电是为了防止不断供给部件,只有在满足一定的条件下才 断断续续的供给。 当送出的是小部件,x006 为 on 检测到小部件时,辅助继电器 m5 得电,由 于要把小部件推到碟子里,后面的传送带要在 m5 得电时停止运行,当小部件被 推到碟子里传送带继续运行。 同时,当供给的是大部件和小部件时,使 y3 置位,分支的分捡器工作。 15 当送出的是中部件时,分支的分捡器复位被置位 off。当检测部位检测到小部 件时,y006 为 on,推出机构推出小部件。辅助继电器 m9 受 x006 控制,推出小 部件后,推出机构停止工作。 当中部件到达桌子上时,y7 为 on,机器人取走中部件,机器人完成操作后,x12 自动得电,常闭触点断开,机器人停止操作。 程序结束。 5、指令表、指令表 16 17 18 第二章第二章 秒表的设计秒表的设计 1.1 设计任务与目的设计任务与目的 (1 1)设计任务:)设计任务: 要求提供时分秒的计时,最小计时单位 0.01 秒提供时间调整及设置功能。 (2 2)课程设计的目的:)课程设计的目的: 微机原理课程设计是机械设计制造及其自动化专业的一门重要的专业实践课程。本课 程设计以 mcs-51 系列单片机为核心,综合运用微机原理、数字电路及微机接口技术的知 识,使学生掌握微型计算机接口的方法和原理,具备一定的微机应用开发的实践能力。 1.2、秒表、秒表 1957年,ventura发明了世界上第一个电子表,从而奠定了电子表的基础,电子表 开始迅速发展起来。现代的电子表是基于单片机的一种计时工具,采用延时程序产生一定 的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一, 满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。 1.3 秒表的基本特点秒表的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英 表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式 秒表用集成电路计时时,译码代替机械式传动,用led显示器代替指针显示进而显示时 间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对, 19 片选的灵活性好。 1.4 秒表的原理秒表的原理 该电子秒表由89c51,button,六段数码管等构成,采用晶振电路作 为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六 十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一 个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功 能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每 按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每 按一次小时加一。 2 单片机识的相关知识 2.1 单片机简介 单片机全称为单片机微型计算机(single chip microsoftcomputer)。从 应用领域来看,单片机主要用来控制,所以又称为微控制器(microcontroller unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯 片上的微型计算机。 2.2 单片机的发展史 (1). 4位单片机 1975年,美国德克萨斯仪器公司首次推出4位单片机tms-1000;此后, 各个计算机公司竞相推出四位单片机。日本松下公司的mn1400系列,美国 洛克威尔公司的pps/1系列等。四位单片机的主要应用领域有:pc机的输入 装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电 器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。 (2). 8位单片机 1972年,美国intel公司首先推出8位微处理器8008,并于1976年 9月率先推出mcs-48系列单片机。在这以后,8位单片机纷纷面市。例如, 莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列 等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世。例如, 1978年摩托罗拉公司的mc6801系列及齐洛格公司的z8系列,1979年 20 nec公司的upd78xx系列。这类单片机的寻址能力达64kb,片内rom 容量达4-8kb,片内除带有并行io口外,还有串行io口,甚至还有ad 转化器功能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、 智能接口、过程控制、通信、家用电器等各个领域。 (3). 16位单片机 1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片 机纷纷面市。这一阶段的代表产品有1983年intel公司推出的mcs-96系列, 1987年intel推出了80c96,美国国家半导体公司推出的hpc16040,nec 公司推出的783xx系列等。16位单片机主要用于工业控制,智能仪器仪表, 便携式设备等场合。 (4) 32位单片机 随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时 处理,复杂实时控制,网络服务器等领域的应用与发展,20世纪80年代末推 出了32位单片机,如motorlora公司的mc683xx系列,intel的80960 系列,以及近年来流行的arm系列单片机。32位单片机是单片机的发展趋 势,随着技术的发展及开发成本和产品价格的下降,将会与8位单片机并驾齐 驱。 (5)64位单片机 近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密 集的实时控制场合已有应用,如英国inmos公司的transputer t800是高性能的64 位单片机。 2.3 单片机的特点单片机的特点 1 . 单片机的存储器rom和ram时严格区分的。rom称为程序存 储器,只存放程序,固定常数,及数据表格。ram则为数据存储器,用作工 作区及存放用户数据。 2 . 采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力, 特别是单片机具有很强的位处理能力。 3 . 单片机的i/o口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数 和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设 21 置或由机器状态来区分。 4 . 单片机的外部 扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与 许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。 2.4 89c51 单片机介绍单片机介绍 vcc:电源。 gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl 门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部 程 序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时, p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部 必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓 冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用 作 输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘 故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器 可接收,输出4个 ttl 门电流,当p2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据 存 储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部 上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄 存器 的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 22 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u4 at89c51 图 2.1 89c51 单片机 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出 4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输 入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上 拉的缘故。 p3口也可作为at89c51的一些特殊功能口,如下表所示: 口管脚 备选功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断0) p3.3 /int1(外部中断1) p3.4 t0(记时器0外部输入) p3.5 t1(记时器1外部输入) p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通) p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期 的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存 23 地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时, ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此 它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部 数据存储器 时,将跳过一个ale脉冲。如想禁止ale的输出可在 sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是 ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间, 每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的 /psen信号将不出现。 ea/vpp:当/ea保持低电平时,则在此期间外部程序存储(0000h-ffffh) , 不管是否有内部程序存储器。注意加密方式1时, /ea将内部锁定为reset;当 /ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加 12v编程电源(vpp) 3 、控制系统的硬件设计、控制系统的硬件设计 3.1 单片机型号的选择单片机型号的选择 通过对多种单片机性能的分析,最终认为89c51是最理想的电子时钟开发芯片。 89c51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能cmos8位 微处理器,器件采用atmel高密度非易失存储器制造技术制造,与工业标准的 mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个 芯片中,atmel的89c51是一种高效微控制器,而且它与mcs-51兼容,且具有 4k字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的 选择。 3.2 数码管显示数码管显示工作原理工作原理 数码管是一种把多个led显示段集成在一起的显示设备。有两种类型, 一种是共阳型,一种是共阴型。共阳型就是把多个led显示段的阳极接在一 起,又称为公共端。共阴型就是把多个led显示段的阴极接在一起,即为公 共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为 负极。通常的数码管又分为8段,即8个led显示段,这是为工程应用方便 24 如设计的,分别为a、b、c、d、e、f、g、dp,其中dp 是小数点位段。 而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也 会连接在一起。即,所有的a段都会连在一起,其它的段也是如此,这是实际 最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就 是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码 管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起 组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号, 在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度 时,显示就会清晰显示出来。 图 3.1 共阴数码管 3.3 键盘电路设计键盘电路设计 该设计只用了一个键盘,但实现的功能却是比较完善,减少了硬件资源的 损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键 按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不 松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下 按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的 目的。 25 图 3.2 多功能控制 3. 4、整个电路原理图、整个电路原理图 图 3.3 系统电路原理图 4 控制系统的软件设计控制系统的软件设计 4.1 程序设计程序设计 本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整 26 程序、延时程序四大模块。在程序设计过程中,加强了部分软件抗干扰措施, 下面对部分模块作介绍。 定时计数中断程序: mov tmod,#00h ;写控制字 mov th0,#0f0h ;写定时常数 mov tlo,#0ch setb tr0 ;启动t0 setb eto ;允许t0中断 setb ea ;开放cpu中断 ajmp $ 时间调整程序: setmm: clr et0 ;关定时器t0中断 clr tr0 ;关闭定时器t0 lcall dl1s ;调用1秒延时程序 jb p3.7,closedis ;键按下时间小于1秒,关 闭显示(省电) mov r2,#06h ;进入调时状态,赋闪烁定时初 值 setb et1 ;允许t1中断 setb tr1 ;开启定时器t1 set2: jnb p3.7,set1 ;p3.7口为0(键未释放) ,等待 setb 00h ;键释放,分调整闪烁标志置1 set4: jb p3.7,set3 ;等待键按下 lcall dl05s ;有键按下,延时0.5秒 jnb p3.7,sethh ;按下时间大于0.5秒转调小时状 态 mov r0,#77h ;按下时间小于0.5秒加1分钟操 作 lcall add1 ;调用加1子程序 mov a,r3 ;取调整单元数据 27 clr c ;清进位标志 cjne a,#60h,hhh ;调整单元数据与60比较 hhh: jc set4 ;调整单元数据小于60转set4 循环 lcall clr0 ;调整单元数据大于或等于60时清 0 clr c ;清进位标志 ajmp set4 ;跳转到set4循环 closedis:setb et0 ;省电(led不显示)状态。开 t0中断 setb tr0 ;开启t0定时器(开时钟) close: jb p3.7,close ;无按键按下,等待。 lcall display ;有键按下,调显示子程序延时 削抖 jb p3.7,close ;是干扰返回close等待 waith: jnb p3.7,waith ;等待键释放 ljmp start1 ;返回主程序(led数据显示 亮) sethh: clr 00h ;分闪烁标志清除(进入调小 时状态) sethh1: jnb p3.7,set5 ;等待键释放 setb 01h ;小时调整标志置1 set6: jb p3.7,set7 ;等待按键按下 lcall dl05s ;有键按下延时0.5秒 jnb p3.7,setout ;按下时间大于0.5秒退出时 间调整 mov r0,#79h ;按下时间小于0.5秒加1小时 操作 lcall add1 ;调加1子程序 mov a,r3 ; clr c ; 28 cjne a,#24h,houu ;计时单元数据与24比较 houu: jc set6 小于24转set6循环 lcall clr0 ;大于或等于24时清0操作 ajmp set6 ; 跳转到set6循环 setout: jnb p3.7,setout1 ;调时退出程序。 等待键释放 lcall display ;延时削抖 jnb p3.7,setout ;是抖动,返回setout再等 待 clr 01h ;清调小时标志 clr 00h ;清调分标志 clr 02h ;清闪烁标志 clr tr1 ;关闭定时器t1 clr et1 ;关定时器t1中断 setb tr0 ;开启定时器t0 setb et0 ;开定时器t0中断(计时开始) ljmp start1 ;跳回主程序 set1: lcall display ;键释放等待时调用显示程序 (调分) ajmp set2 ;防止键按下时无时钟显示 set3: lcall display ;等待调分按键时时钟显示用 ajmp set4 set5: lcall display ;键释放等待时调用显示程序 (调小时) ajmp sethh1 ;防止键按下时无时钟显示 set7: lcall display ;等待调小时按键时时钟显示 用 ajmp set6 setout1: lcall display ;退出时钟调整时键释放等待 29 ajmp setout ;防止键按下时无时钟显示 延时程序: 1ms延时程序,led显示程序用 dl1ms: mov r6,#14h dl1: mov r7,#19h dl2: djnz r7,dl2 djnz r6,dl1 ret 20ms延时程序,采用调用显示子程序以改善led 的显示闪烁现象 ds20ms: acall display acall display acall display ret 5、程序流程图、程序流程图 系统的流程图如图5.1和图5.2所示: 30 图 5.1 主程序流程图 31 图 5.2 中断处理流程图 32 5.3 仿真结果仿真结果 图 5.3 开始运行程序仿真图 33 图 5.4 运行一段时间后仿真图 5.45.4、 仿真结果分析仿真结果分析 功能太过单调,只能实现时分秒的显示,设计比较简单。电路图的设计过于单调,用 的器件太少,实现调节时间的按钮太少,不能很好的实现时间的调节。在测试过程中,六 位数码显示管只显示五位数字,有一位数字不亮,通过多次的修改程序并在proteus 软件环境中进行仿真,最终解决了这个问题,同时也透露出本人在单片机电路设计和程序 设计方面的不足。不过最后的仿真效果非常好,实现了预期的效果,能过通过多功能控制 键调节时间和是否进入省电模式,是一个比较令人满意的设计。 5 附录附录 org 0000h ;程序执行开始地址 ljmp start ;跳到标号start执行 34 org 0003h ;外中断0中断程序入口 reti ;外中断0中断返回 org 000bh ;定时器t0中断程序入口 ljmp intt0 ;跳至intto执行 org 0013h ;外中断1中断程序入口 reti ;外中断1中断返回 org 001bh ;定时器 t1 中断程序入口 ljmp intt1 ;跳至intt1执行 org 0023h ;串行中断程序入口地址 reti ;串行中断程序返回 主程序开始; start: mov r0,#70h ;清70h-7ah共11个内存单元 mov r7,#0bh ; cleardisp: mov r0,#00h ; inc r0 ; djnz r7,cleardisp ; mov 20h,#00h ;清20h(标志用) mov 7ah,#0ah ;放入“熄灭符“数据 mov tmod,#11h ;设t0、t1为16位定时器 mov tl0,#0b0h ;50ms定时初值(t0计时用) mov th0,#3ch ;50ms定时初值 mov tl1,#0b0h ;50ms定时初值(t1闪烁定时用) mov th1,#3ch ;50ms定时初值 setb ea ;总中断开放 setb et0 ;允许t0中断 setb tr0 ;开启t0定时器 mov r4,#14h ;1秒定时用初值(50ms20) start1: lcall display ;调用显示子程序 jnb p3.7,setmm1 ;p3.7口为0时转时间调整程序 sjmp start1 ;p3.7口为1时跳回start1 setmm1: ljmp setmm ;转到时间调整程序setmm 35 ; 1秒计时程序 ; intt0: push acc ;累加器入栈保护 push psw ;状态字入栈保护 clr et0 ;关t0中断允许 clr tr0 ;关闭定时器t0 mov a,#0b7h ;中断响应时间同步修正 add a,tl0 ;低8位初值修正 mov tl0,a ;重装初值(低8位修正值) mov a,#3ch ;高8位初值修正 addc a,th0 ; mov th0,a ;重装初值(高8位修正值) setb tr0 ;开启定时器t0 djnz r4, outt0 ;20次中断未到中断退出 addss: mov r4,#14h ;20次中断到(1秒)重赋初值 mov r0,#71h ;指向秒计时单元(71h-72h) acall add1 ;调用加1程序(加1秒操作) mov a,r3 ;秒数据放入a(r3为2位十进制数组 合) clr c ;清进位标志 cjne a,#60h,addmm ; addmm: jc outt0 ;小于60秒时中断退出 acall clr0 ;大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论