智能全自能洗衣机设计_第1页
智能全自能洗衣机设计_第2页
智能全自能洗衣机设计_第3页
智能全自能洗衣机设计_第4页
智能全自能洗衣机设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明书题 目: 智能全自动洗衣机的设计 学院(系): 机械工程学院 专业: 机械电子工程 班级: 学号: 06 学生姓名: 指导老师: 完成日期: 2014-12-29 课程设计(论文)任务书 题目: 智能全自动洗衣机的设计 姓名 学院 机械工程学院 专业 机械电子工程 班级 学号 06 指导老师 职称 指导老师 教研室主任 一、基本任务及要求1设计任务(1)机械传动设计 设计计算洗衣机机电传动系统,画出机构装配图,选电机等。(2)控制系统硬件设计, 基于PLC控制的洗衣机控制系统硬件电路分析洗衣机工作原理,包括洗涤、漂洗、脱水原理分析;水位设定、洗涤模式选择;安全报警;洗涤时间显示等

2、。元件选型;控制系统硬件接线图;(3)控制系统软件设计、调试, 设计洗涤程序并调试控制要求:能够控制智能洗衣机的启动/停止;时间显示;安全报警;终结闪烁提示等。2要求(1)洗衣机主轴传动的机械装配图,A2图纸一张。(2)PLC控制系统硬件接线图;控制流程框图及其它原理图。(2)撰写设计说明书,并附程序清单及其功能注释。(3)调试控制程序。二、进度安排及完成时间1设计时间 三周(从2014年12月15至2015年1月4 日)2进度安排 第1周 布置设计任务;查阅资料;熟悉设计任务和方案;设计并绘制硬件电路图;设计控制软件流程框图。第2周 机械结构设计。第周编写主程序、功能子程序;调试主要功能子程

3、序;并记录存在的问题和解决问题的方法;整理设计资料;按格式撰写设计说明书;上交设计作业(打印稿及电子文档);并参加答辩。目 录第1章 绪论11.1 前言11.2 全自动洗衣机的发展现状11.3 智能全自动洗衣机设计的意义2第2章 智能全自动洗衣机设计方案32.1 智能全自动洗衣机的设计任务32.2 智能全自动洗衣机工作原理分析32.2.1 洗涤原理32.2.2 漂洗原理32.2.3 脱水原理32.3 智能全自动洗衣机的三大组成结构4第3章 智能全自动洗衣机机械系统设计53.1 离合器的设计53.2 减速器系统的设计7第4章 智能全自动洗衣机控制系统设计84.1 控制系统硬件设计84.1.1 硬

4、件系统组成84.1.2 硬件电路设计84.2 控制系统软件设计104.2.1 程序流程图104.2.2 主要函数功能介绍11参考文献17致 谢18附 录19附录I 智能全自动洗衣机电路图19附录II 程序清单20第1章 绪论1.1 前言随着社会的发展,科技的进步,人民生活水平的质量的不断提高,工作压力越来越大,不管在工作上和生活上都是一个大忙人,这样不管在生活上和工作上聪明的人们就发明了一些能帮助人们减轻压力的一些家电就这样产生了,其中洗衣机就是一个很典型的现代家用电器,它是由模拟人工搓,揉衣物的原理而发展起来的,它以电动机为动力,通过对衣物和水的摩擦,翻滚,冲刷等机械作用和洗涤液的表面活化作

5、用,将附着在衣物上的污垢掉,达到洗净衣物的目的。1.2 全自动洗衣机的发展现状从古到今,洗衣服都是一项难于逃避的家务劳动,在洗衣机出现以前,这项劳动并不像田园诗描绘的那样充满乐趣、手搓、脚踩、棒击、冲刷、摔打。这些不断重复的简单的体力劳动,留给人的感受常常是辛苦劳累。 1858年,一个叫汉密尔顿·史密斯的美国人在匹茨堡制成了世界上第一台洗衣机,该洗衣机的主件是一只圆桶,桶内装有一根带有桨状叶子的直轴,轴是通过摇动和它相连的曲柄转动的。1874年,“手洗时代”受到了前所未有的挑战,美国人比尔·布莱克斯发明了木制手摇洗衣机。 1880年,美国又出现了蒸汽洗衣机,蒸汽动

