如何编程微控制器

时间:2013-07-16 09:28:45

标签: c++ python programming-languages microcontroller

您好我想编程微控制器,但我真的不知道该怎么做以及我需要做什么。我不知道在哪里可以看到我需要的信息。我已经用python编写了大约11个月的编码,我知道如何很好地使用这种语言。我过去使用过c ++,我也知道很多这种语言。

编程微控制器时,微控制器可以用任何编码语言编程,还是微控制器只允许使用某些语言?

我有无数的问题,但我不会问所有问题,如果有人可以请我指出正确的方向,我会非常感激。谢谢。

2 个答案:

答案 0 :(得分:4)

问题在于“编程”这个词。微处理器(你的意思是CPU,对吗?)通常执行特定于硬件平台的机器代码。机器代码只是从内存中读取的字节,并以特殊方式解释。这是处理器可编程的最低级别(有些日期是以这种方式编程的)。

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

现在还有更高级别的语言 - 像C这样的语言(在较小程度上,C++)试图抽象出特定硬件平台的细节并允许专注于算法和数据格式,而不是处理特定的处理器。显然,这会将特定H / W平台的知识转移到编译器 - 一个程序,它使用高级语言编写程序文本并生成目标处理器可运行的东西。 / p>

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

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

答案 1 :(得分:1)

如果你有兴趣获得基本实用的方便,就像你说“喜欢做一些基本的事情,就像制作LED闪光灯一样。”

选择基本的微控制器,从8051系列我们将采取89c51(恩智浦/ Atmel取决于可用性)。首先阅读用户手册,它将简要介绍(整体架构)。 关于编程,您只能在手册中找到LED闪光灯的基本代码(可能)。 如果您使用的是恩智浦微控制器,则可以在互联网上免费下载 Flashmagic 软件。 在您的IDE(如keil)中,在完成编码后,不要忘记创建“ .hex ”文件。 现在打开Flashmagic并在其中加载 .hex 文件并为您编写的特定代码刻录微控制器。

祝你好运!!