毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc

上传人:仙人指路1688 文档编号:3978638 上传时间:2023-03-30 格式:DOC 页数:32 大小:235.50KB
返回 下载 相关 举报
毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc_第1页
第1页 / 共32页
毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc_第2页
第2页 / 共32页
毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc_第3页
第3页 / 共32页
毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc_第4页
第4页 / 共32页
毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C2051的工业生产节能时控器设计.doc(32页珍藏版)》请在三一办公上搜索。

1、成都电子机械高等专科学校成教院毕 业 设 计(论 文)论文题目: 基于AT89C2051的工业生产节能时控器设计教 学 点: 重庆科创职业学院指导老师: 职 称: 讲师 学生姓名: 学 号: 10124412028专 业: 机电一体化技术成都电子机械高等专科学校成教院制2012 年 3 月 1 日成都电子机械高等专科学校成教院毕业设计(论文)任务书题目: 基于AT89C2051的工业生产节能时控器设计任务与要求:掌握AT89C2051单片机的工作原理,掌握工业时控器工作工作原理,利 用AT89C2051单片机设计一款节能工业时控器。 时间: 2011 年 12 月15 日 至2012 年3 月

2、 15 日 共 13 周教 学 点: 重庆科创职业学院学生姓名: 学 号: 专业: 机电一体化技术指导单位或教研室: 重庆科创职业学院指导教师: 职 称: 讲师成都电子机械高等专科学校成教院制毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字12月15日至12月25日准备良好12月26日至1月2日论文提纲写作良好1月3日至2月15日初稿写作良好2月15日至2月29日二稿写作良好3月1日至3月10日定稿并上交论文的电子文稿良好3月10日至3月15日做好论文评阅准备良好教师对进度计划实施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一。摘 要本设计中介绍的工业生

3、产节能时控器就是用来定时控制生产设备工作的一种节能装置。由于其体积小、成本低,不仅适合嵌入到各种能耗大的工控设备中进行控制,也是和居民的家用电器节能控制。节能节支的效果显著。工业生产节能时控器的核心实际上是一台基于单片机的数字电子钟,设有4位LED数码管显示,具有2个时间控制点(控制一路负载的通断)。因要求其成本低、体积小,因此设计时采用精简型、小引脚、低价位AT89C2051单片机来实现工业生产节能时控器的所有功能。关键词 : 工业生产节能时控器,单片机,LED数码管显示器 AbstractDescribed in the design of energy-efficient industr

4、ial production when the controller,it is used to control the production equipment from time to time an energy-saving devices work. Because of its small size, low cost, not only for energy consumption is embedded in a large variety of industrial control equipment, but also energy-saving appliances an

5、d control residents. The effect of energy savings is significantly.Energy-efficient industrial production, when in fact the core controller is a microcontroller-based digital electronic clock with a 4-bit LED digital display, with two-time control points (control-off load all the way). Due to its lo

6、w cost, small size, therefore the use of thin design, small footprint, low-cost single-chip AT89C2051 to achieve energy efficiency in industrial production at all the features of controller.Key Words : When energy-saving industrial production controller, Single-chip Computer, LED digital tube displa

7、y目 录第一章 引言1第一节 AT89C2051单片机的简介2第二节 继电器简介3第三节 继电器应用环境条件4第四节 蜂鸣器简介5第二章 系统方案6第一节 工业生产节能时控器系统的结构6第二节 单片机计时原理7第三节 LED数码管显示器显示原理7第三章 LED数码管显示器硬件设计10第一节 静态显示法10第二节 动态扫描显示法11第三节 电路设计12第四章 软件设计13第一节 主程序设计13第二节 变量定义及初始化模块14第三节 判断按键输入的T1定时中断服务子程序模块15结 论 语20谢辞21参考文献22附 录 A1.123第一章 引言 随着人们生活环境的不断改善和美化,在能源方面也一样,如

