单片机入门学习之代码编译

系列文章目录

提示:本文章为系列文章,系列文章的所有文章的目录后期会时刻更新,喜欢的朋友请收藏好

《第一章 C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-上)》

《第二章 C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-下)》



前言

谁适合阅读本教程?

本教程是专门为需要从零开始了解 C 语言、学习单片机开发、仿真等软件程序员打造的。本教程将让您对 C 语言、51单片机等有足够的认识,从而提升您自己的专业知识水平。

您需要了解的知识:

在开始学习之前,您需要对计算机编程术语有基本的了解。对任何一种编程语言有基本的了解将有助于您理解 C 语言编程概念,并有助于加快您的学习进度,建议先看上一篇文章。

Proteus编译/执行 C 程序

比如下面的代码在Proteus中如何编译:

#include <stdio.h>

int main()
{
/* 我的第一个 C 程序 */
printf(“Hello, World! \n”);
return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

代码在Proteus中是自动编译的,编译按钮变灰不可操作。

实例解析:

  • 所有的 C 语言程序都需要包含 main() 函数。 代码从 main()
    函数开始执行。

  • /* … */ 用于注释说明。

  • printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h”
    头文件中声明。

  • stdio.h 是一个头文件 (标准输入输出头文件) , #include
    是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h
    头文件,会发生编译错误。

  • return 0; 语句用于表示退出程序。


一、Proteus软件是干什么用的?

EDA工具软件

Proteus是英国Lab Center Electronics公司出版的EDA工具软件。Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,并增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

单片机仿真软件

它不仅具有其它EDA工具软件的仿真功能(仿真软件),还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。

多种编译器支持

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

谁在用它

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

都有什么功能

一、互动的电路仿真
可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件

二、仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

三、资源丰富
1.可提供的仿真元器件资源
2.可提供的仿真仪表资源
3.除了现实存在的仪器外,该软件还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。
4.可提供的调试手段提供了比较丰富的测试信号用于电路的测试。

四、电路仿真
1.不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
2.它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
3.课程设计、毕业设计是学生走向就业的重要实践环节。
4.随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
5.使用该软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力

五、应用领域
1.教学
2.技能考评
3.产品开发

六、集成化的电路虚拟仿真软件
该软件是一款基于ProSPICE混合模型仿真器的、完整的嵌入式系统软硬件设计仿真平台。它包含ISIS和ARES应用软件:
1.SIS-智能原理图输入系统,系统设计与仿真的基本平台
2.ARES-高级PCB布线编辑软件

七、Proteus VSM仿真与分析
该软件软件的ISIS原理图设计界面同时还支持电路仿真模式VSM(虚拟仿真模式)。

二、安装Proteus

1.下载Proteus软件

下载地址:

Proteus官方版

2.Proteus软件特色

  1、丰富的器件库:

 
 
  • 1

超过27000种元器件,可方便地创建新元件;

  2、智能的器件搜索:

 
 
  • 1

通过模糊搜索可以快速定位所需要的器件;

  3、智能化的连线功能:

 
 
  • 1

自动连线功能使连接导线简单快捷,大大缩短绘图时间;

  4、支持总线结构:

 
 
  • 1

使用总线器件和总线布线使电路设计简明清晰;

  5、可输出高质量图纸:

 
 
  • 1

通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

注意:本次使用Proteus是为了仿真实验。


3.Proteus软件安装

步骤如下:安装步骤比较简单,基本一路Next,下面贴出部分截图。

1、先点击上面的下载链接进行下载,下载数据包然后解压,双击“P8.7.Sp3.exe”,后面就是按提示点击一路next
在这里插入图片描述

2、勾选“同意协议”然后点击next
在这里插入图片描述

3、选择“第一个”然后点击next
在这里插入图片描述

4、点击“browse for key file”然后选择数据包包中patch文件夹下的“Licence.lxk”添加注册文件,然后点击右下角close关闭窗口
在这里插入图片描述

5、点击next
在这里插入图片描述

6、双击“typical(经典)”安装
在这里插入图片描述

7、软件正在安装,请耐心等待
在这里插入图片描述

8、安装完成,点击close关闭
在这里插入图片描述

9、将数据包中的破解补丁IN”和“MODELS”一起复制到软件的安装目录下替换原文件即可破解,一般默认安装路径为C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional
在这里插入图片描述

每个人安装过程出现的问题可能不一样,有问题可到评论区留言。


4.Proteus软件基本的使用

下面我们打开Proteus软件

那么我们要如何创建一个新的Proteus工程?

在这里插入图片描述
如何界面是英文的,可以汉化,将下图的文件夹覆盖安装目录下的同名文件夹。
在这里插入图片描述
新建工程后进入,下面我们来画电路图,在这之前要先添加元件,点界面中的P按钮。
在这里插入图片描述
按照下面图片中的操作把元件添加:
在这里插入图片描述
添加完后点击添加的元件,在右边区域画电路图:
在这里插入图片描述
添加地线:
在这里插入图片描述
记得双击画图区中的电阻和地线元件,修改属性,电阻修改为1K,地线修改为GND
在这里插入图片描述
在这里插入图片描述
之后就是用线把元件连接好,还有要注意的是各元件的方向,请在画图区右键打开设置,然后将各元件旋转到正确的方向。

在这里插入图片描述

使用过程中有什么问题可以先收藏本文,然后在评论区留言。


5.(额外学习福利)使用Proteus给51单片机写c语言代码

下面我们用另外一种方向写代码并编译,也就是用Proteus,而不用keilc51,

打开代码编辑界面:
在这里插入图片描述
在这里插入图片描述
首页我们先引入51单片机关文件

#include <reg51.h>

 
 
  • 1

为了能看到LED灯点亮的效果,我们需要写一个延时函数,不写的话,就只能看到LED灯一直在闪

void delay(void)
{
	unsigned char a,b,c;
	for(c=23;c>0;c--)
		for(b=152;b>0;b--)
			for(a=70;a>0;a--);

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

最后我们来写一个main()主函数

void main()
{
	unsigned char count = 0;
	P2 = 0x01;
	while(1)
	{
		P2 = P2 << 1;
		if (P2 == 0x00)
			P2 = 0x01;
		delay();
	}
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

大概就这么点代码了,下面把整个代码贴出来。

#include <reg51.h>

void delay(void);

void main()
{
unsigned char count = 0;
P2 = 0x01;
while(1)
{
P2 = P2 << 1;
if (P2 == 0x00)
P2 = 0x01;
delay();
}
}

void delay(void)
{
unsigned char a,b,c;
for(c=23;c>0;c)
for(b=152;b>0;b)
for(a=70;a>0;a);

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

编写代码过程中有什么问题可以先收藏本文,然后在评论区留言。


6.使用Proteus编译c语言代码并仿真实验

保存代码后点仿真,代码会自动编译,没有错误就会运行仿真。
在这里插入图片描述

自动编译仿真结果:
在这里插入图片描述

从上面的结果中我们可以看出,c语言编译完后没有错误。仿真开始了,LED灯会依次点亮

编译过程中有什么问题可以先收藏本文,然后在评论区留言。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Proteus的使用,而Proteus提供了大量的元件供我们使用,能使我们快速便捷地开发51单片机的相关功能。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值