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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计9 T$ j8 y* H; Y
( i9 \3 j6 ]8 U1 V( L

* J* c/ g( k8 ~/ |$ u交通灯单片机程序:
9 E8 P" k6 B# q #include<reg52.h>1 ^; d& F* Z9 X. j1 x# L; E# F
#include<bstv51.h>
7 v' o1 q+ A% H! _# P3 P( [ #define uchar unsigned char! y* x' b: U; F
#define uint  unsigned int
  {" P  y8 {: w( V5 c' i8 e 5 m) `5 W" M* J! b
sbit nbp1=P0^4;//南北方向数码管第一位;
" ^: @( Z% x) e( L" L& G sbit nbp2=P0^5;//南北方向数码管第二位;% [4 g1 M/ z7 C5 U8 C; c) q; u9 i
sbit dxp1=P0^6;//东西方向数码管第一位;
0 O8 @% j4 G8 X9 d- g' m5 n9 [ sbit dxp2=P0^7;//东西方向数码管第二位;
; |( k' k; P) J3 j' z0 }( ~
" K+ B+ U2 b, M5 x4 }# e

: X- \$ ]3 R, E& ?- J) R) `2 B sbit hdnb=P0^2;//南北方向红灯;6 U. w" y( w. i. S
sbit hddx=P0^0;//东西方向红灯;
1 T6 P" d6 F2 I; M3 q sbit ldnb=P0^3;//南北方向绿灯;, u- D1 P& C- M
sbit lddx=P0^1;//东西方向绿灯;4 A' V" G; k. v7 x" t0 M( C
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,; K, K9 i2 _1 v8 J( M4 o
                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
6 s; v. Q: L) U. r uchar num=30;num2,shi,ge;
) M) Z% K9 b, V0 c, \# r( F1 q* d. L( P7 Y0 i$ C  [. t2 g
9 h4 f+ ]  G7 r) U1 z2 B- A

7 P1 @6 ~4 b5 |; T

# g% A: z  Q1 ?4 V& u; p5 T8 t
' U( j- E) m- p4 V, B+ h

% Z2 o3 e; o* e) \ void delayms(xms)           //延时函数x毫秒函数
' x& I1 K7 G  [" n. N5 m& i {& A0 V, |' c0 k& k$ d( G7 r
   uint i,j;% p) s. w0 n% H4 e
   for(i=xms;i>0;i--)
# M+ T+ m  z" r4 O9 h     for(j=110;j>0;j--);
% D5 T% ?5 A( ^# g- L; r }
% h6 e/ j# r( l# j. D* p# H  |' z2 B" X" L( q, B

) ]) Q. L5 ?1 H, |/ U' tvoid display(uchar shi,uchar ge) //南北数码管显示函数
" T! J; m' f  D6 c7 C{ 4 S' Z! f% z- X/ {  [# E$ l$ q; B) |

! l% g$ T; J0 |0 E: n - Y' H) y( `0 c: w2 X, c! f) l7 J