8、能采用一些合理化的用电方式,则可望能较大幅度地节能或节支。其中一个较好的方法就是分时控控制作业。现阶段,不仅工业用电而且生活电均采取分时计费的方法。如果能将白天用电高峰期开动的一些设备改在夜晚用电低谷期使用,则不仅可大大减轻电网的负担,而且还可以有效减少用户的用电费用。本文提出了一种基于AT89C2051单片机的分时控制方案,实现对工业生产节能时控器的控制。由于工业生产节能时控器体积小,成本低,由单片机、按键输入、数码管显示器、继电器、蜂鸣器及电源等6部分组成。 单片机是整个系统的核心,整个系统的所有运行如:产生精确时钟及计时,LED数码管显示器输出扫描显示,输出驱动继电器、驱动蜂鸣器、扫描按

9、键输入等,均由单片机完成。这里也使用了有口皆碑的小引脚、高性能、低价位的精简单片机:AT89C2051。按键输入电路负责输入单片机中一系列工作参数及功能设定:如进行走时设置、定时设置、等。LED数码管显示器主要用以显示走时及定时设置。LED数码管显示器采用程序动态扫描显示,这样与静态显示相比,可节约大量的外部元器件。电源部分负责对整个系统供电,平时交流电经降压后,整流、滤波、稳压成5V直流电源供系统工作,当交流电源断电时,则由3.6V镍铬电池进行后备供电,保持走时准确,但此时LED数码管显示器关闭显示,以降低3.6V镍铬电池的消耗不仅适合嵌入到各种能耗大的工控设备中进行控制,也适合居民的家用电

10、器节能控制。本方案以AT89C2051单片机作为主控核心,与键盘、显示、蜂鸣器,继电器等模块组成核心主控制模块。在主控模块上设有4位LED数码管显示,具有2个时间控制点。因要求成本低,体积小,因此设计时采用精简型,小型脚,低价位AT89C2051单片机来实现工业生产节能时控器的所有功能。第一节 AT89C2051单片机的简介 AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,

11、AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。 AT89C2051是一个有20个引脚的芯片,引脚配置如图1所示。与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。图1.1 AT89C2051引脚配置AT89C2051芯片的20个引脚功能为:VCC 电源电压。GND 接地。RST 复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。XTAL1 反向振荡放大器的输入及内部时

12、钟工作电路的输入。XTAL2 来自反向振荡放大器的输出。P1口 8位双向I/O口。引脚P1.2P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1” 后,可用作输入。在闪速编程与编程校验期间,P1口也可接收编码数据。P3口 引脚P3.0P3.5与P3.7为7个带内部上拉的双向I/0引脚。P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。P3口的输出缓冲器能接

13、收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。P3口也可用作特殊功能口。 AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。第二节 继电器简介 继电器是一种用途广泛的产品,广泛应用于家电产品,如空调器、彩电、冰箱、洗

14、衣机等;也应用于工业自动化控制和仪表。在电子元器件中,继电器一般被认为是一种最不可靠的电子元件,在整机可靠性设计中,把继电器、电位器、可调电感器及可变电容器列为建议不用或少用的元件。 但是,由于继电器在控制电路中有独特的电气、物理特性,其断态的高绝缘电阻和通态的低导通电阻,使得其它任何电子元器件无法与其相比,加上继电器标准化程度高、通用性好、可简化电路等优点,所以继电器仍得以广泛应用。随着科技的飞速发展,继电器在程控通信设备中的使用量还在进一步增加,所以,如何保证继电器的可靠性,满足整机系统的可靠性,成为人们关注的焦点。 电子元器件的可靠性应由两部分组成,一是元器件的固有可靠性;二是元件的使用