6、力开始取代人力。之后,水力洗衣机,内燃机洗衣机也相继出现。 1910年,美国的费希尔在芝加哥试制成功世界上第一台电动洗衣机。电动洗衣机的问世,标志着人类家务劳动自动化的开端。 1922年,美国玛塔依格公司改造了洗衣机的洗涤结构,把拖动式改为搅拌式,使洗衣机的结构固定下来,这也就是第一台搅拌式洗衣机的诞生。1932年,美国本德克斯航空公司宣布,他们研制成功第一台前装式滚筒洗衣机,洗涤、漂洗、脱水在同一个滚筒内完成。这意味着电动洗衣机的型式跃上一个新台阶,朝自动化又前进了一大步。  1955年,在引进英国喷流式洗衣机的基础之上,日本研制出独具风格、并流行至今的波轮式洗

7、衣机。至此,波轮式、滚筒式、搅拌式在洗衣机生产领域三分天下的局面初步形成。60年代的日本出现了带干桶的双桶洗衣机,人们称之为“半自动型洗衣机”。70年代,生产出波轮式套桶全自动洗衣机。70年代后期,以电脑(实际上微处理器)控制的全自动洗衣机在日本问世,开创了洗衣机发展史的新阶段。80年代,“模糊控制”的应用使得洗衣机操作更简便,功能更完备,洗衣程序更随人意,外观造型更为时尚90年代,由于电机调速技术的提高,洗衣机实现了宽范围的转速变换与调节,诞生了许多新水流洗衣机。 全自动洗衣机其特点是能自动完成洗涤,漂洗和脱水的转换,整个过程不需要人工操作。这类洗衣机均采用套筒式结构,其进水,排水

8、都采用电磁阀,由程序控制器按人们预先设计好的程序不断发出指令,驱动各执行器件动作,整个洗衣过程自动完成。所用的程序控制器可分为电动机驱动式和单片机式。从控制方式的发展阶段上分: 全自动洗衣机可分为两大类: 第一类电动控制洗衣机,它的程序控制器由电动元件组成。 第二类是电脑控制洗衣机,它的程序控制器由微型计算机组成。电动控制全自动洗衣机是较早出现的自动控制类家用电器,其产品类型还属于传统的机械产品,是自动控制的初级阶段。随着计算机的及微电子技术的发展,自动控制系统正在逐步实现硬件化。因此,电动控制洗衣机将逐步退出家电舞台。1.3 智能全自动洗衣机设计的意义本课题为智

9、能全自动洗衣机的设计,要求洗衣机能实现洗涤、漂洗、脱水、水位设定、报警、洗涤时间显示等,所采用的控制方法操作简单、稳定可靠、维护与维修方便。控制方法确定后投入生产要缩短控制系统的设计的时间、调试周期,且要降低成本。 该智能全自动洗衣机以单片机为主控芯片,可以降低系统设计的成本,而且可以实现智能控制,能够通过几个按键实现洗衣服的全部过程,让我们的生活更加简便。如今的单片机功能众多,功能齐全,价格实惠,已使用到各个领域。随着科技的进步,我们也应利用先进的技术,最少的资金,让我们的产品拥有最大的市场竞争力。同时提高我们的生活质量,减轻我们的生活压力。第2章 智能全自动洗衣机设计方案2.1

10、智能全自动洗衣机的设计任务1. 机械传动设计,设计计算洗衣机机电传动系统,画出机构装配图,选电机等2. 控制系统硬件设计,基于单片机控制的洗衣机控制系统硬件电路,分析洗衣机的工作原理,包括洗涤、漂洗、脱水原理分析;水位设定、洗涤模式选择;安全报警;洗涤时间显示等。元件选型;控制系统硬件接线图。3. 控制系统软件设计、调试,设计程序并调试。控制要求:能够控制智能洗衣机的启动/停止、时间显示和安全报警等。2.2 智能全自动洗衣机工作原理分析2.2.1 洗涤原理当波轮在电机带动下作正反方向旋转时,洗涤液在洗衣桶内受到水平方向和垂直方向的两个作用力。由于洗涤液与衣物之间的摩擦力和筒壁的存在,两个力的作

