目录
1.keil5 mdk 引入51单片机芯片
因为我之前有安装过keil5 进行一些51单片机的实验,下载好keil5 mdk 过后,我先把原先keil5 安装目录下的C51文件夹复制到mdk的安装目录,又用stc-isp 添加型号和头文件到keil 中,可以看到创建工程时下拉列表中就可以选择AT89C51的型号了。这个时候创建51的工程时会提示没有对应的路径无法编译,所以我就把原先keil5 安装目录下的TOOLS.INI里面 [C51]以及后面的所有信息都复制粘贴到了keil5 mdk 安装目录中的TOOLS.INI里面作为补充信息。如图。就可以使用keil5 mdk 来编译51单片机的代码啦。
keil5 mdk 安装目录
点击【添加型号和头文件…keil中】
可以找到AT89C51的型号了
复制原先Keil5里TOOLS.INI文件里[C51]及之后所有的path信息,补充到mdk安装目录中的TOOLS.INI文件里
编译键亮了!点击魔法棒->Output->勾上Create HEX File->编译通过
成功!
2.绘制原理图并仿真
跟着学长的步骤做的,我就不多补充了,
链接在此:
Proteus使用教程并仿真51程序——LED流水灯
1. 画好图之后:
2.创建AT89C51的工程,并添加main.c的c语言文件在资源包Source Group1中,流水灯c语言代码如下:
//51单片机编程常用的头文件
#include <reg51.h>
#include <intrins.h>
//延迟函数
void delay_ms(int a)
{
int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<1000;j++) _nop_();
}
}
void main(void)
{
while(1)
{
P0=0xfe;
delay_ms(50);
P0=0xfd;
delay_ms(50);
P0=0xfb;
delay_ms(50);
P0=0xf7;
delay_ms(50);
P0=0xef;
delay_ms(50);
P0=0xdf;
delay_ms(50);
P0=0xbf;
delay_ms(50);
P0=0x7f;
delay_ms(50);
}
}
记得点开上面的魔法棒,在output中勾选上创建16进制文件,点击编译,编译通过后main.c下面就会自动生成两个头文件啦。