15、可靠性。固有可靠性是元器件可靠的基础,主要靠元器件制造商从设计、制造等方面进行有效的控制,以保证制造出来的元器件达到要求的可靠性等级。使用可靠性则是从使用入手,如何保证和提高元器件的可靠性,使其能满足整机系统的可靠性要求。没有高可靠质量等级的元件,不可能制造出高可靠的电子设备,所以元器件的固有可靠性是整机可靠性的基础。但是,有了高可靠质量等级的元件也并不一定能制造出高可靠的整机,这里面就有个使用可靠性的问题。所谓使用可靠性,就是根据各种元器件的特点利用可靠性设计技术,即元器件的合理选用、降额设计、容差与漂移设计、抗振设计、热设计、三防设计、抗幅射设计、电磁兼容设计、人机工程设计及维修设计等,最

16、大限度的发挥元器件固有可靠性的作用,以达到整机系统的可靠性要求。 根据有关部门对整机失效原因的分析统计,其中有百分之四十以上的故障是由于元器件选用不合理造成的。随着元件制造技术的不断提高,在元器件的固有可靠性已经有了较大提高的情况下,使用可靠性就显得特别重要,而且,随着整机系统功能愈来愈全,所用元器件愈来愈多,对可靠性要求也愈来愈高,所以使用可靠性也愈来愈受到科技界的重视,并且发展成一门新的学科一人为工程。 由于继电器是一种机电一体化的元件,是由电磁及机械传动部分组成的,与其它电子元件相比,要复杂得多,加之在制造过程中有些装配调整是手工操作,所以产品的一致性和可靠性要差一些。但是,如果在使用中

17、采取一些防范措施,仍能达到较满意的效果。 在对失效继电器进行失效分析中发现,由于使用原因造成的失效约占百分之三十以上。由以上分析可知,继电器可靠性不高,除自身质量原因外,使用不当也是一个主要原因。现在,我们重点研究如何在使用中提高继电器可靠性的措施。继电器的种类较多,这里重点研究目前使用较多的电磁继电器的使用可靠性。 面对纷繁复杂的继电器产品,如何合理选择、正确使用,是系统开发、设计人员密切关注并且必须优先解决的实际问题。要做到合理选择,正确使用,就必须充分研究分析系统的实际使用条件与实际技术参数要求,按照“价值工程原则”,恰如其分地提出所选用继电器产品必须达到的技术性能要求。在整机的可靠性设

18、计中,要求合理选用元器件。元器件的选择和控制是需要多学科知识才能完成的一项任务,一般应由元件工程师、可靠性设计师、总体及电路设计师、失效分析人员共同完成。首先要根据整机系统的重要程度、可靠性要求、所使用的环境条件及成本等项要求综合考虑和选择。 具体说来,大致可按下列要素逐条分析研究,确认所要求的等级以及量值范围。选择时必须重视以下几个方面的要求。 第三节 继电器应用环境条件气候应力作用要素,主要指温度、湿度、大气压力(海拔高度)、沿海大气(盐雾腐蚀)、砂尘污染、化学气体和电磁干扰等要素。考虑到系统在全国各地各行业及自然环境的普遍适用性,兼顾必须长年累月可靠运行的特殊性,系统关键部位必须选用具有

19、高绝缘、强抗电性能的全密封型(金属罩密封或塑封型,金属罩密封产品优于塑封产品)继电器产品。因为只有全密封继电器才具有优良的长期耐受恶劣环境性能、良好的电接触稳定、可靠性和稳定的切换负载能力(不受外部气候环境影响)。 继电器是怕热元件,高温可加速继电器内部塑料及绝缘材料的老化、触点氧化腐蚀、熄弧困难、电参数变坏,使可靠性降低,所以,要求设计时使继电器不要靠近发热元件,并有良好的通风散热条件。 继电器虽然是怕热元件,但对过低温度(如军用航空条件55)也不能忽视。低温可使触点冷粘作用加剧,触点表面起露,衔铁表面产生冰膜,使触点不能正常转换,尤其是小功率继电器更为严重。试验证明,对于有些按部标生产的国