11、用方向与大小均不断变化,从而产生水平与垂直运动着的两个涡流。靠近波轮出涡流比较急,而四周筒壁涡流则较平缓,它们的合成作用就形成衣物在洗衣桶中的强烈翻滚,同时在衣物之间、衣物与筒壁之间产生了摩擦与撞击力。这样反复的机械运动,便产生了类似于手工洗衣时手搓、棒打的洗涤效果2.2.2 漂洗原理储水漂洗是将洗涤物放入注满清水的洗衣桶内,然后设定时间,由波轮转动进行漂洗。当第一次漂洗干净后,进行排水脱水,然后又注满清水,重复漂洗过程几次,即可完成储水漂洗工作程序。起工作原理可参见波轮式洗衣机洗涤原理,只不过此时是靠多次地更换清水,将衣物的洗涤剂与污垢漂清。2.2.3 脱水原理双筒洗衣机的脱水系统,由脱水外

12、筒、脱水内桶、内盖、大小油封等组成、脱水外桶呈方形,固定不动。脱水内桶呈圆形,在桶壁上有许多圆孔。工作时,脱水内桶作高速旋转,靠离心力将吸附在衣物上的水分甩出桶外,起到脱水的作用。2.3 智能全自动洗衣机的三大组成结构智能全自动洗衣机主要由这样几个部分组成:外箱体、控制台、波轮、洗涤桶和盛水桶、电器控制件、进水件、排水件、支承件等。为了叙述的方便,我们把它们归纳成几个系统来介绍,即机械支承系统,机械传动系统,机械电器控制系统,进水、排水系统。下面通过框图更直观其系统的组成。2.1图 系统结构组成框图第3章 智能全自动洗衣机机械系统设计3.1 离合器的设计减速离合器简称离合器,它的作用是实现在洗

13、涤时波轮低速旋转和在脱水时脱水桶高速运转两种功能。端面摩擦盘式减速离合器如下图所示:图3.1 端面摩擦盘式减速离合器结构图 1.逆转螺旋制动弹簧;2.减速齿轮箱;3.减速器外壳;4.端面刹车盘;5.螺栓;6.制动板;7.压力弹簧;8.刹车定套;9.螺旋刹车弹簧;10.刹车动套;11.离合弹簧;12.离合轴套;13.输入轴;14.外套轴;15.离合制动器壳;16.制动挡套;17.刹车电磁铁端面摩擦盘式减速离合器结构与带制动式的最根本区别就在于它采用了端面刹车盘及螺旋刹车弹簧。端面刹车盘的制动力是由三个压力弹簧提供的,要增大刹车力矩,只要增大压力弹簧的刚度即可。这个摩擦盘在脱水时是不接入转动部分的

14、,因为这时刹车弹簧是处于自由状态,它与嵌在摩擦盘上的刹车定套是间隙配合的,所以压力弹簧的压紧力大小与脱水的控制无关。 当刹车的时候因为制动挡套被电磁铁芯挡住不能继续转动,而脱水桶(内桶)由于惯性还要继续顺时针旋转,这时刹车动套就成了主动件,它将把螺旋刹车弹簧缠紧(同时把离合弹簧旋松)。初始缠紧力的大小将与制动挡套和离合制动器壳之间配合面的摩擦阻力矩的大小,及离合弹簧旋松所需要的力矩,及刹车弹簧与套缠至接触所需要的力矩等三个因素有关。因为压力弹簧提供的刹车力矩几乎可以不受什么限制,所以圈数稍有增加,刹车力即可有大的增长。端面刹车盘可高达20N·m的制动力矩可以使得脱水桶在瞬间完成刹车动

