找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2025|回复: 7
打印 上一主题 下一主题
收起左侧

单片机交通灯没有现象 请大虾门帮忙看看

[复制链接]
回帖奖励 40 黑币 回复本帖可获得 20 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:295535 发表于 2019-2-28 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "reg52.h"
  typedef unsigned char u8 ;  //定义变量参//
  typedef unsigned int u16  ;
  sbit    RED_A=P0^2; //A方向红灯
  sbit    YELLOW_A=P0^3;//A方向黄灯
  sbit    GREEN_A=P0^4;//A方向绿灯
  sbit     REDC_A=P0^0;  //A方向人行道红灯
  sbit     GREENC_A=P0^1;  //A方向人行道绿灯
  sbit    RED_B=P0^5;
  sbit    YELLOW_B=P0^6;
  sbit    GREEN_B=P0^7;
  sbit     REDC_B=P2^0;
  sbit     GREENC_B=P2^1;
void delay5s(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=165;c>0;c--)
        for(b=100;b>0;b--)
            for(a=150;a>0;a--);
}
void delay30s(void)   //误差 0us
{
    unsigned char a,b,c,n;
    for(c=254;c>0;c--)
        for(b=232;b>0;b--)
            for(a=253;a>0;a--);
    for(n=2440;n>0;n--);
}
  void jiaotongdeng()
  {
   switch()
{
  case1      RED_A=1;GREEN_B=1;GREENC_B=1;REDC_A=0;
       //A方向红灯    B向绿灯 B向人行道绿灯 A向行道红灯 亮灯
        RED_B=0;YELLOW_B=0;REDC_B=0;GREEN_A=0;GREENC_A=0; YELLOW_A=0  ;
      //B向红灯 B黄灯 B向行道红灯  A向绿灯 A向黄灯 A向行道绿灯    熄灯
        delay30s;
        RED_A=~RED_A;GREEN_B=~GREEN_B;GREENC_B=~GREENC_B;REDC_A=~REDC_A
     //A方向红灯 B向绿灯 B向人行道绿灯 A向行道绿灯 闪亮灯
      YELLOW_A=0;GREEN_A=0;GREENC_A= 0;RED_B=0;YELLOW_B=0;REDC_B=0
      //A方向黄灯 绿灯 行道绿灯   B方向红灯 黄灯  行道红灯 熄灯
     delay5s;
        break;
    case2  RED_B=1;GREEN_A=1;GREENC_A=1;REDC_B=0; //B向红灯亮灯
       RED_A=0;YELLOW_B=0;REDC_A=0;GREEN_B=0;GREENC_B=0; YELLOW_B=0  ;  //熄灯
       delay30s;
        RED_B=~RED_B;GREEN_A=~GREEN_A;GREENC_A=~GREENC_A;REDC_B=~REDC_B;
     //A方向红灯 B向绿灯 B向人行道绿灯 A向行道绿灯 闪亮灯
      YELLOW_B=0;GREEN_B=0;GREENC_B= 0;RED_A=0;YELLOW_A=0;REDC_A=0
      //A方向黄灯 绿灯 行道绿灯   B方向红灯 黄灯  行道红灯 熄灯
     delay5s;
     break;
   
}
  }
void main()
{
  while(1)
  {
   jiaotongdeng();
  }
}





这个是简单交通灯实验  在开发板上没有现象  请大虾们指点指点不胜感激

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:267330 发表于 2019-2-28 17:56 | 只看该作者
switch()没有参数啊

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:319023 发表于 2019-2-28 19:42 | 只看该作者
这个代码 看起来不规范,  这样的例程和 书籍有很多,还是先找例程学习逐渐积累。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:246917 发表于 2019-3-1 01:11 | 只看该作者
switch() 要有参数,case  1:要有空格和冒号
switch(a)
{
case 1:break;
case 2:break;
default:break;
}

评分

参与人数 2黑币 +45 收起 理由
admin + 40 回帖助人的奖励!
leng + 5

查看全部评分

回复

使用道具 举报

5#
ID:62762 发表于 2019-3-1 10:59 | 只看该作者
switch case语句有问题啊,你得规定条件选择哪个case,case完了还要跳出去吧。
再好好研究研究C语言的语法吧。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:787159 发表于 2020-6-25 22:33 | 只看该作者
这个有图吗,想参考参考
回复

使用道具 举报

7#
ID:507641 发表于 2020-6-26 08:15 | 只看该作者
这与晶振,与硬件也有关系,你这样发问题别人很难回复
回复

使用道具 举报

8#
ID:633896 发表于 2020-7-7 11:54 | 只看该作者
看他们一说  好像是switch里面没有判断条件 说明的呢程序在空跑。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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