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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计
' y2 O" T5 {8 }5 g8 e- ?: [9 u; i" [7 I
) H, v& h- a' C
交通灯单片机程序:
  g+ U( c( d& E# z& U" e #include<reg52.h>1 }/ i) z, q! @0 e! Z7 H5 x! ?
#include<bstv51.h>
# e& p5 j5 \7 S; \ #define uchar unsigned char2 `( f3 J" u5 A& i0 q5 P( ?4 n6 r2 {5 F
#define uint  unsigned int
9 z4 s3 i& {7 ^$ v& v! u . R+ ^. P0 _+ U, {# D
sbit nbp1=P0^4;//南北方向数码管第一位;
% p4 |( K: u) c! {4 C# Y sbit nbp2=P0^5;//南北方向数码管第二位;
( R! y+ {7 \( a4 y sbit dxp1=P0^6;//东西方向数码管第一位;5 z1 R  _" i9 Y+ H; w8 f1 W
sbit dxp2=P0^7;//东西方向数码管第二位;& l. [- T0 Y0 N/ }
8 \. ?; g9 b  w! p+ D

' G# [* f* F+ m8 L sbit hdnb=P0^2;//南北方向红灯;
8 J3 Y% G) {7 C( y sbit hddx=P0^0;//东西方向红灯;- ^. i0 x3 k7 X! ^, b
sbit ldnb=P0^3;//南北方向绿灯;
5 A: m2 M7 L% S9 R  v2 v9 f1 T sbit lddx=P0^1;//东西方向绿灯;
5 E1 ~: [0 w+ x' C  R1 C" n# ? uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,1 s' m: X7 l, X$ ]9 V3 Z7 t
                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-97 T  B* o+ e1 ^
uchar num=30;num2,shi,ge;& ]. ], A- A$ r9 w

: g" C% g+ ]  ]1 w

, k# G- e+ }# }3 l! t
. Z! J3 T8 Y& G. m$ x6 r: y1 q+ z
0 b' }6 z5 m" j( M9 p+ }: y
' Q" v* p! E9 f: _
9 [. u9 B  v- e0 F) T& l
void delayms(xms)           //延时函数x毫秒函数
% l& p# w3 j7 w; [ {
  p; C2 u, t2 c- ~7 k: G' A  D   uint i,j;
! a3 A# R% Q; i* R% W, v   for(i=xms;i>0;i--)* p* e, P" S+ ~2 p+ R) h
     for(j=110;j>0;j--);
; a4 T/ {( v2 I- |( J }2 ]: r% [% W5 G/ z7 |9 k
8 ^& i. }, l( Z; u: }

! c; r; W4 y$ f# F2 Xvoid display(uchar shi,uchar ge) //南北数码管显示函数
7 L1 I1 h2 k; D5 h5 R$ k{
9 }6 J* M5 w0 n1 a, g
6 k7 T+ l3 g* @6 W) R; D# P/ z
1 w" r/ C* {' g! ~! x& ^- j, K; ~8 v( v7 x$ U* e/ M. S; e4 i
1 V6 s9 j0 z) e" H2 c
P1=table[shi];
* e* s% G, [+ V3 ? nbp1=0;                                                        //选中南北方向数码管第一位
7 j# |5 d8 `% Y; n: O% ?9 P- n3 ~4 Z delayms(3);! B7 C+ B% h1 _, a, \- ]  o
nbp1=1;                                                //关闭南北方向数码管第一位
( N9 y2 T: `8 |( c# {. c6 } P1=table[ge];  r8 v9 A5 S6 k
nbp2=0;                                                //选中南北第二位
: o' q+ y+ g$ V" r* w0 I delayms(3);; b3 U5 l3 M1 N8 L% B( e
nbp2=1;                                                //关闭南北方向数码管第二位1 b, D3 Q+ @& R1 u0 h- Z( q5 ?

- O& j6 S2 R! r8 w9 u

! {/ Q6 A' B$ f! j/ u2 `  p- i. @
2 F) O! k  C% o4 v& `) w, w+ P. U1 o# w

5 {# Y1 S# K, v1 C' u P2=table[shi];
) A% o& _3 Y) g$ B dxp1=0;                                                //选中南北方向数码管第一位9 I  j2 L7 c- J
delayms(3);
' k5 t# [$ V6 y/ }; @" ? dxp1=1;                                                //关闭南北方向数码管第一位
; e7 b! t& l" k& o# o5 Z. P P2=table[ge];; \$ ~. J& q- L( Q4 p8 U
dxp2=0;                                                //选中南北第二位
. E- N+ S+ P: p" {" f9 t delayms(3);
1 k" P3 ~/ f8 v! g$ {) o dxp2=1;               
2 c1 b4 H3 z6 ^$ B! X}" ~# B/ o! O% M; t; k
- K) E0 V, X$ T3 C9 W( `
; ]% S  u7 |  L5 z4 y) u: u& N. X2 X
void T1_time()interrupt 3                        //定时器1中断函数+ }4 u* ]4 I9 _
{ + \, K( I8 X& }1 Q/ m9 W" p
  TH1=(65536-45872)/256;
! X1 ~8 M' p1 i3 k! Z- A: ]. z) O  ?  TL1=(65536-45872)%256;, F4 t; m1 Y' c' T( a
  num2++;      % {: J4 s  u$ @- D# ?
  if(num2==20)
* `( f6 b6 Z* B# p& @9 |  {
$ _* a) v7 b% O- ^7 P   num2=0;                                                   //说明计时够一秒
3 C* C  V5 r. }) X5 c/ Q   num--;+ `( e8 V9 i- Y( _
   if(num==0)
9 l/ q" M! v% [( p4 v    {  
, v7 g! f! ~" a, u+ K) S7 l, k       lddx=~lddx;                                                ( }7 n% A2 V; o% C  G1 k( ?
       hdnb=~hdnb;                                            
+ y5 S: Z$ g% H& ~       ldnb=~ldnb;
; c& R& G, Y+ g0 f       hddx=~hddx;# h. {6 d( ~) ^5 I  i( J. A
           num=30;
; V& \8 x3 P9 R# @. G6 f; F8 m     }
$ ]  ]: h- u* V9 N9 ~) y$ ]$ ?
5 r2 v% ?6 T& L6 ]

2 k4 [) H# s6 \' M9 d  }
1 N- B# ?- l- q- K; E6 h. x        shi=num/10;* L$ ~$ r3 v  h  i
        ge=num%10;
; q& _9 t. x6 f8 m/ N& k" o/ u}
3 f' I7 A9 Q4 t1 H9 `4 C4 |: f3 D& m  b/ v. m# X

4 F0 U! Y* P2 H8 b1 \' M
8 I, |- z6 D8 i9 P2 x" p
4 f6 [4 k0 X  q0 ~7 |: d4 O
void main()                                           //主函数
. I" z$ D0 \; y8 g1 j2 L+ H) a- e {' G1 {: I& a: S
   TMOD=0x10;: _9 I) N; F1 g! J/ i
   TH1=(65536-45872)/256;
& v, V! u. t; [' P   TL1=(65536-45872)%256;
! i& ]) M3 u& x* ?   EA=1;6 E& n3 a3 q, r# P5 P2 Z
   ET1=1;$ K+ B) W2 Z, b& v# \$ Z2 M6 a
   TR1=1;
1 h7 P& [. ?' K0 i0 z( ~. R   lddx=0;                                                //东西方向绿灯亮/ ?2 |. ^$ J" [" n* ?
   hdnb=0;                                            //南北方向红灯亮/ u- j5 f9 H( t1 o# Q: k9 }
   ldnb=1;) d5 _; L* C& D% Y! ]/ c- u4 {4 ?( g
   hddx=1;; y; @/ h7 b* ^0 h, ^7 R+ q' T

, {3 I( Y; {, b5 _9 D7 Q$ W+ s
- x+ K3 i. e3 U, h2 o, a% O: X
P1=0x00;
: W  G0 v: e# U P2=0x00;# V7 h5 y% \" C" g
nbp1=1;1 t" ?) [" \% \2 a
dxp1=1;
; Z/ w& P' A: s dxp2=1;3 d; x5 f( ~4 R/ ^0 n3 F, q; O
nbp2=1;8 }8 k- i; e6 K! T0 B% j6 `9 E- B% a

$ P) F) w- W- B5 U  r

/ h, w5 L/ d6 }& o3 C   while(1)$ a" x9 r$ k" D% I6 V4 c3 h
   {2 t: k5 g. A) c, Q
   display(shi,ge);
" X$ x1 Y/ t( a. I    }# m. H% R! {. k, J0 `
}
& s' Z" q* g4 W# {
6 l2 {7 h0 ]( l1 I" \- Y3 u$ }5 U基于51单片机交通灯设计下载:% u3 Y/ i' T7 E  U* @6 W) Y
游客,如果您要查看本帖隐藏内容请回复
9 h4 e1 w1 x/ {! T

! l7 J8 i1 ]# J  d4 g: S

该用户从未签到

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-7-13 23:17 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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