51单片机入门教程(2)——流水灯的实现-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

51单片机入门教程(2)——流水灯的实现-创新互联

目录

青白江网站建设公司创新互联,青白江网站设计制作,有大型网站制作公司丰富经验。已为青白江近千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的青白江做网站的公司定做!

1、 硬件设计

2、 软件设计

3、综合调试

4、小结


1、 硬件设计

首先,介绍下流水灯的原理,下图为我们这个工程的原理图。其中主要包括51单片机芯片和流水灯模块,流水灯模块接在了单片机的P1口,200欧电阻是用来保护电路的。由原理图可以知道,我们可以看到LED的左边接了电源(高电平),在P1口给一个低电平即可点亮LED灯。相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可。要实现流水灯功能,我们只要将LED1~LED8依次点亮、熄灭,以此类推,8只LED变回一亮一暗的做流水灯了。

大家可以打开Proteus新建一个名为LED的工程,然后照着我的硬件图进行连接,需要用到的元器如下图,大家可以在元件库(点击P按钮进入元件库,上一章讲过的)里面搜索。

2、 软件设计

硬件设计好了之后,我们就可以根据硬件连接来写代码了,也就是我们的软件设计环节。

首先我们要新建一个工程,打开Keil新建一个名为LED的工程,在下面的代码复制到main.c里。新建工程上一章详细讲过了,不知道怎么建工程的同学见第二章。我的代码将下面的代码复制到工程里,再进行初步编译,看看代码是否会报错。

#include#includevoid delay(unsigned char i)
{
	unsigned char m,n;
	for(m=i;m>0;m--)
	for(n=200;n>0;n--);
}

void main()
{	unsigned char k;
	while(1)
	{
			P1=0xfe;
		 for(k=0;k<8;k++)
		{		
				delay(500);
				P1=_crol_(P1,1);		
		}	
	}	
}

我们可以看到,初步编译之后,编译窗口显示0错误0警告,说明我们的代码在语法上是正确的,软件设计部分就基本完成了,最后我们怎么把软件和硬件结合起来呢?

3、综合调试

在综合调试部分,我将教大家如何把代码烧录到硬件里,最后实现我们的流水灯效果。

首先我们必须知道一个概念,计算机是只认识0和1的,我们对电脑的所有操作和命令,最终都会变成很多0101010101001011010111,然后计算机就能看懂是什么意思,并作出反应,我们的单片机其实也是一台计算机,它也只认识0和1,但是我们刚刚软件设计写的代码是C语言写的,只有我们人能看懂,所以要怎么做才能把C语言转换为0和1的二进制语言呢,其实很简单,我们只需进行一个设置即可,跟我一起操作吧。

首先点击Keil主界面的这个魔法棒。

这个魔法棒很重要,里面有很多重要的设置,大家可以多摸索摸索,可以看到我们的2步骤是Create HEX File,翻译一下就是创建HEX文件,HEX文件其实就是机器代码,也就是计算机可以识别的文件了。

HEX文件:如何大家百度一下会发现HEX是十六进制的含义,那么刚刚不是说计算机只能识别二进制吗,为什么这里是十六进制。其实导入到单片机的是二进制文件,之所以要变为HEX文件,是因为HEX文件带校验,在传输、存储过程中有错误的话,容易提前发现,而二进制文件就不能,假如在存储中由于某一位或几位数受损,那么下载时照样按受损的文件导入到单片机。但最后烧录时HEX文件首先变成二进制数,再烧录进入单片机。

设置了之后我们再进行编译,这个时候就不需要全编译了,因为之前全编译过一次,现在进行部分编译即可,因为如果是很长的代码全编译一次很费时间,部分编译只会编译我们刚刚被修改过的设置和代码)

我们可以去流水灯工程的路径下找到这个HEX文件,用记事本打开给大家看看里面是什么。

这就是我们刚刚C语言的代码被转换成了计算机所能识别的文件了,虽然我们看不懂HEX文件的含义,但在计算机眼里,这就是让他做流水灯的指令。

下面我们来把这个文件放到单片机里面,也就是到了我们最后的环节了——烧录代码。首先打开Proteus,前面硬件部分已经连接好了。

进入编辑界面,我们在Program File里找到我们刚刚生成的hex文件

现在我们的HEX文件已经烧录到单片机当中,我们只需要点击运行就可以看到仿真的现象了。

下面就是最后实现的流水灯效果(动态依次点亮),大家做出来了吗。

4、小结

在这个流水灯的实现教程中,我是以工程的形式展现出来的。原因在于我想让大家从入门开始就建立起工程的意识,从硬件设计再到软件设计,最后我们进行综合调试,把工程实现。包括在这章里面,我讲了很多细节的知识,比如全编译和部分编译的使用、HEX文件等,这都是在实际工程中经过自己的理解总结出来的,相信大家学习到这里,已经基本掌握了这两个软件的使用,对于刚入门51单片机,我们可以使用这两个软件做很多有意思的工程,下一章我会教大家如何如何用数码管显示自己的学号。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:51单片机入门教程(2)——流水灯的实现-创新互联
标题网址:http://kswsj.cn/article/dsscoj.html

其他资讯