找回密码
 注册
查看: 743|回复: 5
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
基于51单片机交通灯程序设计
- v8 @/ G" F% Y2 T6 w% B( l/ M1 Q5 S! b( U% J" B0 M" W

9 O; K2 Q5 {7 @7 {4 v交通灯单片机程序:/ L# \! R; s" @9 E$ ]
#include<reg52.h>1 |& v- o: i! i6 I" J. ^( _, E( }
#include<bstv51.h>$ O3 y& G1 B3 y$ ~, {& |# r! ~
#define uchar unsigned char
1 `6 `. }& o0 K- h. o3 B$ F #define uint  unsigned int
1 Q. N+ O0 Y5 H* z0 ]3 ?. t+ O 0 Y4 h* n" l$ }; P+ @0 Q
sbit nbp1=P0^4;//南北方向数码管第一位;' K/ `/ D! l+ ]+ j# w4 q
sbit nbp2=P0^5;//南北方向数码管第二位;
/ d" W6 e2 S3 _: F3 U; T sbit dxp1=P0^6;//东西方向数码管第一位;
  R" [  _& W5 o7 W sbit dxp2=P0^7;//东西方向数码管第二位;4 r9 ?% A+ F4 b) L1 D7 Y+ @* e
* {4 o6 r- |$ o0 _* L$ N8 M
7 n% c& p# B2 |* I  {& y( b) Q8 Q
sbit hdnb=P0^2;//南北方向红灯;# e3 |% i' S, v4 R
sbit hddx=P0^0;//东西方向红灯;5 J4 P1 j2 C$ s
sbit ldnb=P0^3;//南北方向绿灯;/ {4 X9 S0 u1 s5 q9 g5 v3 E
sbit lddx=P0^1;//东西方向绿灯;
' O9 q, D7 z/ B5 d3 \ uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
7 i2 O0 F+ Q, h" B! U% k1 ^                      0x6d,0x7d,0x07,0x7f,0x6f};        //0-9
* `/ c7 I, ?3 b: l" m6 p- } uchar num=30;num2,shi,ge;
8 R! C9 K) |( p3 y3 L
: U  H: L8 k$ K8 L& G
2 D/ l. B' W4 w9 A. i

- z2 h( e( j5 Z& l  X0 C* h

( `  R% k: n" J( L4 {4 v: ~5 ~% ^$ V% f1 N; l" q/ r; z) I% q% p

# `$ H( l9 w# F% @6 a void delayms(xms)           //延时函数x毫秒函数# M8 C. c. W$ p
{
( z' p* n; K2 e  U1 C* V6 Y   uint i,j;
: L' Q# H8 @9 Y$ A   for(i=xms;i>0;i--)
6 Q8 R) v. M1 n' B  Q, w* d     for(j=110;j>0;j--);
4 R2 N/ f& W# v. z; T8 o6 k }  o# M$ E3 J5 F  v" q
: ?& ^8 r( D5 g

% w, ?, g& b8 `3 ]' J6 \void display(uchar shi,uchar ge) //南北数码管显示函数/ V' p- F/ P4 m1 ~
{
1 U% K6 U; ~0 r % i1 ?4 D7 i7 w7 Q5 D2 y  ]

' O2 \1 s" }+ a. U
; i" h/ z5 F/ X

6 w6 ?5 g7 x! N) M3 w7 R P1=table[shi];! P9 H/ j8 w# J( A5 E, Q
nbp1=0;                                                        //选中南北方向数码管第一位
) r* g2 u! j' w" C* _ delayms(3);% @4 f# R- T! M) a' W5 q7 O
nbp1=1;                                                //关闭南北方向数码管第一位9 F8 ]: g, c$ F, U, o  L" R
P1=table[ge];  j1 N9 i+ }, H. b/ Q- L
nbp2=0;                                                //选中南北第二位
' Q2 @! C& t* y2 I* | delayms(3);
7 ^! Q9 t" r4 p  h1 | nbp2=1;                                                //关闭南北方向数码管第二位
" X) B4 t* x' ~' ?
0 e0 L: p  C! V

' x3 t( K% x: j) d" {# F
- q: z0 o3 w( s3 D

  f" G3 u5 f6 a/ \1 {4 f* G  B1 m P2=table[shi];
: ?3 N2 s0 M9 t( z dxp1=0;                                                //选中南北方向数码管第一位
1 z4 X2 D* T. Y! n8 V delayms(3);- v7 q* ?" J/ Y. L0 v
dxp1=1;                                                //关闭南北方向数码管第一位5 \1 v3 \  E5 K: C
P2=table[ge];
, b' E9 M1 p! _2 _9 y dxp2=0;                                                //选中南北第二位' U, i9 o: P2 O; G
delayms(3);) ]% a4 x: q( ]; @
dxp2=1;                8 M" C) Y% D, X3 ?
}
/ z  b  g. r, ?" E+ A( `7 Y6 [
( ?4 [  Y, S6 k+ |7 ^9 g2 T# s) n

0 k+ X) k) m' q  _# Kvoid T1_time()interrupt 3                        //定时器1中断函数9 {7 F6 c; n. E& Y) f& K: b* u
{ & H4 I) S$ v7 }9 ]
  TH1=(65536-45872)/256;
5 v6 k) h: \  q+ ~" h  TL1=(65536-45872)%256;; l+ z8 N6 E# B  q8 m
  num2++;      
