51单片机开发板·

通过NEBULA PI开发板(单片机)学习LED点灯

机智Simon

机智Simon

1414 4

前言

? 众所周知,很多嵌入式开发的学习是从认识单片机开始的,从编程,下载到跑通,学习的周期会比较长。有很多单片机产品可以帮助我们学习,这篇文章主要是测评单片机的基础开发测评,目的在于测评单片机产品可实现过程和学习难度。

10月的时候,我收到了来自上海的包裹,是某个搞火箭研发的大佬发来的,一款单片机,外表黑,体积比较大,是我之前玩的 STM32 的两倍。既然大佬寄过来,肯定要开始整活!!本次项目实操可以供新人学习和了解单片机。

从上图显示上的标记我们初步认识一下板子结构。

(从官方的说明中获得开发板信息)

点LED灯是玩单片机的入门课程,主要编程的平台用Keil,这里注意需要下载的是Keil C51,不要下载成Keil ARM

建立项目步骤

STEP1:安装好我的Keil,点击梦开始的地方 “Project”→“New uversion project”

新建过程中,在 “Search” 的选项中可以选择不填,因为这个项目主要是搜索项,搜索芯片使用的,下面有很多芯片都可以使用。另外我们需要再新建的栏目里找到Atmel选项,按照个人的需求,我会选择 Microchip 的 AT89C52。

选择建立一个 “LED” 项目,在提示栏里点击 “Yes” ,我们建立起一个新项目。

STEP2:在新建立的工程新建新文件。

  1. 点击 File ->New…
  2. 点击 File ->Save
  3. 文件名为 LED.c,一定要确保文件后缀为 .c 格式
  4. 点击保存(S),如下图所示。

下一步则需要将LED.c这个文件添加到工程目录

  1. 找到工程界面左侧的 source Group1,并单击右键
  2. 点击 Add Existing Files to Group ‘Source Group1’…
  3. 选中刚才新建的 LED.c文件
  4. 单击 Add,如下图所示

当出现图示所示的LED.c项目时,我们前期的新建流程就算是告一段落。

STP3:编辑代码

#include <reg52.h>

sbit led0 = P1 ^ 0;

void delay(unsigned int x) {
    unsigned int i, j;
    for (i = 0; i < x; i++)
        for (j = 0; j < 113; j++);
}

void main() {
    while (1) {
        led0 = 0;
        delay(1000);
        led0 = 1;
        delay(1000);
    }
}

接下来的处理步骤

  1. 我用的是指导书里面的代码,如果是直接复制过去的,会出现无法显示的“?”,需要在 EditConfiguration 将 Encoding 格式变为 UTF-8 即可,如果在文件输出格式上出现问题,按照官方说明书指导就可以。

  1. 在用 Keil 编译前,需要找到工程左侧的 Target1,并单击右键选择 Options for Target ‘Target 1’…, 勾选输出格式为 HEX-80。

STEP4:编译代码

在写完简单的代码后,用 Keil 自带的编译功能进行编译,显示为:

0Error,0Warning,代码是没问题的,但能不能跑就需要看结果了,为了验证,需要先让板子通电。

神奇的是,通电后数码管亮了。正常的流程是通过 STC-ISP 下载程序后在单片机跑。

出现这种情况一般是出厂程序还在单片机运行,有些厂家为了检验产品一般会做产品测试,不会消除出厂程序,消除出厂程序,只需要将自己编译好的代码下载下来就可以覆盖掉。

清除流程

  1. STC-ISP 打开编译后生成的 LED.hex 文件,一般会在自己建的工程里的 Objects 文件夹里。
  2. 点击下载/编程,让其自动运行就可以了

但是问题又来了,程序下载不下来........

反反复复操作停止→下载→拔开关→上电,但还是下载不下来。难道我的手艺不行,代码出问题了,操作检测了也没问题啊???

最后当你无路可走的时候,找卖货老板就对了。

结果是手册说明里的芯片型号写错了,最后锁定芯片型号为 STC89C52RC/LE52RC,原本说明书上标注的芯片型号是 STC89C52

在进行了一番友好交流后,终于要验证关键成果了!!给板子上电。

最终成果展示:绿灯一排,最左边的绿灯(D0)被点亮,说明此次点 LED 项目成功了。

总结

点亮 LED 项目的学习目的是初步掌握使用 Keil 创建项目,下载程序看板子跑的结果。一般都是按照流程化的操作,不出问题都会成功。除非遇见我遇到的问题,这个时候多问问商家就可以了,玩单片机是个长久的过程,以后会再多写点东西。不光是点灯还有信号传输等。

若有收获,就点个赞吧 ?

所属系列

从当前文章继续阅读它所在合集中的前后内容。

菜鸡啄米 第 1 / 2 篇
查看合集

单片机、STM32都有

相关文章

优先推荐同专题、同标签和同作者内容,补足热门文章。

评论 4

登录 后参与评论

评论 4

Hugh
Hugh12月31日 23:19

nice!?

热爱
热爱1月3日 18:06

厉害

ronger
ronger1月4日 13:37

? markdown 语法学起来

你一个人在这儿干嘛你是来拉屎的吧
你一个人在这儿干嘛你是来拉屎的吧1月4日 13:41

?