|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于51单片机交通灯程序设计% }, t: G# o* F2 v
; ~2 Y, I- E; M1 \- n* v8 |
7 v; X: P; B0 ^7 k交通灯单片机程序:; k+ u* i3 j9 B8 r$ v
#include<reg52.h>" J% {0 A# f0 F/ t1 f0 f& M
#include<bstv51.h>
6 }" X* `3 |# g #define uchar unsigned char2 t- }( \( O8 B
#define uint unsigned int
, `6 ~6 Q4 v1 j' w3 x V $ y# K# R r. g
sbit nbp1=P0^4;//南北方向数码管第一位;
0 n/ O2 ^6 L+ J& Y sbit nbp2=P0^5;//南北方向数码管第二位;( J+ |' P. M. ~$ r1 G2 K1 {8 ^
sbit dxp1=P0^6;//东西方向数码管第一位;
. v( }! S$ E* R; e4 S m sbit dxp2=P0^7;//东西方向数码管第二位;
$ K6 p- Y) n- R& i
" ]1 S' |; K! |6 |& l% o, T
7 V. x& D6 H0 V% t: t Z& ^ sbit hdnb=P0^2;//南北方向红灯;/ H% \( y' R9 d* _3 B) S) D
sbit hddx=P0^0;//东西方向红灯;2 L: T+ o' j$ e" C) G |
sbit ldnb=P0^3;//南北方向绿灯;7 f+ s: z1 I2 s: J- R0 _
sbit lddx=P0^1;//东西方向绿灯;
3 g' |& F" V4 e3 y$ h" E uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
( D* X) f( X* {4 |9 v4 T 0x6d,0x7d,0x07,0x7f,0x6f}; //0-9" s& @& D# a {& ~' {! b m/ P
uchar num=30;num2,shi,ge;
8 u, v, F- ^8 L' A9 M' S2 z6 Y$ ^9 a
% F* F' R, {, @3 x3 t
6 V P0 q7 A) P$ e* I% q* T( o2 H0 [2 o! ]; i. M1 L
; J$ V' ]) n4 ~1 @! Y% E I* z% e2 I* M: d
void delayms(xms) //延时函数x毫秒函数
* [. R; @: b- h; M# y% \6 L! D {
( O% y6 [- s% \! c+ J uint i,j;; r% s% S: u+ b+ L3 R3 K) R
for(i=xms;i>0;i--)5 h. H; S- p/ N, f7 Y! N8 Z6 i
for(j=110;j>0;j--);
1 K, M; a# Q; N4 @; _& b4 x }! e7 A+ ~! T% O. H" [
2 l/ H& Q" t" Z! b( g9 [* u! @2 y# m: S6 ]7 A0 M
void display(uchar shi,uchar ge) //南北数码管显示函数
+ b% r& O' w- T* r3 x2 G. p. E{
- r+ p" H& ^2 Y$ j) }- W
5 C" U% D3 d* R+ G
; Q6 P6 h% M" m3 P4 L' \6 N# ]4 U
' T% D# m5 F$ H; E* g B. W- e
( @ e6 Z4 G) O4 P P1=table[shi];2 h& N& f# I# C9 \
nbp1=0; //选中南北方向数码管第一位) O& K; h- v8 O) b, ^( b, G
delayms(3);
. T0 B* D, P8 j nbp1=1; //关闭南北方向数码管第一位6 {# l* C0 F2 |, q5 y; y: j
P1=table[ge];
# V. o% R& g7 m nbp2=0; //选中南北第二位
. ~" F9 I$ ]( k1 ` delayms(3);& _& n7 b( [( m# N; k0 l
nbp2=1; //关闭南北方向数码管第二位4 |% F2 @: U: `, H1 \
; T5 M: V4 m+ N# r( t- @' }+ a N' f, f# \
4 t6 @! \1 k! h# A) n/ M
2 w, [: U3 e/ ^* y$ D8 c P2=table[shi];
( `# U$ C2 K6 R- w% X9 b3 j" k9 [ dxp1=0; //选中南北方向数码管第一位
. s) ]7 K+ ~- I! n delayms(3);9 j @+ ?9 p% m7 m: h! I9 o/ e
dxp1=1; //关闭南北方向数码管第一位
9 d. w7 j5 L$ {$ F* l# M6 ^ P2=table[ge];% L( L# G6 Z" q8 f
dxp2=0; //选中南北第二位
3 Q# q0 p/ J' u. o6 r1 t/ S delayms(3);
" A+ \+ n9 F% m+ y, } dxp2=1;
0 e$ B2 e6 ^5 ^' f}9 F. @2 A- ~' ]
' g9 I4 X; I% x" L$ X% p8 o6 {' v5 q! {! W6 N
void T1_time()interrupt 3 //定时器1中断函数- g$ _" R5 a9 O; d
{
9 j5 d2 {) d% }0 y' |4 k- k { TH1=(65536-45872)/256;
4 b5 {! F x" T$ s TL1=(65536-45872)%256;4 {3 `* m" d4 K4 G
num2++;
* A0 r2 J& n/ y7 [( v if(num2==20)( A# O s" a4 l$ l! w' T
{
. v2 r) {' {7 d; Q( D; @9 m( D num2=0; //说明计时够一秒
7 L/ a( e2 i$ e! e4 W# G+ n num--;
- h2 o9 s9 Z% _# @$ U. Q if(num==0)
3 k* X0 `0 N$ V {
2 ]& C- [) K. n. d4 x lddx=~lddx; 4 y. j8 t0 P; k1 n7 l- `
hdnb=~hdnb; ! t! H# n+ R# W/ O
ldnb=~ldnb;
& Y6 o5 D& P# D6 a0 C hddx=~hddx;
- ~$ ~- G2 c0 F! D num=30;
0 ^/ P6 z3 R2 H1 f }
; I3 N+ H) ?' G& Q/ O. r. p0 [8 {2 ]. \
* f- ]4 C8 `3 H7 y }
C* ]- T7 Y. o8 b% k( G3 V3 [* ? shi=num/10;+ p& _& j1 ]3 d0 s/ \) |
ge=num%10;
+ c+ [, t; e3 I8 `$ ?; i: Q}8 U2 G' @" P6 F* H4 q
5 j3 k) D, z4 q6 G9 W& T# c& X
* H) l( a. q2 Q( ^. u! I/ }; d; R! V; \2 F
' Q! Z! }9 [- u
void main() //主函数
! p! ~6 E5 z; p# p# m, U( [ {
9 E4 C$ J8 `& _, ?( K. | TMOD=0x10;
4 S( x6 C2 G5 I. O TH1=(65536-45872)/256;
7 @" ]( \, C2 L8 }# |0 Y. v TL1=(65536-45872)%256;7 ^1 |2 X& y3 j! B- R, k6 S& `
EA=1;
5 M: G/ X. @" Q. d9 y) ?) q7 Y; S" S" { ET1=1;
8 Y, N; L5 i& ^% ?3 y8 r3 l! M( ]; P TR1=1;
3 Q6 o2 G: Y, D6 E+ A lddx=0; //东西方向绿灯亮
9 _+ f7 ?2 U5 m1 X& n. {* ~# w hdnb=0; //南北方向红灯亮
! t$ R0 q& @- `- m* F+ M+ y ldnb=1;
; P, I8 r7 _9 ~$ L N9 P/ Q hddx=1;
) }3 M: ~+ O$ ~' f4 o/ i7 Q* }1 I1 |3 R4 m+ C# W1 d( k( v
4 y* f) G1 T# P( E' D& b
P1=0x00;' M& D$ F: I' d& _* b; c$ w& r
P2=0x00;
! [" f) B$ e0 k% q# G6 f nbp1=1;
3 M9 @% z* \" L; P dxp1=1;/ m9 @( G5 W) |
dxp2=1;6 e' S- B) M; l2 z8 X& b/ q
nbp2=1;1 H3 Z4 z6 }- S; m5 I" P7 S% }
( M( `. ]/ a* t1 ~. q/ S8 A! G# z8 c3 s' E3 H, ^5 b& C* i5 `
while(1)( x$ U3 `: U2 a7 T% Y
{
* X6 \7 [; c, _8 ~6 Y display(shi,ge);" R& @( E3 Y) {4 |
}. {( h$ T+ q8 w @- m/ O
}
& R5 q, J) @0 k3 F0 N8 b0 l
" `7 a) h3 o" x3 k基于51单片机交通灯设计下载:, F* k* L+ `" H# ~ t& D
: B$ ^) L( |7 B/ L; E4 j/ i s$ E
1 [7 d) _5 Q/ `. j |
|