|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开关控制交通灯源程序和proteus仿真' T& ~' t% @( p$ U `7 K2 B
m$ v; A' u" ~% S* U
9 Q+ v( Q) \. P0 k7 E- ~' R交通灯设计,) u4 ^2 ]2 v/ g* O9 Q4 I* I
![]()
4 f' s" q6 Q5 Y( e#include<reg51.h>1 S* W, a( C$ m4 p. |
#define uint8 unsigned char
# O; O6 g6 r9 ^5 n#define uint16 unsigend short int
0 M% r& h" {( B/ Z4 lsbit k1=P2^0;
4 y: W+ I( k3 p- G$ T: V$ nsbit k2=P2^1;
4 b$ C$ u) s. V! ~8 {- b3 Isbit RED_N=P0^0;
2 B, K3 t! e1 w3 M r$ Psbit GREEN_N=P0^1;
: t* L& i% a: I9 N" bsbit YELLOW_N=P0^2;' T/ V! E& W0 j5 q2 m: x
sbit RED_E=P0^3;- p0 {- G$ A( G' S% I: w8 R H
sbit GREEN_E=P0^4;
! H& F8 C3 b! B2 k2 T% hsbit YELLOW_E=P0^5;
+ k" H: E( b6 C, Jvoid delay(uint8 x)( h' ~) [ u( e6 |3 j3 q: S
{0 M) O3 i ]4 O6 y
uint8 i;, k3 L4 u- ^: n* V( s
while(x--)
/ K, u+ W2 d: S/ Z4 t" | {
3 x6 |2 w: z! ]/ z8 Q6 w for(i=120;i>0;i--);
$ E: c4 h) N* |9 R" D }
2 H6 t, T& R/ y! J$ s- R}
; Q) h+ E# u' p- nuint8 num=1;( j" ~1 u- ?8 u
void main()2 }) S0 ^5 |; t) O( _4 M x
{. n- U& P2 |; f) y: x! m% P
while(1)* C) C- _* y* y
{8 L! [7 s9 B0 {9 G
while(k1==0)
, I. V1 b7 |: I* i8 w4 L9 F {8 l: K2 U9 _% z5 _" B Z$ D
switch(num)
8 n: {2 V+ Y2 X2 I6 ^. n/ p. H {: f$ V0 k( j4 `; W- g
case 1:RED_N=1;GREEN_N=0;YELLOW_N=1;
' i4 H) ?" x1 A! t( r# _ GREEN_E=1;RED_E=0;YELLOW_E=1;) q- i0 ]* \ B k: `: }' f6 b7 v
delay(2000);delay(2000); delay(2000);
9 h, u& Q( n( {& B num=2;break;
6 y' ~' z: n7 U W& i case 2:GREEN_N=1;RED_N=1;
' T' `/ k" v" l8 F% g; @6 Y) |7 Z YELLOW_N=0;
: G# @* z; s3 c3 M! T9 e delay(500);- U$ i! _; ?1 C5 P, M
YELLOW_N=1;
2 |$ r2 {9 C' _. w( G delay(500);
8 Z9 R; {1 {! Z YELLOW_N=0;7 B' G- L; i% y$ {/ L8 m
delay(500);0 ~ ~- x8 ~) I( E0 o
YELLOW_N=1;
# N- u0 e4 u/ t0 q1 x" `4 P delay(500);& {+ q, s/ }& K7 a
YELLOW_N=0;! m! {- F+ {9 M: b
delay(500);
! \* Q+ |- R0 Q4 R% h6 e/ D YELLOW_N=1;" ^( u2 v- F; p& ]4 i' i9 {
delay(500);* x5 H6 x: n' ~" V6 ?( ?3 P9 q
RED_E=0;GREEN_E=1;YELLOW_E=1;
, W. Z0 l y2 j7 r9 J num=3;break;
+ _9 f1 Q: o" `! } [$ \ case 3:
7 u# `% s) T6 K9 j7 F RED_N=0;GREEN_N=1;YELLOW_N=1;) ^* s3 q: S" \( y$ e: C/ @: M
GREEN_E=0;RED_E=1;YELLOW_E=1;% c5 h2 ~, y( g: f4 ~9 d
delay(2000);delay(2000);delay(2000);, E) [0 E u2 x. l* e
num=4;break;
: r V9 R7 G' P6 h, w5 Y& q case 4:RED_N=0;GREEN_N=1;YELLOW_N=1;
* i. Q1 u1 R7 b8 w9 U GREEN_E=1;RED_E=1;# ?& c$ P8 h- z3 E3 s: j
YELLOW_E=0;: L0 C) `, @: e( d8 H. ~" I. j
delay(500);
, V! c0 {3 P! i8 Y1 a2 ?+ m YELLOW_E=1;2 c: Z0 Y4 j* A' J& t
delay(500);
3 X: o9 S/ j {1 ^+ p: T YELLOW_E=0;
* j; T) t8 Q' h- x, ^+ w. y delay(500);+ u) W+ [4 @7 n/ ?# Z t
YELLOW_E=1;1 O, D6 q0 x* D) k. V" A* P2 y9 e
delay(500);
; ?8 k& V& I( W0 w$ i YELLOW_E=0;
* O/ w3 g9 g6 K3 A delay(500);
9 l& n% \7 e, ^! Q& K5 r; P YELLOW_E=1;
4 Z8 x* n, g E. V delay(500);
6 z( q4 q9 @. I4 n; c9 U6 { num=1;
! I" A4 U2 d4 ]- s# s. v break;
' I# |" q; `: J; d. m3 O 8 ]5 B7 F7 R7 F- }- F& T9 T
}- }- d+ G+ s. E& U& B
}
4 h: `; Q# s5 ?6 x5 K- o% t while(k2==0): H; g, W/ e( a5 r
{) w) Z5 I+ a& m1 P
RED_N=0;GREEN_N=1;YELLOW_N=1;: o) w J) M% g9 G$ H6 Y( B! M
RED_E=0;GREEN_E=1;YELLOW_E=1;
4 x; S& W0 X3 e7 f8 A) G9 E6 f }. R! V' S# q: [8 v" N
}
5 o' ], ~% Z1 F2 K2 m}
1 P4 t. r# H& i1 m& u( m8 Z
3 _0 _4 [; y* ^2 J* u# X( U
9 ]% S0 w( D/ a& {4 k% y. ~" j% x |
|