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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计
: d$ J, `8 ]3 x' S6 P" g! ?, Q. W. g7 u6 D( F/ R( L. p: o

) q. R2 _+ j7 I交通灯单片机程序:9 ^4 Z+ K4 |. B2 Q1 s
#include<reg52.h>2 \7 I' Y' ?% l- j- G6 Q7 t! E+ b
#include<bstv51.h>& _! W& {5 F5 {* L7 F4 p5 t4 {- a
#define uchar unsigned char
% Z: K/ H6 s% i, F2 o7 _$ b( l #define uint  unsigned int2 g4 I: ]3 n$ ]5 X& [( i$ V

" p9 ]" l6 Q+ j sbit nbp1=P0^4;//南北方向数码管第一位;1 B" j& T( u4 r& M( c! w
sbit nbp2=P0^5;//南北方向数码管第二位;
& w6 A, @) J/ Q& V: f sbit dxp1=P0^6;//东西方向数码管第一位;
9 A$ h( j3 B- a sbit dxp2=P0^7;//东西方向数码管第二位;
# l- e1 K( j; C1 V) ]9 z
* n$ q+ n  W# O* ~& K+ G
/ V4 g# v) e' b% h# Z
sbit hdnb=P0^2;//南北方向红灯;, e8 i* H' a# ^, {4 K6 e8 |& A4 p
sbit hddx=P0^0;//东西方向红灯;; v6 X/ t- `$ x0 @  V
sbit ldnb=P0^3;//南北方向绿灯;6 m# U5 I( a) Z# h
sbit lddx=P0^1;//东西方向绿灯;' u1 |. J8 ?" \; J  `/ d0 m, z
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
. S3 ~" H8 l7 o: G% B! [/ C% u( v- U                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
: Q5 X9 V! j$ H, \ uchar num=30;num2,shi,ge;
$ M6 c8 ?3 [2 j  b: m1 p, m4 Q& N, l9 C

9 V3 |; i: _* _7 ?( P( b
& q3 j; D4 E" v2 m

) l6 A( y9 g: \6 m
) V. Y  c% G9 y5 F( Q; p; t
* Y  G7 W! v; Y
void delayms(xms)           //延时函数x毫秒函数
& q4 f) w; S0 v' N {
; E4 J6 O  n& P6 Z  L, W% ^   uint i,j;& a) g3 y: N5 q7 C
   for(i=xms;i>0;i--)
, J; W, a# Z# ^6 j     for(j=110;j>0;j--);, v9 x& q6 o7 o6 m( q
}# t0 Z; ^( N' X3 @: g! i. p3 J

