|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开关控制交通灯源程序和proteus仿真0 w) L( H1 U1 V, Z. P8 ?
( }' C% q6 Z" l' W' d- c2 u2 `
* s- I4 s2 t$ C k交通灯设计,
: d) M5 Z+ V, _# i1 b![]()
+ O5 R$ q( Z" r/ R9 U#include<reg51.h>
" S* W- |+ n: C+ `. @8 Y- k! X1 Y#define uint8 unsigned char
\% O. N6 ^# R" R4 G#define uint16 unsigend short int 2 A7 H# ~( o4 E8 E4 u# Y
sbit k1=P2^0;$ |" P x F' J9 p3 B; G @
sbit k2=P2^1;
0 }, d8 Y6 b3 F1 W' M( }/ ksbit RED_N=P0^0;
4 G) W! u' g7 zsbit GREEN_N=P0^1;
# ~/ c, K6 G! ], Rsbit YELLOW_N=P0^2;6 x9 b) d9 Z5 k0 N
sbit RED_E=P0^3;
* {1 a' O9 n: L7 i: I |sbit GREEN_E=P0^4;& T! v5 I3 q6 A8 M/ B) ]! o
sbit YELLOW_E=P0^5;
' f- ~. _1 q) U$ hvoid delay(uint8 x)
$ O# V1 u8 G% Z. k{
0 P! Z) l4 r* F6 s uint8 i;& Z3 J* t4 G( b Z+ f
while(x--)7 ~; C; R+ _& @4 p; C
{) S3 b K9 t1 M9 R( x5 r& j/ ]' B
for(i=120;i>0;i--);
* R& F7 \' P2 q: A2 Y }9 B! M! }* S) b/ l/ R
}
5 J/ R y! h7 x. T, ^uint8 num=1;
1 [7 V7 W8 F9 G: D+ h8 evoid main()
/ n" L5 M7 \: n5 R; f{
! i& F7 m ^/ `7 P% I+ K. `" Ewhile(1)+ k: G* L# }9 M3 k( ^: x) L M
{
- w+ E- T3 x) ~7 Q0 a while(k1==0)
6 H0 l2 F: [, E5 M6 f- ^! k {
. z: I3 I: B& A G& ^2 Q9 D" h switch(num)- _7 x' a) L" w( |3 c/ f: h& A
{. I8 {4 K4 |) v/ ?& r3 l
case 1:RED_N=1;GREEN_N=0;YELLOW_N=1;
3 M1 L0 p& k6 Q j: O GREEN_E=1;RED_E=0;YELLOW_E=1;! R4 d' U+ ]- I! G, `
delay(2000);delay(2000); delay(2000);
& N1 @0 v8 B" V9 a num=2;break;/ ?8 l3 C1 n- e' _0 G4 q# F
case 2:GREEN_N=1;RED_N=1;
" c) d# P" `! P: j" w YELLOW_N=0;
8 y) M" D5 A V) g D$ X( a delay(500);: g) X& V. H- u
YELLOW_N=1;* F1 k- J/ q% ^6 b2 s
delay(500);! x% h8 `* f- y( ?% O! ~
YELLOW_N=0;$ g' x% X2 ?& Z( J7 E
delay(500);
0 f( `: e! n, b; u% d YELLOW_N=1;
9 d, y$ _2 _4 ~* Z delay(500);
; O$ _0 i$ ]* ~8 K6 {2 \ YELLOW_N=0;
5 S) B' w9 }# ?! J delay(500);1 k: `( `4 ]& U, w2 U
YELLOW_N=1;& O9 E1 b' h2 e' y; E
delay(500);
$ t% c- ?# z! n2 p2 b( [2 m4 ] RED_E=0;GREEN_E=1;YELLOW_E=1;
( |1 u% r' O/ D+ x7 n! p4 [ num=3;break;
3 R5 }7 o5 J* q; e# D# D6 X case 3:
, T w1 p7 h* h1 L' v- @ RED_N=0;GREEN_N=1;YELLOW_N=1;$ u6 r2 w" s! A: d8 I
GREEN_E=0;RED_E=1;YELLOW_E=1;/ _1 ^7 z$ |$ R9 H
delay(2000);delay(2000);delay(2000);( N2 z2 X8 |) b. _1 i5 a8 t' \1 L7 ]' d
num=4;break;* _+ y' a. L& N, ]5 W
case 4:RED_N=0;GREEN_N=1;YELLOW_N=1;' J" l% O& }: l4 \/ ^# `
GREEN_E=1;RED_E=1;
, E0 L; F4 e) W+ o n" G8 j YELLOW_E=0;
" Y) \8 L" F) T' g delay(500);& C: ?# L1 e; G g( o8 Y; t& o ^) @
YELLOW_E=1;
% C) C& E/ i5 P/ T delay(500);$ j, q1 E: V& B
YELLOW_E=0;
3 A8 s4 y* f/ B8 A% z8 N delay(500);7 {' u! e! m# j
YELLOW_E=1;0 V( }4 W7 h: l0 G4 z h: ]' N& y
delay(500);
! t& n' {" [& I8 C4 a1 U: Z YELLOW_E=0;* i1 P' H _; V
delay(500);& Y; a) c3 |8 D# x+ B1 c
YELLOW_E=1;$ h( ~! j F, \/ |
delay(500);
9 [( v3 ?# ]" w& D( z num=1;; k. A# v3 F: l& H( |
break;( m1 E9 F% b$ O4 B8 e
7 K, T2 h( A' h) i }; U6 A4 m( r: k$ q8 q6 E$ A$ l& }0 d
}
2 G1 E+ T9 i) P1 c6 D while(k2==0)
) Q" y9 l% O- F {& | l" A9 ^& i& [4 w
RED_N=0;GREEN_N=1;YELLOW_N=1;
6 |8 ]: m- R( g& O RED_E=0;GREEN_E=1;YELLOW_E=1;5 h6 u& i+ M7 V9 b: l
}3 W! k9 I. _0 T- d9 t' G; E$ M
}/ C8 \/ L3 y8 U1 \/ G7 _ @, E
}" b5 v: [2 l/ i5 Z
w, \* E/ W. u1 D
: |. Z' j% z5 w H+ N; | |
|