51单片机小制作的基本流程总结

最近闲下来,想利用单片机做一些小制作,于是把单片机相关的基础知识梳理一下,和志同道合的朋友分享交流,也同时供自己随时翻阅和不断积累。单片机制作不仅需要软件编写能力还需要硬件集成的动手操作能力,属于软硬件结合,对综合能力要求比较高。

完成一个单片机小制作一般需要经过如下几个关键步骤:

1、代码编写;2、代码编译;3、代码烧录;4、硬件设计集成。

分别讲讲这几个步骤的作用和使用工具软件:

1 代码编写

1.1理解

代码编写属于软件层面操作。代码编写应是最重要的一步,因为整个工程就是围绕编写的代码逻辑来运转的,相当于单片机大脑的思维过程。先学会编程语言的使用,然后不断精进。单片机开发,编写代码可以使用的语言有汇编、C语言、C++、Python等。汇编在学校的时候学过,现在基本上已经忘完了。目前个人用的是C语言,后两种还没有接触过。C语言被称为高级语言,因为和人类语言比较接近,易于理解和使用。C语言学习资源比较多,视频可以B站找找浙大翁凯老师的C语言程序设计。

1.2工具

C语言为例, C语言编写可以使用NOTEPAD++、VS CODE等软件。软件的下载安装网站上比较多,我这里就不赘述了。VS CODE在工作中使用的比较多,可以自动检查代码的错误,结合代码管理工具git进行使用,可以装插件,功能还是比较强大的。

1.3示例:

这里展示一个LED灯闪烁的实验。

notepad++打开,文件→新建一个文件夹,我复制了示例的代码,保存成.c的文件,即C source file,如图。使用其他编辑器保存成.c后缀的也可以。

源代码:

/**************************************************************************************
*		              LED闪烁的简单试验												  *
*								      *																					  *
***************************************************************************************/

#include <reg51.h>	   //此文件中定义了51的一些特殊功能寄存器

void Delay10ms(unsigned int);   //误差 0us
/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/

void main()
{ 
	while(1)
	{
		P2  = 0x00;    //置P0口为低电平
		Delay10ms(50); //调用延时程序
		P2  = 0xff;    //置P0口为高电平
		Delay10ms(50); // 调用延时程序
	}

}
/*******************************************************************************
* 函 数 名         : Delay10ms
* 函数功能		   : 延时函数,延时10ms
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void Delay10ms(unsigned int c)   //误差 0us
{
    unsigned char a,b;
    for(;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}

2 代码编译

2.1理解:

对于计算机来说,这些C代码它是无法理解的,给机器输入这些它是听不懂的,所以也无法执行你的命令,故需要翻译一下,代码编译就是翻译的过程。把高级语言转换成计算机或者单片机能够识别的二进制代码,这样单片机就能按照指令进行一步一步的计算和操作了。代码编译就是一个方法问题,只要知道不同的编译软件怎么使用就行了。

2.2工具

代码编译这里使用的是KEIL软件。

2.3示例:

将.c文件编译成单片机能识别的hex文件。

1、创建项目

选择ATMEL下的AT89C51芯片

默认OK,这个还没明白是什么意思。

2 添加.c文件

选择添加.c文件

添加成功,双击可以看到文件内容,中文是乱码这个后边研究一下。

3 设置生成HEX文件

点击build

查看结果,生成了LED_Pro1名字的HEX文件,没有错误和警告就OK,有就需要修改重新编译。

在工程的文件夹里可以找到该HEX文件

3 代码烧录

3.1理解

代码烧录就是把生成的HEX文件导入到单片机,使之执行起来。

3.2工具

我这里使用的是普中的开发板,这个操作起来简便一些,一般可以在这个上边烧录好,然后放到自己的小实验上运行。

3.3示例

连接好电脑和开发板(先要安装CH340驱动)设置好点击下载,最后显示下载成功即可。

4硬件设计集成

4.1理解

设计单片机和其他外围硬件的连接方式,比如单片机控制一个小灯的闪烁,就需要将单片机的IO口和灯珠连接起来,当然这里还需要一些电源。有仿真软件比如Proteus也可以设计并测试自己的设计是否有效。但是在仿真软件上比较繁琐,设计不复杂一般就直接上实物,将单片机和外围元器件一起用导线连接起来,这就是硬件的集成。这个实验中直接用了开发板,就省略了集成的步骤。最后实验中能够看到小灯闪烁就达到了本次实验的目的。

因为是一些小实验基本就是动手连接电路了,这里就不再赘述。

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值