交通信号灯调试程序

Posted dyw31

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交通信号灯调试程序相关的知识,希望对你有一定的参考价值。

一,以下内容需要的软件以及使用方法和操作方法请看我以前的博文。这里发下要使用到的proteus电路图

       链接:https://pan.baidu.com/s/1W9vbEOxdCtdtd3VAaV1rkg 提取码:dxak 

二,要交通灯的要求。

       1,先东西南北红灯亮,1秒。

       2,东西红灯亮,南北绿灯亮,10秒。

       3,东西红灯闪,南北黄灯闪,3秒。

       4,东西绿灯亮,南北红灯亮,10秒。

       5,东西黄灯闪,南北绿灯亮,3秒。

三,开始

1,使用proteus软件打开交通灯的电路图(直接打开电路图即可),如下图所示(电路图第一步发了)

 技术图片

 

 

 

技术图片

 2.打开Keil uVision4开始写代码。

具体内容:详细操作请看我以前发布的博文

                 1,创建工程。

                  2,添加2个点C文件,一个点h文件。

                  3,将点C与点h文件加入到工程界面。

                  4,编写3个代码,2个点C,与一个点h文件。(如下图所示)

技术图片

 

 技术图片

 

 技术图片

 

 3,具体代码。

#include <reg52.h> 
#include "delay.h"
sbit XD_R=P0^0;
sbit XD_H=P0^1;
sbit XD_L=P0^2;
sbit BN_R=P0^3;
sbit BN_H=P0^4;
sbit BN_L=P0^5;
void main()
{
     unsigned char i=0;
     //东西南北路口红灯亮
     XD_R = 0;
     BN_R = 0;
     delay1s();
     while(1)
     {
            //东西红灯亮,南北绿灯亮延时10秒
          XD_R = 0;
         BN_R =    1;
         BN_L = 0;
         delay10s();             
       for(i=0;i<3;i++)    //东西红灯闪,南北黄灯闪,3秒延时
       {    
               XD_R = 0;
            BN_H = 0;
            BN_L = 1;
            delay1s();
            XD_R = 1;
            BN_H = 1;
            delay1s();              
       }
      //东西绿灯亮,南北红灯亮,10秒延时
         XD_R = 1;
         BN_H = 1;
         XD_L = 0;
         BN_R = 0;
         delay10s();     
       for(i=0;i<3;i++)    //东西黄灯闪,南北红灯闪,3秒延时
          {
            XD_L = 1;
           XD_H = 0;
           BN_R = 0;
           delay1s();
           XD_H = 1;
           BN_R = 1;
           delay1s();
          }
     }
}

 

void delay1s();
void delay10s();

 

void delay1s()
{
    unsigned char x = 0;
    unsigned char i;
    unsigned char y = 0;
    while(y < 3)
    {
        x = 0;    
        while(x<250)
        {
            i = 0;
            while(i<250)
            {
                i++;
            }
            x++;
        }
        y++;
    }
}

void delay10s()
{
    unsigned char x = 0;
    unsigned char i;
    unsigned char y = 0;
    while(y < 30)
    {
        x = 0;    
        while(x<250)
        {
            i = 0;
            while(i<250)
            {
                i++;
            }
            x++;
        }
        y++;
    }
}

四,最后运行程序,生成hex文件,将它添加进proteus交通灯电路图模拟即可。

 

以上是关于交通信号灯调试程序的主要内容,如果未能解决你的问题,请参考以下文章

运行/调试你的PHP代码

PHP代码-psysh调试代码片段工具

方便调试使用的代码片段

eclipse 断点调试

还在用代码苦苦调试大屏?用这个神器1小时搞定

使用 pdb 进行调试