|
|
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 [+ i5 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
|
|