20、产小功率继电器,虽然使用条件规定低温为55,但实际上在此条件下继电器根本无法进行正常转换,建议在选择时要留有充分的余量,对于重要的军用电子整机,建议选用国军标产品。 在低气压条件下,继电器散热条件变坏,线圈温度升高,使继电器给定的吸合、释放参数发生变化,影响继电器的正常工作;低气压还可使继电器绝缘电阻降低、触点熄弧困难,容易使触点烧熔,影响继电器的可靠性。对于使用环境较恶劣的条件,建议采用整机密封的办法。主要指振动、冲击、碰撞等应力作用要素。对控制系统主要考虑的是抗地震应力作用、抗机械应力作用能力,宜选用采用平衡衔铁机构的小型中间继电器。电磁继电器的簧片均为悬梁结构,固有频率低,振动和冲击可引

21、起谐振,导致继电器触点压力下降,容易产生瞬间断开或触点出现抖动,严重时可造成结构损坏,可动的衔铁部分可产生误动作,影响继电器的可靠性。建议在设计中尽量采取防振措施以防产生谐振。 第四节 蜂鸣器简介 发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。这些都可以根据需要来选择。续流二极管蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。 如图 1.2 并联一个10u

22、F的电解电容的作用是改善电源的交流阻抗,也可以滤波,滤除蜂鸣器电流对其它部分的影响。 三极管起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。 图 1 .2 蜂鸣器电路图第二章 系统方案基于AT89C2051的工业生产节能时控器的系统是由AT89C2051单片机,按键输入,数码管显示器,继电器,蜂鸣器及电源等6部组成。第一节 工业生产节能时控器系统的结构 AT89C2051是整个系统的核心,整个系统的所有运行均由AT89C2051完成,如生产精确时钟及计时,LED数码管显示器输出扫描显示,输出驱动继电器,驱动蜂鸣器,扫描按键输入等。 按键输入

23、电路负责输入单片机中一系列工作参数及功能设定,如进行走时设置,定时设置等。 LED数码管显示器主要用以显示走时及定时设置。其采用程序动态扫描显示,这样与静态显示相比,可节约大量的外部元器件。 电源部分负责对整个系统供电。平时,交流电经降压,整流,过滤,稳压成5V直流电源供系统工作。当交流电源断电时,则由3.6V电池进行后背供电,保证走时准确,但此时LED数码管显示器关闭,以降压3.6V电池的消耗。 数 码 管显 示 器 单片机 按 键 输 入 电源 蜂鸣器 继电器 图 2.3 工业生产节能时控器方框图第二节 AT89C2051计时原理 AT89C2051作精确的电子钟使用,其根本原因是利用了A

24、T89C2051内部的一个16位定时器(T0或T1),通过设置,使T0(或T1)产生一定时间(如100ms)的精确定时中断。另外,还需建立几个软件计数器单元(如deda,sec,min等),使sec加1,同时清除deda。当sec满60时(此时时间为60s),使min加1,同时清除sec。这样既可完成精确计时。由于软件编程的灵活性,实际上可随意做出任意进制的正计时或倒计时电子钟。如图 2.4 为单片机构成电子钟的原理图。 ded=10?Set=60?Min=60?T0定时器100ms定时中断100ms单元(ded)加1Sec单元加1Min单元加1hour单元加1YYYNNN 图2.4 AT89

25、C2051构成电子钟的原理框图第三节 LED数码管显示器显示原理 在单片机系统中,经常用LED(发光二极管)数码管显示器来显示单片机系统的工作原理状态,运算结果等各种信息。LED数码管显示器是单片机与人对话的一种重要输出设备。(一) LED数码管显示器的构造及特点 图2.5是LED数码管显示器的构造。它实际上是由8个发光二极管构成,其中7个发光二极管排列成“8”字形的笔画段,另一个发光二极管为圆点形状,安装在显示器的右下角作为小数点使用。通过发光二极管亮暗的不同组合,从而可显示出09的阿拉伯数字以及其它能由这些笔画段构成的各种字符。 图 2.5 LED数码管显示器的构造 LED数码管显示器的内

