Proteus仿真STM32 LED灯实验

一、利用keil 5软件创建源文件

1.新建立一个工程文件

注意 这里要选择STM32芯片
在这里插入图片描述
在这里插入图片描述

2.输入以下代码,并加入工程文件中

#include "reg52.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;
		
		//led
		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;
		}
	}
	
}

在这里插入图片描述

3.最后编译就可以生成一个.hex文件

在这里插入图片描述
至此完成所有软件准备工作

二、利用Protues 8.9进行硬件仿真

1.建立原理图设计

加粗样式

2.选择所需要的器件

在这里插入图片描述

3.设计电路图

注意 所选芯片型号为STM32F103R6
在这里插入图片描述

4.点击芯片

选择刚刚生成的.hex文件,将它放入芯片中
在这里插入图片描述
运行看一下结果:
在这里插入图片描述
由于代码设置的时间间隔太短,所以LED点亮跳变较快,但是最后还是成功了。

猜你喜欢

转载自blog.csdn.net/weixin_47357131/article/details/109575306