4 u3 V& W$ v- m; Y. P/ A  if(num2==20), e  V& K& H/ }
  {
: q' @/ m( W9 k( C( o6 n   num2=0;                                                   //说明计时够一秒
. [4 ~2 d5 q# J3 N. }   num--;
" Y  j. ^" `) D8 j$ Z2 Y. F# G   if(num==0)
( |, G' E/ E: s( E( A% [0 Y    {  : F5 ~2 r- z# o, _
       lddx=~lddx;                                                
+ X7 u. ~' K9 l) J; q       hdnb=~hdnb;                                            
" ~9 n# L! c! U       ldnb=~ldnb;
( h7 f) s2 \7 |: f       hddx=~hddx;
- m8 j9 p" G. `# {& v1 C           num=30;; M* s0 E9 Z& h) o# |
     }) r/ j3 l3 r# X, C6 H

9 x0 d3 [/ M$ ^- a: J# A% C+ D
* _  p: K. X3 I; C' z( [1 f( C
  }
# ~3 V! {1 c  h& M        shi=num/10;
. b, F' J; d: v: ^        ge=num%10;
" E" u0 Y$ ^  t}
! s2 @! h" q( l2 l# T9 ~8 K
! R3 W* P# f. Q; q

% B+ K7 A' c5 Z2 j, p% C# T2 v
/ x7 [% ^: ?) }+ F) z
0 ^% c) s; X3 ~" s1 q. ]
void main()                                           //主函数
/ m7 X" p% z, D2 z {
0 h" S8 ~6 g2 W* ^+ q$ B( |5 ?   TMOD=0x10;
9 M) i/ `; j3 y0 R   TH1=(65536-45872)/256;
" {, n, U/ y+ G* H4 n   TL1=(65536-45872)%256;
) H& g' M; G# r   EA=1;& k0 x3 k2 X8 y6 o; g, U
   ET1=1;
8 D, ^9 D' d, E   TR1=1;
2 [; e% h6 Q0 \% w7 D9 i: g1 N3 y   lddx=0;                                                //东西方向绿灯亮5 C1 x: K9 P1 |8 l" c  U
   hdnb=0;                                            //南北方向红灯亮
, c, Y, y6 R% F' N& a   ldnb=1;. E* {( |) J% ]8 q1 n& x. w
   hddx=1;( v. ?' m; ]( j8 H: b

0 H1 M* i/ y1 R- N/ e

! Q: n  ]8 B& ^2 V  ~+ v- G& F P1=0x00;. H" @; K5 `  d; @; C3 Q
P2=0x00;
( C8 O. e' L2 M% w nbp1=1;1 w) m; J' h+ f3 r5 K$ Q, k
dxp1=1;
3 V8 Z1 l/ T! D$ I& i8 t' N+ ~$ v dxp2=1;- j" O& Y( [4 r1 }
nbp2=1;
' |4 `7 Y( A. F0 T* b  @8 C7 B! K  J: d
( W# L" W! {! _' n
   while(1)
3 t$ M6 E; L; t/ [7 G- S* D: v; \   {
& {0 U. t% J$ J. o3 i   display(shi,ge);$ y' _8 A, s3 r& Y2 \* m5 ?
    }
0 w: G0 N& A/ q/ c1 }9 n }. ]8 [2 \: t( t$ P" Z" c
  p8 Z: T% r7 |6 b% q
基于51单片机交通灯设计下载:
3 K% s) C" X" K
游客,如果您要查看本帖隐藏内容请回复

8 ]+ j5 \7 j0 |% D* c
2 D. Y3 `, b2 w! d# {

该用户从未签到

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-5-30 00:59 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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