26、部结构共有两种不同形式,一种是共阳极显示器,其内部电路如图 2.6所示,即8个发光二极管的正极全部连接在一起组成公共端,负极则各自独立引出。使用时公共阳极接+5V,这时阴极接低电平的发光二极管就导通点亮,接高电平的则不亮。另一种是共阴极显示器,其内部电路如图 2.7所示,即8个发光二极管的负极全部连接在一起组成公共端,正极则各自独立引出。使用时公共阴极接地,这时阳极接高电平的发光二极管就导通点亮,接低电平的则不亮。 图 2.6 共阳极显示器内部电路 图 2.7 共阴极显示器内部电路 从尺寸上分,LED数码管显示器的种类很多,常用的有0.3,0.5,0.8,1.0,1.2,1.5,1.8,2.3

27、,3.0,4.0,5.0寸等。一般小于1.0寸的为单管芯,1.21.5寸为双管芯,1.8寸以上的为3个以上管芯,因为它们的供电电压不同,一般每个管芯的压降为2V左右。通常,0.8寸以下采用5V供电,1.02.3寸采用12V供电,3.0以上的选择更高电压供电。 驱动电路中的限流电阻R通常根据LED的工作电流计算得到。R=(Vcc-VLED)/ILED。式中,Vcc为电源压电(+5V),VLED压降(一般取2V左右),ILED为工作电流(可取120mA)。R通常取几百。 在此使用的AT89C2051单片机,其I/O口具有20mA的灌电流输出能力,因此可直接驱动共阳极的LED数码管显示器。(二)LE

28、D数码管显示器的基本原理 为了显示数字或符号,要为LED数码管显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。 七段发光二极管,再加上一个小数点位,共计8位代码,由一个数据字节提供。各数据位的对应关系如表2.8 , LED数码管显示器的字形(段)码表如表2.9所列。表2.8数据位D7D6D5D4D3D2D1D0显示段h(或称 dp)gfedcba显示字形字形码(共阳极)字形码(共阴极)0C0H3FH1F9H06H2A4H5BH3BOH4FH499H66H592H6DH682H7DH7F8H07H880H7FH990H6FHA88H77HB83H7CHCC6H39HDA1H5EH

29、E86H79HF8EH71H熄灭FFH00H 第三章 LED数码管显示器硬件设计 在单片机应用系统中,LED数码管显示器的显示方法有两种:静态显示法和动态扫描显示法。第一节 静态显示法 所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU把欲显示的字形代码送到输出口上,就可以使显示器显示出所需的数字或符号。此后即使CPU不再去访问它,显示的内容也不会消失(因为各笔画段接口具有锁存功能)。 静态显示法的优点是显示程序十分简单,显示亮度大。由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。但静态显示也有其缺点,主要是占用的I/O口线较多。硬件成本也较高。所以静态显示

30、法常用在显示器数目较少的应用系统中。图 3.1 为静态显示示意图。 图 3.1 中由74LS273(8D锁存器)作扩展输出口,输出控制信号由P2.0和/WR合成。当二者同时为0时,或门输出为0,将P0口数据锁存到74LS273中,口地址为FEEEH。输出口线的低4位和高4位分别接BCD-7段显示译码驱动器74LS47,它们驱动两位数码管作静态的连续显示。 图 3.1 静态显示示意图第二节 动态扫描显示法动态扫描显示是单片机应用系统中最常用的显示方式之一。它是把所有显示器的8个笔画段ah的各同段名端互相并接在一起,并把它们接到字段输出口上。为了防止各个显示器同时显示相同的数字,各个显示器的公共端