# W" }8 r5 p" W3 h+ i
9 d& p0 @2 t  e  K' P% H
void display(uchar shi,uchar ge) //南北数码管显示函数4 x2 P) i: M# o, Z' Q
{ 9 U8 v  p, e( w- q# V

- n8 N' h1 U/ J# O
, K5 ^2 M7 O5 c
4 r. x: q" b$ c
6 o9 Y0 k3 h  r6 u/ [' u7 {
P1=table[shi];) H# R6 M: N9 I+ g  v6 }' Y2 n
nbp1=0;                                                        //选中南北方向数码管第一位
# o6 H$ d. V' W. N9 _( _ delayms(3);9 K+ \; f3 i4 a8 Z5 R; h
nbp1=1;                                                //关闭南北方向数码管第一位8 k6 B- Z+ w  d+ Y
P1=table[ge];  n/ `7 Q( a: V8 n, ~5 ?
nbp2=0;                                                //选中南北第二位
; m' r! E2 ?3 s) }/ v5 C2 Y delayms(3);
& M0 Z) K/ q' d& o. n nbp2=1;                                                //关闭南北方向数码管第二位
( x: ^) T6 K+ C$ w% ~, Y8 f4 O' G5 R0 \

" U5 G( z; s6 ]5 y- C+ r% ]+ c
2 C3 r& d9 A' L  d3 D. P
; \8 l$ n5 r9 W
P2=table[shi];
# O. ~4 |( ]" ]  B3 e/ M dxp1=0;                                                //选中南北方向数码管第一位
0 T& G# o$ D8 X. N! C( {5 b. l delayms(3);! x9 O' _/ D! {8 V) h* Q( g) R
dxp1=1;                                                //关闭南北方向数码管第一位
% e2 \  ~0 v0 Z P2=table[ge];
6 x/ e) c: a) w+ s: Q dxp2=0;                                                //选中南北第二位
  j; i2 H7 N6 u4 I; \ delayms(3);
: l; F, J9 z% s6 @8 p" W8 L& \! _+ K dxp2=1;                2 r% v, f8 l7 I8 _# t
}
2 s+ W* G* `( w1 v6 s* D% ~
, G/ ^( P6 G4 U9 Q7 l; m* o1 M/ C

+ A4 x' U& b! J. s% Ivoid T1_time()interrupt 3                        //定时器1中断函数8 [2 D3 ]1 w4 Y  b- l
{ ' b1 s$ @# A' r; ?- ]4 _  q- Z* y
  TH1=(65536-45872)/256;
9 _% g, h' \2 w4 r5 W3 _  TL1=(65536-45872)%256;
8 d4 @7 [  q$ m. ~  num2++;      
) t/ F: C0 e! y" E1 Y8 v0 A' ~" {  if(num2==20)
6 H' ?) g& j; u  ^5 K) X  {5 r$ x  ?3 g% b) D( ~+ T
   num2=0;                                                   //说明计时够一秒6 `% t7 k! ~! D1 m/ n9 {
   num--;
; x! i+ }4 w( P$ n& e   if(num==0)& ^1 F& R, f8 U3 V
    {  
- d* [) T* h' U% G       lddx=~lddx;                                                ( g& L* X0 D! d) f' p  f
       hdnb=~hdnb;                                            
, i. k/ R7 d6 y: |. }! g       ldnb=~ldnb;8 X; n. M6 m  G9 w( y* n" O% M
       hddx=~hddx;
8 W' o/ X! U: w! |) w  }4 a           num=30;8 Z4 ]& k& v+ M  r& _
     }
' f# }/ b( k, }- e9 I, e/ x
2 ^' v) w$ X2 e4 p) Y1 o
% I7 H  l) U( h0 }
  }
$ q8 w1 M  n6 N2 j5 E" j( X        shi=num/10;
3 r$ {3 p. O7 S6 I5 z, c9 Z        ge=num%10;8 g' l4 r5 C" |" r- ^
}
' E" |; \& v% X' P7 `; l3 C4 d9 U2 O: I$ u/ x
$ ^% M7 s$ @, [
) W( r4 t7 ~! L% |- G3 z! H: C6 k
, u7 X; X8 r( K' w
void main()                                           //主函数, k* C2 H. o5 l3 Q4 O+ S
{5 V3 n1 P6 V! u% R' x, }
   TMOD=0x10;
5 c6 F- y6 W9 w   TH1=(65536-45872)/256;  L2 `& K- }% L7 V- Y1 d
   TL1=(65536-45872)%256;
3 i2 r1 C6 O. k) H. A/ W# F   EA=1;4 e# J- C* V/ W  ]* j; M4 N" b4 w
   ET1=1;
0 q& Y9 J* _0 D: y: q  D3 |. J% ]0 M8 Y   TR1=1;! [. r" R- f0 q; z7 E$ }
   lddx=0;                                                //东西方向绿灯亮
/ l! A4 W) p) U/ k  c0 Z   hdnb=0;                                            //南北方向红灯亮2 w! E& @4 S+ _- b
   ldnb=1;, {" P' p5 V- ~( U
   hddx=1;8 L6 z% L' a8 k

( ^8 M# Q% S4 F! Y; n8 u$ V
6 s  ]9 R0 k# e, {
P1=0x00;/ e5 h6 N  g  i8 T4 g
P2=0x00;* G2 o" |; n) N
nbp1=1;
4 L5 i' a/ P9 z7 H8 { dxp1=1;& R$ k9 A) P; C/ V
dxp2=1;
; @- k$ d, {2 T. y. S. F, _. i9 P nbp2=1;6 |# K) J7 |& J7 ]
& d$ R3 i# S3 G; X# D* ]

$ t4 N+ k/ x9 C5 `$ B; ]( M   while(1)# A$ \! Y3 E3 L5 F  V2 Z, d. @
   {
: a# [( \* a8 l; Y  [1 V' J   display(shi,ge);
( ^7 _& M, t  L  ]/ N    }! `; J$ k+ ]9 ^6 N8 K# W9 p
}; e( D( D" S7 Z$ T; T
5 B" B3 K3 ]( F3 ?! I
基于51单片机交通灯设计下载:
' r2 ~; Y) `) S0 d% G! s# D
游客,如果您要查看本帖隐藏内容请回复
5 c$ h( K" j: g) Y! R1 l% A2 w
, b* G0 ^$ u0 X$ X; o8 i2 D. W

该用户从未签到

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-10-12 14:24 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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