1 ^: v" E. A  I2 |% u
+ _. L9 u% e; B" ]4 i0 W9 f, P) g9 w
P1=table[shi];
( ^6 v  k; H3 l' O: C nbp1=0;                                                        //选中南北方向数码管第一位* \7 J2 e! p1 K9 W
delayms(3);
# q9 {( d' S' O2 q+ d nbp1=1;                                                //关闭南北方向数码管第一位+ F! a7 u3 O% r1 K7 I& g
P1=table[ge];
  |3 N  \5 i, f+ R  V nbp2=0;                                                //选中南北第二位
. s3 x$ A7 z; {# k9 D! m delayms(3);9 i* P: l7 m' W% F0 L0 s. \; o- B. j
nbp2=1;                                                //关闭南北方向数码管第二位
! f! T" X' u9 x3 N: C- L% z! E# a6 b! K, j
3 H, I$ ^" m8 M4 j) _! c! X( ?& z

. B% B. g. r% V3 \  W, D

/ K$ I4 Y% Y: l, M& ]. B: X P2=table[shi];
; G7 g* z: b9 ^ dxp1=0;                                                //选中南北方向数码管第一位+ c2 W) D% `* |& ^2 r
delayms(3);
3 d( d% A2 L- L" \+ M5 z dxp1=1;                                                //关闭南北方向数码管第一位* E. }# B. _; _. k. y* d
P2=table[ge];
, o  e0 Q) _5 F% L dxp2=0;                                                //选中南北第二位
+ i  _6 @% Q# c) G delayms(3);
. |4 ~1 o- C0 d. d  w. g) C$ ] dxp2=1;               
( f2 C7 |6 F  [}, |/ C6 D+ Y# f

/ Q, a/ H7 Y+ V8 M4 D8 E4 I

: |4 \2 r; V0 J8 w5 t" B" u) j, o: xvoid T1_time()interrupt 3                        //定时器1中断函数
" y6 |! f: C; i& V  _{ ) l# C" X4 a/ c% O  @7 z! m1 {* c
  TH1=(65536-45872)/256;
/ f$ i% e& W4 o( L6 Q  TL1=(65536-45872)%256;
" t6 g9 M- R. G6 Q0 m0 W  num2++;      $ k* {. h( _3 g6 A
  if(num2==20)
/ U! A4 ~' o; z  P8 Y  {
; Q1 _' f) r( ]# Q   num2=0;                                                   //说明计时够一秒0 M: K9 t9 Q/ `
   num--;
' ~1 U* N/ @7 y+ u. u4 Q   if(num==0)! h  d# z7 D6 Z( _5 A6 b* f, i! v) a9 F
    {  % b* O+ D; Q7 |, f/ M& Q
       lddx=~lddx;                                                
  i$ |1 ?2 m/ ]" a# d3 i5 X       hdnb=~hdnb;                                            
& g: d( k" J( h8 }       ldnb=~ldnb;
+ |5 O" m, O; c( }1 }       hddx=~hddx;
% O0 ^% y" q" ^8 Z2 R, |* K           num=30;% `: C: J4 m7 e9 h
     }
) I) x) X* s2 A: q1 J+ M( {# k" ~; L, Z
* M0 c& b1 C. J- v# o% E# I
  }. j, H; W6 w9 x
        shi=num/10;6 M: y& @) h& h" v$ ?4 ~' {
        ge=num%10;
% ^2 y/ q$ W! V# K3 W; Z8 g; H9 q}
" k: w4 Q% N' @9 M3 {; l4 d- }9 w: w$ Q0 r3 \
' d0 D' C$ b# p4 c
9 G3 l4 L: M, L. X) J

* Z1 g+ w( ~2 z  L$ A' P1 Mvoid main()                                           //主函数
- p4 n9 [( m- L3 G {
7 S% S  L: m6 L5 a( B   TMOD=0x10;
8 X+ k0 f5 [# w   TH1=(65536-45872)/256;
9 a1 e2 D9 K# i( E2 U# n   TL1=(65536-45872)%256;
! P3 ?. Q' ^8 i) ^# `3 H   EA=1;. I9 E  t# t9 [7 }# j3 J
   ET1=1;! t9 m: F- t  g2 F$ P* s
   TR1=1;, t; \+ _. O- J/ U
   lddx=0;                                                //东西方向绿灯亮
6 h& A2 C# W+ t0 q" m& Y   hdnb=0;                                            //南北方向红灯亮
4 N4 w! @3 _9 f+ b6 W   ldnb=1;4 |' d1 l+ y. x
   hddx=1;/ \8 i: G3 V/ l5 j
- c* l) G8 c# X) }* s8 q% @
7 N5 {( ^# P) C5 F0 k
P1=0x00;
6 M: t2 j/ N1 l+ _$ |" z! N P2=0x00;
9 o) H, `! L4 c0 U2 D% M) m nbp1=1;
  H- l' N/ A9 T- \2 T dxp1=1;
5 R# Q' G/ b0 F/ h5 {5 a+ B) o dxp2=1;* ~& }+ z) {! g
nbp2=1;  Y% W/ i: t$ F7 ?* G1 e9 \

* J' L: F" l4 V5 [+ i
5 y9 I) p4 v4 o
   while(1)
% S% X/ H% L  X8 t   {0 v, a% C, p% |$ V  C5 t
   display(shi,ge);
. p" \0 |( t( \  [    }
/ w# m3 [5 A# |4 y" C/ r }* g7 D! t# h9 I$ `
/ B: l+ s: \6 a1 [
基于51单片机交通灯设计下载:, \6 Y& @8 w1 d! z; o
游客,如果您要查看本帖隐藏内容请回复
4 K6 F+ s& ~5 I9 T$ ], h$ Q
7 G# W; Q: K' g" e+ `' F

该用户从未签到

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 14:42 , Processed in 0.187500 second(s), 26 queries , Gzip On.

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

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

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