微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助用51单片机c语言编写一个交通灯的程序

求助用51单片机c语言编写一个交通灯的程序

时间:10-02 整理:3721RD 点击:
     要求红灯60s,黄灯20s,绿灯60s,黄灯20s这样循环,我不知道该怎样在这三个灯之间转换?

《51单片机典型应用开发范例大全》
第1篇入门第
第1章节日彩灯系统设计
1.1系统设计要求及设计思路
1.2硬件电路设计
1.3软件开发流程及代码分析
1.4本章小结
第2章简易电子琴
2.1系统设计要求及设计思路
2.2硬件电路设计
2.3软件开发流程及代码分析
2.4本章小结
第3章程控放大器系统设计
3.1系统设计要求及设计思路
3.2硬件电路设计
3.3软件开发流程及代码分析
3.4本章小结
第4章多路抢答器
4.1系统设计要求及设计思路
4.2硬件电路设计
.4.3软件开发流程及代码分析
4.4本章小结
第5章交通灯系统设计
5.1系统设计要求及设计思路
5.2硬件电路设计
5.3软件开发流程及代码分析
5.4本章小结
第6章篮球计时计分器系统设计
6.1系统设计要求及设计思路
6.2硬件电路设计
6.3软件开发流程及代码分析
6.4本章小结
第7章锯齿波信号发生器
7.1系统设计要求及设计思路,
7.2 dac1230d/a转换器简介
7.3icl7135a/d转换器
7.4硬件工作原理
7.6本章小结
第8章单片机串行通信波特率自动识别系统
8.1系统设计要求及设计思路
8.2max232芯片简介
8.3ocm12864液晶显示模块
8.4系统硬件原理
8.5系统软件开发流程及代码分析
8.6本章小结
第2篇提高篇
第9章电子广告牌
9.1系统设计要求及设计思路
9.2ocmj4x8c液晶显示器简介
9.3硬件原理
9.4软件开发流程及代码分析
9.5本章小结
第10章基于双口ram的高速数据采集卡
10.1系统设计要求及设计思路
10.21dt7005双口ram简介
10.3硬件电路设计
10.4软件开发流程及代码分析
10.5本章小结
第11章基于铁电存储器的数据采集与记录系统
11.1系统设计要求及设计思路
11.2铁电存储器简介
11.3fml808铁电存储器简介
11.4硬件电路设计
11.5软件开发流程及代码分析
11.6本章小结
第12章电表数据采集器
12.1系统设计要求及设计思路
12.2 cat24wc16简介
12.3 12c协议
12.4硬件电路设计
12.5软件开发流程及代码分析
12.6本章小结
第13章快速温度检测仪
13.1系统设计要求及设计思路
13.28路高速a/d转换器tlc5510简介
13.3tc1047a温度传感器简介
13.4硬件电路设计
13.5软件开发流程及代码分析
13.6本章小结
第14章多功能电子万年历
14.1系统设计要求及设计思路
14.2时钟芯片ds1302简介
14.3lcd1602的简介
14.4硬件电路设计
14.5系统软件开发流程及代码分析
14.6本章小结
第15章语音电子开关身份认证系统
15.1系统设计要求及设计思路
15.2语音识别简介
15.3jl-034b电容式麦克风简介
15.4isd4002语音回放芯片简介
15.5ap7003语音识别芯片简介
15.6硬件电路设计
15.7系统软件开发流程及代码分析
15.8本章小结
第16章手持式高度计
16.1系统设计要求及设计思路
16.2scp1000-d01气体压力传感器简介
16.3硬件电路设计
16.4系统软件开发流程及代码分析
16.5本章小结
第17章超声波测距仪
17.1系统设计要求及设计思路
17.2超声波测距技术
17.3srf08型超声波测距模块简介
17.4硬件电路设计
17.5系统软件开发流程及代码分析
17.6本章小结
第18章数字式倾角测量仪
18.1系统设计要求及设计思路
18.2sca100t-d02芯片简介
18.3系统硬件原理
18.4系统软件开发流程及代码分析
18.5本章小结
第19章单片机usb数据采集系统
19.1系统设计要求及设计思路
19.2usb协议简介
19.3 ft245bm芯片简介
19.4系统硬件原理
19.5系统软件开发流程及代码分析
19.6本章小结
第20章白光led路灯照明控制器
20.1系统设计要求及设计思路
20.2 mcp4822d/a转换器简介
20.3led驱动器max1554简介
20.4硬件电路设计
20.5软件开发流程及代码分析
20.6本章小结
第3篇综合实例篇
第21章多点温度遥测采集系统
21.1系统设计要求及设计思路
21.2 ds18b20温度传感器
21.3tc35i gsm模块
21.4at指令与短信编码简介
21.5硬件电路设计
21.6系统软件开发流程及代码分析
21.7本章小结
第22章出入管理控制系统
22.1系统设计要求及设计思路
22.2 ds1990a简介
22.3硬件电路设计
22.4系统软件开发流程及代码分析
22.5本章小结
第23章基于rs485总线的远距离水位监控系统
23.1系统设计要求及设计思路
23.2rs485通信标准
23.3max485芯片简介
23.4硬件电路设计
23.5系统软件开发流程及代码分析
23.6本章小结
第24章自动感应门
24.1系统设计要求及设计思路
24.2电动机简介
24.334hs300步进电机及其控制器简介
24.4自动门传感器ads-a简介
24.5硬件电路设计
24.6系统软件开发流程及代码分析
24.7本章小结
第25章流量检测系统
25.1系统设计要求及设计思路
25.2电磁流量计简介
25.3hr-ldg系列电磁流量传感器简介
25.4硬件电路设计
25.5系统软件开发流程及代码分析
25.6本章小结
第26章红外便携式抄表器
26.1系统设计要求及设计思路
26.2红外传输简介
26.3zhx1010红外发射接收器简介
26.4硬件电路设计
26.5系统软件开发流程及代码分析
26.6本章小结
第27章基于ic卡的考勤系统设计
27.1系统设计要求及设计思路
27.2非接触式ic卡简介
27.3zlg500a读卡模块简介
27.4 max813l简介
27.5硬件电路设计
27.6系统软件开发流程及代码分析
27.7本章小结
第28章基于nrf401的烟雾检测报警系统
28.1系统设计要求及设计思路
28.2 mc14468芯片简介
28.3nrf401芯片简介
28.4系统硬件原理
28.5系统软件开发流程及代码分析
28.6本章小结
第29章基于can总线和单片机的电梯主控器设计
29.1系统设计要求及设计思路
29.2电梯控制系统及主控器功能设计
29.3can控制器sjal000芯片简介
29.4 can收发器82c250简介
29.5电梯主控制器的硬件设计
29.6电梯主控制器的软件设计
29.7本章小结
第30章profibus-dp现场总线智能节点的设计
30.1系统设计要求及设计思路
30.2profibus-dp现场总线及其通信协议简介
30.3智能从站专用通信接口芯片spc3
30.4profibus-dp现场总线智能节点的硬件设计
30.5profibus-dp现场总线智能节点的软件设计
30.6本章小结
第31章51单片机接入以太网的设计与实现
31.1系统设计要求及设计思路
31.2单片机实现tcp/ip协议分析
31.3以太网接口控制芯片rtl8019as
31.4系统硬件构成
31.551单片机tcp/ip的嵌入实现
31.6本章小结
第32章红外测温仪
32.1系统设计要求及设计思路
32.2mlx90614红外测温传感器简介
32.3系统硬件电路设计
32.4系统软件开发流程及代码分析
32.5本章小结
PCB打样找华强 http://www.hqpcb.com 样板2天出货

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit zhuy=P1^1;
sbit zhiy=P1^4;
uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code trafficdate[]={0x22,0x0c,0x14,0x21};
uchar aa=0,flag;
uchar seczhu,seczhi,zhus,zhug,zhis,zhig;
void delay (uint z)                          //时间延迟函数
{              
        uint x,y;
        for(x=z;x>0;x--)
        for (y=120;y>0;y--);
}
void init()
{TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
P1=0x21;
}
void display()
{zhus=seczhu/10;
zhug=seczhu%10;
zhis=seczhi/10;
zhig=seczhi%10;

P2=0xfe;
P0=table[zhus];
delay(5);

P2=0xfd;
P0=table[zhug];
delay(5);

P2=0xfb;
P0=table[zhis];
delay(5);

P2=0xf7;
P0=table[zhig];
delay(5);
}
void main (void)
{
        uchar i;            
    seczhu=50;
    seczhi=55;
        EA=1;
        init();
        while (1)
        {          
      switch(flag)
               {
              case 1: P1=0x22;
                      for(i=0;i<3;i++)
                        {
                              zhuy=~zhuy;
                              delay(140);
                           }       
                                  break;
              case 2: P1=0x0c;
                      break;
              case 3: P1=0x14;
                      for(i=0;i<3;i++)
                        {
                               zhiy=~zhiy;
                               delay(140);
                            }
                                  break;
              case 4: P1=0x21;
                          break;
             }                       
         }
  }   
void timer0() interrupt 1
{
  aa++;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  if(aa==20)
    {
      aa=0;
      seczhu--;
      seczhi--;
          if((seczhu==0)&&(seczhi==5))
         {
          seczhu=5;
          seczhi=5;
          flag=1;
         }
      if((seczhu==0)&&(seczhi==0)&&(flag==1))
         {
          seczhu=35;
          seczhi=30;
          flag=2;
         }
     if((seczhu==5)&&(seczhi==0))
         {
          seczhu=5;
          seczhi=5;
                  flag=3;
         }
     if((seczhu==0)&&(seczhi==0)&&(flag==3))
         {
          seczhu=50;
          seczhi=55;
          flag=4;
         }
    }
  display();
}

不错
看看,学习了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top