微机原理课程设计全自动洗衣机Word文件下载.docx

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

微机原理课程设计全自动洗衣机Word文件下载.docx

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

微机原理课程设计全自动洗衣机Word文件下载.docx

8086的基本性能指标如下所示:

1.16位微处理器;

2.采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万只晶体管;

3.使用单一的+5V电源,40条引脚双列直插式封装(DIP);

4.时钟频率为5MHz~10MHz,基本指令执行时间为0.3ms~0.6ms

5.16根数据线和20根地址线,可寻址的地址空间达1MB

6.8086可以和浮点运算器、输入/输出处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。

图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

选择的通道

IN0

1

IN1

IN2

IN3

IN4

IN5

IN6

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

CBW

ADDWASHTIME,AX

K1:

MOVAL,02

CMPAL,2

JAK1

CMPAL,1

JBK1

JERUOX1

JEQIANGXI

RUOX:

MOVWASHTYPE,08H

JMPNEXT

QIANGXI:

MOVWASHTYPE,0FH

NEXT:

MOVAL,03

CALLCONVERS

CALLDISP

CALLKEY

MOVDL,10

MULDL

MOVONTIME,AX

CBW

ADDONTIME,AX

MOVCX,ONTIME

LOOPK2

K2:

CALLDELAY

ADDAX,WASHTIME

MOVTIME,AX

CALLSTEP1;

洗衣

MOVCX,WASHTIME

LOOPWASH

CALLSTEP3

CALLSHUAIGAN

CALLSTEP1;

漂洗

CALLSETP3

LOOPWAHS

CALLSHUANGAN

CALLSTOP

JMPMAIN

MAINENDP

;

////////////////////////////////////////////

WASHPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVDX,DAPORT

DACON1:

MOVAL,0FFH

OUTDX,AL

MOVCX,WASHTYPE

LOOPW1

W1:

DACON2:

MOVAL,80H

MOVCX,8H

LOOPW2

W2:

DACON23:

MOVAL,00H

LOOPW3

W3:

MOVAL,80H

LOOPW4

W4:

DECTIME

MOVAX,TIME

POPDX

POPCX

POPBX

POPAX

RET

WASHENDP

;

//////////////////////////////////////

SETP1PROC

ADCONTROL:

CALLFORMAT

ADCON:

MOVAX,00

MOVDX,ADPORT

INAL,DX

CMPAL,0EEH

JAELA

CALLJINSHUI

LA:

MOVDX,IOCONPT;

水满,关水

MOVAL,89H

MOVDX,IOCPT

ANDAL,0FEH

MOVDX,ICONPT

STEP1ENDP

JINSHUIPROC

MOVDX,IOCONPT

ORAL,01H

MOVDXIOCPT

JMPADCON

JINSHUIENDP

CONVERS:

MOVAH,AL

ANDAL,0FH

MOVBX,077AH

MOVDS:

[BX],AL

DISP:

MOVDX,077FH

MOVAH,20H

DISP0:

MOVCX,00FFH

MOVBX,DX

MOVBL,DS:

[BX]

MOVBH,0H

MOVDX,0FF22H

MOVAL,CS:

[BX+1060H]

MOVDX,0FF21H

MOVAL,AH

DISP1:

LOOPDISP1

DECDX

SHRAH,01H

JNZDISP0

MOVAL,OFFH

DATA1:

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

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

FORMAT:

MOVBX,0

MOVWORDPTRDS:

[BX+077AH],0000H

ADDBX,2

[BX+077AH],0009H

[BX+077AH],0008H

///////////////////////////////////////////////

STEP3PROC

ADCON1TORL:

ADCON1:

MOVCX,0500H

DELAYSS:

LOOPDELAYSS

CMPAL,08H

JBELAA

CALLPAISHUI

LAA:

停止排水

OUTDX,IOCPT

ANDAL,0FDH

MOVAX,80H

MOVDX,IOPT

SETP3ENDP

////////////////////////////////

PAISHUIPROC

ORAL,02H

JMPADCON1

PAISHUIENDP

//////////////////////////

SHUAIGANPROC

MOVCX,08H

LOOPSHUAI

SHUAI:

MOVDX,AL

SHUAIGANENDP

///////////////////

DELAY:

MOVCX,0FFFFFH

DELAY1:

LOOPDELAY1

//////////////////////////////////

STOPPROC

LOOPDE

DE:

STOPENDP

KEY:

PUSHAX

MOVBL,00H

MOVAH,0FEH

KEY1:

MOVAL,AH

SHLAL,01H

NOP

MOVDX,0FF23H

NOTAL

JNZKEY2

INCBL

LOOPKEY1

JMPKEY

KEY2:

TESTAL,01H

JEKEY3

MOVAL,00H

JMPKEY6

KEY3:

TESTAL,02H

JEKEY4

MOVAL,08H

JMPKEY6

KEY4:

TESTAL,04H

JEKEY5

MOVAL,10H

KEY5:

TESTAL,08H

JEKEY

MOVAL,18H

KEY6:

ADDAL,BL

CMPAL,10H

JNCFKEY

MOVBL,AL

MOVAL,NYTEPTRDS:

[BX+DATA2]

FKEY:

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的循环次数

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

当前位置:首页 > 农林牧渔 > 林学

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

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