微机原理课程设计全自动洗衣机.docx

上传人:b****1 文档编号:2177081 上传时间:2023-05-02 格式:DOCX 页数:27 大小:570.75KB
下载 相关 举报
微机原理课程设计全自动洗衣机.docx_第1页
第1页 / 共27页
微机原理课程设计全自动洗衣机.docx_第2页
第2页 / 共27页
微机原理课程设计全自动洗衣机.docx_第3页
第3页 / 共27页
微机原理课程设计全自动洗衣机.docx_第4页
第4页 / 共27页
微机原理课程设计全自动洗衣机.docx_第5页
第5页 / 共27页
微机原理课程设计全自动洗衣机.docx_第6页
第6页 / 共27页
微机原理课程设计全自动洗衣机.docx_第7页
第7页 / 共27页
微机原理课程设计全自动洗衣机.docx_第8页
第8页 / 共27页
微机原理课程设计全自动洗衣机.docx_第9页
第9页 / 共27页
微机原理课程设计全自动洗衣机.docx_第10页
第10页 / 共27页
微机原理课程设计全自动洗衣机.docx_第11页
第11页 / 共27页
微机原理课程设计全自动洗衣机.docx_第12页
第12页 / 共27页
微机原理课程设计全自动洗衣机.docx_第13页
第13页 / 共27页
微机原理课程设计全自动洗衣机.docx_第14页
第14页 / 共27页
微机原理课程设计全自动洗衣机.docx_第15页
第15页 / 共27页
微机原理课程设计全自动洗衣机.docx_第16页
第16页 / 共27页
微机原理课程设计全自动洗衣机.docx_第17页
第17页 / 共27页
微机原理课程设计全自动洗衣机.docx_第18页
第18页 / 共27页
微机原理课程设计全自动洗衣机.docx_第19页
第19页 / 共27页
微机原理课程设计全自动洗衣机.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理课程设计全自动洗衣机.docx

《微机原理课程设计全自动洗衣机.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计全自动洗衣机.docx(27页珍藏版)》请在冰点文库上搜索。

微机原理课程设计全自动洗衣机.docx

微机原理课程设计全自动洗衣机

 

微机原理课程设计

 

第一章设计内容及要求

1.1设计内容及要求

选用8086和适当的存贮器及接口芯片完成

1、六挡水位显示(50、45、40、35、30、25升);五档洗衣时间(18、15、12、9、6分钟);三档清洗(3、2、1分钟)、五档脱水(6、5、3、2、1分钟);两位数码管显示总时间;有上电、启动和暂停按钮。

2、工作顺序:

插上电源各档均在最大值,选择各档的按钮可以依次向下调节档位,然后按下启动按钮洗衣机按设定的程序进行工作。

3、开始数码管显示为总的洗衣所用时间,在洗衣机工作时,数码管显示的时间为洗衣所剩时间。

4、为了安全起见,当洗衣机盖打开时,洗衣机停止工作,在洗衣机盖关闭后,在继续进行工作。

5、洗衣机可根据水位和工作要求自动进行开启和关闭水阀。

1.2课程设计的要求

设计出电路原理图,说明工作原理,编写程序及程序流程图。

第二章系统的总体设计方案

2.18086对全自动洗衣机进行控制的主要分析

图1全自动洗衣机示意图

输入设备主要有电源按钮、启动按钮、水位选择、水位开关、排水按钮、及脱水按钮。

输出设备主要有电源指示灯、水位选择按钮信号灯、进水电磁阀、洗涤电动机正转接触器、排水电磁阀、脱水离合器及蜂鸣器等。

2.2设计思想

首先构思系统的总体结构,根据设计要求确定好系统大致的硬件组成及其结构,其次根据系统的各个功能把软件分成几个不同的模块,依次实现各个模块的功能,最后把各个模块组合起来完成整个系统的功能。

图28086CPU内部结构框图

在这个系统中8086作为整个系统的主控芯片,用来控制协调整个系统的工作。

3.2.38284的功能介绍

为8086CPU提供外部的基准时钟信号,并把时钟信号进行功率放大。

3.2.474LS138的功能介绍

74LS138为3线—8线译码器,共有54/74S138和54/74LS138两种线路结构形式。

其功能表如图所示,引脚分配如图所示:

表一74LS138的功能表

图374LS138的引脚分配图

3.2.48255的功能简介

8255的功能介绍如下:

1.Intel8255A是一个通用的可编程的并行接口芯片,内部有2个8位I/O口(A、B),两个4位I/O口(PC7~4、PC3~0).

