洗衣机自动控制电路 数字逻辑课程设计.docx

上传人:b****4 文档编号:5406139 上传时间:2023-05-08 格式:DOCX 页数:11 大小:2.25MB
下载 相关 举报
洗衣机自动控制电路 数字逻辑课程设计.docx_第1页
第1页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第2页
第2页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第3页
第3页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第4页
第4页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第5页
第5页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第6页
第6页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第7页
第7页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第8页
第8页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第9页
第9页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第10页
第10页 / 共11页
洗衣机自动控制电路 数字逻辑课程设计.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

洗衣机自动控制电路 数字逻辑课程设计.docx

《洗衣机自动控制电路 数字逻辑课程设计.docx》由会员分享,可在线阅读,更多相关《洗衣机自动控制电路 数字逻辑课程设计.docx(11页珍藏版)》请在冰点文库上搜索。

洗衣机自动控制电路 数字逻辑课程设计.docx

洗衣机自动控制电路数字逻辑课程设计

《数字逻辑》

课程设计报告

 

题目:

洗衣机自动控制电路

 

目录

1设计任务书

2总体方案设计

2.1功能和逻辑需求分析

2.2总体方案设计

3单元模块设计

3.1分倒数单元电路设计

3.2秒倒数单元电路设计

3.4计数器单元电路设计

3.2状态译码器单元电路设计

3.5总体电路设计(画出总体电路图)

4电路调试与测试

4.1分倒数单元模块

4.2秒倒数单元模块

4.3计数器单元模块

4.4状态译码器单元模块

4.5全部器件

5总结

 

1设计任务书

洗衣机自动控制电路

为洗衣机设计一控制电路,当洗衣机控制开关打开后,电动机先正转20S,然后暂停10S,随后反转20S,再然后暂停10S;如果定时时间没到,则开始循环,若定时时间到,则停机断电。

定时时间设定范围为0~60分,显示分秒的倒计时。

用LED指示灯表示电机的正转、反转和暂停状态。

2总体方案设计

(1)、计时器:

由两片芯片来分别完成分、秒的倒计时功能,分芯片提供预置功能,两片芯片的模均为60.

(2)、计数器:

通过计数来完成输出洗衣机四种状态(正转>暂停>反转>暂停>正转)的切换

(3)、状态译码器:

将输入的四种状态转换为三种状态(正转、暂停、反转)

(4)、所有芯片都使用每秒一脉冲的统一脉冲,实现同步。

 

2.1功能和逻辑需求分析

1)、计时器:

①由于平常用的基础器件无法简单做到倒数功能,所以决定用GAL器件,通过编写ABEL-HEL并在GAL器件上实现。

②计数器的分和秒分别需要8位输出(4位作为十位,另外4位作为个位,每4位二进制数在数码管上显示为一个十进制的数。

③所以计数器的分和秒必须分为两个GAL器件,但同时秒需要有一个退位输出信号,分需要一个抑制秒继续倒数的输出信号,所以每个芯片需要9个输出端。

④总结:

计数器需要两个GAL22v10分别实现分和秒的倒数。

2)、按周期显示正、反灯和暂停灯:

①该功能仍然需要GAL器件来实现,首先需要内部能自己计数,电动机先正转20S,然后暂停10S,随后反转20S,再然后暂停10S,按20+10+20+10=60秒为一周期,所以需要6个输出来计数(作为内部计数,可以不必显示)。

②正、反灯和暂停灯一共需要3个输出,加上上面内部的计数功能所需要的输出,一共需要9个输出,但由于一个TDS-4试验箱只有两个放置GAL22V10的位置,所以放弃用第三个GAL22V10的想法,而改用两个GAL16V8来实现。

③两个GAL16V8功能分为一个控制器,另外一个为译码器。

④前一个GAL16V8作为控制器,仍利用6个输出端来计数60秒,剩下两个输出口输出00,01,10,11(4种情况)。

⑤另一个GAL16V8作为译码器,根据前一个控制器输出的4种情况来实现输出正转灯、暂停灯、反转灯的功能。

⑥总结:

需要两个GAL16V8,一个作为控制器,另一个作为译码器。

2.2总体方案设计

3单元模块设计

3.1计数器‘秒’倒数(①号器件)

芯片信号:

GAL22V10

ABEL-HEL码:

MODULEJSQ1

TITLE'JISHUQI1'

DECLARATIONS

clockPIN1;

Y2PIN2;

psPIN3;

ztPIN23ISTYPE'REG';

b4,b3,b2,b1PIN22,21,20,19ISTYPE'REG';

a4,a3,a2,a1PIN18,17,16,15ISTYPE'REG';

Y1PIN14ISTYPE'REG';

S2=[b4,b3,b2,b1];

S1=[a4,a3,a2,a1];

EQUATIONS

S2.clk=clock;

S1.clk=clock;

Y1.clk=clock;

WHEN(Y2)THEN{S1:

=0;S2:

=0;Y1:

=1;}

ELSEWHEN(ps)THEN{S1:

=S1;S2:

=S2;Y1:

=0;zt:

=1;}

ELSEWHEN(S1==0)THEN

{

WHEN(S2==0)THEN{S1:

=9;S2:

=5;}

ELSE{S1:

=9;S2:

=S2-1;}

}

ELSE{S2:

=S2;S1:

=S1-1;Y1:

=0;}

WHEN((S1==1)&(S2==0))THEN{S2:

=0;Y1:

=1;}

 

END

3.2计数器‘分’倒数(②号器件)

芯片信号:

GAL22V10

ABEL-HEL码:

MODULEJSQ2

TITLE'JISHUQI2'

DECLARATIONS

clockPIN1;

Y1PIN2;

b4,b3,b2,b1PIN3,4,5,6;

