全自动洗衣机控制器设计单片机课程设计 精品.docx

上传人:b****8 文档编号:10286781 上传时间:2023-02-09 格式:DOCX 页数:24 大小:280.62KB
下载 相关 举报
全自动洗衣机控制器设计单片机课程设计 精品.docx_第1页
第1页 / 共24页
全自动洗衣机控制器设计单片机课程设计 精品.docx_第2页
第2页 / 共24页
全自动洗衣机控制器设计单片机课程设计 精品.docx_第3页
第3页 / 共24页
全自动洗衣机控制器设计单片机课程设计 精品.docx_第4页
第4页 / 共24页
全自动洗衣机控制器设计单片机课程设计 精品.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

全自动洗衣机控制器设计单片机课程设计 精品.docx

《全自动洗衣机控制器设计单片机课程设计 精品.docx》由会员分享,可在线阅读,更多相关《全自动洗衣机控制器设计单片机课程设计 精品.docx(24页珍藏版)》请在冰豆网上搜索。

全自动洗衣机控制器设计单片机课程设计 精品.docx

全自动洗衣机控制器设计单片机课程设计精品

宁波理工学院

单片机大作业(论文)

 

题目全自动洗衣机控制器设计             

姓名xxx

学号xxxx

专业班级xx

指导教师xx

学院xx

完成日期xx

摘要

现如今,随着科技的发展和生活质量的提高,全自动洗衣机在很多家庭中已经变得很常见,它是一种同时具有洗涤、漂洗和脱水等功能,且它们之间的转换不用手工操作而能知道进行的洗衣机。

同时,随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中。

单片机以体积小、功能全、价格低廉、开发方便的优势得到了许多电子系统设计者的青睐,它适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等。

本文以AT89S51单片机为核心,设计了全自动洗衣机控制系统。

本系统实现了对洗衣机整个洗衣过程的控制,包括用户设定、洗衣、脱水和结束四个阶段。

控制系统主要数字控制电路模块构成。

数字控制电路负责控制洗衣机的工作过程,主要由AT89S51单片机、两位共阳数码管、按键、蜂鸣器、LED指示灯组成。

本系统的电路设计相对简单,给AT89S52单片机烧录软件程序hex文件后,便能够实现全自动洗衣机的基本功能,具有一定的实用性。

关键词:

AT89C51;控制系统;LED;伟福仿真软件

 

 

目录

 

摘要I

第1章概述3

1.1全自动洗衣机控制系统设计的目的及意义3

1.2国内外现状及未来趋势3

1.3本文工作4

第2章全自动洗衣机控制原理5

2.1全自动洗衣机控制原理图5

2.2全自动洗衣机控制各部件的使用方式及功能5

2.2.1引脚5

2.2.2复位电路7

2.2.3时钟电路8

2.2.4显示电路9

2.2.5按键电路11

2.2.6蜂鸣器电路12

第3章全自动洗衣机控制器软件设计12

3.1软件设计系统整体功能描述12

3.2系统流程图13

3.3定时控制流程14

3.4显示流程14

第4章实验仿真结果15

第5章总结与展望16

参考文献17

附录18

致谢22

 

第1章概述

1.1全自动洗衣机控制系统设计的目的及意义

随着技术的进步,单片机以集成度高、运算速度快、体积小、运行可靠、价格低廉等特点,在过程控制、数据采集、机电一体化、智能化、家用电器及网络技术等方面得到了广泛的应用。

目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高,目前的洗衣机主要由强弱洗涤功能、进排水系统故障自动诊断等几大功能,、在许多方面还不能达到人们的需求。

这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实。

目前的洗衣机厂家大多数都只注重各自的特长,重点突出一两个与其他厂家不同的个性化的功能,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。

基于单片机的自动洗衣机控制系统具有精度高、功能强、经济性好的特点。

无论在提高产品质量还是产品数量,节约能源还是改善劳动条件等方面都显示出无比的优越性,为进一步了解单片机的设计方法和不同领域的应用方法,进行本次设计,所以本次设计具有重大意义。

1.2国内外现状及未来趋势

自19世纪中期,美国人史密斯研制出世界上首台洗衣机至今,已过去了一个多世纪。

