我们将使用Keli μVersion和Proteus 8来搭建模拟开发环境。
Keli是由Arm公司开发一款嵌入式开发编译工具,支持C和C++,可以在这个网址下载:
https://www.keil.com/download/product

点击C51, 需要提供一些公司的信息。
Proteus是由Lab Center Electronics公司推出的电子设计自动化(EDA)软件。除具有其它EDA软件的仿真功能,还能仿真单片机及其外围器件。下面的网址可以下载试用版:
首先在Keli中新建一个项目Project –> New μVersion Project

选择AT89C51单片机:

选择No当提示是否需要将startup.a51文件添加到项目。

点击新建文件并输入以下代码并保存为c文件:
#include <reg51.h>
sbit motp=P1^0;
sbit motn=P1^1;
void main()
{
unsigned int i;
motp=motn=0;
while(1)
{
motp=1;
motn=0;
for(i=0;i<60000;i++);
motp=0;
motn=1;
for(i=0;i<60000;i++);
}
}
点击右侧项目树添加现有文件,将该c文件添加到项目文件目录。

添加后的项目目录如下,reg51.h是头文件,预定义了单片机寄存器的地址。

点击目标设置,将芯片时钟设为11.0592MHz(系统默认12MHz)。

在输出栏中点选创建Hex文件,用来后续写入单片机。

编译程序,成功生成hex文件在Objects文件夹。

切换到Proteus软件,选择新项目然后安装默认设置。

点击P来选择电子元件:

在弹出对话框里输入AT89C51并选择。

输入DC motor并选择如下电机:

点选单片机,然后点击中间的空白区域放置零件,第一步为选择位置,第二步为确定。


同样选取马达放置在空白区域内单片机旁边:

对马达进行连线,一端连P1.0,另一端连P1.1,跟之前C文件里的端口一致:

双击AT89C1单片机,选择之前编译好的hex文件,然后将系统时钟设为11.0592兆赫。
点击左下角的运行按钮,可以看到马达开始旋转,并且在顺时针和逆时针方向切换。
