找回密码
 注册
查看: 746|回复: 5
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

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 e
1 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

该用户从未签到

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-6-2 19:00 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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