对于洗衣机的研究国内外的研究重点和方向也有所不同。

1910年世界上第一台洗衣机问世。

1922年世界上第一台搅拌式洗衣机在美国诞生。

1937年世界上第一台全自动滚筒式洗衣机投放市场。

1957年三洋公司推出世界上第一台涡流式波轮洗衣机。

20世纪60年代以后,洗衣机在一些发达国家开始普及,70年代,日本生产出波轮式套筒全自动洗衣机。

90年代,又诞生了各种新水流洗衣机,20世纪末到21世纪初,变频洗衣机问世,使洗衣机的功能更具人性化,实现真正意义上的智能化控制,成为目前人们研究的主要方向。

1.3本文工作

本次设计的主要内容安排如下:

1.主要任务:

设计一个以51单片机为核心的洗衣机控制系统,通过51单片机作为主控制器,分别控制扩展的外部电路,比如:

led灯指示电路、按键控制电路、蜂鸣器电路以及数码管显示电路。

从而完成一个洗衣机控制系统。

2.主要功能

2.1标准洗涤:

整个过程设定为50分钟,浸泡6分钟,漂洗和洗涤35分钟:

脱水9分钟。

2.2水位选择功能(节能考虑),通过按钮选择水位,三种水位状态:

高、中、地。

基本满足用户需求。

2.3有暂停按钮控制:

工作时按此按钮暂停,并再次按钮恢复洗衣过程。

2.4有指示灯提示,水位指示灯一直亮着,高低水位分别设置不同盏数的led灯。

不同的过程也有相应的指示灯指示,比如浸泡时第一盏指示灯一直亮着,漂洗和洗涤时第二盏指示灯一直亮着,脱水时第三盏指示灯亮着,结束时,第四盏指示灯一直亮着。

2.5蜂鸣器报警提醒,洗涤完成后,蜂鸣器间断响十次提醒用户洗衣完成,人性化设计。

3.设计主控板模块硬件电路

1.1芯片型号:

AT89C51

1.2设计硬件原理路

1.3用protues软件绘制电路图

4.编写软件程序

4.1用VW(伟福)仿真软件编写程序

5.对软件、硬件进行调试

第2章全自动洗衣机控制原理

本次设计,系统将采用AT89C51芯片。

它是一种4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。

其最大特点是片内含有Flash存储器,Flash存储器是一种可以电擦除和电写入的闪速存储器,在系统的开发过程中可以十分容易地对程序进行修改。

并且51系列单片机主要由运算器、控制器、定时器/计数器、存储器、串/并行I/O口中断控制系统、时钟电路和总线等工作部件组成。

在此次设计中都能很好地满足需求。

2.1全自动洗衣机控制原理图

2.2全自动洗衣机控制各部件的使用方式及功能

2.2.1引脚

AT89C51单片机作为控制部件,共有40个引脚,如图2-1所示,以下是各个引脚的功能:

图2-1

1.输入/输出口线

P0.0~P0.7P0口的8位双向口线。

P1.0~P1.7P1口的8位双向口线,内部具有上拉电阻。

P2.0~P2.7P2口的8位双向口线,内部具有上拉电阻。

P3.0~P3.7P3口的8位双向口线,内部具有上拉电阻。

第二功能见表2-1

表2-1

2.控制信号线

PSEN——外部程序存储器读选通信号:

在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。

EA/VPP——访问程序序存储器控制信号。

ALE——地址锁存控制信号。

RST——复位信号:

当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。

3.电源外部晶振引脚

VCC——电源电压输入引脚

GND——电源地

XAL1、XTAL2——外部晶振引脚

2.2.2复位电路

显而易见,复位电路的作用是复位。

在单片机接上电源以后,或电源出现过低电压时,将单片机存储器复位,使其各项参数处于初始位置,即处于开机时的标准程序状态,以消除由于某种原因的程序紊乱。

单片机的复位电路有上电复位电路和按键式复位电路。

上电复位电路——利用电容器充电来实现复位。

当加电时,电容上的电压不能突变,RST引脚为高电平,开始复位;电容C不断充电,电阻R上的压降逐步下降,当电容C充满电后,电路相当于开路,复位结束。

