嵌入式51/52单片机流水灯实验:Proteus 8与Keil5实现小白教程(详尽步骤)
1. 双击打开Proteus
2. 打开下面显示的界面后,点击“新建工程”
3.跳出这个界面
4.修改名字为“流水灯”,点击浏览选择自己想放置的位置(根据个人需求,不想改也可以用上面的默认路径,记得就行)
5.点Next
6.点Next
7.点Next
8.点Finish
9. 新建工程成功
10.接下来绘制原理图,先看成品,接下来详细讲解电路绘制过程。
11.放置单片机(这里我用的是AT89C52,你也可以选你想用的单片机)。
先点击这个黄色三角形,元件模式。
然后点击P按钮→在keywords一栏输入关键字搜索器件→点击AT89C52(或者你想用的单片机)→确定
然后可以看到左上角的小框里出现了刚才选择的单片机,同时鼠标会变成黑色小铅笔
然后鼠标左键点击一下,出现单片机的紫色轮廓,此时移动鼠标可以移动单片机,选择一个你觉得合适的位置,再点击一下鼠标左键,就成功放置单片机了。
放置好单片机如下:
想移动单片机的话,可以右键器件,点击“移动对象”。
12. 绘制时钟电路。所需器件:两个30pF的电容(关键字:CAP),一个晶振(关键字:STAL),一个地(关键字:GROUND)。
按照上面的步骤分别放置好这些器件:P→输入keywords关键字→选择器件→鼠标左键点一下选择合适位置→鼠标左键再点一下放置器件。
①电容(CAP):
第二个电容可以直接复制第一个电容得到:单击选中C1→复制→粘贴
记得修改两个电容的值:双击1nF→跳出编辑零件值窗口→在字符串一栏修改数值为30pF→确定
②晶振(STAL):
③地(GROUND):先选终端模式,再选择器件。
④连线:把鼠标放在器件的一端,会出现一个红色小方块,左键点击一下,然后找到你想连的器件输入或者输出端,放在上面时同样会出现红色小方块,左键点击一下,一条线就连好了。重复这个过程,连接成下面所示的时钟电路。
时钟电路:
13:绘制复位电路。
所需器件:一个电容,两个电阻,一个按键,一个地。
①电容(CAP):注意选的是CAP-ELEC
②电阻(RES)
③按键(BUTTON):
④地:先选终端模式(那两个黄色反向箭头),再点击GROUND
⑤顺便再放一个VCC待会把EA管脚一起接了:
⑥按照下面的电路图连线,注意R9的阻值为330,你这个位置的电阻也要改成330。
14.绘制流水灯电路。
所需器件:8个LED灯,8个电阻(用于限流),一个VCC。
LED灯:
电阻和VCC前面说过了,不再赘述。
按照下面的电路连接:
15.到这里,流水灯原理图电路就算完成了。
16.接下来该写实现流水灯的代码了,这里用到的是 Keil uVision5 。
17.双击Keil uVision5进入。
18.新建工程:打开keil → project → New μVision Project
19.输入工程名称,点击保存,新建成功。
20.新建空白文档。
21.将下面的代码写进文档。
#include<reg52.h>
void delay(unsigned int i);
int main(void)
{
while(1)
{
P2=0xfe; //1111 1110
delay(50000);
P2=0xfd; //1111 1101
delay(50000);
P2=0xfb; //1111 1011
delay(50000);
P2=0xf7; //1111 0111
delay(50000);
P2=0xef; //1110 1111
delay(50000);
P2=0xdf; //1101 1111
delay(50000);
P2=0xbf; //1011 1111
delay(50000);
P2=0x7f; //0111 1111
delay(50000);
}
}
void delay(unsigned int i) //延时函数
{
while(i--);
}
21.保存为.c文件
22.将新建的Main.c文件添加到Source Group 1 文件夹下。
23.生成.hex文件,后面要烧写进单片机,单片机才能仿真运行。
出现新的窗口后,按顺序点击。
编译之后像下面这样就是成功生成.hex文件了。
它在objects文件夹下。
24.回到proteus,双击单片机,把生成的.hex文件烧写进单片机。
25.启动仿真。
26.仿真开启,LED灯会依次亮灭。