找回密码
 注册
关于网站域名变更的通知
查看: 850|回复: 5
打印 上一主题 下一主题

基于51单片机交通灯程序设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-11 05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于51单片机交通灯程序设计3 h# ?2 x& R! u3 z& q

9 z; B" f9 z) y+ q0 a. w1 \  J
9 l0 D: ^5 ?* R4 v- E: l2 Y9 v
交通灯单片机程序:+ W# m; ~) E& ]  h, r. w2 I; k
#include<reg52.h>
) }; v9 j- r+ i# @9 W1 X1 u7 S6 U #include<bstv51.h>
4 ~, b1 G# \  i7 v #define uchar unsigned char
" }$ z- M; V* C #define uint  unsigned int1 E& h7 U2 W# }! \: S* R. C; T
. j- H6 z& M! W$ x2 H* w) i
sbit nbp1=P0^4;//南北方向数码管第一位;& z1 r+ C9 y4 s) f( Z
sbit nbp2=P0^5;//南北方向数码管第二位;4 z! _8 V' S6 z8 ]) k
sbit dxp1=P0^6;//东西方向数码管第一位;' v5 A5 s% k7 x. T* Q: X
sbit dxp2=P0^7;//东西方向数码管第二位;
6 x( R$ k" ?& N, }: ^. w3 w, k4 C6 n3 o7 S. _

, P- D2 n4 S3 F  e sbit hdnb=P0^2;//南北方向红灯;
% B+ B0 z$ u7 H; ^. Q sbit hddx=P0^0;//东西方向红灯;1 j; G1 O+ p) F$ }( |2 I0 }0 |
sbit ldnb=P0^3;//南北方向绿灯;
% A* ~% s( \8 ^7 s sbit lddx=P0^1;//东西方向绿灯;
# ~0 o; B( L( e5 J uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
5 u0 I* v$ t" B" |4 N                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
5 ?; L9 V3 L7 L% U  ?' J uchar num=30;num2,shi,ge;
' w+ O7 z1 H9 R* \) i, C
6 J/ G; Z$ q2 [* t7 |- f6 b
! `- Z( Y. _- {
! W. S% Q- Q$ P, S. O
5 v4 W( e( ]1 Q" q
9 p5 T% d6 H: L- O) k$ x, o- Q: ~

& \% }% k1 Q$ t void delayms(xms)           //延时函数x毫秒函数
7 u6 ~; C' o& h) f9 S) D {
. g$ T/ Y+ t' L& d2 v   uint i,j;
( |- a/ Y: b8 ?   for(i=xms;i>0;i--)  }  p$ L, w# p* l- O5 h9 l, s
     for(j=110;j>0;j--);
  ]2 i9 V- c- T2 E/ _ }  s) B1 W. e5 }
( Y% B% z9 }9 z) G2 O& l

7 g8 g' H, y: I7 c3 Yvoid display(uchar shi,uchar ge) //南北数码管显示函数( ?( B/ |" E& \; V/ \
{ 8 n: }5 c( o1 N1 {$ }2 i2 r

% C( I: W& g/ v7 e * h6 e9 @1 K4 r8 p8 ^% B

. N4 d) T3 j8 M
& V. y1 i; r6 w7 J, @# a  `
P1=table[shi];. @! Q* E$ A# m0 ?
nbp1=0;                                                        //选中南北方向数码管第一位
, m) r0 X! S2 h( v8 I" n1 h) W delayms(3);5 z8 X% I( B7 a7 J
nbp1=1;                                                //关闭南北方向数码管第一位
2 P: \' e5 v" a, f  h P1=table[ge];: c! e! f, U9 `- c1 e2 @
nbp2=0;                                                //选中南北第二位' y- x" [% v, h0 S/ m. s
delayms(3);
8 k( W1 _9 W9 N1 r& e& S nbp2=1;                                                //关闭南北方向数码管第二位$ Z$ k7 W5 l6 J+ }/ d* G3 W; T

; e% j) Z9 w7 S6 S% Q

* {& Z3 l7 E; k) t. d" O- E; A
1 n. x1 U# k% I5 v% C
/ R' b8 q' W( W  Q0 c+ M0 [
P2=table[shi];
3 d: t, O) S. r' | dxp1=0;                                                //选中南北方向数码管第一位8 X& }+ C! z/ g, G: ^: ^2 R
delayms(3);
8 x' x% ?! X: Y dxp1=1;                                                //关闭南北方向数码管第一位
3 A& p3 E8 \. N) B8 i0 r P2=table[ge];
" C5 I* A; ~1 O% E9 X: J% z dxp2=0;                                                //选中南北第二位( p; J: w( p& j0 \: B' i. {
delayms(3);& L4 a. ~( O  k# ]
dxp2=1;               
9 O. P* S$ F1 l6 ^) ~  e' p}' N* {' E' J; U& h! O

3 p" V$ e: ?( c. r8 T
" ?: v1 x% q& d* y/ M9 @+ j1 O
void T1_time()interrupt 3                        //定时器1中断函数. z1 k/ N5 P8 ^5 S4 t
{
: \  [+ e# N6 e. L4 ]( b9 G, Z! t  TH1=(65536-45872)/256;
7 A2 h: b0 f9 Y0 M3 y. I  TL1=(65536-45872)%256;! W6 w! G2 s0 b0 E; N3 E
  num2++;      $ a9 K" f) X* _! V+ w4 {. u8 p
  if(num2==20)( S0 Z* U: S2 N! q8 O
  {$ T: X) s( e) _) U7 K& r% x4 f
   num2=0;                                                   //说明计时够一秒
$ [2 o3 z# H4 A9 F   num--;2 }* ?! I$ A9 a4 g2 D5 n7 T. r
   if(num==0)6 D/ Z; Y; h# ]) ?) @
    {  : ]1 i4 I( V5 P1 O. b: b. }
       lddx=~lddx;                                                
: x5 ~, @5 W8 v( E$ o6 \, O0 \  o- E       hdnb=~hdnb;                                            # L+ w4 G6 |) f& Z
       ldnb=~ldnb;
( ?' Q: T$ G+ z0 x( f* N! v6 l       hddx=~hddx;
( y& }5 N( [7 e  G; Z) L           num=30;" ^  ^' K4 P% Q5 K
     }
( j# g8 \& G% L4 @7 v& ~/ e! ?# i8 m( o" G+ \# P0 P) V2 ]

: t% j/ j5 U8 K+ c$ C  }
1 x& v4 h3 n3 O3 w/ p) S        shi=num/10;! `; @! Y5 q6 d. N
        ge=num%10;5 K6 X8 @4 d* i+ S) T' ?: |( c
}
' k2 s2 x( X: `- N9 C
$ C: V4 j4 i1 B9 p* E' I8 a! R7 n
2 `3 W' G: d$ T' ?
% P+ y( N9 r0 L& j5 I

' U0 M3 D6 t( ovoid main()                                           //主函数. U+ y6 R7 O) K# @
{
8 I- u' N$ N) H3 Z% N! K7 M   TMOD=0x10;* D4 J5 L' q( m: t) u4 f
   TH1=(65536-45872)/256;3 V- g( @; U* {3 l& S3 \- u9 h$ e
   TL1=(65536-45872)%256;
8 n2 l+ h1 M- J/ N8 D) I+ g   EA=1;2 c  J* ^, D: v2 F! i5 ^% Q- N$ n/ e
   ET1=1;& w1 o0 p( s. ^: B  \/ m3 _
   TR1=1;
, S2 h# x8 p7 C. S* y  v   lddx=0;                                                //东西方向绿灯亮
+ r: i( h6 v. H% Q% F2 m   hdnb=0;                                            //南北方向红灯亮3 _- @8 b/ g: ^
   ldnb=1;; h8 _! M5 x4 A
   hddx=1;
( S! @* q  f- e2 K7 ]0 u5 @
% d0 j1 }5 y9 z6 u

1 I3 G  T4 p' S7 `0 H" v) C2 e P1=0x00;1 k" F' G* c) D0 S$ Q
P2=0x00;3 B2 K. m! }5 g; q2 [
nbp1=1;; m6 A4 t2 _- d6 E0 f0 S
dxp1=1;
; ~& E8 E" y7 b  q dxp2=1;" L2 _9 y" B9 _, k
nbp2=1;& C  |0 V7 _4 Y- I9 X0 {

/ ]" ^, w6 Q# X+ p# \
) C# ]# }: ]; c- `8 K* Z3 ~
   while(1)
6 t, ^- C3 C2 G& K/ u/ s# \   {7 s8 x2 ]4 o' ~( b
   display(shi,ge);( v2 j& j9 p* n; j' [+ F
    }
0 {1 ?" C2 c' t: b* A5 |% S }+ d0 m! H# Q0 J- Z9 M
" i$ a1 C% X$ n- G! S- P/ q% G
基于51单片机交通灯设计下载:. N, i! p3 M- w; _' l6 [
游客,如果您要查看本帖隐藏内容请回复

  h2 }+ S  A. S% ]

1 ]% r% _; S9 n' e! \: [

该用户从未签到

3#
发表于 2020-5-24 12:06 | 只看该作者
学习学习

“来自电巢APP”

该用户从未签到

5#
发表于 2020-12-22 13:59 | 只看该作者
55555555555555555555555

该用户从未签到

6#
发表于 2022-12-2 13:17 | 只看该作者
感谢分享

“来自电巢APP”

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-26 11:41 , Processed in 0.203125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表