基于Proteus的51单片机程序设计及仿真(交通灯控制系统)

交通灯控制系统

目的:设计一个十字路口的交通灯控制系统,四组灯(红黄绿)对应十字路口的四个方向,用两位的数码管显示剩余的时间。

一、生成.hex文件

1、打开keil5软件,新建工程
在这里插入图片描述2、芯片选择“AT89C51”,点击“OK”进入下一步在这里插入图片描述3、新建程序文件,输入代码
在这里插入图片描述代码如下

#include "reg51.h"
sbit hr=P1^0;
sbit hy=P1^1;
sbit hg=P1^2;
sbit sr=P1^3;
sbit sy=P1^4;
sbit sg=P1^5;
sbit h1=P2^0;
sbit h2=P2^1;
sbit s1=P2^2;
sbit s2=P2^3;
int count=0;
int time=0;
int num[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(int t)
{
int x,y;
for(x=0;x<t;x++)
{
for(y=0;y<100;y++);
}
}
void main()
{	
P1=0xff;
hg=0;sr=0;P2=0x00;	
TMOD=0x01;
TL0=0x3C;TH0=0xB0;
ET0=1;EA=1;TR0=1;
	while(1)
	{
		if(time<30)
		{
		  h1=1;P0=num[((30-time)/10)];delay(10);h1=0;
		  h2=1;P0=num[((30-time)%10)];delay(10);h2=0;
	      s1=1;P0=num[((33-time)/10)];delay(10);s1=0;
		  s2=1;P0=num[((33-time)%10)];delay(10);s2=0;
		}
		else if(time<33)
		{
		  h1=1;P0=num[((33-time)/10)];delay(10);h1=0;
		  h2=1;P0=num[((33-time)%10)];delay(10);h2=0;
		  s1=1;P0=num[((33-time)/10)];delay(10);s1=0;
		  s2=1;P0=num[((33-time)%10)];delay(10);s2=0;
		}
		else if(time<63)
		{
			h1=1;P0=num[((66-time)/10)];delay(10);h1=0;
			h2=1;P0=num[((66-time)%10)];delay(10);h2=0;
			s1=1;P0=num[((63-time)/10)];delay(10);s1=0;
			s2=1;P0=num[((63-time)%10)];delay(10);s2=0;
		}
		else if(time<66)
		{
			h1=1;P0=num[((66-time)/10)];delay(10);h1=0;
			h2=1;P0=num[((66-time)%10)];delay(10);h2=0;
			s1=1;P0=num[((66-time)/10)];delay(10);s1=0;
			s2=1;P0=num[((66-time)%10)];delay(10);s2=0;	
		}
	}
}
void timer() interrupt 1
{
	TH0=0x3C;
	TL0=0xB0;
	count=count+1;
	if(count==20)
	{
		count=0;
		time=time+1;
		if(time==30)
		{
			P1=0xff;hy=0;sr=0;
		}
		else if(time==33)
		{
			P1=0xff;hr=0;sg=0;
		}
		else if(time==63)
		{
			P1=0xff;hr=0;sy=0;
		}
		else if(time==66)
		{
			time=0;
			P1=0xff;hg=0;sr=0;	
		}
	}
}

4、设置参数,选中“Output”,勾选“Creat HEX File”,点击“OK”退出界面(为了生成.hex文件)
在这里插入图片描述5、编译程序
在这里插入图片描述6、生成.hex文件
在这里插入图片描述

二、在Proteus中进行仿真

1、Proteus新建工程步骤

(1)、点击“File”,选择新建工程在这里插入图片描述(2)、选择保存路径并命名
在这里插入图片描述(3)、依次作如下设置
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述至此,工程建立完成。

2、交通灯仿真测试

(1)、选择所需元件并连接好电路图
(点击P添加电路元件)
在这里插入图片描述

(2)、双击51单片机,点击下图红框处,添加步骤1中的.hex文件到单片机
在这里插入图片描述(3)、运行电路,进行仿真测试,仿真结果如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


版权声明:本文为weixin_51087836原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。