可见复位的时间与充电的时间有关,充电时间越长复位时间越长,增大电容或电阻都可以增加复位时间。

按键式复位电路——它的上电复位功能与上电复位电路相同,但还可以通过按键实现复位。

按下按键后,通过两个电阻分压,使RST端产生高电平。

按键按下的时间决定了复位的时间。

单片机的复位是靠外部电路实现的,在本次设计中采用了按键式复位,如图2-2所示:

图2-2

2.2.3时钟电路

单片机工作时,是在统一的时钟脉冲控制下有序进行的。

这个脉冲是由时钟电路产生的。

时钟电路由振荡器和分频器组成,振荡器产生基本的振荡信号,然后进行分频,得到相应的时钟、振荡电路有两种方式:

内部振荡和外部振荡。

内部振荡方式——单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

把放大器与作为反馈元器件的晶体振荡器和陶瓷电容连接,就构成了自激振荡器,其输出就是时钟脉冲。

外部振荡方式——把外部已有的时钟信号引入单片机内。

对于CHMOS型单片机,XTAL1接片外振荡脉冲输入端,XTAL2悬空。

本次设计使用的是内部振荡方式,频率为11.0592MHz的晶振,如图2-3

图2-3

2.2.4显示电路

显示模块由发光二级管和LED数码管组成。

1.LED是发光二级管英文名陈的缩写。

本次设计中用3个发光二极管来表示洗衣机的工作状态:

浸泡、洗涤、脱水。

分别与单片机的P1口的3个I/O口和P3口的4个I/O口连接,如图2-4所示。

当发光二极管的负极所对应的P1口为低电平时,发光二极管导通。

图2-4

2.LED数码管是由发光二级管构成的,本次设计只是显示时间,所以采用LED数码管即可。

且两个LED显示器分别接在P0口和P2口。

如图2-5所示:

图2-5

(1)LED数码管结构

常用的LED数码管是七段LED数码管,由八个发光二级管组成,其中a~g段位代码显示段,可显示不同的数字或字符,dp为小数点。

LED数码管分为共阴极和共阳极两种。

共阴极LED数码管的公共端为发光二极管阴极,通常接地。

当发光二级管的阳极为高电平时,发光二级管点亮。

共阳极的LED数码管的公共端为发光二级管的阳极,通常接+5V电源。

当发光二级管的阴极为低电平时,发光二级管点亮。

本次设计采用的是共阴极的LED数码管。

(2)LED数码管工作原理

因为本次设计为共阳极的LED数码管,为此以共阳极的LED数码管来说明LED数码管工作原理。

当显示数字“0”时,只要a、b、c、d、e、f段亮,g段不亮,即a、b、c、d、e、f段的阳极上加低电平,g段的阳极加上高电平,公共阳极接低电平,则数码管显示“0”。

如果加到各段上的代码不同,则数码管就可显示不同的字符和数字。

2.2.5按键电路

按键式单片机应用系统中最常用的输入部件。

按键与单片机的连接电路如图2-6所示。

当按键被按下时,P3.0、P3.2、P3.3引脚的电平由“1”变为“0”;松开后,则恢复为原来的电平“1”。

所以,P3.0、P3.2、P3.3引脚的电压变化就反映了按键的通断状态。

为了确保单片机对按键的一次动作仅作一次处理,必须去除抖动,即只在按键状态稳定时读取按键状态。

去抖动的方法有硬件和软件两种方法。

硬件法——硬件方法去抖动常用电路时用两个与非门构成一个RS触发器。

当按键未被按下时,触发器输出为“1”。

当按键按下时,输出为“0”。

此时即使由于按键的机械弹性,因抖动产生瞬间断开,只要按键不返回原始状态,双稳态电路的状态就不改变,输出保持为“0”,不会产生抖动。

所以,经RS触发器输出的电平便不再受按键抖动的影响。

软件法——在单片机检测到有按键按下时,执行一个10ms左右的延时后,再次检测按键是否仍闭合,如果仍闭合,则确认为有按键按下,否则重新检测。

图2-6

2.2.6蜂鸣器电路

蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它。

如图2-7所示,由于P3口使用第三功能,一直处于高电平状态,因此使用以往的方式并不适用,这里将三极管的基极和集电极接高电平,发射极接蜂鸣器,并将蜂鸣器的另一引脚接P3.2口,三极管一直处于导通状态,当接收到P3.2口的低电平时,蜂鸣器的电流形成回路,便响起。

我们可以通过程序控制P3.2口的电平来使蜂鸣器发出声音和关闭。

程序中改变单片机P3.2引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生不同音色、音调的声音。

图2-7

第3章全自动洗衣机控制器软件设计

3.1软件设计系统整体功能描述

(1)通过程序来完成洗衣过程的全自动功能

(2)设置用户对水位需求的选择功能

(3)完成对洗衣过程的定时控制功能

(4)设置数码管时间显示功能

(5)完成对洗衣的暂停功能

(6)完成对洗衣过程结束蜂鸣器发声提醒

3.2系统流程图

软件设计是通过汇编语言来实现的,其主程序流程图如下图3-1所示,由开始进入主程序初始化,程序就自动进入水位选择过程,,水位选择后,通过按键进入洗衣流程,并调用数码管开始计时,相应状态的指示灯亮,自动进入浸泡、洗涤﹑脱水过程,在洗衣过程中可用P3.3口按键来暂停洗衣。

当洗衣结束时,数码管倒计时结束,关闭数码管,蜂鸣器响十声,指示灯显示。

图3-1

 

3.3定时控制流程

前面有讲了洗衣定时控制的硬件设计,下面就介绍其软件设计,程序主要是

用定时计数器T0来完成的,程序运行后,判断开关P3.3是否按下,没按下,则继续,若按下,则程序暂停,,再次按下,程序继续执行。

其程序流程图如下图3-2所示,其程序代码见附录。

图3-2

3.4显示流程

本次设计定时器/计数器的工作方式为工作方式1,即TMOD为01,此时TLX和THX组成16位定时器/计数器。

其程序流程图如下图3-3所示,其程序代码见附录。

 

图3-3

 

第4章实验仿真结果

本次实验成功的完成了数码管显示、定时控制、蜂鸣器报警等功能。

调试分析主要为PROTUES模拟仿真调试,在调试中找出错误、缺陷。

判断各种故障,并作出相应的修改。

最后,本人完成了实验仿真,具体如图4-1所示

图4-1

第5章总结与展望

在此次大作业设计过程中,遇到许多问题,比如汇编语言的不熟悉,指令使用不灵活,proteus仿真出错等。

我都会通过翻阅资料和咨询同学来解决。

在此次设计中,我也明白和学会了很多,特别是在完成报告格式上,由于x老师的特别要求和对我们的严格要求,我们这次的报告是严格按照毕业设计的报告格式完成,为今后做好准备。

全自动洗衣机控制设计,让我对今年所学的单片机课程有了很好的掌握,对于一些指令也比较熟悉,并且在课程设计当中有很好的体现,希望通过这次和以后的实践,渐渐地对今后的毕业设计有所帮助。

参考文献

[1]李林功,单片机原理及应用,北京:

科学出版社,2011

[2]何熙文.Intel8XC196MC/MD高档单片机原理及实用设计.大连理工大学出版社,1995

[3]陈治明.电力电子器件基础.北京:

机械工业出版社,1992

[4]李杏春等.8098单片机原理及实用接口技术。

北京航空航天大学出版社,1996.5

[5]邵丙衡.现代电力电子技术基础.北京:

中国铁道出版社,1995

附录

(1)设计原理图

(2)程序代码

TIMEEQU50H

ORG0000H

LJMPSTART

ORG0003H

LJMPINT0

ORG000BH

LJMPLED0

ORG0013H

LJMPINT1

ORG0030H

START:

MOVSP,#60H

MOVTIME,#51;分

MOVR3,#51

MOVR4,#20;1s=50ms*20

MOVR2,#51

MOVR5,#00

movTH0,#3CH;50ms到,更改星期、时、分、秒的值

MOVTL0,#0B0H

MOVTMOD,#01H

