|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于51单片机交通灯程序设计) l3 a5 ~5 J1 C r" w: V% y
2 F! Y5 M, ?$ [# U4 {- y& }. S# o0 \: J2 Z- a, q' [. a
交通灯单片机程序:! t2 ~: H% y( ~' R. w2 x$ j
#include<reg52.h>
, }6 E/ G O5 N: n( i/ Q #include<bstv51.h>
& U+ h6 T& q* ~( A( T2 K; v' m #define uchar unsigned char
( s* f8 r5 H Z9 _0 ^. x #define uint unsigned int- k% p1 P6 G" @
1 {* J" e9 U& w
sbit nbp1=P0^4;//南北方向数码管第一位;
5 I1 f# P* e$ c- i c! f sbit nbp2=P0^5;//南北方向数码管第二位;
9 ~( V0 N5 f& o sbit dxp1=P0^6;//东西方向数码管第一位;& Q9 h9 {; M6 K# x
sbit dxp2=P0^7;//东西方向数码管第二位;7 v1 S) V$ j& M) ]+ ]: E
$ r2 N+ j% e, c5 j! P* K' w% C1 M8 R+ D( u3 Z" h# O
sbit hdnb=P0^2;//南北方向红灯;
$ |' @5 x- _8 s5 y o: t sbit hddx=P0^0;//东西方向红灯;' u0 |0 g# b2 Y# \% H9 S
sbit ldnb=P0^3;//南北方向绿灯;
/ n6 F' L8 A+ o1 R! u3 p% w sbit lddx=P0^1;//东西方向绿灯;
" U$ E: B" T5 m! X8 A$ p5 e uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,, X; m2 |# z' }! l G. V+ r* I
0x6d,0x7d,0x07,0x7f,0x6f}; //0-9/ D+ T4 f0 u+ s6 y
uchar num=30;num2,shi,ge; F* w1 W# m9 s% \) `+ p \8 K9 l
( J b K- ? i
. [# G# `+ L8 t/ ~% v+ l+ C
# Y" {' t. [$ |* n4 v3 o3 q+ }, U
+ }+ J: ~$ S( ]5 n/ _9 {( [& b: w
5 {/ M6 J. F; e3 D void delayms(xms) //延时函数x毫秒函数1 b2 [" }( L( R) t0 E: N6 E
{4 }0 w8 a6 u/ L: {; i( U
uint i,j;
" f c! n! ?# _$ n" l' A9 A; _& q for(i=xms;i>0;i--)) [7 f$ U3 i) X! O
for(j=110;j>0;j--);, u; g6 N7 N% `# J- H
}
5 V4 }! R, J- v v$ c8 l+ ` q8 x' a& c3 c' K0 [5 u
* W+ k) Z0 S% {+ R
void display(uchar shi,uchar ge) //南北数码管显示函数 s+ A& U& w' M: m9 ~
{ ) U! z$ p* ~/ S* K$ w6 P
& J4 a$ u, ~" U7 D: [9 |. s" ?) N
% Z5 {) m! [. s8 v1 l/ k$ u
" F. r: X$ n4 w% U/ Y0 [
% S1 A- x2 a$ R- E2 q' R, v
P1=table[shi];) y, `; d" X9 P( J
nbp1=0; //选中南北方向数码管第一位
, g6 i2 W6 n* d- Y( b delayms(3);
4 q, q; _: |* {1 G& r/ P3 m nbp1=1; //关闭南北方向数码管第一位& z8 p& G( T8 ?: [. E1 d) Q$ l6 F& ^
P1=table[ge];
3 k* M) P' a2 s: j3 Y nbp2=0; //选中南北第二位0 @( O/ P" z4 o5 u. y1 ~
delayms(3);7 Y9 [4 z3 C0 I& k/ G
nbp2=1; //关闭南北方向数码管第二位1 N0 p4 s: g# }+ Y
/ J- S# }7 P! q7 H4 T
6 Z8 R8 Q3 |! j; l0 p. G
% G- ^6 B# W$ W$ w2 l
5 z, A9 v( E8 Y P2=table[shi];
j5 T. @5 {% `% g dxp1=0; //选中南北方向数码管第一位
( U3 v) O7 @# y0 R, }; R4 A delayms(3);7 B1 n0 u( g6 A! G4 t
dxp1=1; //关闭南北方向数码管第一位
- h3 ` ` x0 J$ ]& [9 _0 t7 }! P P2=table[ge];; M- J u0 W& H
dxp2=0; //选中南北第二位
) W+ j& m2 h E: u2 ]5 l delayms(3);9 U6 q) y; K y! l0 R
dxp2=1;
! M i& z4 \7 g+ O4 N q}) ~* R, y/ `/ @, Q" j+ O: o. r
! _, p% c3 `* k; a" j/ K4 Y8 ~
- r% L3 Y1 @0 j) j7 m) l5 cvoid T1_time()interrupt 3 //定时器1中断函数
' Y. T4 K9 o. b' b" f+ \& m9 u1 g{ ) R, J* r: d2 C( J/ K1 r
TH1=(65536-45872)/256;2 t% |9 a/ s0 r+ }
TL1=(65536-45872)%256;
) \- f# [0 z% e. C# V" T num2++; , e+ g0 o$ h- \$ |+ b
if(num2==20)) K4 ^7 u3 Z2 Q+ E' L7 H( T
{0 S* [8 [, @9 h# ^& q+ x1 p! \
num2=0; //说明计时够一秒; f! @$ f' c& x! z% P. T" ]
num--;
- B! E4 s' W+ B+ J if(num==0)* t- g- W, Z3 f. a7 V" o5 i
{ # a: ~$ |& |8 {9 \8 `+ g# M& }7 I
lddx=~lddx; ; C0 p4 g4 o" d& [7 N) p
hdnb=~hdnb;
) Z, \# ]4 M5 ?6 ^! R1 W ldnb=~ldnb;
# T4 a; t, u( {1 d& ` hddx=~hddx;
g2 P, S3 }5 b& D num=30;
& E# s$ P3 q/ g* M! g0 Q5 ?+ ~9 _ }
! m" p, C* F2 K$ o1 J# _9 {: S" `# [8 f9 C# q
5 K. V3 m! G, t. o% I }2 C: U. p) H7 e' H- ^$ S
shi=num/10;* V# Z" {/ @- F* p1 y
ge=num%10;: b, o0 @0 w. M i p+ O: P
}
9 _) x$ _; y5 J3 \/ G
8 [3 N+ P2 i. g0 o9 y e* ], D7 \% ]8 H& O1 @6 f
7 d6 ]4 g2 H! {7 W7 c
" p3 J( |/ k: P1 K1 i4 L6 mvoid main() //主函数
Y5 z- _6 s/ Y B# c. M+ q {: i) N- w( |8 o0 s- Z
TMOD=0x10;2 ^7 H- M1 g* L4 N
TH1=(65536-45872)/256;
7 w! o5 p: ~1 t TL1=(65536-45872)%256;5 A* `$ q3 [" W5 T; j6 O
EA=1;
2 g' h& a3 s0 v2 y! T ET1=1;4 S' @- d$ q0 m1 d+ @) V
TR1=1;2 Z2 t2 M5 g7 Y# Q; c
lddx=0; //东西方向绿灯亮7 F; Z2 O. D0 j
hdnb=0; //南北方向红灯亮
! x$ p. G. ]! g& g' D ldnb=1;
5 r. U. @1 a* U$ t) t# p hddx=1;
( W; J* y# j" |% x D" q' M' M
5 |- A* W. ]4 M P1=0x00;
7 j8 J. |/ J+ Y& @. d P2=0x00;- Y2 a) q, h) K( u. R4 }
nbp1=1;$ ~: H4 m2 i1 W- X# w" B
dxp1=1;3 i% Q& `% w# j! q
dxp2=1;
0 x$ L# y/ R! W5 K; y nbp2=1;8 n, s8 T' V! K8 N
, F- F! d9 ?& l: i" X2 O
8 O* ?0 }; u; I- r while(1)
0 M5 S7 [! J' I) W8 Z( m3 y* W {
0 g x" p* @! s/ _% j1 e+ ? display(shi,ge);. |! ~. r: j9 R) k. H
}" ?/ Z$ J3 D9 s0 l
}2 V" Q3 d, K$ ]1 v9 g3 J, \2 \( A
* f; r6 G' ^" M! N" H' H$ G2 @* c
基于51单片机交通灯设计下载:5 _5 q U" Q1 ^1 m( Q6 s; {
0 _9 p0 O0 y! a8 M/ g- ^% [
" g2 v4 }* h5 U0 g. O+ n
|
|