a4,a3,a2,a1PIN7,8,9,10;

psPIN11;

Y2PIN14;

d4,d3,d2,d1PIN22,21,20,19ISTYPE'REG';

c4,c3,c2,c1PIN18,17,16,15ISTYPE'REG';

S4=[d4,d3,d2,d1];

S3=[c4,c3,c2,c1];

S2=[b4,b3,b2,b1];

S1=[a4,a3,a2,a1];

EQUATIONS

S3.clk=clock;

S4.clk=clock;

WHEN(ps)THEN{S4:

=S2;S3:

=S1;Y2=1;}

ELSEWHEN(Y1)THEN

{

WHEN((S4==0)&(S3==0))THEN{S4:

=0;S3:

=0;}

ELSEWHEN(S3==0)THEN{S3:

=9;S4:

=S4-1;}

ELSE{S3:

=S3-1;S4:

=S4;}

}

ELSE{S3:

=S3;S4:

=S4;}

WHEN((S4==0)&(S3==0)&(Y1==1))THEN{Y2=1;}

END

3.3控制器(③号器件)

芯片信号:

GAL16V8

ABEL-HEL码:

MODULEZYD1

TITLE'ZUOYOUDENG1'

DECLARATIONS

clockPIN1;

Y1,Y2PIN19,18ISTYPE'REG';

q5,q4,q3,q2,q1,q0PIN17,16,15,14,13,12ISTYPE'REG';

D1,bcPIN2,3;

count=[q5,q4,q3,q2,q1,q0];

count2=[Y1,Y2];

EQUATIONS

count.clk=clock;

count2.clk=clock;

WHEN(D1)THEN{count2:

=0;count:

=0;}

ELSEWHEN(bc)THEN{count2:

=2;count:

=count;}

ELSE

{

WHEN(count<20)THEN{count2:

=1;count:

=count+1;;}

ELSEWHEN(count<30)THEN{count2:

=2;count:

=count+1;}

ELSEWHEN(count<50)THEN{count2:

=3;count:

=count+1;}

ELSEWHEN(count<60)THEN{count2:

=2;count:

=count+1;}

ELSEWHEN(count<63)THEN{count2:

=1;count:

=0;}

}

END

3.4译码器(④号器件)

芯片信号:

GAL16V8

ABEL-HEL码:

MODULEyima

TITLE'yima'

DECLARATIONS

Y2,Y1,Y0PIN19,18,17;

D2,D1,D0PIN4,3,2;

count=[D1,D0];

count2=[Y2,Y1,Y0];

EQUATIONS

WHEN(D2)THENcount2=2;

ELSEWHEN(count==1)THENcount2=1;

ELSEWHEN(count==2)THENcount2=2;

ELSEWHEN(count==3)THENcount2=4;

END

3.5总体电路

注:

上下两个GAL22V10,上面的为计数器倒数“分”,下面为计数器倒数“秒”。

各有8个输出分别接两个数码管,前四位(绿色线)为十位而后四位(蓝色线)为个位。

下面的GAL22V10的8个输入端接开关键(用于预置),另外一个接开关键用于预置信号。

右边两个GAL16V8,下面为控制器,上面为译码器,输出三个灯:

正转灯(绿色)、暂停灯(红色),反转灯(蓝色)。

而图上每个器件的红色线为时钟源输入(时钟源可利用实验箱左上端可调脉冲)。

4电路调试与测试

4.1计数器‘秒’倒数(①号器件单独调试)

2引脚接一个开关,14引脚接一个LED灯,其他照常接(数码管和时钟源)。

观察是当2引脚开关为低电平时,利用手动单脉冲是否会从00变成59并一直倒数到00,同时LED灯亮起来,并循环循环。

当2引脚开关为高电平,数码管持续是00状态。

4.2计数器‘分’倒数(②号器件单独调试)

2引脚接一个开关,14引脚接一个LED灯,其他照常接(数码管和时钟源还有下面的输入开关)。

当11为高电平,并在前8个开关预置分的十位和个位,利用单脉冲,数码管的十位将跳至你所预置的书,当2引脚为高电平11为低电平时,利用手动单脉冲数码管会从你预置的数开始倒数到00,并且LED灯亮。

4.3控制器(③号器件单独调试)

2、3引脚分别接一个开关,19,18引脚分别接一个LED灯,1引脚接时钟源,可以同时把器件的17-11引脚接到另外的LED灯。

当两个开关为低电平时,持续按单脉冲,17-11的五个LED灯会按二进制数数,数前20时19、18引脚输出为01,数到20-30时19、18引脚输出为10,数到30-50时19、18引脚输出为11,数到50-60时19、18引脚输出为10。

数到60后自动跳为0.过程中如果3引脚为高电平则暂停数数,如果2引脚为高电平时17-11引脚的数数置零。

4.4译码器(④号器件单独调试)

2、3引脚分别接一个开关,19,18,17引脚分别接一个LED灯,1引脚接时钟源,

当2、3引脚都为低电平时,三个LED灯都不亮,当2引脚低电平3引脚高电平时,17引脚LED灯亮,其他灭。

当2为高电平3为低电平时,18引脚LED灯亮,其他灭。

当2、3皆为高电平时19引脚灯亮,其他灭。

4.5全部器件一起工作

当所有四个器件都系统的接好了(时钟源利用实验箱左上端可调脉冲),器件②的14引脚的开关为高电平时,预置分的个位和十位,数码管的分会置位到设置的数上。

把14引脚关为低电平,数码管秒开始倒数带动分倒数,并且三个LED灯开始按规律亮灭(电动机先正转20S,然后暂停10S,随后反转20S,再然后暂停10S),当数码管倒数完毕,三个LED灯同时灭灯。

 

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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