零、闲话三两
不得不惊叹于计算机功能的强大且全面,分明与51单片机是不同宗不同源的两样机种,其效用却能在计算机上完美复现。在21世纪的新世代人类眼里,“电脑”或许只是“网络”最完美的载体,当人们纷纷沉溺在虚拟现实的幻想梦境般的软件中时,他们不会意识到,计算机居然能真正完成硬件的仿效——当然protues仿真软件并没有在技术上实现什么天沟鸿堑的突破。不过,诸位,诸位是否有所感想,仿制真实这一机制,本身不就是一场神迹般的魔幻么?就像在虚浮的流沙之上,筑立了一座通天的高塔。
一、keil5程序编译
首先,单片机由于cpu性能缘故,只能识别二进制语言,所以在用C/C++编译程序后,需要转换为.hex格式的二进制文件,要令keil5生成二进制文件,需要以下几步
点击工具栏中的Project–>Options for Target
Output–>勾选Create HEX File前的小框,这样keil5在编译完成后便会自动生成.hex文件
接下来代码如下:
#include"reg51.h"
sbit led=P2^0;
void delay(unsigned char i)
{
while(i--);
}
void main()
{
led=0;
while(1)
{
led=~led;
delay(100);
}
}
在编写完程序后需要将文件后缀保存为.c
此后再点击工具栏中的Build按钮进行运行,如无报错即可
二、protues仿真部分
所需元件如下:
电路图如下:
电路图搭建完成,双击单片机,在Program File中选择刚刚于keil5生成的hex文件
最后点击左下角的三角形播放按钮,仿真运行成功
三、引用部分
本次实验绝大部分引用https://blog.csdn.net/void_much/article/details/99691630,望悉知!
另外,鄙人在调试过程中也遇到各方各面的问题,首先是keil5找不到应用芯片,再就是protues找不到元件序列,均可以通过“以管理员身份运行”的方法解决!