如何对微控制器进行编程

How to program microcontrollers

本文关键字:编程 控制器      更新时间:2023-10-16

嗨,我想对微控制器进行编程,但我真的不知道该怎么做,也不知道该做什么。我根本不知道该在哪里查找我需要的信息。我已经用python编程大约11个月了,我知道如何很好地使用这种语言。我过去用过c++,而且我也知道很多这种语言。

在对微控制器进行编程时,微控制器是否可以使用任何编码语言进行编程,或者微控制器是否只允许使用某些语言?

我有无数的问题,但我不会全部问,如果有人能给我指明正确的方向,我将不胜感激。谢谢

问题出在单词"programmed"上。微处理器(你指的是CPU,对吧?)通常执行特定于其硬件平台的机器代码。机器代码只是从内存中读取的字节,并以一种特殊的方式进行解释。这是处理器可能被编程的最低级别(有一天是这样编程的)。

现在,由于以这种方式对处理器进行编程非常不方便,因此发明了所谓的"汇编语言"。基本上,它们只是定义机器代码的符号表示和它们的解释规则集。然后,一个称为翻译器的特殊程序获取一组文本文件,其中包含用汇编语言编写的程序的定义,并生成一些,其中包含机器代码,可能由目标处理器执行。(这个"东西"的定义很难,我们不要离题。)

现在有了更高的层次—像C(以及在较小程度上的C++)这样的语言,它们试图抽象特定硬件平台的细节,并允许专注于算法和数据格式,而不是处理特定的处理器。显然,这将特定H/W平台的知识转移到编译器—一种程序,它接收用高级语言编写的程序文本,并生成可由目标处理器运行的内容。

现在有另一个更高的层次,它包括几乎完全抽象出H/W平台的任何特殊性的语言。当您阅读Stack Overflow时,浏览器中运行的JavaScript就是一个很好的例子—其中的程序仍然由运行浏览器的设备的处理器执行,但这些JS脚本和处理器之间有许多复杂的代码层。

到目前为止,你应该看到你的问题还没有明确的答案。如果你想涉足卧室电脑CPU的低级代码,那么在谷歌上搜索"x86汇编程序"、"英特尔汇编程序"等。这是一个良好的开端。如果要对其他处理器进行编程,则要使用的搜索查询将是类似的。相反,如果你想编程一些像AVR这样的专用处理器,那么从产品手册开始,因为它们通常带有专用工具。

如果你有兴趣掌握基本的实用知识,比如你说的"喜欢做一些基本的事情,比如制作LED闪光灯等。"

选择基本的微控制器,比如说从8051系列中,我们将采用89c51(NXP/Atmel取决于可用性)。首先浏览用户手册,它将为您提供关于它的简要想法(总体架构)。关于编程,您将只在手册中找到LED闪光灯的基本代码(可能)。如果您使用的是NXP微控制器,Flashmagic软件可以在互联网上免费获得,您可以下载。在IDE(如keil)中,不要忘记在完成编码后创建".hex"文件。现在打开Flashmagic,在其中加载.hex文件,并为您编写的特定代码烧录您的微控制器。

祝你好运!!