傻瓜式51单片机仿真入门练习

首先需要准备好两个软件(keil5需要安装51库)

打开proteus

新建一个project

保持Next即可

新建项目之后,点击”P”图标

首先在搜索框输入AT89C52,然后双击第一个选项(双击后不要点确定)

接着继续在搜索框中输入RES,并双击第一个选项(双击后不要点确定)

最后在搜索框中输入LED,然后找到category,在里面找到optoelectronics,点击之后在右边找到LED-RED,双击此项,之后点击确定

可以看出左边栏多了“AT89C52”、“LED-RED”、“RES”三个元器件名

点击元器件名字,即可将元件添加到电路中

通过右键元器件,可进行调整元器件方向

通过添加元器件、调整元器件的方向,绘制成如下电路

双击电阻,调整电阻的大小为200Ω

在右边侧栏中找到Terminals Mode,然后点击Power元器件,添加电源到电路中

双击电源,选择string中的Vcc选项

最终电路图搭好如下图

接下来开始代码程序的编写(请勿关闭proteus),首先打开keil5,找到project,点击第一个选项

将项目命名为led,点击保存

使用快捷键”Ctrl”+”N”新建文件

按下快捷键”Ctrl”+”S”保存文件,将文件命名为led.c

双击source group1,文件名输入led.c,然后点击add进行添加(没有source group1可能是被折叠了,点击target1旁边的”+”即可)

在led.c文件完成项目代码的编写(没有led.c文件,可点击source group1旁边的”+”进行展开)

以下为代码源码及注释

#include<reg52.h>
sbit led1=P1^0;//指向P1.0口
main() {
led1 = 0;//使此处引脚为低电平
}

点击target,选择output选项,将create HEX file勾上,然后点击OK

点击translate、build图标

编译、Build之后的结果应该如下图一致

返回到proteus,双击我们的单片机

点击program file右边的文件夹图标,找到生成的led.hex文件

打开文件后,点击OK

最后我们开始模拟仿真!

仿真开始后,我们能看到p1.0口是蓝色的灯,这说明P1.0口为低电平,与代码设计的逻辑一致。

既然可以控制高、低电平,那么我们就可以写一个闪烁灯的代码

以下为源码及注释

#include<reg52.h>
sbit led1=P1^0;//指向P1.0口
void delay500(){//延迟500ms的函数
unsigned char a,b,c;
for(c=205;c>0;c--)
for(b=116;b>0;b--)
for(a=1;a>0;a--);
}
main() {
while(1){
led1=0;//设为低电平
delay500();//延迟0.5s
led1=1;//设为高电平
delay500();//延迟0.5s
}
}

每次更新代码后都要重新translate、build

返回到proteus,重新模拟仿真

若成功运行,则出现下图效果