- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
交通灯
实验目的
1,学习使用EDA开发工具IspLEVER。
2,学习使用ABEL语言设计交通灯。
3,熟悉交通灯的原理。
设计任务
设计一交通灯,能实现东西、南北两个方向的三色信号灯的自动按照以下规律变换:
方
向
持续时间
40s
5s
40s
5s
东西
红
红
绿
黄
南北
绿
黄
红
红
当遇到特殊情况,按下控制按钮S,则两个方向均为红灯;特殊情况解除时,松开S,则还原,继续之前的状态自动运行。
两个方向均要求以减计数方式显示时间(红灯的持续时间)。
电路结构:
方
向
持续时间
40s
5s
40s
5s
东西
红
红
绿
黄
南北
绿
黄
红
红
1、45进制减计数器及其译码电路;
2、90进制减计数器;
3、信号灯控制器。
三、设计要求
同设计任务
四、设计思路
设计一个方向的交通灯红灯黄灯绿灯分别为R1、Y1、G1,另外一个方向的红灯黄灯绿灯分别为R2、Y2、G2,则可以根据控制R1、Y1、G1、R2、Y2、G2的值来确定两个方向灯亮的种类和情况,然后设置一时钟CP控制信号灯的亮,还有按钮S以及清零R,当交通灯正常工作时候,东西、南北两个方向的三色信号灯按上表中中的规律自动变换,当发生突发状况时候按S,两个方向均为红灯,当特殊状况结束时候,交通灯还原继续按之前的状态自动运行。
实验电路图
实验程序
MODULE YM
A7..A0 PIN;
Q7..Q0 PIN ISTYPE COM;;
A=[0,0,A5..A0];Q=[Q7..Q0];
EQUATIONS
WHEN (A=0)(A=9) THEN Q=A;
WHEN (A=10)(A=19) THEN Q=A+6;
WHEN (A=20)(A=29) THEN Q=A+12;
WHEN (A=30)(A=39) THEN Q=A+18;
WHEN (A=40)(A=49) THEN Q=A+24;
WHEN (A=50)(A=59) THEN Q=A+30;
WHEN (A=60)(A=69) THEN Q=A+36;
WHEN (A=70)(A=79) THEN Q=A+42;
WHEN (A=80)(A=89) THEN Q=A+48;
WHEN (A=90)(A=99) THEN Q=A+54;
END
MODULE XHD
A6..A0,S PIN;
R1,G1,Y1,R2,G2,Y2 PIN ISTYPE COM;
A=[A6..A0];Y=[R1,G1,Y1,R2,G2,Y2];
EQUATIONS
WHEN !S THEN Y=36;
WHEN S(A=50)(A=89) THEN Y=34;
WHEN S(A=45)(A=49) THEN Y=33;
WHEN S(A=5)(A=44) THEN Y=20;
WHEN S(A=0)(A=4) THEN Y=12;
END
MODULE SUB90
CP,R PIN;
Q6..Q0 PIN ISTYPE REG;
EN PIN;
Q=[Q6..Q0];
EQUATIONS
Q.CLK=CP; Q.AR=R;
WHEN (Q0)(Q=89)(EN==1)!R THEN
{Q:=Q-1;}
WHEN (Q==0)(EN==1)!R THEN {Q:=89;}
WHEN EN==0 THEN Q:=Q;
END
MODULE SUB45
CP,R PIN;
Q5..Q0 PIN ISTYPE REG;
EN PIN;
Q=[Q5..Q0];
EQUATIONS
Q.CLK=CP; Q.AR=R;
WHEN (Q0)(Q=44)(EN==1)(R==0) THEN
{Q:=Q-1;}
WHEN (Q==0)(EN==1)(R==0) THEN {Q:=44;}
WHEN EN==0 THEN Q:=Q;
END
验证程序
MODULE jtd
C,X=.C.,.X.;
CP,S,R PIN;
Q7..Q0 PIN;
R1,Y1,G1,R2,Y2,G2 PIN;
OUT=[Q7..Q0];
LUMP=[R1,G1,Y1,R2,G2,Y2];
TEST_VECTORS
([CP,S,R]-[OUT,LUMP])
@REPEAT 120 {[C,1,0]-[X,X];}
@REPEAT 120 {[C,0,0]-[X,X];}
@REPEAT 120 {[C
文档评论(0)