不用开发版也能畅玩单片机?Protues安装与使用
众所周知,嵌入式编程通常与硬件离不开关系。而单片机开发版对于程序员而言正如将军的配剑一般重要。
但是,开发版的价格少则数十多则上板,并且我们似乎也没有办法随身携带。那么有没有什么方法能够利用电脑仿真实现单片机开发呢?
本期我们要介绍的软件是Protues,一款应用广泛的单片机仿真软件。
1.软件下载安装与破解
首先我们可以去Protues的官网下载安装包也可以后台私信我 Protues 使用百度网盘进行安装与破解。
导入我们的汉化包和破解补丁,我们就可以享受Protues专版啦,需要注意的是这里我们推荐使用Protues8.0以上版本的,相较于7,Protues8具有更加丰富的元件库以及更好的用户体验。例如我们常用的单总线温湿度传感器DHT11传感器并没有包含在Protues7的元件库中,而Protues8的元件库中则是包含着这款元器件。
2.添加元器件
创建工程应该不用教吧
4.编写示例代码
我们打开我们的Keil5(没使用过的同学可以上网搜一下教程后续也会出相关的文章),选择我们的芯片AT89C52。 右键添加51单片机的头文件,即可开始我们的编程。 首先第一步我们需要写上我们的主函数main,需要在main函数中加入while(1)使其构成一个死循环,否则单片机运行一遍程序后将不再运行。 之后我们需要定义我们的延时函数,延时函数的原理是利用单片机执行一次指令需要一定周期的时间,因此我们让程序执行一定量的次数,即可实现循环。 #include
void delayms(unsigned int x)
{
unsigned char i;
while (x--)
{
for (i = 0; i < 120; i++);
}
}
void main()
{
}
51单片机有许多引脚,我们使用51单片机特有的类型sbit来定义我们最开始仿真图中连接LED灯所使用的引脚。 sbit LED = P1 ^ 1 ; 之后我们只需要控制该变量的0或者1即可实现单片机io的高低电平状态从而实现控制LED灯的亮灭。 具体代码如下: #include
sbit LED = P1 ^ 1 ;
void delayms(unsigned int x)
{
unsigned char i;
while (x--)
{
for (i = 0; i < 120; i++);
}
}
void main()
{
LED = ~LED;
delayms(500);
}
点击对应的按钮,在设置中生成HEX文件(机器码)而后点击编译,这样子就可以在工程目录生成HEX文件,我们之后双击仿真图中的单片机,导入我们的HEX文件,就可以看见LED灯闪烁啦。 |




登录 或 注册 后才可以进行评论哦!
还没有评论,抢个沙发!