15、作。刹车阻力矩是由制动挡套自身与离合制动器壳过盈配合所提供的。电磁铁的铁芯强度只要能挡住挡套就够用,其工作电流只有几毫安。这与带制动式离合器中控制操作力与刹车工作力直接相关的情形是截然不同的。这种减速离合器的动作见表。这里两个方丝螺旋弹簧(螺旋刹车弹簧9和离合弹簧11)实际上是两个单向离合器,交替地工作,很好地实现了脱水与刹车的动作要求。 减速离合器工作表 工作状态 零件脱 水洗 涤电磁铁17铁心吸入铁心弹出制动挡套16随脱水轴转被电磁铁心挡住不动离合制动器壳15随脱水轴一起转开始刹车时有可能被刹车 弹簧带着转过一定角度后静止螺旋刹车弹簧9自由状态,与刹车定套动配合,随离合制动器壳转动缠紧在刹

16、车定动套上,在开始刹车时间有可能带着端面 刹车盘转过一定角度后,始终缠紧,可严格防止顺时针 方向内桶跟转离合弹簧11 把离合轴套和刹车动套连成一体,实现脱水被旋松,使离合轴套与脱水轴分离,转动传入减速器,驱动波轮工作刹车动套10 被离合弹簧带着旋转被弹簧螺旋刹车缠紧,与刹车定套连为一体刹车定套8 不动与刹车动套连为一体逆转螺旋制动弹簧1阻力矩很小可以严格防止内筒逆时针方向跟转3.2 减速器系统的设计合理的传动方案,首先应满足工作机的功能要求,还要满足工作可靠、传动精度高、体积小、结构简单、尺寸紧凑、重量轻、成本低、工艺性好、使用和维护方便等要求。任何一个方案,要满足上述工作可靠、传动精度高、体

17、积小、结构简单、尺寸紧凑等要求都必须统筹兼顾,至少要满足最主要的结构简化和最基本的工作机功能的要求。如图2.3所示的行星轮传动方案。图3.2 行星轮系图a-中心轮,b-内齿圈,g-行星轮,H-行星架第4章 智能全自动洗衣机控制系统设计4.1 控制系统硬件设计4.1.1 硬件系统组成智能全自动洗衣机的控制系统以单片机作为主控芯片,外接有按键模块、电机驱动模块、液晶显示模块、进出水阀模块、蜂鸣器模块等电路,系统总体框图如下:图4.1 硬件系统框图4.1.2 硬件电路设计智能全自动洗衣机的控制系统根据要求设计所需要的电路,主要由主控电路、电源与下载电路、按键与水位开关电路、OLED液晶显示电路、电机

18、驱动电路和蜂鸣器报警电路等组成,下面简单介绍几个主要电路及其功能:1. 按键与水位开关电路图4.2 按键与水位开关电路该电路主要用于控制板上的按键操作和水位开关的检测,按键可以控制系统的启动、暂停、程序的选择和水位的选择。而水位开关用于检测进水口是否到达所设定的水位。2. 电机驱动电路图4.3 电机驱动电路电机驱动电路主要通过单片机控制电机的正反转,电路主要通过两个继电器,两个三极管和两个二极管控制电机的正转,反转和停止。可以实现低电流控制洗衣机的驱动电机。4.2 控制系统软件设计 开始4.2.1 程序流程图 选择程序漂洗快速洗涤脱水标准洗涤柔和洗涤水位选择高低中是否启动是是否脱水否是是否漂洗

19、脱水否是是否标准洗涤漂洗否是否柔和洗涤否是柔和洗涤快速洗涤标准洗涤报警结束图4.4 程序流程图4.2.2 主要函数功能介绍智能全自动洗衣机控制系统由硬件电路和软件程序组成,根据硬件电路和程序框图设计出程序,程序由许多子程序组成,从而组成系统的主程序,控制系统的程序分工完成,各成员完成分配的模块程序,同时又相互协作,协同完成主程序的拼接。下面详细介绍自己模块的程序:1. 主函数:/* * 文件:main.c * 描述:智能全自动洗衣机控制主程序 * 硬件连接示意图*/#include "msp430g2553.h"#include "oled_service.h&q

20、uot;#include "xyj_service.h"void main() WDTCTL = WDTPW + WDTHOLD;/关闭看门狗 CCTL0 = CCIE;/使能定时器A0中断 CCR0 = 50000;/设置中断间隔 TACTL = TASSEL_2 + MC_1;/设置SMCLK时钟源,模式UP XYJ_IO_Init(); /洗衣机IO口设置 CLOCK_Init(); /时钟初始化 DISPLAY_Init(); /显示面板初始化 while(1) PROGRAM_Select(); /程序,水位,启动按键选择程序 PROGRAM_Control();

