找回密码
 立即注册

QQ登录

只需一步,快速开始

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

新手交通灯代码 一直运行不起来,只有上下的灯能亮

[复制链接]
跳转到指定楼层
楼主
ID:294339 发表于 2018-3-19 23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不知道哪里出错了。。。一直运行不起来,只有上下的灯能亮
  1.    #include"reg51.h"
  2.    #define uint unsigned int
  3.    #define uchar unsigned char

  4.    sbit E_RED = P0^0;
  5.    sbit E_YELLOW = P0^1;
  6.    sbit E_GREEN = P0^2;
  7.    sbit N_RED = P0^3;
  8.    sbit N_YELLOW = P0^4;
  9.    sbit N_GREEN = P0^5;

  10.    sbit LEFT_E=P0^6;
  11.    sbit LEFT_N=P0^7;

  12.    uchar i,type = 1;

  13.    void Delay_Ms(unsigned int time)
  14.    {
  15.              unsigned char i ;
  16.           while (time--)
  17.           {
  18.              for(i=0;i<120;i++);
  19.           }
  20.    }

  21. void traffic_light()
  22. {
  23.    switch(type)
  24.    {
  25.             case 1:
  26.          E_RED = 1; E_YELLOW = 1;E_GREEN = 0;LEFT_E=1;
  27.          N_RED = 0; N_YELLOW = 1;N_GREEN = 1;LEFT_N=1;
  28.          Delay_Ms(2000);
  29.          type = 2;
  30.          break;



  31.          case 2:
  32.          for(i=0;i<6;i++)
  33.          {
  34.                   
  35.                 E_RED = 0; E_YELLOW = 1;E_GREEN = 1;
  36.          N_RED = 0; N_YELLOW = 1;N_GREEN = 1;
  37.                 Delay_Ms(300);
  38.                 type =3;
  39.                 break;

  40.     case 3:
  41.          E_RED = 0; E_YELLOW = 1;E_GREEN = 1;LEFT_E=0;
  42.          N_RED = 1; N_YELLOW = 1;N_GREEN = 0; LEFT_N=1;
  43.          Delay_Ms(2000);
  44.          type = 4 ;
  45.          break;



  46.          case 4:
  47.          for(i=0;i<6;i++)
  48.          {
  49.             N_RED = 1; N_YELLOW = ~N_YELLOW; N_GREEN = 1;
  50.                 Delay_Ms(300);
  51.          }
  52.          type = 5;
  53.          
  54.          
  55.          case 5:
  56.          E_RED = 0; E_YELLOW = 1;E_GREEN = 1;LEFT_E=1;
  57.          N_RED = 1; N_YELLOW = 1;N_GREEN = 0; LEFT_N=1;
  58.          Delay_Ms(2000);
  59.          type = 6 ;
  60.          break;
  61.          
  62.          
  63.                   case 6:
  64.          for(i=0;i<6;i++)
  65.          {
  66.             N_RED = 1; N_YELLOW = ~N_YELLOW; N_GREEN = 1;
  67.                 Delay_Ms(300);
  68.          }
  69.          type = 7;
  70.          
  71.          
  72.                   case 7:
  73.          E_RED = 0; E_YELLOW = 1;E_GREEN = 1;LEFT_E=1;
  74.          N_RED = 1; N_YELLOW = 1;N_GREEN = 1; LEFT_N=0;
  75.          Delay_Ms(2000);
  76.          type = 8 ;
  77.          break;
  78.                  
  79.                  
  80.                   case 8:
  81.          for(i=0;i<6;i++)
  82.          {
  83.             N_RED = 1; N_YELLOW = ~N_YELLOW; N_GREEN = 1;
  84.                 Delay_Ms(300);
  85.          }
  86.          type = 1;
  87.                  
  88.                  
  89.                  
  90.          
  91.          
  92.          
  93.          
  94.          
  95.          
  96.          

  97.          

  98.    } }         }


  99. void main()
  100. {
  101.   while(1)
  102.   {
  103.    traffic_light();
  104.   }
  105. }
复制代码


555.zip

692 Bytes, 下载次数: 5

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

使用道具 举报

沙发
ID:293789 发表于 2018-3-20 07:54 | 只看该作者
这么简单的程序最适合新手用来练习调试了,学会调试,很多问题都能自己解决,这才是有收获的技巧。
回复

使用道具 举报

板凳
ID:273292 发表于 2018-3-20 08:38 | 只看该作者
你贴这个代码丝毫没有卵用
回复

使用道具 举报

地板
ID:290170 发表于 2018-3-20 09:09 | 只看该作者

这么简单的程序最适合新手用来练习调试了,学会调试,很多问题都能自己解决,这才是有收获的技巧。
回复

使用道具 举报

5#
ID:111634 发表于 2018-3-20 09:19 | 只看该作者
去看看别人的成功案例吧!如果没有耐心,干脆不要学单片机!
回复

使用道具 举报

6#
ID:166696 发表于 2018-3-20 10:04 | 只看该作者
你把你的电路图贴上啊,怎么知道你啥是啥
回复

使用道具 举报

7#
ID:287575 发表于 2018-3-20 10:10 | 只看该作者
程序在case 2 中for 循环错误
for(i=0;i<6;i++)
         {
                  
                E_RED = 0; E_YELLOW = 1;E_GREEN = 1;
         N_RED = 0; N_YELLOW = 1;N_GREEN = 1;
                Delay_Ms(300);
         }// 这里应该是6次循环,而你把}放到行112处,最好不要用循环语句,看你的目的是想延时1.8秒
          //那就用Delay_Ms(1800)
                type =3;
                break;
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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