|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于51单片机交通灯程序设计$ o4 [9 e" Q+ Z
" ^$ l5 ^8 N% n) B7 B3 Y* J p* D. Y7 t: J
交通灯单片机程序: y( [. g/ C2 q+ I( o; l5 n3 x
#include<reg52.h>
/ `& Z, a4 z( p9 l #include<bstv51.h>
7 S5 r }( ^1 \ ?# H+ U B/ q #define uchar unsigned char
- Q: o5 d R3 z' n: u2 N #define uint unsigned int
" E! B+ w8 o3 t% K2 T3 B: s; {4 w . V* a' ?6 F: u
sbit nbp1=P0^4;//南北方向数码管第一位;
0 g" b- S N5 N7 f3 z+ @# W9 m sbit nbp2=P0^5;//南北方向数码管第二位;
/ W9 N9 k9 r7 U* G4 e sbit dxp1=P0^6;//东西方向数码管第一位;
: H- q6 {9 R& w6 k3 ` sbit dxp2=P0^7;//东西方向数码管第二位;
9 J/ s0 i" C7 Y! p3 s9 P3 }) t4 ?8 w) ?. `, j5 l
& p$ d; \1 |; F( i* f* x7 T sbit hdnb=P0^2;//南北方向红灯;& R4 S; l% q7 |' X/ l
sbit hddx=P0^0;//东西方向红灯;( ?, a: h+ j7 ^* D
sbit ldnb=P0^3;//南北方向绿灯;
" B J, [. o6 V3 r; f* ~: Z, D sbit lddx=P0^1;//东西方向绿灯;
0 X9 p+ [: x2 V( @6 J uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,1 ^ w% |4 E, N
0x6d,0x7d,0x07,0x7f,0x6f}; //0-9. z, P2 `6 e8 f+ z( B+ d8 Y
uchar num=30;num2,shi,ge;$ `8 ~; N# o7 S/ y
" |9 T5 O& l) `' i' w
9 e: d* O5 Y- |2 w# P" W
" e) d1 F! w0 w3 h0 Y$ W# g- y" [+ j+ K7 j. q* ~' k, D& r7 m
" n9 K5 @. ^, r
5 w! k E5 o9 H
void delayms(xms) //延时函数x毫秒函数
' q1 L( @+ W) {8 u9 ^5 |6 }& q {' k1 T, w) f6 o
uint i,j;
8 f3 Z1 z" T: s4 u" I for(i=xms;i>0;i--)
2 k9 f9 h W, q3 p0 V6 X- z, Z for(j=110;j>0;j--);
0 U+ n' J8 |2 F+ [ }; l, _' [8 e" p7 _0 K2 v
+ _( n. A9 F. R+ _! K4 n8 }) ^* t
) B/ i6 D. K* o4 ?* }void display(uchar shi,uchar ge) //南北数码管显示函数6 m1 Z$ T1 ]6 n! S; q+ _
{
6 ~1 |7 l) l" C: g+ v/ Q2 l , D: c/ k" r+ Y2 f$ R( f
0 X. Q( S6 A. v+ w# D
u4 Q/ r9 D0 D m, ]1 U' S: Z1 I. ?: _/ R
P1=table[shi];
q* X& r( ^, m* U( F2 `" i7 | nbp1=0; //选中南北方向数码管第一位6 z7 S3 g7 z9 t. o; Q5 Q
delayms(3);1 _; G% t- {, d6 A
nbp1=1; //关闭南北方向数码管第一位
3 B( D6 z! V7 k0 m& o P1=table[ge];2 s0 A8 d6 a; A+ ?! Z+ q
nbp2=0; //选中南北第二位
* s4 O- X. J- i) e delayms(3);: e. x6 b8 ~/ Y% Y+ l3 v/ x1 v L
nbp2=1; //关闭南北方向数码管第二位
z& V9 p A. k- j$ b# O
, W, [1 N4 X! d. n( k
A; ], @- y, q$ p- M- @* |' [; r* r
0 O, s1 q! z2 \ P2=table[shi];
' ^- y1 s3 ], c$ M0 W) { dxp1=0; //选中南北方向数码管第一位
( v1 |- B8 I, E; w delayms(3);9 A' Y: S! R9 c! A5 K
dxp1=1; //关闭南北方向数码管第一位
- s2 C4 r4 L! Q& \. b9 }/ V5 b P2=table[ge];7 E* x3 Y) x. C
dxp2=0; //选中南北第二位7 t9 y+ @$ V& Q$ F3 j
delayms(3);$ P, z1 [( Y1 M7 J0 M1 F
dxp2=1; # V% Y8 R+ B+ A# {( y* j( I
}
' o/ M1 I$ t, k- ^; n6 d, b1 I& l! F
% E' d f s. b
void T1_time()interrupt 3 //定时器1中断函数% }0 K: B. U$ }5 [* I! x* F
{
7 p1 k/ k7 R$ h. l1 Q6 X7 e TH1=(65536-45872)/256;
* X0 v8 \, M& @" k" v+ w1 }' G TL1=(65536-45872)%256;
' ~; P. ?# u; z' h" {& r, k num2++; ) Q3 p; s, y$ z0 s
if(num2==20)0 V& D5 I0 I: q: H, a
{: G4 `* H' R. h1 s1 N: f
num2=0; //说明计时够一秒* h* b: j m* E" r. f2 S
num--;7 ~& ^( l9 r2 K% u* k2 [$ ?, N& g& f
if(num==0)
& a2 A5 O C% G3 W* n- N { 8 ?/ N& U3 e# K/ N
lddx=~lddx;
& o4 P- s/ \3 N* T) m) n. l hdnb=~hdnb;
" B" r( d$ e6 @$ u' V- ^! F ldnb=~ldnb;
: p4 A" b5 q; H& T4 Y& ~4 b, ~ hddx=~hddx;4 ~* k3 L$ j1 L# i
num=30;3 N! ^1 y+ n! O4 M, e: u8 u) r) o
}& H/ S2 C: _+ ~9 L3 L+ ~/ e
# i! y+ v0 g) I. `# Y
+ f9 Q. E: o4 |% M2 r5 n# Y }
$ `. W1 r, G# U- M `8 l shi=num/10;4 H! `# p( v' e/ g& a
ge=num%10;
. U* U/ S% W; o- \( e4 C}
! ?% [9 Q z, T" `" L8 q# r3 p2 ^5 [6 P8 w
7 J* K% V3 A/ c! w4 B* A7 K9 w
/ \1 k- \, F7 L$ P+ |1 F( S' B
8 R' P( w) A/ ]; L8 e7 A9 evoid main() //主函数
g) L" F2 A) K2 V; m2 ^" E! g. @7 X {5 M4 B! f0 n0 x8 Z, j
TMOD=0x10;$ Q; S! |+ Q( i- v
TH1=(65536-45872)/256;- Y! T# R2 V4 _2 W% l
TL1=(65536-45872)%256;
" O$ I" C9 b) m) @9 O: F# U6 P EA=1;8 z' z) K$ ]1 |8 O5 o0 A
ET1=1;& i8 d. f3 s& H6 j+ z4 ^. @
TR1=1;
, _! b6 s, Z* ^: d$ w9 _ lddx=0; //东西方向绿灯亮
. U1 @/ ~1 M) ]; w( @ hdnb=0; //南北方向红灯亮) a5 ` M2 ~# C& R# D9 g
ldnb=1;
, \6 @1 {. R' x: ` hddx=1;% |) b! e/ @4 ?' x, x
4 v3 G( B9 V; {% _2 c
u* i) |) I, y, n- L$ \* n
P1=0x00;) r5 @* R! A0 M+ W
P2=0x00;5 ~5 m% l* i' x/ P& P5 \. q. a0 g) J
nbp1=1;
1 Z0 U" J( O- `0 ]; @ dxp1=1;! n7 r* x) e4 ~/ d+ E
dxp2=1;/ L8 ^8 E2 d' G2 U% h; ~
nbp2=1;; z- `9 h% p9 ~ W$ O
' Y7 C+ e! P! I! m, C9 y' T, K7 G- A9 k
. S/ \' ^5 W- p, k while(1)0 u4 d4 j4 S1 K
{/ L3 E7 H' D8 R' \- M0 q
display(shi,ge);6 L0 H" G$ q- d. U6 b0 H
}6 ~* L! t! l& Z! C1 }7 h3 l, d
}2 L0 C4 n& k. ^8 e8 ^+ Y7 P" Q
7 ~# }- t. P; l1 ~
基于51单片机交通灯设计下载:
% ~3 ?) S& t* s. h P) n; ?4 B1 Y: Y* c/ x
9 E: m. {# p' h& g$ K+ v |
|