31、COM还要受到另一组信号控制,即把它们接到位输出口上。这样,对于一组LED数码管显示器需要由两组信号控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位显示器工作,称为位码。在这两组信号的控制下,可以一位一位地轮流点亮显示器,显示各自的数码,以实现动态扫描显示。在轮流点亮一遍的过程中,每位显示器点亮的时间是极为短暂的(15ms)。由于LED具有余辉特性以及人眼视觉的惰性,尽管各位显示器实际上是分时继续地显示,但只要适当选取扫描频率,给人眼的视觉印象就会是在连续稳定地显示,并不察觉有闪烁现象。动态扫描显示由于各个数码管的字段线是并联使

32、用的,因而大大简化了硬件线路。动态显示示意图如图 3.2 所示图 3.2 动态扫描示意图在实际的单片机系统中,LED显示程序都是作为一个子程序供监控程序调用,因此各位显示器都扫过一遍之后,就返回监控程序。返回监控程序后,进行一些其他操作,再调用显示扫描程序。通过这种反复调用来实现LED数码管显示器的动态扫描。动态扫描显示在使用时必须反复调用显示子程序,若CPU要进行其他操作,显示子程序只能插入循环程序中,这往往束缚了CPU的工作,降低了CPU的工作效率。另外扫描显示电路中,显示器数目也不宜太多,一般在12个以内,否则会使人察觉出显示器在分时轮流显示。这两种显示方式各有利弊:静态显示法虽然数据显

33、示稳定,占用很少的CPU工作时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多。动态扫描显示占用的CPU时间多,但是用的硬件少,能节省线路板空间及降低成本。动态扫描显示由于外围元件少,降低了成本,充分发挥了软件的优势,因而在单片机系统中得到了广泛的应用。工业生产节能时控器也采用动态扫描显示。第三节 电路设计 “工业生产节能时控器”电路原理图 3.3 。共有4个按键,即on/off,up,left,set。这几个键的功能为:On/off-定时1,2启动/撤销键;Up -输入数据递增键Left -左移键;Set -工作模式设定键,共可设定“走时”,“调整走时时间”,“输入定时1”,“

34、输入定时2”四种模式。在工业生产节能时控器中,AT89C2051单片机只有15条I/O线,由于受I/O线数量限制,因此P1口中的P1.0P1.3既作为驱动4位LED数码管显示器的数据输出一部分,同时也用作按键的输入。无疑,这种方式大大节约了硬件的I/O线,但也给编程者提出了更高的触点负载电流可达5A/22V,如欲控制更大功率的负载,可外接中间继电器,接触器或固态继电器(SSR)。正常工作时5V电源经R1对3.6V/60ms镍铬电池充电。当交流电源断电时,则由3.6V镍铬电池对单片机进行后备供电,保持走时准确,此时软件关闭LED数码管显示器,以降低3.6V镍铬电池的消耗。通过实际使用,发现工业生

35、产节能时控器走时很准,每星期的误差在10s之内。第四章 软件设计第一节 主程序设计 图 3.4 为主程序状态流程图。主程序只负责进行走时或调整时间的运算及显示,而判断按键输入则放在T1定时中断(10ms)服务子程序中。T0作为走时的基准被设置为100ms定时中断。这种设计的优点是大大简化了主程序设计,并且CPU会定时关心键盘,只要定时中断时间够短(如为几十ms),就不会漏掉每一次的按键输入。我们将显示走时,显示调整走时,显示调整定时1,显示调整定时2,做成4个子程序,分别由Set为0,1,2,3时散转后的“显示走时并判断定时1,2到否程序”,“显示调整走时程序”,“显示调整定时1程序”,“显示

