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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计' q$ b- M8 A: K  j" W% o
+ W' z  E- t. t& @6 x

* ]0 l! A2 h% E& l( D* i1 N交通灯单片机程序:
) H0 }; g0 x( Y8 }. e #include<reg52.h>* Y+ c( E5 Y) z9 T+ {
#include<bstv51.h>
! i# F# {7 N+ p; q- M #define uchar unsigned char* }3 F+ c, Z0 N/ o1 p
#define uint  unsigned int
$ Y( `% j2 q0 b- {- a* a 1 S. E4 h! j5 V6 g( g# G' a3 p
sbit nbp1=P0^4;//南北方向数码管第一位;
" n+ Y; B; Q+ ]7 V  d8 a  N/ t sbit nbp2=P0^5;//南北方向数码管第二位;8 B/ k9 ^8 N$ Y4 C9 J8 B9 J
sbit dxp1=P0^6;//东西方向数码管第一位;
8 f8 I- t# y. X3 r* @* h9 t sbit dxp2=P0^7;//东西方向数码管第二位;% E$ N6 d) u; M# _1 D$ i5 ~
& s' w  J) q, |; C

1 D* ?, x" x- V8 B- F( c" f sbit hdnb=P0^2;//南北方向红灯;2 i% }& R& ~' M: q8 n+ a
sbit hddx=P0^0;//东西方向红灯;
" F5 K, {+ ?0 Z0 N% i sbit ldnb=P0^3;//南北方向绿灯;
) J" S6 b8 i6 \$ P$ b! c% x- z sbit lddx=P0^1;//东西方向绿灯;  H6 h$ }8 B/ E. i7 m- A
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,6 R2 h# ?# A+ M" o+ r7 A. y, I7 ~
                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
: _: q0 M  D; T1 o- D* x uchar num=30;num2,shi,ge;6 M, R5 m! z- k; R- f8 Z- R. a

. i2 D8 N8 f1 g
5 K7 f2 i$ F: _& ^3 v

& y' M( h7 g# H( t) E, O
! i5 ~( l2 Z3 B6 a
4 j: l1 C6 Q; T9 s8 g3 T2 A# D8 {
$ t* ]6 u, \/ [# h
void delayms(xms)           //延时函数x毫秒函数4 R* p; U% _2 z: }2 l  p
{; h; ^, b  r7 j; N
   uint i,j;
4 _, K3 z4 k+ g' }  G: k   for(i=xms;i>0;i--)
& k! p6 s% Y7 r% D- W  M     for(j=110;j>0;j--);$ D# V3 ]  m% [: t; f- R
}
/ Z) V9 H) q. \  R- ~
; e# R! Q! K6 e
  n8 v* z6 [- ~2 _9 z/ I& n4 \
void display(uchar shi,uchar ge) //南北数码管显示函数9 d% ?7 H$ S5 |/ _( Z1 w" K0 H
{ 8 r& q7 q) R8 `5 A
4 O4 K7 x  M% Y% z% u( R! O. M

7 o* M! [1 Z/ L: [3 D" }4 k0 L7 O. Z4 p9 v2 j, l, d  ~9 r) S$ x8 ^  Z
$ C$ K& h6 p: C4 x  l% i6 A3 I1 \
P1=table[shi];) U/ w: c; X: ~. N6 L7 {- C. C5 g
nbp1=0;                                                        //选中南北方向数码管第一位
4 H) I7 T/ M' n% ]) z7 V& Z. q8 w delayms(3);
0 w2 y/ r0 k$ m* I6 n3 X; `  U nbp1=1;                                                //关闭南北方向数码管第一位5 O% d. Z+ `6 \5 u! q, a
P1=table[ge];. J$ H8 |. e9 t$ Q+ E9 W# i
nbp2=0;                                                //选中南北第二位
* a) P% o4 d+ J9 b0 X: k. ^( J delayms(3);4 @% h# H! N. Y! T* H
nbp2=1;                                                //关闭南北方向数码管第二位+ J5 k0 ?5 K; c- q" @
% {* P# V- U/ b1 r

3 Q( _% [, ^( J' X1 N) E, N& @& r& o: _) Q5 @) i
# v! p9 g; a" G. [: A
P2=table[shi];( w* H8 Z6 z- O
dxp1=0;                                                //选中南北方向数码管第一位( N7 E, j( b0 t+ P
delayms(3);6 s& Z6 h' F# J+ T
dxp1=1;                                                //关闭南北方向数码管第一位
( b! b$ a- [8 o3 C6 G P2=table[ge];6 O; i5 ^, q0 A- ]2 O
dxp2=0;                                                //选中南北第二位
+ Y+ j- K$ I$ D7 g delayms(3);: \: `- T0 W/ g1 e) {3 n" y/ \
dxp2=1;               
! m: N* ~  O% X" N0 h& b0 U( `}5 }+ T8 V* \1 \9 Q, a9 R! W

8 S+ L+ Q! A" v: w

1 @$ Q; U/ f4 U: t4 _void T1_time()interrupt 3                        //定时器1中断函数$ r8 M, a+ g$ i; L/ M6 H
{
4 s5 N6 v2 \& Y% @, m! |  ]  TH1=(65536-45872)/256;# @( n# N* Y+ K$ Z! n7 N: d+ d
  TL1=(65536-45872)%256;8 i. S. @% d5 w3 e9 H6 T9 c2 Y
  num2++;      
+ N" ?1 U) G, p3 P8 ^- g4 W" T! L2 Y  if(num2==20)- g/ w3 N' f/ p6 x0 P- K2 |/ _
  {
9 z1 y; D1 ~' w   num2=0;                                                   //说明计时够一秒
! |# P& n- p7 o4 Q1 T2 A( o   num--;
6 {; F2 T2 f; c$ I; \  A3 g  G0 h7 F   if(num==0)
* U. t3 `- m/ r7 Y9 {% L; V% T    {  
- }, j( C7 R$ y) I6 [       lddx=~lddx;                                                % j- K* x8 h. k6 Z: D8 h4 B- D
       hdnb=~hdnb;                                            . _% {" K/ y2 n" c& C
       ldnb=~ldnb;5 f0 y+ y. q+ _+ U  `6 }4 k5 H
       hddx=~hddx;
1 m) I7 [  [! B& J           num=30;
5 H7 G4 b  B+ C, B( M     }
7 ~( a: V% K; Q! l6 [( r- O: i2 @: s
! O; |, T! G' L" D0 I
  }( r" q. \. \5 o/ P9 A
        shi=num/10;. y3 c6 m; @  K4 D3 Y
        ge=num%10;6 |& ^* E, R! \2 g3 H+ [; @
}1 Y8 C3 L6 a# }
! t$ W6 W  f# b  H# H; _% |3 z
. K( H- }: q7 m! a9 `4 f
# C  g4 P9 N9 U
* j+ U' Y8 x- m
void main()                                           //主函数
. ^% k4 e- K8 D4 u0 b3 | {+ x) _" j/ Q- r- u. G
   TMOD=0x10;  j" x% @: c7 m' O
   TH1=(65536-45872)/256;) f% P* r- v; P( y* j- P, A; E
   TL1=(65536-45872)%256;
9 q6 V/ ]' J6 F   EA=1;5 k6 W4 ?, d, m% h$ V  i2 A+ m
   ET1=1;! @) C" N" B& e- E
   TR1=1;
: O% r" Y6 @6 v' S. S+ ^. o   lddx=0;                                                //东西方向绿灯亮- g1 e1 E+ r4 R$ t
   hdnb=0;                                            //南北方向红灯亮6 x, {' e. f( `2 C9 K' {/ E+ P+ H  U
   ldnb=1;
$ r" y% Z( K* M   hddx=1;
* @5 G. {5 s/ t& n- s! _8 F- {1 `
8 `* M- ?) G  r: _" ^

- ^; Y( u. t* ~) o P1=0x00;+ D  I6 ?( r: R2 s
P2=0x00;6 y0 I6 I1 X3 r+ L3 m
nbp1=1;; |0 q4 q* |( m
dxp1=1;
" y0 w: f; l3 M! z+ R" [$ H3 k: f dxp2=1;: H* a! J7 h. R2 H8 ^0 U
nbp2=1;! ?- c1 }' q7 g/ ]

, ?+ S: t; \, \
' W  p, K' Y" ^( E2 b# \- o( _9 }
   while(1)5 Q9 b4 {" P2 \4 L$ U$ P! F
   {
+ ~2 a" J" o1 w7 T$ z   display(shi,ge);+ u. b* L% C) _; O. W# o
    }, e% s0 W2 ^* C, Y# W
}
% \  \! @1 e3 J7 S7 {5 W- l4 D
基于51单片机交通灯设计下载:
1 w7 F$ K. d# w; r7 R3 I
游客,如果您要查看本帖隐藏内容请回复
- W: w+ f& r1 c7 w4 E
& ^# l3 F+ T" G

该用户从未签到

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, 2026-4-18 22:10 , Processed in 0.109375 second(s), 27 queries , Gzip On.

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

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

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