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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计
$ q% C) W2 I( V1 u
% d* g5 l: ^. @" F* p3 A3 z
3 t- X4 f" ?7 p2 K* v4 Q* F
交通灯单片机程序:
6 e% k9 X& B& @: F0 `! f' F #include<reg52.h>
) t2 s# K3 y7 s1 k4 P  c$ P& H" Z #include<bstv51.h>
# d3 g1 P7 j- D- |8 ? #define uchar unsigned char
7 B& o# Z# S1 o7 Y" r$ l  u2 j #define uint  unsigned int
# S  V4 p' F0 X3 \- M2 w6 i8 ` ) C& [' |; o- ]; Q" g
sbit nbp1=P0^4;//南北方向数码管第一位;
% b2 ~9 e7 V4 s  ] sbit nbp2=P0^5;//南北方向数码管第二位;
( _1 W7 p9 {' G2 i, d5 a9 U sbit dxp1=P0^6;//东西方向数码管第一位;
* A: X; P% x8 T4 [6 O sbit dxp2=P0^7;//东西方向数码管第二位;4 I; F; ]) {6 J7 I  R5 [
8 z% g4 c* I2 m& x) v) J
) ?8 G" {7 ~; G' j8 T2 k
sbit hdnb=P0^2;//南北方向红灯;
: l/ F2 Y2 J" H4 ]1 y& H sbit hddx=P0^0;//东西方向红灯;
! ?/ i1 |5 _' ?+ t4 J sbit ldnb=P0^3;//南北方向绿灯;4 h' x+ p+ b$ m" {$ s5 @: ~* X
sbit lddx=P0^1;//东西方向绿灯;
) H/ v4 u2 b' | uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,& O8 C7 K. b7 ~# J& ?* h7 R7 @
                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
. C2 J/ `( ?: E4 s) M0 @  a uchar num=30;num2,shi,ge;9 |9 M4 H2 s: h; Z$ h+ @% f  o' a, G

& i) S. y% w% x$ N, u
) x% j5 s" ^# j- K% h5 ^# O0 c

9 Y$ i1 g7 O' V' [( A3 j
+ @% G2 y& q; B7 ~

: f$ ~6 ^5 X& r: g$ B/ W" ~

% r. V  F  `" c5 Q, T" Z+ I, B# P void delayms(xms)           //延时函数x毫秒函数
1 }9 y2 I6 \% X- |5 A* x  `7 [$ q {2 U& i9 R- N) }7 d
   uint i,j;
3 ^4 }% T8 u( h& I6 Z   for(i=xms;i>0;i--)
6 z. Q8 a  i' d' Q( i) y$ L     for(j=110;j>0;j--);
8 }+ n9 t& ?6 Z  p' K }
2 P( G! }6 X' t" K  i; ~7 X  R9 O( }" Q  \4 r% @$ G( t: R2 D3 n- o

0 z2 ~( o) k7 W) ivoid display(uchar shi,uchar ge) //南北数码管显示函数( E$ o3 N! q0 A- w
{
# a. n- Q3 e( A' c, o1 L% U: I2 A
; p9 ^- c! K, r3 q& ` , d" c- ]+ B- {% ~

% `1 H2 g, U/ ^: i% G) D/ Y( K* {" e

. a- G: X$ ]% F9 z( y P1=table[shi];
/ B# Q7 H6 V1 h; M4 | nbp1=0;                                                        //选中南北方向数码管第一位: k/ o  l7 F5 v2 {
delayms(3);
+ d0 ?1 D& h( _+ }- @1 H3 W nbp1=1;                                                //关闭南北方向数码管第一位/ N. v9 b! w+ L8 p0 @4 Y. V( {
P1=table[ge];, q* u$ s% m9 ]9 w+ ~; J" ~) w& m" P# H
nbp2=0;                                                //选中南北第二位9 s/ f2 `" j5 h6 `( X# C. z
delayms(3);
# S- O: Q6 F0 J7 w: j nbp2=1;                                                //关闭南北方向数码管第二位4 [  F! ]4 I. M$ n% H! E( b3 |
0 k% P" R. a4 S! R2 N' w+ X3 r
4 t9 y+ u* M6 w8 H2 o
4 {# M  D$ t7 [6 B# b% E( H6 p/ p' G% s
5 |# [+ r, }$ s' F* r1 r) K
P2=table[shi];/ Q) A  c6 ?( g. H
dxp1=0;                                                //选中南北方向数码管第一位* U: `" \3 x$ K- D2 d( S1 s
delayms(3);
4 ~' ?8 P  ~- K" n8 F dxp1=1;                                                //关闭南北方向数码管第一位
& x. y3 Y, A# p4 U P2=table[ge];9 f( E1 m& X: |$ y; P- L
dxp2=0;                                                //选中南北第二位; a) g6 k: \. U
delayms(3);
' m& Q% u& t+ |# C7 K, C dxp2=1;                2 j. g5 c' U! @' l% K
}6 z5 n* d" T. t. d/ U. j4 m
* V/ Q- R5 m9 }