2.通过编程可设置3种工作方式,可适用于CPU与I/O设备之间的多种数据传送方式的要求。

3.C口可作为数据口,可作为信号线(CPU与I/O设备之间的应答信号),可作为状态口,可按位置位/复位。

4.价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。

8255的内部结构如图:

图48255的内部结构图

8255的引脚分配

1.引脚(40DIP)

(1)D0~D7:

8位,双向,三态数据线,用来与系统数据总线相连;

(2)端口A、B、C:

PA0~PA7(A组数据信号,用来连接外设);PB0~PB7(B组数据信号,用来连接外设);PC0~PC7(C组数据信号,用来连接外设或者作为控制信号)。

(3)CS、RESET、WR、RD、A1、A0(内部4个端口)。

(4)VCC、GND。

8255A的工作方式:

8255A有三种工作方式,用户可以通过编程来设置。

方式0――简单输入/输出――查询方式;A,B,C三个端口均可。

方式1――选通输入/输出――中断方式;A,B,两个端口均可。

方式2――双向输入/输出――中断方式。

只有A端口才有。

工作方式的选择可通过向控制端口写入控制字来实现。

3.2.5AD0809的功能简介

1.ADC0809是8位逐次逼近型A/D转换器,它由一个八路模拟开关,一个地址译码器,一个A/D转换器和一个三态输出所存器组成,多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换,三态输出用于锁存A/D转换完的数据,当OE端为高电平时,才可以从三态输出锁存器取走转换完成的数据。

2.AD0809的工作原理

IN0-IN7:

8条模拟量输入通道

ADC0809对输入模拟量要求:

信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入端前加采样保持电路。

地址输入和控制线:

4条

ALE为地址锁存允许输入线,高电平有效,当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量通过转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通道选择表如下表所示。

C

B

A

选择的通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

数字量输出及控制线:

11条

ST为转换启动信号。

当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在跳转期间,ST应保持低电平,EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则表明正在进行A/D转换,OE为输出允许信号,用于控制三条输出锁存器想单片机输出转换得到的数据,OE=1,输出转换得到的数据‘OE=0输出数据线呈高阻状态。

D7-D0为数字量输出线CLK为时钟输入信号线,因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常频率为500KHZ。

VREF(+),VREF(-)为参考电压输入。

3.2.6DAC0832芯片的功能简介

DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。

所以这个芯片的应用很广泛,DAC0832 D/A转换结果采用电流形式输出。

若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。

运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。

DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。

DAC0832的引脚如图

图5DAC0832的引脚图

3.2.774LS02芯片简介

四2输入或非门(OC)其引脚如图所示,功能表如图所示

图674LS02的引脚图

图774LS02的功能表

3.2.8LM324芯片功能简介

LM324系列器件为价格便宜的带有真差动输入的四运算放大器。

与单电源应用场合的标准运算放大器相比,它们有一些显著优点。

该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。

共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。

它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。

两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。

LM324的引脚排列见图。

图8LM324引脚图

3.3硬件电路设计系统原理图及其说明

图9系统总体框架

在具体实践中,因硬件资源的限制有所调整,比如有些电路采用其他电路来模拟,进水部分有电位器来模拟,电机驱动用直流系统来模拟。

3.4系统的电路图

图10系统电路图

第四章软件设计

4.1程序流程

软件可分为10个模块:

主程序、键盘扫描子程序、参数设置子程序、延时子程序、显示子程序、进水子程序、排水子程序、甩干子程序、停止子程序、开机延时保护子程序。

其中进水、洗衣、排水为一次洗衣的三个不同状态、由相应的子程序来控制电机的运动和进水排水,流程图如图11所示。

 

 

4.2源程序及其说明

CODESEGMENT

ASSUMECS:

CODE

WASHTIMEDW20H

WASHTYPEDW08H

ONTIMEDW00H

TIMEDW0

ADPORTEQU0010H

ORG1000H

IOCONPTEQU0FF2BH

IOAPTEQU0FF28H

IOBPTEQU0FF29H

IOCPTEQU0FF2AH

ORG10A0H

MAINPROC

MOVAL,01H

CALLCONVERS

CALLDISP

CALLKEY

MOVDL,10

MULDL

MOVWASHTIME,AX

CALLKEY

CBW

ADDWASHTIME,AX

K1:

MOVAL,02

CALLCONVERS

CALLDISP

CMPAL,2

JAK1

CMPAL,1

