找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2494|回复: 0
收起左侧

Proteus仿真实现51单片机控制4511实现交通灯功能(运用外部中断与内部中断)数码....

[复制链接]
ID:699029 发表于 2020-8-28 15:42 | 显示全部楼层 |阅读模式
51hei图片_20200828153139.png 51hei图片_20200828153133.png 51hei图片_20200828153129.png
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
unsigned char code SEG2[6]={0xfe,0xfd,0xfb,0xf7};
uchar t=0,x=0,y=0;
uchar a,b,c,d;

void delay(unsigned int i)
{
    unsigned int j;
    for(i;i>0;i--)
        for(j=300;j>0;j--);
}
void zhongduan1()//50ms中断
{
   EA=1;
   ET0=1;
   TMOD=0x01;
   TH0=0x3c;
   TL0=0xb0;
   //TR0=1;
}
void zhongduan2()
{
      EA=1;
      EX0=1;
      IT0=1;
      EX1=1;
      IT1=1;
}

void ledout(uchar out0,out1)//
{
           if((20<=x&&x<25)&&(t>10))
           {  P0=0;P1=0xff;delay(1);delay(1);    }
            else
            {
            P0=(out0)/10;
    P1=SEG2[0];
    delay(1);
    P1=0xff;
    P0=(out0)%10;;
    P1=SEG2[1];
    delay(1);
    P1=0xff;
            }
            
           if((50<=x&&x<55)&&(t>10))
           { P0=0;P1=0xff;delay(1); delay(1); }
            else
            {
    P0=(out1)/10;
    P1=SEG2[2];
    delay(1);
    P1=0xff;
    P0=(out1)%10;;
    P1=SEG2[3];
    delay(1);
    P1=0xff;
            }
}
void mart()
{
uchar i;
if(x<20)i=1;
if(20<=x&&x<25)i=2;
if(25<=x&&x<30)i=3;
if(30<=x&&x<50)i=4;
if(50<=x&&x<55)i=5;
if(55<=x)i=6;
switch(i)
{
   case 1:
         ledout(25-x,30-x);
         P2=0xED;
         //P2=0x99;
   break;
         case 2:
         ledout(25-x,30-x);
         P2=0xED;
         if(t>10){P2=0xEF;}
   break;
   case 3:
         ledout(30-x,30-x);
         P2=0xEB;
   break;
         case 4:
         ledout(60-x,55-x);
         P2=0xDE;
   break;
   case 5:
         ledout(60-x,55-x);
         P2=0xDE;
         if(t>10){P2=0xFE;}
   break;
         case 6:
         ledout(60-x,60-x);
         P2=0xBE;
   break;
    }      
}

void main( )
{
    zhongduan1();
    zhongduan2();
   
    while(1)
    {
     if(y!=0)
     mart();

    }
}
仿真.zip (25.9 KB, 下载次数: 34)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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