proteus仿真AT89C51单片机测试试验[无须keil](1)

前面,我们测试了在proteus下仿真arduino的试验。有伙伴问到proteus下的单片机仿真应该如何搭建环境(咱们这里不讲解51单片机的知识,侧重讲仿真环境的搭建),这里我们就来将详细步骤陈述一下。
一、proteus的器件选择与电路
器件选择,主要是AT89C51,电容,晶振,电阻,单刀开关,led灯,BOM清单如下:

proteus仿真AT89C51单片机测试试验[无须keil](1)_第1张图片
元器件连接图如下,连接完成后记得在Design下面设置一下电源
proteus仿真AT89C51单片机测试试验[无须keil](1)_第2张图片
proteus仿真AT89C51单片机测试试验[无须keil](1)_第3张图片
将使用默认的电源连接勾上,如下图,否则就有可能会报错
proteus仿真AT89C51单片机测试试验[无须keil](1)_第4张图片
接下来我们来编写C代码,代码其实很简单,但我们必须首先配置好环境,否则不能编写代码,首先右键单击51芯片,选择右键菜单中的“edit source code”,进入新固件工程对话框,如下图:
proteus仿真AT89C51单片机测试试验[无须keil](1)_第5张图片
点击编译器按钮进入编译器配置对话框,将我们使用的单片机编译器进行配置:
proteus仿真AT89C51单片机测试试验[无须keil](1)_第6张图片
请伙伴们注意,这里我们采用Keil for 8051编译,那么我们就必须在上述图中写入我们安装的keil的安装目录,然后一定记得点击下面的check按钮,这样才能配置成功。
配置成功后,点击ok则可以直接进入代码编辑界面,并且系统自动为我们配置好了头文件,这个比keil更加方便(如果在keil中必须手动配置头文件以及添加主程序的c文件),如下图:
proteus仿真AT89C51单片机测试试验[无须keil](1)_第7张图片
我们为这个程序添加一个延时程序,代码很简单:

void delay(int x)
{
	unsigned char i=x;
	unsigned char j=x;	
	while(--i);
		   while(--j);	
}

接下来,我们就可以在主程序中调用了,完整的程序如下:

#include 
#define LED_pin	P1
void delay(char x);

void main()
{
  while(1)
	{
		LED_pin=0x00;
		delay(1000);
		LED_pin=0xC;
		delay(2000);	
	}
}


void delay(int x)
{
	unsigned char i=x;
	unsigned char j=x;
	
	while(--i);
		   while(--j);	
}

这里的LED_pin的设置我们可以根据电路图来设置,很显然,我们将LED接在了P3的3、4号管脚上了,那么我们要使LED灯亮,则按照二进制的配置应该是00001100,置为高电平1为灯亮,所以我们将这个数字表述为16进制就是0xc了。
至此,我们可以编译运行了,你看到下图的编译成功的提示,说明我们可以运行了
proteus仿真AT89C51单片机测试试验[无须keil](1)_第8张图片
编译成功后,我们双击我们的51芯片,则会发现,编译后系统自动为我们配置好了运行编码文件(这里的文件不是hex而是omf)
proteus仿真AT89C51单片机测试试验[无须keil](1)_第9张图片
点击下方的运行,那么我们的两个LED灯就可以闪烁起来了。就那么简单!就那么容易!真是感叹啊,很早以前我们使用proteus6的时候要是有这么简单这么便利的功能该多好啊!现在电路仿真、编码都可以在一个软件中完成。
可能有小伙伴们会问,你那两个单刀开关有什么用?是的,这里还没有用起来,下一篇博文,我们将利用他们来对LED进行简单的控制。请关注下面的博文更新。

你可能感兴趣的:(其他软件,仿真,电路仿真,51仿真,proteus仿真89c51,单片机仿真,proteus仿真环境搭建)