JBK1

CMPAL,1

JERUOX1

CMPAL,2

JEQIANGXI

RUOX:

MOVWASHTYPE,08H

JMPNEXT

QIANGXI:

MOVWASHTYPE,0FH

NEXT:

MOVAL,03

CALLCONVERS

CALLDISP

CALLKEY

MOVDL,10

MULDL

MOVONTIME,AX

CALLKEY

CBW

ADDONTIME,AX

MOVCX,ONTIME

LOOPK2

K2:

CALLDELAY

ADDAX,WASHTIME

ADDAX,WASHTIME

ADDAX,WASHTIME

MOVTIME,AX

CALLSTEP1;洗衣

MOVCX,WASHTIME

LOOPWASH

CALLSTEP3

CALLSHUAIGAN

CALLSTEP1;漂洗

MOVCX,WASHTIME

LOOPWASH

CALLSETP3

CALLSHUAIGAN

CALLSTEP1;漂洗

MOVCX,WASHTIME

LOOPWAHS

CALLSTEP3

CALLSHUANGAN

CALLSTOP

JMPMAIN

MAINENDP

;////////////////////////////////////////////

WASHPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVDX,DAPORT

DACON1:

MOVAL,0FFH

OUTDX,AL

MOVCX,WASHTYPE

LOOPW1

W1:

CALLDELAY

DACON2:

MOVAL,80H

OUTDX,AL

MOVCX,8H

LOOPW2

W2:

CALLDELAY

DACON23:

MOVAL,00H

OUTDX,AL

MOVCX,WASHTYPE

LOOPW3

W3:

CALLDELAY

MOVAL,80H

OUTDX,AL

MOVCX,8H

LOOPW4

W4:

CALLDELAY

DECTIME

MOVAX,TIME

CALLCONVERS

CALLDISP

POPDX

POPCX

POPBX

POPAX

RET

WASHENDP

;//////////////////////////////////////

SETP1PROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

ADCONTROL:

CALLFORMAT

ADCON:

MOVAX,00

MOVDX,ADPORT

MOVDX,ADPORT

INAL,DX

PUSHAX

CALLCONVERS

CALLDISP

POPAX

CMPAL,0EEH

JAELA

CALLJINSHUI

LA:

MOVDX,IOCONPT;水满,关水

MOVAL,89H

OUTDX,AL

MOVDX,IOCPT

INAL,DX

ANDAL,0FEH

PUSHAX

MOVDX,ICONPT

MOVAL,80H

OUTDX,AL

MOVDX,IOCPT

POPAX

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

RET

STEP1ENDP

;//////////////////////////////////////

JINSHUIPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVDX,IOCONPT

MOVAL,89H

OUTDX,AL

MOVDX,IOCPT

INAL,DX

ORAL,01H

PUSHAX

MOVDXIOCPT

MOVAL,80H

OUTDX,AL

MOVDX,IOCPT

POPAX

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

JMPADCON

JINSHUIENDP

;//////////////////////////////////////

CONVERS:

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVAH,AL

ANDAL,0FH

MOVBX,077AH

MOVDS:

[BX],AL

POPDX

POPCX

POPBX

POPAX

RET

DISP:

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVDX,077FH

MOVAH,20H

DISP0:

MOVCX,00FFH

MOVBX,DX

MOVBL,DS:

[BX]

MOVBH,0H

PUSHDX

MOVDX,0FF22H

MOVAL,CS:

[BX+1060H]

OUTDX,AL

MOVDX,0FF21H

MOVAL,AH

OUTDX,AL

DISP1:

LOOPDISP1

POPDX

DECDX

SHRAH,01H

JNZDISP0

MOVDX,0FF22H

MOVAL,OFFH

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

RET

DATA1:

DB0C0H,0F9H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0AH

DB86H,0FFH,0CH,89H,0DEH,0C7H,8CH,0F3H,0BFH

FORMAT:

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVBX,0

MOVWORDPTRDS:

[BX+077AH],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+077AH],0009H

ADDBX,2

MOVWORDPTRDS:

[BX+077AH],0008H

POPDX

POPCX

POPBX

POPAX

RET

;///////////////////////////////////////////////

STEP3PROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

ADCON1TORL:

CALLFORMAT

ADCON1:

MOVAX,00

MOVDX,ADPORT

OUTDX,AL

MOVCX,0500H

DELAYSS:

LOOPDELAYSS

MOVDX,ADPORT

INAL,DX

PUSHAX

CALLCONVERS

