|
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& G2 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) z0 ^% 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* c2 D. Y3 `, b2 w! d# {
|
|