1 m0 b! j+ m2 y% M. }void T1_time()interrupt 3                        //定时器1中断函数
, @8 j' `# r* Z; j" _7 b+ c4 \{ 0 Q1 u7 \% n  w5 q, {8 L
  TH1=(65536-45872)/256;2 C/ \: }: |+ [
  TL1=(65536-45872)%256;
; _/ J$ d4 V% G) B- o6 z/ z8 h  num2++;      + [4 G; {3 |6 k" n. K1 X( {% _
  if(num2==20)/ M# w1 z* D( M6 C' B& ?. d" ~( b
  {0 n* Y2 [5 ^% X/ h% x0 T1 n( [
   num2=0;                                                   //说明计时够一秒
% m$ z3 G  L  d; b/ `' R   num--;8 k' F! d" U3 ~2 f
   if(num==0)* E% R3 R* M/ c" S" F* P$ d6 {) `
    {  8 [1 v; J: U2 f. U( e7 U
       lddx=~lddx;                                                
, P* s  S2 T; K- v% ?       hdnb=~hdnb;                                            
4 T: I3 e; o6 A8 F3 v       ldnb=~ldnb;  |3 x; w/ [7 j3 t4 K6 c
       hddx=~hddx;
8 U% X# u, w1 D$ J2 m           num=30;& v3 s. F" g+ l% {+ i8 x
     }2 M/ ~) k. q2 K! b/ I# u% H

0 o2 w% s) o6 ^, ^4 h8 ]

$ Q% \6 Z7 p4 |7 o) H& c  }
1 i0 E, ?: t9 C        shi=num/10;
( q" y1 U% H! B$ @        ge=num%10;+ A- m& c) G2 j0 Z0 Q
}
5 y$ g4 {8 o* F6 G- k) J4 W2 s: Y5 i, y- ]& d) |5 U' S; W
& f8 {' A- {8 _( ]; W1 G3 s& W

* h! V5 d+ y* U5 o# O
" l: J( R- _' p+ z# r
void main()                                           //主函数
) q5 ~. v1 u  B9 ] {
1 ~3 j: N5 q+ _7 B+ A4 H4 a/ N' _7 |   TMOD=0x10;* e/ h0 }7 N0 Q) H% a5 o
   TH1=(65536-45872)/256;, ~* e+ x' V7 Z9 J
   TL1=(65536-45872)%256;
- Z6 [1 ~8 F4 |/ u   EA=1;* i  }! k/ R1 n- ]+ u
   ET1=1;+ G3 O0 o9 D. W4 Y1 t7 W
   TR1=1;
" A8 S- {) X8 v4 d4 H) X. B9 D   lddx=0;                                                //东西方向绿灯亮) B0 @* |1 `& C; S/ y7 P% m3 Z& {
   hdnb=0;                                            //南北方向红灯亮4 H4 m8 x9 ?# L7 N% l
   ldnb=1;
$ L* y9 o, K6 m) g   hddx=1;) h$ ~2 ?# ?( z9 |  Z! A& z
: N5 W( y" r  h% N* g9 h
1 V  N; X: D% G) a
P1=0x00;
3 Q0 q$ `9 u* W. C% a/ R- ~ P2=0x00;
* d# V) Q- b& w- I* C- G# D nbp1=1;
$ [; X3 Z  @, g4 r! L4 k dxp1=1;# ?) K) s% _, k  i
dxp2=1;
  ?5 D9 Z7 O2 l; E+ W$ ~! N nbp2=1;6 D2 c4 I9 B+ B" Y

: Y+ ^5 W1 t6 }+ @
6 a/ r* d# m3 w5 @7 w' N
   while(1)( m7 X7 K( }( q9 g
   {- m" \8 g; }& U
   display(shi,ge);
# D8 W8 D- v6 i" x    }
& G; W2 F5 s# i9 Y }& H- J" B( s7 _1 j8 h/ z
1 E; U% f, x! [2 N
基于51单片机交通灯设计下载:
% _/ W4 o6 t1 w% K: Y
游客,如果您要查看本帖隐藏内容请回复
. x1 d1 l! u0 V' i. U
! b; g+ [% F" G+ i/ K) 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-11-4 13:20 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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