一、Proteus安装及认识。
根据老师所给的安装包和资料,学习学长学姐的详细步骤,完成安装。
proteus认识介绍:
Proteus是一款专门为电子工程师和设计师开发的综合性EDA(电子设计自动化)工具。这款软件的主要特点和功能包括:
-
原理图设计(Schematic Capture): Proteus提供了一个强大的原理图捕获系统,用户可以在其中方便地绘制电路原理图。这个环节是整个电路设计过程的基础,它支持广泛的电子元件库,用户可以从中选择所需的组件来创建电路图。
-
PCB设计(PCB Layout): 设计完成后,Proteus可以将原理图转换为PCB布局。用户可以在这一阶段设计电路板的实际布局,包括元件的放置和走线。Proteus支持自动布线功能,并允许用户手动调整以达到最佳设计。
-
仿真功能: Proteus的一个显著特点是它强大的仿真功能。它不仅支持标准的电路仿真,还能模拟单片机(如Arduino、PIC、AVR等)在电路中的实际运行情况。这意味着用户可以在不实际构建电路的情况下测试和调试他们的设计。
-
单片机协同仿真: 对于单片机爱好者和专业人士来说,Proteus提供的单片机与外围电路协同仿真是一个非常有用的功能。用户可以编写和调试微控制器代码,并在仿真环境中看到代码对电路行为的影响。
二、Proteus使用并创建工程。
安装好软件之后,按照PPT博客资料创建工程并学习使用软件。
期间需要注意:
1.创建工程:
创建原理图:
创建PCB:
再连续点击next之后,来到选择芯片,记住选择AT8951.
创建完成后来到工程界面:
功能区域介绍:
三、采用汇编指令点亮1个LED灯
(一)汇编语言
1.软件准备:
需要使用到Keil C51来编写程序,需要先下载Keil软件,有关Keil软件下载,请参考:https://blog.youkuaiyun.com/ssj925319/article/details/108919862
下载完Keil软件后,需要添加C51的pack,下载链接如下:
链接:https://pan.baidu.com/s/1eu03YgLM83IJ2d5FrRheOA
提取码:eela
下载完成后,解压缩,并点击安装,安装完成后,Keil 软件就自动添加了 C51 的pack。
原文链接:https://blog.youkuaiyun.com/ssj925319/article/details/108929227
软件下载准备好之后,就可以开始创建工程编写代码了。
2.创建工程:
(1)打开 Keil 软件,点击 Project → New uVision Project …
然后选择芯片:找到AT89C51新建文件,点击保存:
记住把文件保存为.asm格式。
把汇编文件加进去工程里边:
这里需要注意,因为文件格式是.asm结尾的,所以!选择这个文件类型,才能找到刚刚保存的文件:
找到添加进来的文件,就可以开始编写代码了
代码如以下:
ORG 0100H
SETB P2.0
SJMP $ ;无条件相对转移 $就是本句语言的指针地址
;SJMP $,就是硬件部分
END
点击保存文件,再点击这个魔法棒(Option for Target),将文件导出
继续来到Output,选择创建HEX文件。
最后,再点击编译,编写代码环节就结束了。
(二)仿真电路
创建好工程之后我们就可以开始在Proteus中仿真电路了。
1.添加元器件:
首先点击蓝色按钮,开始绘制,再左键单击元件,然后再点击P按钮,进入元件选择界面。
在 Keywords 输入搜索 AT89C51 ,然后在中间的窗口内双击AT89C51芯片,即可添加到元件列表中,而后依次添加LED(不同颜色)、RES(电阻)。
2.摆放元件:点击鼠标左键绘制连线,再次点击完成连线。
3.双击51单片机元件,跳出弹窗,选择再汇编时创建好的HEX文件,导入:
点击开始仿真,查看仿真结果:
至此,成功点亮一个LED灯。
四、51流水灯仿真设计
接下来就开始设计51流水灯程序了。
与连接一个LED灯类似:连接流水灯:
连接管脚。
拉一条主线。(左击一下起点,然后移动鼠标,然后双击一下终点,即可拉一条主线)
点击终端接口,选择POWER,放置电源,然后左键双击电源图标,修改为VCC,再点击OK。
还需要使用 LBL 为支线标记编号,连接到主线的支线,需要对支线进行编号才能正常连接,否则后面需要正常实验成功(使用方法:点击 LBL 后,在左键单击支线上,修改值)
连线完成
五、利用C语言编写程序
与上文汇编语言相似:
1.创建工程:(与上文相同,不再赘述)
2.编写程序并保存:与上文不同的是,当保存文件时候,需要保存到格式为.c格式。
使用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);
}
}
3.创建生成.hex文件:与上文步骤相同
点击保存文件,再点击这个魔法棒(Option for Target),将文件导出
继续来到Output,选择创建HEX文件。
最后,再点击编译,编写代码环节就结束了。
六、仿真测试
回到Proteus,双击AT89C51芯片,添加相关文件,点击OK。
点击调试,仿真;
仿真流水灯结果
七、总结、心得体会。
通过本次的学习,我学习到了如何使用Proteus创建工程、原理图界面的使用、设计一个简单的51原理图、掌握了非常实用的一个工具,通过设计一个51的流水灯,真正的感受到了仿真的乐趣和快乐。以及还使用Keil软件创建工程,利用汇编语言,C语言,提高了自己对Keil软件的认识和熟悉使用程度。Proteus仿真软件使用起来十分方便而且有趣,希望之后能学到更多的相关知识。