惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Martin Fowler
Martin Fowler
I
InfoQ
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
博客园 - 三生石上(FineUI控件)
Y
Y Combinator Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
B
Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
V
Visual Studio Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
通过NEBULA PI开发板(单片机)学习LED点灯 - 少数派
2021-12-30 · via 少数派

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

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)”,如下图所示。

图 3-10 新建 LED.c 文件

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

1) 找到工程界面左侧的 “source Group1”,并单击右键

2) 点击 “Add Existing Files to Group ‘Source Group1’…”

3) 选中刚才新建的 “LED.c”文件

4) 单击 “Add”,如下图所示。

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

STEP3:编辑代码

#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、我用的是指导书里面的代码,如果是直接复制过去的,可能出现无法显示的“?”,需要在 “Edit”→ “Configuration” 将Encoding格式变为UTF-8即可,如果在文件输出格式上出现问题,按照官方说明书指导就可以。

2、在用 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建项目,下载程序看板子跑的结果,算是一个入门级别操作,一般都是按照流程化的操作,不出问题都会成功,除非遇见我遇到的问题,这个时候多问问商家就可以了,玩单片机是个长久的过程,以后会再多写点东西。

总体来说,除了一点这块板子学习单片机是没问题的,如果可以接受一套200元的价格。

若有收获,就点个赞吧