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

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

[复制链接]

该用户从未签到

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

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. [$ |* n
4 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* ], D
7 \% ]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

该用户从未签到

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

该用户从未签到

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

“来自电巢APP”

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-26 13:33 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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