数电课程设计报告自动洗衣机Word文件下载.docx

上传人:b****4 文档编号:7171185 上传时间:2023-05-08 格式:DOCX 页数:28 大小:296.38KB
下载 相关 举报
数电课程设计报告自动洗衣机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

注水

S4:

洗涤S5:

放水S6:

甩干S7:

结束

S8:

报警S9:

空状态S10:

时间设定的延时

3、按键:

拨码开关:

1:

复位(R)

2:

开始(START)

3:

开始甩干(START_SG)

4:

时间设定(SET-TIME)

5:

注水结束(IN_END)

6:

放水结束(OUT_END)

7:

8:

故障(GZ)

键盘:

SL+12:

SH+1

ML+1C:

MH+1

二、程序清单

1、主控制程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

ENTITYCONTROLLERis

PORT(CPIN,R,START,START_SHUAIGAN,SET_TIME,IN_END,OUT_END,GUZHANG:

INSTD_LOGIC;

MH:

INSTD_LOGIC_VECTOR(3DOWNTO0);

--分十位

ML:

--分个位

SH:

--秒十位

SL:

--秒个位

MHQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

MLQ:

SHQ:

SLQ:

SPEAKER,ERROR_LIGHT,DONE:

OUTSTD_LOGIC;

MODEL:

MOTOR:

OUTSTD_LOGIC_VECTOR(1DOWNTO0)

);

ENDENTITY;

ARCHITECTUREXYJOFCONTROLLERIS

SIGNALCPCT:

INTEGERRANGE0TO999999;

SIGNALCP,SPEAK:

STD_LOGIC;

SIGNALZT_N:

INTEGERRANGE0TO99;

SIGNALCNT:

SIGNALTMP1,TMP2,SGTime,RING_Time,ZTime,TMPTime:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALMODEL_S:

STD_LOGIC_VECTOR(3DOWNTO0);

TYPESTATESIS(S0,S1,S2,S3,S4,S5,S6,S7,S8,S9);

TYPES4STATESIS(P0,P1,P2,P3);

SIGNALS:

STATES;

SIGNALP:

S4STATES;

SIGNALMHT:

SIGNALMLT:

SIGNALSHT:

SIGNALSLT:

BEGIN

PROCESS(CPIN,R)

IFR='

1'

THEN

CPCT<

=249999;

ELSIFCPIN='

ANDCPIN'

EVENTTHEN

IFCPCT=0THEN

CP<

=NOTCP;

ELSE

=CPCT-1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CP,R)

S<

=S0;

TMP1<

=X"

1E"

;

TMP2<

3C"

SGTime<

28"

RING_Time<

TMPTime<

08"

ERROR_LIGHT<

='

0'

MODEL_S<

="

0000"

SPEAK<

DONE<

CNT<

=20;

MHT<

MLT<

SHT<

SLT<

ELSIFCP='

ANDCP'

CASESIS

WHENS0=>

MODEL_S<

S<

=S1;

ERROR_LIGHT<

SGTime<

TMPTime<

0011"

WHENS1=>

0001"

IFSET_TIME='

=S2;

ELSIFSTART='

=S3;

ELSIFSTART_SHUAIGAN='

=S6;

WHENS2=>

0010"

IFGUZHANG='

=S8;

MHT<

=MH;

MLT<

=ML;

SHT<

=SH;

SLT<

=SL;

-----------------------------------------时间设定

WHENS3=>

IFIN_END='

=S4;

----------------------------------------------注水

WHENS4=>

0100"

ELSIFMHT="

ANDMLT="

ANDSHT="

ANDSLT="

=S5;

ELSIFSLT="

ANDSHT="

ANDMLT="

IFCNT=0THEN

1001"

SHT<

0101"

=MHT-1;

=CNT-1;

=MLT-1;

=SHT-1;

=SLT-1;

---------------------------------------------洗涤

WHENS5=>

IFOUT_END='

----------------------------------------------放水

WHENS6=>

0110"

IFSGTime>

X"

00"

=SGTime-1;

=S7;

---------------------------------------------甩干

WHENS7=>

0111"

IFRING_Time>

RING_Time<

=RING_Time-1;

DONE<

=S9;

-----------------------结束,蜂鸣器响两秒,转入状态S9

WHENS8=>

1000"

--报警,蜂鸣器持续响

--故障排除,转入状态S9

WHENOTHERS=>

NULL;

