|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于51单片机交通灯程序设计 C7 b9 E. H" v4 `& F; j9 L
) e0 _4 e4 z2 x2 T5 [2 S t# H
3 z% L" S+ r) E5 f* a, U1 o交通灯单片机程序:
2 N$ E# H4 t; I( x7 B #include<reg52.h>% a7 q' ~; t+ m# G; W' Q' P
#include<bstv51.h># h; G$ N2 @" [; q3 P% S0 l- r) z
#define uchar unsigned char$ G& O# p% f9 h; r3 g
#define uint unsigned int
+ ]/ Y& @( C W" Z2 K" u) h' A
; }9 r9 z# k( F5 F2 g& N8 H sbit nbp1=P0^4;//南北方向数码管第一位;
* P% t; b. c7 A) U( L5 \! |7 U sbit nbp2=P0^5;//南北方向数码管第二位;6 Q t% J5 r m. s2 ]) d0 }$ ~7 o$ j
sbit dxp1=P0^6;//东西方向数码管第一位;
# {- d/ e8 z+ L- R0 f sbit dxp2=P0^7;//东西方向数码管第二位;' G8 _+ [2 A( g, J6 L
8 q! K7 H/ p4 o' J2 s
5 V1 E- K+ P5 R/ s* B7 j3 p7 i sbit hdnb=P0^2;//南北方向红灯;" ~- H2 Z* x+ c% u1 @4 `
sbit hddx=P0^0;//东西方向红灯;
- ~( T6 \+ O g' t sbit ldnb=P0^3;//南北方向绿灯;
! n- U/ x& U& J4 [. q4 S% }6 A- G+ L sbit lddx=P0^1;//东西方向绿灯;
9 k8 _9 H" I2 y, ~. A% Y* e/ y; K* F- L uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,; P$ n) v! Q9 j4 z0 ]. c
0x6d,0x7d,0x07,0x7f,0x6f}; //0-95 o- T* e; P7 O
uchar num=30;num2,shi,ge;
S8 h" v/ _8 J/ T6 r; x
$ J. p9 c3 l7 \2 e: W
. z) o8 ]& \2 I/ t7 s
9 H/ G4 k8 H4 c* D1 x5 ~; r3 g# X8 g
8 ` w" e; o# |2 z
5 w. x+ R- B$ j void delayms(xms) //延时函数x毫秒函数3 F0 m$ |$ [+ R5 ]
{
. L% U( h0 x3 c8 \8 U" z, p% J$ } uint i,j;- [) m- y1 R- m( g5 f
for(i=xms;i>0;i--)
* H+ G4 L6 f* k for(j=110;j>0;j--);
- I, T$ S1 q# g/ s1 l) A q. ^" A }
* o2 ~ R: i- K3 S0 c9 b, c/ m8 Q$ O$ U, b4 f
4 _; r0 `0 C& X' _& \
void display(uchar shi,uchar ge) //南北数码管显示函数2 S$ p) ?5 A4 Y) H/ D8 U
{
- k/ c" t5 Y: w% ^" C
- B! Y# M" I$ u- C 7 s' S! y5 N8 U
: y4 {+ u3 e. `% J- }- G6 T" P0 `; _: h+ X1 q5 ^. D
P1=table[shi];) y/ b+ x5 x9 V# t7 C- k
nbp1=0; //选中南北方向数码管第一位2 [2 E/ I% a( Z: G% p5 O. @/ W
delayms(3);
& o4 i1 g! O B* V9 z( u9 E: i" h nbp1=1; //关闭南北方向数码管第一位& H, o3 h% r! ]' s% J# t
P1=table[ge];
" n5 ?2 w( A0 Q4 ?8 n5 u nbp2=0; //选中南北第二位8 l6 E3 f" U7 o2 x8 k
delayms(3);
' z3 X( L! }; m6 \6 [. c! i$ R nbp2=1; //关闭南北方向数码管第二位
4 e2 A5 p3 p$ \9 C* f b: y
3 c0 j( n2 ], Q2 i( E6 h6 Y9 K
% _" I9 L" g, J; C( `8 o6 @' v9 j9 g9 ~% u3 I
7 t% B1 t* G( o3 k2 E
P2=table[shi];
1 I6 P1 P8 b2 l dxp1=0; //选中南北方向数码管第一位0 A0 \8 |7 w6 y r2 s+ u$ ]
delayms(3);
9 t: n) x3 O1 r$ l dxp1=1; //关闭南北方向数码管第一位6 F* u3 t8 }5 {
P2=table[ge];
6 ]7 M$ r! a# R# M dxp2=0; //选中南北第二位
6 D7 q6 T: g) k& ?: s( S delayms(3);9 @! A- `; f$ k; P! z/ K' b
dxp2=1; 8 ^' N2 a @( P" }, J7 r* S
}; j; n8 z# a+ c& S
% u# T5 z( U2 r2 c$ e+ x/ E
: X) j; L3 y# F7 d: r6 {2 evoid T1_time()interrupt 3 //定时器1中断函数; y) W h) A; H7 _6 K8 Y3 W4 U) p
{ . X( L% H" f9 A5 X4 X! `
TH1=(65536-45872)/256;
, D, a; g' [* e! i" z5 u) P TL1=(65536-45872)%256;1 F- d3 x: P. j
num2++;
3 P2 z$ P1 h) Z3 D$ u& \0 K if(num2==20)
8 A8 c! X3 h7 x. t# @, f+ L. l {
5 Y, ]; Z& i! f& W7 Z. P num2=0; //说明计时够一秒
4 Y. _9 E! w |; t0 g2 `! \ num--;; A+ A# `7 E4 C; t b- Y
if(num==0)( l: y9 I9 L5 `
{
* t' y# Q' T* f8 t+ \* k$ L lddx=~lddx;
( C6 l* G1 k. t$ a hdnb=~hdnb; c3 B4 Y4 d1 p, u2 ?* k
ldnb=~ldnb;0 f6 X3 n( }4 ~ `1 Z8 V
hddx=~hddx;6 j* y' [& @5 v
num=30;
$ ^2 Z2 @/ ~$ T' ^" W }1 |6 u$ ]( H( S9 o# q" w
X2 Z$ p6 `% T; l
/ O/ \4 U9 _, z: o$ I9 T3 [" ^
}
/ ]' |2 t/ l% M shi=num/10;
1 C: r1 _0 B: m: Z3 M$ o/ P2 C- V8 p ge=num%10;
3 `& k' v7 f8 V% h& G$ q}; Y2 i9 a ?) f
: u& d, A& _4 Q6 k* K
5 S! j+ E- I2 D& u8 r0 _. s$ I' D5 i: K% p
( D4 N! t8 q& A# l' M# o4 Pvoid main() //主函数/ I4 v- ^" g/ k
{+ Q; H) ?3 Y9 t5 r* E4 |% {- P8 S% |
TMOD=0x10;
' w3 K2 P: j/ b) l: s U( ~4 F TH1=(65536-45872)/256;* Q% v9 T/ M, N. B- v. B7 T
TL1=(65536-45872)%256;) ]) a/ ]6 |/ c% J( r2 f
EA=1;
6 v7 V- n5 \, \* T( I ET1=1;) I2 }% n' x) B7 X( U) r, \( Q
TR1=1;
5 Q& U& Y! X0 ^9 o lddx=0; //东西方向绿灯亮* P2 q6 j. W/ e8 ?: s9 D+ r
hdnb=0; //南北方向红灯亮
9 E2 e# a# O! _0 Q5 r5 ^" @+ F ldnb=1;
3 a# X |( e7 r4 A& D( B2 ] hddx=1;. i- t9 Q: h8 v4 G" g( l
2 q. j o8 y1 R
/ ^) ]9 y% s6 r) M4 _" p* G P1=0x00;. g5 s' _" L2 a6 v: ?$ d
P2=0x00;$ U6 r! }" m* i" h
nbp1=1;2 V- T8 M: D2 g' r4 s3 I
dxp1=1;
5 l8 |$ m( w9 x5 _4 N$ n dxp2=1;
# A: P; e6 M; @, e5 `( Y nbp2=1;* \% y3 q' N2 b$ `! v _
# j% H- Q; C3 v/ ~6 Q7 N2 e1 r" c0 [6 j0 i
while(1)
1 h/ X# j# L! l( Q {
! Z' Q' I' b( Z% y8 p display(shi,ge);) G. [' A4 ? h) [+ k9 m5 G: b
}
- l! Z* i( ^. y% H }
, v3 M( j% V0 j& \" z5 q5 d9 m$ m. c
基于51单片机交通灯设计下载:* p: _" T9 M& l+ i; R* w
' B0 t/ d1 ?! L& n
% ~. `- ?( R$ ?0 ?- ]/ L |
|