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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计
: R) z4 j2 w$ J9 |- ?. U) K5 O% d7 m& g. _
& U8 M+ l* k. w, a5 ]( ~& R3 [2 d, f
交通灯单片机程序:+ i! W! V7 ]6 r) r0 ]/ X
#include<reg52.h># ]. @# z8 b( @; ?4 H; S' l
#include<bstv51.h>. f6 k* ^7 j( s+ B' [
#define uchar unsigned char
. M8 u: ?0 Z9 u; e- d #define uint  unsigned int
; E9 l+ W' \2 N6 O4 P
0 O5 B% @8 i- T0 ? sbit nbp1=P0^4;//南北方向数码管第一位;
. {! f, q9 l0 g' g2 G9 C+ T sbit nbp2=P0^5;//南北方向数码管第二位;- c! {  x( F+ q: K5 S& B
sbit dxp1=P0^6;//东西方向数码管第一位;
" L% M3 ]7 Y' U/ @ sbit dxp2=P0^7;//东西方向数码管第二位;# W: f- [% Y7 ~( \# A9 |
: V2 K& U# {) @/ x# J4 x
# T0 U/ U* G- m. l
sbit hdnb=P0^2;//南北方向红灯;0 _5 _. {0 a8 y% O( m( \' t
sbit hddx=P0^0;//东西方向红灯;0 n4 U: h7 H, L4 |
sbit ldnb=P0^3;//南北方向绿灯;* W. O7 {9 d" S* V
sbit lddx=P0^1;//东西方向绿灯;
/ p: k  W' i/ s* |+ X7 F4 U, A4 ]& g uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
' v. P  D4 X  z3 D                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
8 b* ~) g$ k# `+ A8 |' f# ~ uchar num=30;num2,shi,ge;
; d0 @1 x0 t( p: s* E! l2 ?0 i: p$ m

% @' v8 l" x6 ~8 p+ r
% {0 A  g+ c1 a4 p7 R

4 k4 s4 c: l& z6 C8 \8 C
5 M, W3 y) m6 [, x. S  Y
. {# |" E/ B: {/ r# d
void delayms(xms)           //延时函数x毫秒函数
1 _7 j( G4 ]' `8 A3 r) c {
# O3 S5 D2 l& o   uint i,j;
& s5 X& p' ?6 |   for(i=xms;i>0;i--)
7 ?+ G, U" J- C/ Q/ X1 {, Y* R, h2 t     for(j=110;j>0;j--);& B# I: {" M, x9 q" U9 C  m% U
}0 e, U7 u& @' U3 V! P

8 w! z& c+ x0 `' B" X  N
' M  i7 K( I- h( G& i2 A- w
void display(uchar shi,uchar ge) //南北数码管显示函数: e! `3 C$ J, |& y7 s8 X: |
{
2 A; w! g& H* } 4 \) ~: Y, q! M% U) k0 b4 P  E