36、调整定时2程序”,“进行调用。为达到某位示较暗(有闪烁感)的视觉效果,让3位显示较暗的数码管每位点亮3ms,而显示最亮的那位数码管点亮36ms即可。 开始 T0,T1初始化Set键按下?Set键值加1根据键值散转Set=0显示走时并判断定时1,2到否Set=2显示调整定时1Set=3显示调整定时2Set=1显示调整走时NY图 3.4 主程序状态流程表 第二节 变量定义及初始化模块uchar x4; /* 存放走时的数组*/uchar y4=0,0,0,0;/* 存放定时1的数组*/uchar z4=0,0,0,0;/* 存放定时2的数组*/uchar deda=0; /*100mS计数单元清零

37、*/ bit d_05s=0; /*0.5秒标志*/bit o_f1=0; /*定时1启/停标志*/bit o_f2=0; /*定时2启/停标志*/uchar set=0; /*功能键标志*/uchar h=0; /全局变量uchar n=0;uchar m=0;uchar flag; /RAM区是否受干扰的标志uchar left=0; /左移键标志uchar sec=0; /走时单元set,min,hour的初始化uchar min=0;uchar hour=0;uchar min1=0; /定时1单元 min1,hour1初始化uchar hour1=0; uchar min2=0; /

38、定时2单元 min1,hour1初始化uchar hour2=0;uchar up=0; /递增键标志bit flag1=0; /继电器输出控制的标志,1时继电器吸合,0时继电 器释放/*/*定时器T0初始化*/void init_timer0()TMOD=0x11; /定时器T0,T1方式1TH0=-(50235/256); /装载100ms定时初值TL0=-(50235%256);IE=0x8a; /开CPU中断TR0=1; /启动T0/*定时器T1初始化*/void init_timer1()TH1=-(5000/256); /装载10ms定时初值TL1=-(5000%256);第三节

39、判断按键输入的T1定时中断服务子程序模块工业生产节能时控器的一个设计难点就是其按键输入部分,因此这里详细分析一下按键输入子程序模块。学习过单片机技术的人都知道,单片机的按键输入一般可分为简单的独立式按键输入及行列式键盘输入两种。图 3.5 为简单的独立式键盘输入示意图,独立式键盘输入适合于按键输入不多的情况(5个按键),具有占用口线较少,软件编写简单容易等特点。 图 3.5 独立式键盘输入示意图 图 3.6 为行列式键盘输入示意图,列线接P1.0P1.3,行线接P1.4P1.7.行列式键盘输入适合于按键输入多的情况,如16个按键输入,用简单按键输入要占用2个输入口(共16位),而使用行列式键盘

40、输入只需占用一个输入口(8位)。行列式键盘输入软件编写较复杂,对初学者而言有一定的难度。在很多状态下,按键输入的值要同时在LED数码管上显示出来。如一个按键设计为输入递增(加法)键,可以设计成每点按一下,数值递增加1,同时在LED数码管上显示出来;也可以设计成持续按下时,数值以一定时间间隔(如0.3S)累加。但是当欲输入值较大时(如三位LED数码管作输入显示时的输入值最大为999),则可能按下键的时间太长(最长达300S),因此这种方式只适用于1位或最多2位数值(最大99)的输入。当然也可多设几个键,每个键只负责一位数值的输入,但这样会占用较多的口线,浪费宝贵的硬件资料。一些进口的温度控制器,

41、如日本RKC INSTRUMENT INC,生产的REX-C700温控器,其面板设计为:温度测量值用4位LED数码管显示,输入设定值显示也用4位LED数码管,输入按键只有4个,一个为“模式设定键”,一个为“左移键”,另两个为“加法键”,“减法键”。欲输入设定值(温控制)时,按一下“模式设定键”,程序进入设定状态,此时显示输入设定值的4位LED数码管中,个位显示最亮(稳定显示),而十,百,千位显示较暗(有闪烁感),说明可对个位进行输入,按下“加法键”或“减法键”,即可输入个位数的值;点按一下“左移键”,变为十位显示最亮,而个,百,千位显示较暗,说明可对十位进行输入,按下“加法键”或“减法键”,即可输入十位数的值;这样可完成4位数的输入。完成输入后,再按一下“模式设定键”,程序即退出设定状态,进入工作运行。用这种输入方法,不仅输入4位数用4个键即可,再多位(5位至2

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号