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

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

[复制链接]

该用户从未签到

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

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

该用户从未签到

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-29 22:30 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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