




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书 学生姓名: 宇利华 学 号: 20064551 系 部: 理工系 专业年级: 06级电子信息工程 题 目: 基于单片机的洗衣机控制系统 指导教师: 彭沛夫 评阅教师: 2010 年 5月 23日中文摘要摘要:基于MCS-51 单片机的洗衣控制系统,控制面板由按键、指示灯和LED 显示器组成。按键选择洗衣机工作方式,指示灯配合按键工作,LED 显示器则显示洗衣机洗涤和脱水时间。洗衣机的整体电路模块包括键盘矩阵、指示灯、电动机控制及电源电路。控制程序设计包括定时中断服务程序、外中断服务程序及主程序。根据洗衣机的控制要求,从功能要求、硬件设计、软件设计三个方面研究和设计了以MCS-51单片机为控制核心的洗衣机控制系统。给出了硬件线路框图和相关的控制程序流程图。通过仿真实验证明该系统能够实现所需要的各种功能。关键词 MCS-51单片机;洗衣机控制系统;硬件;控制程序 外文摘要Title The Washing Machine Control System Based On Single ChipAbstract Washing machine control system based on singlechip MCS-51, the control panel is composed by keys,indicating lamps and LED. The keys chose the work modes, the indicating lamps cooperated with the keys. The LEDmonitor showed the time of washing and dehydration. The circuit of washing machine includes keyboard matrix, indicating lamp, motor control and power circuit. The control program includes timing interrupt service program, external interrupt service program and main program.According to the washing machines control requirements,a control system with the MCS-51SCMC as the core about washing machines were described in the following three aspects of functional requirements,hardware design,software design.The hardware circuit diagram and related control flow chart of the program were given. Keywords MCS-51SCMC;Washing machine control system; Hardware; Control program本科毕业设计说明书 目 录1 引言11.1 洗衣机的发展11.2 洗衣机种类31.3 课题研究方向42 硬件设计基本介绍52.1 总体方案52.2 器件及原理简介62.2.1 MCS-51单片机的介绍62.2.2 74LS138译码器的介绍92.2.3 蜂鸣器的介绍102.2.4 电磁阀的介绍112.3 电源部分的设计112.4 功能设置及控制电路的设计122.5 洗衣机状态显示的设计122.6 输出控制电路的设计133 软件设计143.1 主程序设计143.2 水位检测程序设计163.3 洗涤程序设计163.4 脱水、漂洗程序设计173.5 显示程序设计183.6 按键程序设计213.7 定时程序设计244 软件调试27结论29致谢30参考文献31附录A 硬件原理图32附录B 元件清单33附录C 源程序34本科毕业设计说明书 第 40页 共 39页1 引言洗衣机是人们日常生活中常见的家电,已经成为人们生活中不可缺少的家电电器。在工业生产中应用也十分广泛。但是传统的基于继电器的控制,已经不能满足人们对洗衣机自动化程度的要求了。洗衣机需要更好地满足人们的需求,必须借助于自动化技术的发展,用于单片机来作为控制器,就能很好地满足洗衣机对自动化的要求,并且控制方式灵活多样,控制模式可以根据不同的场合的应用而有所不同。自动化技术的飞速发展使得洗衣机由初始的半自动式洗衣机发展到现在的全自动洗衣机,又正在向智能化洗衣机方向发展。单片机又称为微控制器或称嵌入式控制器。而现在的智能家电无一例外是采用微控制器来实现的,多以家用电器是单片机应用最多的领域之一。它是家用电器实现智能化的心脏和大脑。由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。而家用电器品种多,功能差异也大,所以又要求其控制器有灵活的控制功能。单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。1.1 洗衣机的发展从古至今,洗衣服都是一项难于逃避的家务劳动,而在洗衣机出现以前,对于许多人而言,它并不像田园诗描绘的那样充满乐趣,手搓,棒击,冲刷,甩打.这些不断重复的简单的体力劳动,留给人的感受常常是:辛苦劳累。1858年,一个叫汉密尔顿.史密斯的美国人在匹茨堡制成了世界上第一台洗衣机。该洗衣机的主件是一只圆桶,桶内装有一根带桨状叶子的直轴。轴是通过摇动和它相连的曲柄转动的。次年在德国出现了一种用捣衣杵作为搅拌器的洗衣机,当捣衣杵上下运动时,装有弹簧的木钉便连续作用于衣服。 19世纪末期的洗衣机已经发展到一只用手柄转动的八角形洗衣缸,依稀时缸内放入热肥皂水,衣服洗净后,由轧液装置把衣服挤干。1874年,“手洗时代”受到了前所未有的挑战,美国人比尔。布莱克斯发明了木质手摇洗衣机。这套装置的问世,让那些为提高生活效率而冥想苦思的人士大受启发,洗衣机的改进过程开始大大加快。1880年,美国又出现了蒸汽洗衣机,采用了智能水循环系统,可将高浓度洗衣液于高温蒸汽同时对衣物进行双重喷淋,贯穿全部洗涤过程,实现了全球独创性的“蒸汽洗”全新洗涤方式。蒸汽洗衣机之后,水力洗衣机、内燃机洗衣机也相继出现。1910年,美国的费希尔在芝加哥试制成功世界第一台电动洗衣机。电动洗衣机的问世,标志着人类家务劳动自动化的开端。1922年,美国玛塔依格公司改造了洗衣机的洗涤结构,把拖动式改为搅拌式,使洗衣机的结构固定下来,这也是第一台搅拌式洗衣机的诞生。搅拌式洗衣机结构科学合理,受到人们的普遍欢迎。1932年,美国医本德克斯航空公司宣布,他们研制成功第一台前装式滚筒洗衣机,洗涤、漂洗、脱水在同一个滚筒内完成。这意味着电动洗衣机的型式跃上了一个新的台阶,朝自动化又前进了一大步。第一台自动洗衣机于1937年问世,这是一种“前置”式自动洗衣机。靠一根水平的轴带动的缸可容纳4000克衣服。衣服在注满水的缸内不停地上下翻滚,使之去污除垢。到了40年代便出现克现代的“上置”式自动洗衣机。随着工业化的加速,世界各国也加快了洗衣机研制的步伐。首先由英国研制并推出了一种喷流式洗衣机,它是靠筒体一侧的运转波产生的强烈涡流,使衣服和洗涤液一起在筒内不断翻滚,洗净衣物。1955年,在引进英国喷流式洗衣机的基础上,日本研制出独具风格、并流行至今的波轮式洗衣机。至此,波轮式、滚筒式、搅拌式在洗衣机产生领域三分天下的局势面初步形成。60年代的日本出现了带干桶的双桶洗衣机,人们称之为“半自动型洗衣机”。70年代,产生出波轮式套桶全自动以洗衣机。70年代后期,以电脑控制的全自动洗衣机在日本问世,开创了洗衣机发展史的新阶段。80年代,“模糊控制”的应用使得洗衣机操作更简便,功能更完备,洗衣程序更随人意,外观造型更为时尚。90年代,由于电机调速技术的提高,洗衣机实现了宽范围的转速变换与调节,诞生了许多新水流洗衣机。此后,随着电机驱动技术的发展与提高,日本生产了电机直接驱动式洗衣机,省去了齿轮传动和变速机构,引发了洗衣机驱动方式的巨大革命。之后,随着科技的进一步发展,滚筒洗衣机已经成为大家耳濡目染的产品。伴随着科技的进一步发展,相信新型更适合人们使用的洗衣机会给我们的生活带来新的方式。1.2 洗衣机种类家用洗衣机的种类很多,按其结构原理可以分为以下几类:1、波轮式洗衣机:这种洗衣机的主要优点是洗涤时间短,洗净度较高,水位可调,品种多,适宜于洗涤棉、麻、纤和混纺等织物。缺点是易使衣物缠绕,影响洗净的均匀性,磨损率也较高。新颖的大波轮、新水流洗衣机,其性能有明显的改善。2、滚筒式洗衣机:其优点是洗涤动作比较柔和,对衣物的磨损小,用水量和洗涤剂都比较省,适合洗涤毛料织物。但是机器结构复杂,洗净度低,耗电量大。售价较高。3、搅拌式洗衣机:这种洗衣机好似手工洗涤的揉搓,受力均匀,衣物磨损小,洗涤容量大。缺点是洗涤时间长,结构比较复杂,售价高。4、喷流式洗衣机:其特点是洗涤时间短,污垢容易洗掉,及其结构简单,故障较少。但由于水流激烈,衣物容易拧绞在一起,因而洗涤不均,对衣物损伤较重,洗涤时洗涤液容易飞溅。除此之外还有波轮搅拌洗衣机、喷淋漂洗洗衣机、振动式洗衣机、超声波洗衣机等等。1.3 课题研究方向洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。现今,大多数的洗衣机都使用以单片机为核心的控制电路来控制电动机、数码显示管、 排水阀及蜂鸣器的电压输出,使洗衣机根据程序运转。本设计在设计洗衣机的控制系统时,洗衣机通过控制系统设定洗衣程序,在内桶(洗涤脱水桶)自动完成注水、洗涤、漂洗、浸泡、排水和脱水全过程。洗衣时,控制系统打开水电磁阀,开始注水;当洗涤脱水桶内的水位达到系统设定值时,水位检测器向单片机发送一个低电平,通知控制系统关闭进水电磁阀,同时启动电动机洗衣。电机在系统的控制下进行正转、停、反转,通过传动机构带动波轮执行洗涤程序;当洗涤时间终了,控制系统切断电机电路,打开排水电磁阀,开始排水;然后再次注水,洗衣机进入漂洗状态,完成漂洗程序(通常为2次漂洗),在注水进行浸泡;浸泡完,开始排水,同时排水电磁阀的动作带动减速离合器制动臂,使离合器棘轮与棘爪分离,制动带松开,为脱水程序作好准备:排水结束后,系统控制电机单方向高速运转,完成脱水程序;当脱水程序终了,系统控制排水电磁阀和电机断电,排水阀和减速离合器的制动臂复位,同时蜂鸣器奏响音乐,通知用户整个洗衣程序结束。2 硬件设计基本介绍2.1 总体方案本设计以MCS-51单片机为核心,设计由电源、数字控制电路和机械控制电路三大模块构成的控制系统,实现对洗衣机整个洗衣过程的控制。洗衣过程主要包括洗涤过程、漂洗过程、脱水过程。根据洗衣过程的要求,控制程序设计主要包括主程序、内部定时中断服务程序、外部服务中断程序的设计。本设计要实现的功能有:(1)用户参数的输入:用户根据衣物的数量和质地确定洗涤时间、漂洗次数、脱水时间,然后通过按键输入具体的参数。(2)参数和时间的显示:灵活地运用数码显示管会带来许多方便,它可以用来显示用户实时所处的洗衣功能状态以及所剩时间。(3)实时控制的实现:单片机在获取了用户输入的参数后,对其进行分析处理,然后按照计算结果对洗衣机过程进行实时控制。(4)水位检测的实现:水位的高低影响着整个洗衣过程的进行,因此需要水位检测器将水位的变化发送给单片机,单片机根据水位的情况确定下一步应该做什么。(5)洗衣过程的实现:一般的洗衣过程包括注水、洗涤、漂洗、排水和脱水这些步骤。在洗衣过程中,系统主要控制进水电磁阀、排水电磁阀的打开和关闭,电机的正转、反转和停止。(6)洗衣完毕的通知:当洗衣过程结束后,蜂鸣器就报警通知用户洗衣完毕。根据设计要求,其基本系统组成框图如2.1所示。图2.1 系统组成框图2.2 器件及原理简介根据洗衣机的基本功能,硬件电路设计需要考虑洗衣机的进水、洗涤、漂洗、排水、脱水等问题,及时间设定长短、工作时间或剩余时间的显示、工作过程中的暂停、启动、复位、洗完后的报警等问题。采用51系列单片机作为控制核心,主要包括电源部分、功能设置及控制电路、洗衣机状态显示及输出控制电路。主要组成部件有:单片机、74LS138译码器、指示灯、LED显示器、电动机、蜂鸣器、电磁阀以及按键等。2.2.1 MCS-51单片机的介绍MCS-51单片机组成中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器的功能部件。图中SP是堆栈指针寄存器,PC是程序计数器,PSW是程序状态字寄存器,DPTR是数据指针寄存器。MCS-51系列单片机芯片均为40条引脚,如下图所示:2.2.1 MCS-51单片机引脚图各引脚功能说明如下:1.主电源引脚 Vcc(40脚):接+5V电源正端。 Vss(20脚):接+5V电源地端。 2.外接晶体引脚 XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS 单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。 XTAL2(18脚):接外部石英晶体的另一端。在单片机内部,它是片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS单片机,该引脚悬空不接。 3.输入/输出引脚 (1)P0口(3932脚):P0.0P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。 (2)P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。 (3)P2口(2128脚):P2.0P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。 引脚 第二功能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 外部数据存储器读选通信号输入端,低电平有效(4)P3口(1017脚):P3.0P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可以独立定义为第一功能的输入输出或第三功能。P3口的第二功能如表1.1所示。4. 控制线(1)ALE/PROG(30脚):地址锁存有效信号输入端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了。对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。 (2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不再出现。 (3)RST/VPD引脚(9脚):RST即为RESET,VPD为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。当Vcc发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。 (4)EA/Vpp(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内含有EPROM的机型,在编程期间,此引脚用作21V编程电源Vpp的输入端。综上所述,MCS-51系列单片机的引脚可归纳为以下两点:(1)单片机功能多,引脚数少,因而许多引脚都有第二功能。(2)单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此,可使片外存储器的寻址范围达到64KB。2.2.2 74LS138译码器的介绍74LS138 为3 线8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。2.2.3 蜂鸣器的介绍蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。蜂鸣器的结构原理1压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器的制作(1)制备电磁铁M:在长约6厘米的铁螺栓上绕100圈导线,线端留下5厘米作引线,用透明胶布把线圈粘好,以免线圈松开,再用胶布把它粘在一个盒子上,电磁铁就做好了。(2)制备弹片P:从铁罐头盒上剪下一条宽约2厘米的长铁片,弯成直角,把电磁铁的一条引线接在弹片上,再用胶布把弹片紧贴在木板上。(3)用曲别针做触头Q,用书把曲别针垫高,用胶布粘牢,引出一条导线,如图连接好电路。(4)调节M与P之间的距离(通过移动盒子),使电磁铁能吸引弹片,调节触点与弹片之间的距离,使它们能恰好接触,通电后就可以听到蜂鸣声。2.2.4 电磁阀的介绍电磁阀是用来控制流体的方向的自动化基础元件,属于执行器;通常用于机械控制和工业阀门上面,对介质方向进行控制,从而达到对阀门开关的控制。工作原理电磁阀里有密闭的腔,在不同位置开有通孔,每个孔都通向不同的油管,腔中间是阀,两面是两块电磁铁,哪面的磁铁线圈通电阀体就会被吸引到哪边,通过控制阀体的移动来档住或漏出不同的排油的孔,而进油孔是常开的,液压油就会进入不同的排油管,然后通过油的压力来推动油缸的活塞,活塞又带动活塞杆,活塞杆带动机械装置动。这样通过控制电磁铁的电流通断就控制了机械运动。2.3 电源部分的设计市电先经变压器降压,再经桥式整流电路整流,最后用三端稳压器稳压得到5V的电压作为整个控制器的工作电源。2.4 功能设置及控制电路的设计(1)暂停键K0,接P3.3,用外部中断1实现工作过程的暂停,根据人的需要可以进行手工洗涤。(2)水位开关K1,接P1.0,水位到位时,K1闭合。在进水期间,系统不断检测K1,当检测到K1闭合就停止进水。(3)按键K2,接P1.6,作为工作过程中的启动键。(4)按键K3是洗衣强度选择键,P3.4。每按一次代表一种强度。分别是标准、弱洗、强洗和自编,由4个指示灯进行显示。(5)按键K4,接P3.5,对洗衣时间进行设置,并用数码管LED1和LED2显示。(6)按键K5,接P3.6,对漂洗、脱水次数进行设置,并用数码管LED1显示。(7)压电蜂鸣器接P1.7,做洗衣时间到以及故障发生的报警器。2.5 洗衣机状态显示的设计(1) 74LS138译码器为3-8译码器,选用它可以解决I/0口线数量不足问题。从控制要求可知,洗衣机的工作模式以及工作程序必须有7中不同的显示加以区别。74LS138译码器的输入端C,B,A分别接P1.3、P1.4、P1.5,输出端分别与7个发光二极管D0D6的阴极相连,发光二极管阳极接电源。输出端Y0控制D0“弱洗”指示灯;Y1控制D1“标准洗”指示灯,Y2控制D2“强洗”指示灯,Y3控制D3“自编”指示灯,Y4控制D4“洗衣”指示灯,Y5控制D5“漂洗”指示灯,Y6控制D6“脱水”指示灯。(2)单片机的P0口和P2口分别接一个LED数码管。P0用于控制低位显示器,P2口用于控制高位显示器。2.6 输出控制电路的设计输出控制电路由触发器电路和相应的双向晶闸管组成。控制电机正反转以及进水阀和排水阀的开启和关闭。通过触发器电路和相应的双向晶闸管,电动机的正转和反转用单片机P1.1和P1.2进行控制;进水电磁阀和排水电磁阀用单片机的P3.0和P3.1进行控制。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。通过单机片的PO口连接数码管发送段码,P2.4P7口通过三级管扩大电流去控制数码管的位,显示时采用动态扫描方式,轮流循环扫描。通过P1.6口连接蜂鸣器实现报警电路。通过P1.0P1.5口作为按键输入,并通过二极管连接到单机片的中断入口引脚,当有键按下,就会产生中断,执行相关按键的功能。根据系统框图可设计出系统原理图,见附录A。3 软件设计单片机应用系统的软件设计是系统设计中最基本而且工作量较大的任务。与系统机上操作系统支持下的纯软件不同,单片机的软件设计是在裸机的条件下进行的,而且随应用系统的不同而不同。在软件中一般需考虑以下几个方面:根据要求确定软件的具体任务细节,然后确定合理的软件结构。一般系统软件由主程序和若干个子程序及中断服务程序组成,详细划分主程序、子程序和中断服务程序的具体任务,确定各个中断的优先级。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对事务的处理。在子程序和中断服务程序中要考虑现场的保护和恢复,以及它们和主程序之间的信息交换方法。程序的结构用模块化结构,即把监控程序分解为若干个功能相对独立的较小的程序模块分别设计,以便于调试。具体设计时可采用自底向上或自顶向下的方法。在进行程序设计时,先根据问题的定义描述出各个输入变量和输出变量之间的数学关系,即建立数学模型,然后绘制流程图,再根据流程图用汇编语言进行具体程序的编写。在程序设计完成后,利用相应的开发工具和软件进行程序的汇编,生成程序的机器码。本设计中系统软件是采用C51编写的,在研制单片机应用系统时,汇编语言是一种常用的软件工具,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。3.1 主程序设计系统的主程序设计主要完成系统初始化、中断优先级设定,以及调用其它各模块程序,即主要实现各模块程序的链接。系统上电复位初始化后,首先进行系统初始化,包括中断的选择及设置,定时器的选择,定时时间,及其相关设置,初始化后,单片机进入主程序,在这“主程序”中不停的循环运行,除非有其它中断。主程序流程图如图3.1所示。编写主程序如下: void main() Initialize(): /初始化设置 While(1) Display(); /显示程序 调用Calculate(); /显示数据的计算程序调用 图3.1 软件主流程图3.2 水位检测程序设计水位检测程序的原理是在洗衣机水箱中的适当高度放置两个水位检测器,当水位达到某一高度时,相应的水位探测器的开关接通,把电信号送入单片机的I/O口,经过单片机的处理,可以得到已经加好水或水放完,可以开始以下操作。本设计用单片机P2.2P2.3接口接两个水位传感器,在自动模式下,当水位到达某个传感器时,相应的传感器输出一个低电平到单片机的引脚,单片机通过引脚的电平高低来判断水位的高低。基本流程是当最低点和最高点的两个检测点都显示低电平时说明洗衣机已经放满水;当检测到最高点从低电平变为高电平,经过一段时间后最低点也由电平变为高电平时说明此时洗衣机放水完毕。3.3 洗涤程序设计 启动开关,进水阀通电,向洗衣机供水,当供水达到预定水位时,水位开关接通,进水阀断电关闭,停止供水。洗涤电动机接通电源,带动波轮或桶转动,产生各种形式的水流搅动衣物进行洗涤。通过电动机不停地正转、停、反转、反复循环、形成洗涤水对洗涤物产生强烈的翻滚作用。 程序流程图如图3.2所示。 图3.2洗涤过程程序流程图3.4 脱水、漂洗程序设计脱水前先打开水阀排水,然后启动电动机脱水,并保持排水阀开启,然后停止脱水。接着判断漂洗次数的值,若次数为0则洗衣结束,开蜂鸣器提醒洗衣结束,系统返回待命状态,次数若不为0,则再次执行进水操作,进入下一个循环。 程序流程图如图3.3所示:图3.3脱水,漂洗流程图3.5 显示程序设计在本系统的设计中作为人机对话的一个重要部分就是显示器,本设计要显示定时时间,洗涤时间,还有其他指示灯的状态显示,为了节省单片机的I/O口,把8个状态指示灯按照数码管的方式连接,即8个状态指示灯相当于一个数码管,这样硬件电路中相当于使用四位共阳LED作为系统的显示器。数码管要正常显示,就要用驱动电路来驱动数码管的各个段妈,从而显示出我们要的数字,因此根据数码管的驱动方式不同,可以分为静态式和动态式两类。静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个译码都由一个单片机的I/O端口进行驱动,或者使用如BCD码为十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示比划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。系统定期的扫描每个数码管,借助于人的视觉残留效应,使的数字得以正确显示,显示电路采用数码管动态扫描电路,占用单片机I/O口资源少,显示电路成本比较低,于静态扫描电路相比较,电路简单,成本低。硬件电路相对简单,在编写程序时,需要考虑循环扫描时间。要显示的数据采用的查表法。查表法只需把转换结果按序编成表,连续存放在ROM中,用查表指令即可实现转换,查表法编程方便且程序量小,执行速度快,修正起来方便。本设计显示系统包括时间显示和次数显示。常用的显示器件有:液晶点阵(LCD)显示,数码管(LED)显示。根据本课题的设计要求,显示部分采用动态显示方法,用3位数码管,和8个LED指示灯显示。基本方法是:把8个指示灯当作一个数码管,这样一共是4位数码管。单片机的I/O口发送数码管的段码,接口P2.4P2.7通过三极管扩大电流去控制数码管的位,显示时采用动态扫描方式,轮流循环扫描。8个LED指示灯依次代表着自动/手动,运行/停止,强洗,标准洗,弱洗,洗涤状态,漂洗状态,脱水状态。另外三位数码管指示时间和次数,前两位指示时间,后一位指示次数。显示子程序流程图如图3.4所示:图3.4 显示子程序流程图3.6 按键程序设计按键电路的作用是设置一些功能,一般按键电路有按键查询式,CPU不断地检测是否有按键按下,这样将会耗费大量的CPU时间,且反应速度时性不强:还有一种是中断式按键,只有当有按键按下时,单片机产生中断,开始处理按键的输入功能,没有键按下时单片机处理其他,不需要不停地查询按键是否按下。这样采用中断使按键反应速度快,同时减少单片机处理时间,本设计采用中断扩展电路。工作原理如下:没有按键时,相关的I/O为高电平,单片机的INTO也为高电平,当有键按下时,5V电压经过所按键上的电阻流向GND,这是由于按键闭合,按键上的低压电平送入单片机的I/O口,同时与按键相连的二级导管通,由于二级导管通时,电压大约为0.7V,相当于低电平,这个低电平送入单片机的INTO产生中断,在中断里检查哪个I/O口为低电平,就可以判断哪个按键按下,执行相关的那个按键的功能。本设计中单片机P1.0P1.5作为按键输入,并通过二极管连接到单片机的中断入口引脚,当有键按下,就会产生中断,执行相关按键的功能。按键程序流程图如图3.5所示:图3.5 按键程序流程图本设计中一共用到六个按键,通过连接单片机的P1.0P1.5口来实现按键的功能,按键1的作用是调节自动或者手动,按键2的作用是调节洗衣的强度,按键3的作用是调节洗衣功能,按键4的作用是设置时间,按键5的作用是设置次数,按键6的作用是控制洗衣机的运行于停止。具体电路如下图:根据硬件的设计方法,编写程序如下:功能:按键输入说明:用到中断0,P2.0P2.53.7 定时程序设计MCS51单片机内部有两个可编程的16位定时器T0和T1。通过编程,可以设定为定时器和外部计数方式。T1还可以作MCS51串行的波特率发生器。定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由特殊功能寄存器TL1和TH1构成。特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行,TCON还包含了定时器T0和T1的溢出标志。定时器的中断由中断允许寄存器IE、中断入口地址为001BH。定时器的编程包括:置工作方式;置计数初值;中断设置;启动定时器。由于MCS51的定时器采用加1计数,因此,计数初值应根据计数器长度及计数值来决定。对于同样的计数值,在采用13位计数器、16位计数器及8位计数器时,其计数初值各不相同。此外,方式0、1、3均不能自动恢复初值,如果要求重复计数必须在每次计数溢出后重新装入计数初值。除了编写以上程序外,还要设置中断的开关,用定时器时还要计算定时时间,内部计数器作用定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期因为实验系统的晶振是12MHz,所以定时常数的设置可按以下方法计算:机器周期=1212MHz=1us(65536-定是常数)*1us=50ms定时常数TH0=OX3C; TL0=0XB0;本设计中在洗衣时需要设置洗衣时间,这一部分程序设计采用单片机内部的定时器,用来倒计时。洗衣机定时系统采用单片机的定时器0,工作方式1,当设定洗涤、漂洗和脱水时,单片机的定时器开始倒计时,前两位数码管显示设定好的时间每秒减,当剩余时间为0时第三位数码管显示的次数就减一,直至洗衣次数完全执行完。定时程序流程图如图3.6所示:图3.6 定时程序流程图4 软件调试软件调试是检查系统软件中的错误。常见的软件错误有程序失控、中断错误(不响应中断或循环响应中断)、输入/输出错误和处理结果错误等类型。要把各个程序模块分别进行调试,调试通过后再组合到一起进行综合调试,达到预定的功能技术指标后即可将软件固化。系统的调试过程要结合具体的仿真器进行。对于一个新设计的电路板,调试起来往往会遇到一些困难,特别是当板比较大、元件比较多时,往往无从下手。但是如果掌握好一套合理的调试方法,调试起来将会事半功倍。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。硬件电路焊接好后,就可以编写相关的程序调试电路了,由于电路复杂,不可能一步全部完成,一般方法是,一边写软件一边调试,这样可以及时发现是硬件问题还是软件问题,也方便及时改正。首先应该确认电源是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另外一个办法是测量复位状态下的I/O口电平,按住复位键不放,然后测量I/O口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。另外还有注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故u(当然,晶振没有起振也是原因之一)。经过上面几点的检查,一般即可排除故障了,如果系统不稳定的话,有时是因为电源滤波不好
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程爆破考试试题及答案
- 劳动力市场学试卷及答案
- 幕墙施工组织设计专家论证的
- 深远海养殖智能化水下养殖平台建设方案
- 大宗固废资源化利用技术方案
- 环境影响评价技术服务与生态建设规划合同
- 高难度离婚协议:财产分割、子女抚养及赡养费协议
- 医疗机构消毒清洁与卫生监督服务协议
- 教育培训机构股份简单转让与师资培训合同
- 房屋建筑施工技术方案及创新设计
- 美发与形象设计-高级美发全套教学课件
- 产品耐压、绝缘、接地测试报告
- 慢性鼻窦炎鼻息肉护理查房课件
- set2020标准文件编写工具软件使用说明书
- 动叶可调式轴流风机液压调节系统课件
- 标准件与常用件课件
- 报价单(报价单模板)
- UG有限元的分析第12章
- 教育学会会员入会申请表
- 高端地产销售培训课件-豪宅营销模式完整版
- 小学语文语法大全
评论
0/150
提交评论