全自动洗衣机控制器设计单片机课程设计 精品.docx
- 文档编号:10286781
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:24
- 大小:280.62KB
全自动洗衣机控制器设计单片机课程设计 精品.docx
《全自动洗衣机控制器设计单片机课程设计 精品.docx》由会员分享,可在线阅读,更多相关《全自动洗衣机控制器设计单片机课程设计 精品.docx(24页珍藏版)》请在冰豆网上搜索。
全自动洗衣机控制器设计单片机课程设计精品
宁波理工学院
单片机大作业(论文)
题目全自动洗衣机控制器设计
姓名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
致谢
通过这次大作业设计,我找到了自己的不足,希望在以后的工作生活中不断改进,努力提高自己的知识和综合素质。
在这里,我要衷心感谢我的指导老师——李林功,李老师平日里对我们谆谆教导,教我们为人处事,在各个方面都给予我很大帮助,感谢他的耐心,感谢他孜孜不倦的教诲。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全自动洗衣机控制器设计单片机课程设计 精品 全自动 洗衣机 控制器 设计 单片机 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)