ENDCASE;

PROCESS(MODEL_S)

MODEL<

=MODEL_S;

PROCESS(SPEAK)

SPEAKER<

=SPEAK;

PROCESS(CP,R,MHT,MLT,SHT,SLT)

P<

=P0;

ZTime<

14"

MOTOR<

ZT_N<

=03;

IFS=S4THEN

CASEPIS

WHENP0=>

=P1;

WHENP1=>

MOTOR<

01"

IFZT_N>

0THEN

IFZTime>

ZTime<

=ZTime-1;

ZT_N<

=ZT_N-1;

=P2;

=01;

WHENP2=>

10"

=P3;

=02;

WHENP3=>

11"

---------------执行左转3s,暂停1s,再右转2s

PROCESS(MHT,MLT,SHT,SLT)

MHQ<

=MHT;

MLQ<

=MLT;

SHQ<

=SHT;

SLQ<

=SLT;

ENDXYJ;

2、设置时间模块:

ENTITYdecoderIS

PORT(RESET:

START:

SET_TIME:

KEY:

INSTD_LOGIC_VECTOR(3DOWNTO0);

--KEY[3..0]分十分个秒十秒个

OUTSTD_LOGIC_VECTOR(3DOWNTO0)--秒个位

END;

ARCHITECTUREmOFdecoderIS

SIGNALEDIT:

PROCESS(START,RESET)--电路可输入状态设置

BEGIN

IFRESET='

EDIT<

='

ELSIFSTART'

EVENTANDSTART='

THEN--如果start按下将edit置0

PROCESS(RESET,KEY,EDIT)--手动设置时间

ELSIFEDIT='

ANDSET_TIME='

IFKEY(3)'

EVENTANDKEY(3)='

THEN--设置分的十位

IFMHT="

="

=MHT+1;

IFKEY

(2)'

EVENTANDKEY

(2)='

THEN--设置分的个位

IFMLT="

=MLT+1;

IFKEY

(1)'

EVENTANDKEY

(1)='

THEN--设置秒的十位

IFSHT="

=SHT+1;

IFKEY(0)'

EVENTANDKEY(0)='

THEN--设置秒的个位

IFSLT="

=SLT+1;

MH<

ML<

SH<

SL<

endm;

3、键盘转按键:

--CPIN时钟脉冲输入按10MHz设计;

复位R

entityPADTOKEYis

port(

CPIN,R,VALIDKEY:

KEY:

KEYOUT:

OUTSTD_LOGIC_VECTOR(15DOWNTO0);

CLK_1MHZ,RST:

OUTSTD_LOGIC

endentity;

architectureJGTofPADTOKEYis

SIGNALCTCP:

INTEGERRANGE0TO5;

SIGNALCPO:

SIGNALCTCPO:

INTEGERRANGE0TO4999;

TYPESTATESIS(S0,S1,S2);

SIGNALS:

begin

PROCESS(CPIN)

IFCPIN='

IFCTCP=5THEN

CPO<

=NOTCPO;

CTCP<

=0;

=CTCP+1;

PROCESS(CPO,R)

CLK_1MHZ<

=CPO;

RST<

CTCPO<

KEYOUT<

0000000000000000"

ELSIFCPO='

ANDCPO'

IFCTCPO/=4999THEN

CTCPO<

=CTCPO+1;

WHENS0=>

RST<

IFVALIDKEY='

CASEKEYIS

WHEN"

=>

KEYOUT<

0000000000000001"

0000000000000010"

0000000000000100"

0000000000001000"

0000000000010000"

0000000000100000"

0000000001000000"

0000000010000000"

0000000100000000"

0000001000000000"

1010"

0000010000000000"

1011"

0000100000000000"

1100"

0001000000000000"

1101"

0010000000000000"

1110"

0100000000000000"

1111"

1000000000000000"

NULL;

endarchitectureJGT;

4、LCD显示模块:

entityLCDis

port(CPIN,RESET,BUSY:

MH,ML,SH,SL:

MODL:

CLK,RST,STROBE,OUTLINE:

OUTSTD_LOGIC;

DATA:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

ADDR:

OUTSTD_LOGIC_VECTOR(3DOWNTO0)

architectureJGTofLCDis

TYPESTATESIS(S0,S1,S2,S3,S4);

SIGNALLCDPT:

INTEGERRA

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

当前位置:首页 > 人文社科 > 法律资料

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

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