SETBTR0;启动定时器、中断初始化定时时间50ms

SETBET0;启动中断

SETBEA;启动总中断

SETBIE0

SETBEX0

SETBIE1

SETBEX1

SETBEA

MAIN:

CPLET0;关中断,在没有选择好状态和水位时关闭定时器

LCALLKEY

LJMPMAIN

;;;;;;;;;;;;;;;水位选择之后跳出KEY函数;;;;;;;;;;;;;;;;;;;;;;;;;;;;

INT0:

;p3.2=0时进入外部中断0。

SETBET0

RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;暂停功能;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

INT1:

;p3.3=0时进入外部中断0。

JBP3.3,$;p3.3=0时跳转。

CPLET0;关中断

LCALLDELAY

JnBP3.3,$

RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;判断水位;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KEY:

JBP3.0,LP0

INCR5

CJNER5,#04H,LP0

MOVR5,#00H

LP0:

JNBP3.0,$;//没有按下

CJNER5,#00,LP1

;MOVP1,#0FFH

SJMPKEY

LP1:

CJNER5,#01,LP2;//按1下表示高水位

MOVP1,#0F8H

SJMPKEY

LP2:

CJNER5,#02,LP3;//按2下表示中水位

MOVP1,#0F9H

SJMPKEY

LP3:

CJNER5,#03,KEY;//按3下表示低水位

MOVP1,#0FBH

SJMPKEY

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;定时器中断函数;;;;;;;;;;;;;;;;;;;;;

LED0:

MOVTH0,#3CH;重置初始值

MOVTL0,#0B0H

DJNZR4,OUT;20次(1s)计数完成

MOVR4,#20;重新给R4赋初值

MOVA,TIME

DECA;时间减1

MOVTIME,A

MOVR1,A

LCALLDISP;数码管显示

CJNER2,#44,LOOP;若R2不等于44,进入LOOP,否则继续

MOVR2,#44;

DECR3;

CJNER3,#9,LOOP1;若R2不等于9,进入LOOP,否则继续

MOVR3,#10;

CJNER1,#0,LOOP2;若R2不等于0,进入LOOP,否则继续

LOOP:

MOVP3,#0EFH;洗衣机开始,进入浸泡状态,时间最长,亮4个

DECR2

DECR3

CJNER2,#44,IN1;

LOOP1:

MOVP3,#0DFH;进入漂洗状态,亮3个

CJNER3,#9,IN1;

LOOP2:

MOVP3,#0BFH;进入脱水状态,亮2个

CJNER1,#00,IN1;

IN1:

CJNER1,#00,OUT;

MOVP3,#7FH;洗衣完成状态,亮1个,提示用户洗衣已完成

CPLET0;关中断,停止计时

MOVP2,#0FFH;关掉数码管

MOVP0,#0FFH

MOVA,#20

LCALLCYCLE

OUT:

RETI

CYCLE:

CJNEA,#00,R

SJMP$

R:

CPLP3.1;激活蜂鸣器,洗衣完成

LCALLDELAY

DECA

SJMPCYCLE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;数码管显示;;;;;;;;;;;;;;;;;;;;;;;

DISP:

MOVA,TIME

MOVB,#10

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR;查段码表

MOVP0,A

MOVA,B

MOVDPTR,#TAB

MOVCA,@A+DPTR;查段码表

MOVP2,A

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;延时程序;;;;;;;;;;;;;;;;;;;;;;;;;

DELAY:

MOVR5,#2

DELAY1:

MOVR6,#200

DELAY2:

MOVR7,#200

DJNZR7,$

DJNZR6,DELAY2

DJNZR5,DELAY1

RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;共阳级数码管数字表;;;;;;;;;;;;;;;;;;;;;;;;

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H;段码表

;01234567对应内容

DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH

;89ABCDEF

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

end

致谢

通过这次大作业设计,我找到了自己的不足,希望在以后的工作生活中不断改进,努力提高自己的知识和综合素质。

在这里,我要衷心感谢我的指导老师——李林功,李老师平日里对我们谆谆教导,教我们为人处事,在各个方面都给予我很大帮助,感谢他的耐心,感谢他孜孜不倦的教诲。

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1