21、 /程序执行子程序 OLED_P8x16Str(84,6,"00:00"); /时间复位 _DINT(); /关闭定时器中断 BUZZER(10); /程序完成,蜂鸣器报警提示 此函数为主函数,主要实现函数的整体功能。控制系统采用MSP430超低功耗单片机,无需外部时钟,电路简单。函数首先关闭看门狗,用定时器A0进行倒计时,并且实现暂停键的扫描,在程序选择启动之前初始化I/O、时钟和液晶显示面板。然后在循环中执行程序、水位和启动选择子程序,选择完之后执行程序子程序。当所有洗衣过程之后时间复位,关闭中断并启动蜂鸣器报警提示。2. 漂洗子程序/* * 函数:RINSING *

22、描述:漂洗子程序 * 参数:无 * 返回:无*/void RINSING() int i,j; for(j=0; j<2; j+) /漂洗两次 RINSING_WASHING(); WATER_Level(); /水位是否达到设置位置 for(i=0; i<3; i+) /漂洗循环两次 P2OUT |= BIT4; /正转 P2OUT &= BIT5; delay_ms(8000); P2OUT &=(BIT4 + BIT5); /停止 delay_ms(4000); P2OUT |= BIT5; /反转 P2OUT &= BIT4; delay_ms(80

23、00); P2OUT &=(BIT4 + BIT5); /停止 delay_ms(4000); DRAINAGE(); /排水 DEHYDRATION(); /脱水 漂洗子程序主要用于洗涤之后的漂洗,根据洗衣机的洗衣过程程序主要过程有,在执行漂洗过程是,液晶显示面板会选择漂洗状态,然后执行WATER_Level()子程序(进水阀开启,判断水位是否到达设定值),因为是模拟洗衣机过程,考虑展示时间过程,在此将时间缩短,按一般洗衣机的漂洗过程,在水位到达设定值后,电机正转8s然后停止4s,再反转8s,然后停止,如此循环3次,进行排水,然后进入脱水子程序DEHYDRATION(),这样一次漂洗

24、过程就完成了,洗衣机一般都会漂洗两次,所以加一个for循环,使漂洗过程进行两次。这样如果选这漂洗功能,则洗衣机进入漂洗子程序,并完成脱水功能。3. 标准洗涤子程序/* * 函数:NORM_Control * 描述:标准洗涤子程序 * 参数:无 * 返回:无*/void NORM_Control() int i; WATER_Level(); /判断水位是否到达设定值 for(i=0; i<3; i+) /洗涤循环三次 P2OUT |= BIT4; /正转 P2OUT &= BIT5; delay_ms(8000); P2OUT &=(BIT4 + BIT5); /停止 d

25、elay_ms(4000); P2OUT |= BIT5; /反转 P2OUT &= BIT4; delay_ms(8000); P2OUT &=(BIT4 + BIT5); /停止 delay_ms(4000); DRAINAGE(); /排水 RINSING(); /漂洗,脱水 标准洗涤子程序主要用于洗衣机的标准洗涤功能中,程序选择按键选择了标准洗涤功能后,启动后程序便会执行标准洗涤子程序,它包括了洗涤、漂洗和脱水三个步骤。首先程序会执行洗涤功能,在标准状态下,会先进水,然后进洗涤状态,电机正转8s,停4s,反转8s停4s,如此反复3次,完成一次洗涤,洗涤完之后,进入排水子

26、函数,将桶内的水排净,然后进入漂洗子程序,漂洗子程序前面已经介绍。洗涤分三种模式,有标准,柔和和快速,过程是一样,只是电机正反转周期不一样,就不在说了。4. 中断服务子程序/* * 函数: Timer_A * 描述:Timer A0中断服务函数,进行停止键的扫描,时钟的显示 * 参数:无 * 返回:无*/#pragma vector = TIMER0_A0_VECTOR_interrupt void Timer_A(void) char flag1=0,Port1,Port2; if(P1IN&BIT3)=0)/判断是否按下暂停键 delay_ms(10); /延时消抖 if(P1IN