CALLDISP

POPAX

CMPAL,08H

JBELAA

CALLPAISHUI

LAA:

MOVDX,IOCONPT;停止排水

MOVAL,89H

OUTDX,IOCPT

INAL,DX

ANDAL,0FDH

PUSHAX

MOVDX,IOCONPT

MOVAX,80H

OUTDX,AL

MOVDX,IOPT

POPAX

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

SETP3ENDP

;////////////////////////////////

PAISHUIPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVDX,IOCONPT

MOVAL,89H

OUTDX,AL

MOVDX,IOCPT

INAL,DX

ORAL,02H

PUSHAX

MOVDX,IOCONPT

MOVAL,80H

OUTDX,AL

MOVDX,IOCPT

POPAX

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

JMPADCON1

PAISHUIENDP

;//////////////////////////

SHUAIGANPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVDX,DAPORT

MOVAL,0FFH

OUTDX,AL

MOVCX,08H

LOOPSHUAI

SHUAI:

CALLDELAY

MOVDX,AL

POPDX

POPCX

POPBX

POPAX

RET

SHUAIGANENDP

;///////////////////

DELAY:

POPDX

POPCX

POPBX

POPAX

MOVCX,0FFFFFH

DELAY1:

LOOPDELAY1

PUSHAX

PUSHBX

PUSHCX

PUSHDX

RET

;//////////////////////////////////

STOPPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVCX,0FFFFFH

LOOPDE

DE:

CALLDELAY

POPDX

POPCX

POPBX

POPAX

RET

STOPENDP

;////////////////////////////////

KEY:

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVAL,0FFH

MOVDX,0FF22H

OUTDX,AL

MOVBL,00H

MOVAH,0FEH

MOVCX,08H

KEY1:

MOVAL,AH

MOVDX,0FF21H

OUTDX,AL

SHLAL,01H

MOVAH,AL

NOP

NOP

NOP

NOP

NOP

MOVDX,0FF23H

INAL,DX

NOTAL

NOP

NOP

NOP

ANDAL,0FH

JNZKEY2

INCBL

LOOPKEY1

JMPKEY

KEY2:

TESTAL,01H

JEKEY3

MOVAL,00H

JMPKEY6

KEY3:

TESTAL,02H

JEKEY4

MOVAL,08H

JMPKEY6

KEY4:

KEY2:

TESTAL,04H

JEKEY5

MOVAL,10H

JMPKEY6

KEY5:

TESTAL,08H

JEKEY

MOVAL,18H

KEY6:

ADDAL,BL

CMPAL,10H

JNCFKEY

MOVBL,AL

MOVBH,0H

MOVAL,NYTEPTRDS:

[BX+DATA2]

POPDX

POPCX

POPBX

POPAX

FKEY:

RET

DATA2:

DB07H,04H,08H,05H,09H,06H,0AH,0BH

DB01H.00H,02H,0FH,03H,0EH,0CH,0DH

CODEENDS

ENDMAIN

第五章系统调试与使用

在软件编译连接后就开始对整个系统进行调试,包括软件和硬件部分,在我们调试的过程中,遇到的最大困难是软件部分的调试,因为我们在写程序的过程中,受到一些高级语言编程思想的影响,比如从上至下。

逐步细分的思想,在我们的程序中,系统被分成了好几个模块,每个模块都是有各自不同的子程序来完成,所以在程序部分,我们每个都进行了现场保护,但是我们在调试过程中发现,这些程序并不是想我们写高级语言那样,可以随意进行调用,比如我们在写程序中遇到的最大问题就是关于LOOP指令与CALL指令的混合使用,一般情况下,LOOP指令的调用格式如下:

MOVCX,10;将循环次数存入CX寄存器

LOP:

*;标号

LOOPLOP

而在我们自己的程序中,我们是想通过这条指令来控制DELAY的循环次数已达到对延时的控制,为此写了如下的代码:

MOVCX,10

LOP:

CALLDELAY

LOOPLOP

尽管我们在DELAY函数中用了PUSH与POP指令将各个寄存器入栈及完成后出栈等操作,但是在实际的调试过程中系统并不是按照我们本来的意愿运行,究其原因,我们判断时系统在返回时除了问题,由于我们没有对ret指令做过多的研究,我们将程序改成:

MOVBX,10

LOP:

CALLDELAY

DECBX

JNZLOP

将修改后的程序进行运行,系统正常。

第六章收获体会

这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。

但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。

因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。

其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

通过这次课程

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2