/ f' Q: F  }' p1 f
/ k8 o: \5 ]5 }
" n: U3 T. j2 U+ S4 v4 _2 \
P1=table[shi];2 p7 |+ I  \, s  D
nbp1=0;                                                        //选中南北方向数码管第一位
! Z* o" o3 t/ S% U4 l1 ?* l delayms(3);$ l+ Z) }  F1 z3 e& U3 t- U
nbp1=1;                                                //关闭南北方向数码管第一位  h- N  [9 u- x4 P) |$ |; k2 Q# A
P1=table[ge];- N3 G9 g  }' K2 n( @6 ~; O
nbp2=0;                                                //选中南北第二位/ ~; U8 l, L9 d+ G! u0 }! Y
delayms(3);
9 S- `9 ]* D# F nbp2=1;                                                //关闭南北方向数码管第二位, }& D0 u/ ]" u" I3 H# [# E
: i- B; r( n* S7 @. i0 @
) Z! g. L5 b% T& n+ K9 K5 @* X

) o0 j9 ?: s. [/ O
1 a7 ^. T/ f8 v
P2=table[shi];" w9 d. _/ J  u( Y* N$ f
dxp1=0;                                                //选中南北方向数码管第一位
# R. A' g7 x, p" { delayms(3);9 N- `# d; F/ J$ z- B
dxp1=1;                                                //关闭南北方向数码管第一位
. y9 y/ a: d+ _: g* R P2=table[ge];8 E5 X* b# l9 y3 `; Y
dxp2=0;                                                //选中南北第二位8 d: m# F; n6 J6 _9 d
delayms(3);
2 Q+ o/ ^; g1 r  H/ G dxp2=1;               
9 v5 R  O0 s6 O+ Y}
1 J9 P) n% Y4 C* T' p9 b' b( u: r! K/ s

2 L6 k2 S8 S$ l$ dvoid T1_time()interrupt 3                        //定时器1中断函数# P9 ]5 Y. }, l; j- Q% \2 a! }
{ $ w9 U. U) m$ E& B1 R- f! m
  TH1=(65536-45872)/256;
  X6 i  q; k, v1 a  TL1=(65536-45872)%256;
4 b' ^* s) K% F$ ^0 u9 V5 S- y  num2++;      + R( B$ H; e" a, U5 ~
  if(num2==20)# [3 C6 H1 C# \; G
  {
5 c* `% F' w' \7 J, L9 w4 f/ g3 T   num2=0;                                                   //说明计时够一秒
7 L" M( a# u% W& v! N   num--;
! q" o9 z+ R/ y% M( h+ g* _( m   if(num==0)
/ {7 i! V4 X, b1 l; @8 Q% {    {  
. Z$ C3 u8 M4 S- d       lddx=~lddx;                                                
, `9 Z: ~) _, d% p2 X       hdnb=~hdnb;                                              O5 i7 f' d0 V. `# D1 Y  B/ P, S
       ldnb=~ldnb;
" v4 p4 L4 s) v( g0 G3 ^: ], h7 z       hddx=~hddx;
2 D& S; O; B; F* x# L9 w; g( L! r           num=30;9 F3 n: [2 v, `
     }, p' f9 O) @- j; O
- a" r( E$ }2 w6 ?  h4 b1 d

% E$ o$ ]3 b! }/ a2 G; _% B" |  }
6 a9 c! l* W4 X8 ^( i* O* E7 b        shi=num/10;
5 |5 m. d& K+ t/ P$ Q        ge=num%10;
% I& g0 s, k! k, y9 `. D}1 x% f: w+ G: z" {2 W! r

" b( S7 @, W% Z( c- k

* S1 V+ a5 h# ^% \  m1 q. t) I" B
1 X" P- K7 i0 [+ V3 i
void main()                                           //主函数" y( m: ~4 X4 J1 B8 z4 {+ U
{' f. y7 ^4 q4 v2 j3 N, M1 q
   TMOD=0x10;
- g: l4 E1 j- j5 A   TH1=(65536-45872)/256;
! X2 M0 o3 v& }2 e0 ]   TL1=(65536-45872)%256;
, ~: J0 w/ u# e7 S: \   EA=1;
& n. X5 d6 `. G- b   ET1=1;7 P& x0 m) X. b
   TR1=1;: ^& H5 A* }9 R* Z
   lddx=0;                                                //东西方向绿灯亮8 e& ^& }: @" w  g: R% Q
   hdnb=0;                                            //南北方向红灯亮' `* ?1 y5 D6 Z4 N& ~2 \
   ldnb=1;0 t  b, L# ^; o3 {
   hddx=1;
9 h5 C6 d8 Q9 X9 I+ W- c7 b/ m0 h( z" U1 G; X5 f

2 ~2 r3 l$ o4 ] P1=0x00;( k5 X1 ~1 r# j3 \- \: ]
P2=0x00;
5 _! v3 S' B% _- [% b nbp1=1;* ^+ y8 T$ d1 M; M; K
dxp1=1;1 P2 @. ^0 b2 b5 z* @
dxp2=1;
1 n0 W# R  c  f; X* R nbp2=1;
) }* a  c& M+ H: h- D& [
$ U/ q9 ]# d) u. J

$ S0 @* t; J+ G. F1 L( b   while(1)- X# A8 B3 x" I5 l1 R) e1 C7 m
   {
: |( e2 ?0 D( \- T  Y8 C8 S   display(shi,ge);
1 N/ {; b' H: u; R    }: z+ s- y1 T- |+ c4 }
}8 N% V# P$ X* t# j$ Z+ W
8 d: o/ E/ T4 B
基于51单片机交通灯设计下载:3 y8 p+ l1 @* `0 E  c  _
游客,如果您要查看本帖隐藏内容请回复

9 g6 n2 A' ~+ Z& ^( g3 n9 }4 L. a
$ u5 l5 _0 z! j8 M

该用户从未签到

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

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

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

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