27、&BIT3)=0) /确定按键按下 Port1=P1OUT; /保存IO口状态 Port2=P2OUT; flag1 = 1; P2OUT &= (BIT4 + BIT5 + BIT6 + BIT7 ); /电机停止,进出水阀关闭 OLED_P14x16Ch(112,0,15); /暂停键显示 while(!(P1IN&BIT3); /按键是否松开 while(flag1) /暂停键按下进入无线循环 if(!(P1IN&BIT3) /判断暂停键第二次按下,跳出 delay_ms(10); if(!(P1IN&BIT3) flag1=0; OLED_P14

28、x16Ch(112,0,14); /运行键显示 P1OUT=Port1; /释放IO口状态 P2OUT=Port2; while(!(P1IN&BIT3); Count-; if(Count = 0) /倒计时时间转换 Count = 20; /计数次数 Second-; /秒减一 if(Second > 60) /Second为uint,是否小于0 Second = 59; Minute-; if(Minute > 60) Minute=59; SHIFT(Number2,Minute); /将分转换为字符串数组 OLED_P8x16Str(84,6,Number2);

29、/将分钟字符串数组显示出来 SHIFT(Number1,Second); /将秒转换为字符串数组 OLED_P8x16Str(108,6,Number1); /将秒钟字符串数组显示出来 Timer A0中断服务函数,该函数主要通过定时器进行计时,用于计算洗衣机执行程序的时间。同时在定时器中断服务程序中加入按键扫描,每次进入中断便扫描暂停按键是否按下,若按下则停止电机和进出水阀,再次按下则回复之前状态。定时器是50ms进入一次中断,20次为1s,并且进行秒分的转换。你选择的每种程序都会有自己设置好的时间,但选择好程序,便从设定时间开始倒计时。通过转换函数SHIFT(Number1,Second)

30、将时间转换成字符数组,并通过OLED_P8x16Str(108,6,Number1)函数将时间显示在液晶显示屏上。参考文献1 丁五峰.MCU工程师练成记M.北京:机械工业出版社.2013.2 刘建辉.单片机智能控制技术M.北京:国防工业出版社.2007.3 王雪屯.图解小家电维修M.北京:电子工业出版社.2014.4 朱经利.海尔家用洗衣机原理与维修M.北京:人民邮电出版社.1991.5 吴宗泽.机械设计课程设计手册(第四版)M.北京:高等教育出版社.2012.6 成大先.机械设计手册(第五版)M.北京:化学工业出版社.2010.7 王迎旭.单片机原理与应用M.北京:机械工业出版社.2012.

31、8 张建民.机电一体化系统设计M.北京:北京理工大学出版社.2013.9 孙怀龙.PLC实用技术M.北京:机械工业出版社.2012.10 谭浩强编著.C程序设计(第三版)M.北京:清华大学出版社,200511 林小茶编著.C语言程序设计(第二版)M.北京:中国铁道出版社,200712 刘子林.电机与电气控制M.北京:电子工业出版社,2003.致 谢本课题是在陈小异、谭季秋和周慧老师的精心指导和热情关怀下完成的,在此谨向导师表示最衷心的感谢和最诚挚的敬意。再有要感谢一起学习生活的同学们,与他们的一次次交流使我得以不断进步和提高。我能够专心学习,顺利完成学业,与我的父母的培养、鼓励和支持是分不开的

32、,在此向他们表示最诚挚的感谢!感谢文中所引用文献的所有作者们!再次感谢所有关心、支持和帮助过我的老师、同学和朋友们!附 录附录I 智能全自动洗衣机电路图附录II 程序清单/* * 文件:main.c * 描述:智能全自动洗衣机控制主程序 * 硬件连接示意图*/#include "msp430g2553.h"#include "oled_service.h"#include "xyj_service.h"void main() WDTCTL = WDTPW + WDTHOLD;/关闭看门狗 CCTL0 = CCIE;/使能定时器A0中断

33、 CCR0 = 50000;/设置中断间隔 TACTL = TASSEL_2 + MC_1;/设置SMCLK时钟源,工作模式UP XYJ_IO_Init(); /洗衣机IO口设置 CLOCK_Init(); /时钟初始化 DISPLAY_Init(); /显示面板初始化 while(1) PROGRAM_Select(); /程序,水位,启动按键选择子程序 PROGRAM_Control(); /程序执行子程序 OLED_P8x16Str(84,6,"00:00"); /时间复位 _DINT(); /关闭定时器中断 BUZZER(10); /程序完成,蜂鸣器报警提示 /*

34、* 函数: Timer_A * 描述:Timer A0中断服务函数,进行停止键的扫描,时钟的显示 * 参数:无 * 返回:无*/#pragma vector = TIMER0_A0_VECTOR_interrupt void Timer_A(void) char flag1=0,Port1,Port2; if(P1IN&BIT3)=0)/判断是否按下暂停键 delay_ms(10); /延时消抖 if(P1IN&BIT3)=0) /确定按键按下 Port1=P1OUT; /保存IO口状态 Port2=P2OUT; flag1 = 1; P2OUT &= (BIT4 +

35、BIT5 + BIT6 + BIT7 ); /电机停止,进出水阀关闭 OLED_P14x16Ch(112,0,15); /暂停键显示 while(!(P1IN&BIT3); /按键是否松开 while(flag1) /暂停键按下进入无线循环 if(!(P1IN&BIT3) /判断暂停键第二次按下,跳出 delay_ms(10); if(!(P1IN&BIT3) flag1=0; OLED_P14x16Ch(112,0,14); /运行键显示 P1OUT=Port1; /释放IO口状态 P2OUT=Port2; while(!(P1IN&BIT3); Count-

36、; if(Count = 0) /倒计时时间转换 Count = 20; /计数次数 Second-; /秒减一 if(Second > 60) /Second为uint,判断是否小于0 Second = 59; Minute-; if(Minute > 60) Minute=59; SHIFT(Number2,Minute); /将分转换为字符串数组 OLED_P8x16Str(84,6,Number2); /将分钟字符串数组显示出来 SHIFT(Number1,Second); /将秒转换为字符串数组 OLED_P8x16Str(108,6,Number1); /将秒钟字符串数

37、组显示出来 /* 文件:XYJ_service.h* 描述:XYJ模块功能服务程序* 硬件连接示意图*/#ifndef _XYJ_SERVICE_H#define _XYJ_SERVICE_H#include "oled_service.h"#include "msp430g2553.h"#define OLED_CPU_F (double)1000000)#define OLED_delay_us(x) _delay_cycles(long)(OLED_CPU_F*(double)x/1000000.0)#define OLED_delay_ms(x)

38、 _delay_cycles(long)(OLED_CPU_F*(double)x/1000.0)#define CPU_F (double)1000000)#define delay_us(x) _delay_cycles(long)(CPU_F*(double)x/1000000.0)#define delay_ms(x) _delay_cycles(long)(CPU_F*(double)x/1000.0)/* * 描述:oled引脚设置 * 硬件连接示意图*/#define OLED_DC_Data P2OUT|=BIT0#define OLED_DC_Cmd P2OUT&=B

39、IT0#define OLED_RST_LOW P2OUT&=BIT1#define OLED_RST_HIGH P2OUT|=BIT1#define OLED_SDA_LOW P2OUT&=BIT2#define OLED_SDA_HIGH P2OUT|=BIT2#define OLED_SCL_LOW P2OUT&=BIT3#define OLED_SCL_HIGH P2OUT|=BIT3extern int KEY0_Num;extern int KEY1_Num;extern unsigned int Count;extern unsigned int Seco

40、nd;extern unsigned int Minute;extern unsigned char Number13;extern unsigned char Number23;extern void XYJ_IO_Init();extern void CLOCK_Init();extern void OLED_IO_Init();extern void OLED_SPI_RW(unsigned char data);extern void BUZZER(unsigned int x);extern void SHIFT(unsigned char *Number,unsigned int Time);extern void DISPLAY_Init();extern void PROGRAM_Select();extern vo

温馨提示

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

评论

0/150

提交评论