0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是微控制器?如何编程微控制器?

我快闭嘴 来源:贤集网 作者:贤集网 2020-08-21 15:40 次阅读

通常,我们正在设计电路,并通过提供该电路使用的电源来连接到其他不同的组件,例如电动机,LCD,LED。用该电路编程时,微控制器会做什么?微控制器系列理解用汇编语言或C语言编写的程序,该程序必须被编译成称为二进制语言(即零和一)的机器语言。已编程的文件存储在计算机硬盘或微控制器的内存中。汇编程序用于将汇编程序转换为机器代码。要使用汇编语言编写程序,程序员必须具有CPU或硬件方面的知识。低级语言用于交叉开发。十六进制系统被用作表示二进制数的更有效方法,而使用二进制语言时,CPU的工作速度非常快。

今天,我们可以使用许多不同的编程语言,例如C,JAVAORACLE等。这些语言称为高级语言。以高级语言编写程序,程序员不需要任何用于高级应用程序开发的硬件方面的知识。编译器在将高级程序转换为机器级方面起着至关重要的作用,因为本机开发中使用了高级语言。

以下是微控制器编程中使用的一些工具:

Keil uVison

Code Editor

Assembler

C compiler

Burner/Programmer

Keil Uvison:

Keil Uvison是免费软件,可以解决嵌入式开发人员的许多难题。该软件是集成开发环境(IDE),集成了文本编辑器以编写程序,编译器,并将源代码转换为十六进制文件。

Keil uVsion软件

开始使用Keil Uvison的指南:

1.单击桌面上的Keil Vision图标。

2.单击标题栏中的“项目”菜单

3.通过在C:\或D:\中自己的文件夹中键入适当的项目名称(不带扩展名)来保存项目。

4.然后点击上方的保存按钮。

选择项目的组件。即Atmel……

根据需要,单击+符号。此处示例选择了Atmel。

5.选择AT89C51,如下所示

6.然后点击“确定”

7.然后单击“是”或“否。..……,主要是“否”。

现在您的项目已经可以使用了。

现在双击Target1,您将获得另一个选项“ Source group 1”。

8.单击菜单栏中的文件选项,然后选择“新建”

9.下一个屏幕将显示为文本页面

10.现在开始用“ EMBEDDED C”或“ ASM”编写程序。

对于要用汇编语言编写的程序,我们必须将其保存为扩展名“。 Asm”和基于“ EMBEDDED C”的程序,我们必须将其保存为扩展名“ .C”

11.现在,右键单击“源组1”,然后单击“将文件添加到组源”

12.现在,根据保存文件时提供的文件扩展名进行选择。

在选项“ ADD”上仅单击一次。

现在按功能键F7进行编译。如果发生这种情况,将出现任何错误。

如果文件中没有错误,请同时按Control + F5。

代码编辑器或文本编辑器:

代码编辑器用于编写程序。 uVision编辑器包括所有标准功能,例如突出显示颜色语法并快速识别错误。调试时可以使用该编辑器。自然的调试环境可帮助您快速识别和纠正程序中的错误。在代码编辑器中编写程序后,根据您选择的汇编器将文件保存为.asm或.C格式。

汇编器:

汇编程序用于将源代码(低级语言)转换为机器级(二进制格式)。

编译器:

编译器用于将源代码(高级语言)转换为机器级别(二进制格式)。

使用DOS编辑器或其他编辑器创建第一个文件。

汇编器将生成目标文件和文件列表。目标文件的扩展名是“ .obj”,而列表文件的扩展名是“ .lst”。

汇编程序需要执行的第三步称为链接。链接程序获取一个或多个目标文件,并生成扩展名为“ .abs”的目标文件。

将“ .abs”文件输入到名为OH(目标到十六进制转换器)的程序中,该程序会创建一个扩展名为“ hex”的文件,该文件可直接写入微控制器ROM

Burner/Programmer:

对微控制器进行编程或刻录意味着“将程序从编译器传输到微控制器的存储器”。微控制器的程序通常是用C或汇编语言编写的,最后编译器会生成一个十六进制文件,其中包含机器语言指令(例如零和微控制器可以理解的指令)。正是微控制器的内容被传输到微控制器,一旦程序被传输到微控制器的存储器,它就根据该程序工作。

如何编程微控制器?

微控制器是一种集成芯片,我们在其中存储以汇编语言编写的代码。因此,要将编码后的程序转储到微控制器IC中,我们需要一种称为刻录机或编程器的设备。程序员是一种带有软件的硬件设备,该软件可以读取存储在PC或笔记本电脑上的十六进制文件的内容。它会读取十六进制文件数据串行或USB电缆,并将数据传输到微控制器的内存中。

对于不同的微控制器来说,编程器和编译器是不同的,这对于不同的公司来说是不同的,例如使用8051微控制器“ flash magic”对微控制器进行编程,以及使用AT89C51微控制器“程序员”对微控制器进行编程。这就是我们在带有刻录机或编程器的微控制器中编程代码的方式。

什么是微控制器?

尽管您不知道,但您家里可能有很多这样的东西!微控制器是一种集成电路(IC)或“芯片”,通常用于家庭中装有电子电路的设备中。您可能听说过微处理器,例如Intel Pentium,它们被用作计算机中的CPU(中央处理单元),实际上是“大脑”。微处理器是集成电路,用于处理计算机程序中的指令,执行计算并将数据发送到内存和磁盘以及从内存和磁盘发送数据。微控制器是一种特定类型的微处理器。它与普通的微处理器在以下方面有所不同:

它具有内置的“ I / O”(输入/输出)功能。因此,它可以读取和写入数字和模拟值/状态,并直接连接到“现实世界”。与微处理器不同,微控制器可以直接连接到开关,按钮,LCD显示器,LED,继电器和串行端口

微控制器通常用于中低复杂度的设备中的特定任务。这与处理各种软件应用程序的PC中使用的强大的数字处理微处理器形成鲜明对比。

微控制器通常用在依靠电池供电的便携式设备中。数码相机。因此它们通常功耗低且消耗电流小(与台式计算机中的散热风扇冷却微处理器不同)

与PC中的微处理器相比,微控制器中的RAM通常范围从64k到最小1k。

微控制器中的程序通常存储在EPROM或EEPROM中。这是一种非易失性(设备关闭时程序不会消失)的非易失性存储器,可以连续擦除和重写。

单片机用途

许多设备都使用微控制器。一些例子:

防盗警报器包含一个微控制器芯片,该芯片连接到键盘,显示器和传感器/触点输入。微控制器通常是自包含芯片,而ALU(算术逻辑单元),存储器和I / O全部包含在一个集成电路中

较早的自动洗衣机使用凸轮开关在洗涤周期内对操作进行排序。这是一个相当复杂的开关,安装在您用来选择清洗程序的旋钮轴的末端。较新的机器使用微控制器对操作进行排序。微波炉和洗碗机等其他设备可能会包含微控制器

电视使用微控制器来处理频道的选择并读取电视上按钮的状态

微控制器用于发动机控制和在车辆的仪表板(仪表板)上显示信息

数码相机使用微控制器来处理来自按钮的输入,图像捕获和显示的控制。

单片机实例

一些常用的微控制器:

Zilog Z8

Intel 8051

Texax Instruments TIMSP430

Atmel AVR

什么是Arduino

Arduino是基于Atmel微控制器的开源硬件/软件编程平台。开源意味着可以免费获得设计中使用的电路原理图和软件源代码,并且发烧友可以对其进行修改。 Arduino开发板及其模拟和数字输入和输出,是希望将系统组装在一起而无需了解大量数字设计知识的艺术家,设计师和电子爱好者的理想选择。使用排成一排的凹型连接器可在Arduino板上提供输入和输出信号,可将单个引线或单列(SIL)连接器插入其中。

Arduino开发板将至少具有:

9个数字引脚,可以用作输入/输出通道。其中一些可以设置为PWM(脉冲宽度调制)输出。 PWM信号是方波,其脉冲宽度可以改变。 PWM用于机器人和远程控制应用中的电机和伺服器的速度和位置控制

4个模拟输入通道。

至少一个串行端口,也可用于将代码下载到Arduino

一些板卡还具有一系列模拟输出通道。

引脚的功能具有高度的灵活性,其中一些引脚可以配置为模拟或数字。数字引脚可以配置为输入或输出。

当Arduino板从连接到这些模拟和数字输入的传感器接收输入时,它们会感知周围的环境。他们还可以控制执行器,例如电机,警报器和电动阀,或打开LED,灯或其他视觉指示设备。输出的输出驱动能力有限,因此通常必须在Arduino输出引脚和被驱动设备之间使用晶体管,FETS或继电器。但是,有一个输出能够直接驱动LED。

板上的连接器以标准方式布置,以便可以连接屏蔽。屏蔽是具有专用功能的模块(例如,红外输出,蓝牙,GSM,WIFI,以太网,使用Relas的电机开/关控制,步进电机控制)。根据屏蔽类型的不同,可能可以将多个屏蔽叠放在一起,然后通过I2C串行总线分别寻址。

由于Arduino代码和硬件是开源的,因此第三方开发人员已经制作了Arduino官方开发板的副本。

Arduino开发板具有32至512k的闪存,可用于程序存储。

Leonardo-特定型号的Arduino开发板。数字引脚可以配置为输入或输出。除了标准模拟输入之外,几个数字引脚还可以兼作模拟输入。

Arduino开发板可以用来做什么?

Arduino开发板可用于做很多很酷的事情。您可以轻松添加LCD显示屏,键盘或七个分段显示模块,并快速构建一个简单的系统。 Arduino.cc网站上提供了大量信息和库。您可以设计自己的电子插件或使用屏蔽罩来构建模块化系统。 Arduino由于其多功能性,可用于简单,平凡的任务或复杂的应用程序。一个简单的应用示例就是当室内温度降至一定水平以下时开启设备的功能。扩展此应用程序并添加一个GSM模块可以很容易,它可以在发生这种情况时发出文本消息。 Arduino开发板可用于实现复杂的家庭自动化系统,该系统可通过智能手机进行控制。发烧友还将它们用作机器人中的处理和控制设备,并提供了用于构建简单的轮式机器人的套件。

Micontroller项目-对Arduino开发板进行编程

Arduino板使用C语言编程,并提供了高级功能,作为对模拟和数字引脚以及串行端口进行读写的标准功能。源代码被称为“草图”。标准库也可用于诸如输出到LCD面板或与GSM模块通信的任务。发烧友还贡献了许多其他库和代码,这些库和代码可在Arduino网站上找到。

Arduino网站上提供了基本的代码编辑器/编译器,可用于开发程序。但是,该编辑器基本上就像写字板一样,不提供任何颜色编码突出显示或具有复杂的调试功能。 Atmel Studio是Visual Studio的简化定制版本,是提供这些功能的替代方法。

使用串行端口或USB连接将程序下载到Arduino板上。然后,引导加载程序会在重置时将程序加载到内存中,因此不需要外部编程器。
责任编辑:tzh

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7712

    浏览量

    152624
  • led
    led
    +关注

    关注

    242

    文章

    23467

    浏览量

    665591
  • 单片机
    +关注

    关注

    6049

    文章

    44684

    浏览量

    641140
收藏 人收藏

    评论

    相关推荐

    MSP430微控制器串行编程适配器用户指南

    电子发烧友网站提供《MSP430微控制器串行编程适配器用户指南.pdf》资料免费下载
    发表于 12-05 14:28 0次下载
    MSP430<b class='flag-5'>微控制器</b>串行<b class='flag-5'>编程</b>适配器用户指南

    FPGA 与微控制器优缺点比较

    在现代电子设计领域,FPGA和微控制器(MCU)是两种常用的计算平台。它们各自具有独特的优势和局限性,适用于不同的应用场景。 性能 FPGA FPGA是一种可编程的硬件,由大量的逻辑单元、触发
    的头像 发表于 12-02 09:58 765次阅读

    嵌入式系统中微控制器与微处理的区别

    嵌入式微控制器已成为我们日常接触的众多设备背后的无声指挥者。从用于烹饪食物的微波炉到监测健康的智能手表,微控制器确保这些设备能够精准、可靠地运作。本文的目的是揭示嵌入式微控制器的世界,帮助读者理解
    的头像 发表于 10-14 11:02 718次阅读
    嵌入式系统中<b class='flag-5'>微控制器</b>与微处理<b class='flag-5'>器</b>的区别

    ESP32 微控制器系列指南

    2024-05-29 Don Wilcher [微控制器] ESP32 微控制器已成为物联网 (IoT) 和嵌入式控制器领域的核心部分。 ESP32 生态系统的制造商 Espressif
    的头像 发表于 10-02 18:21 3864次阅读
    ESP32 <b class='flag-5'>微控制器</b>系列指南

    C2000™微控制器的USB闪存编程

    电子发烧友网站提供《C2000™微控制器的USB闪存编程.pdf》资料免费下载
    发表于 09-26 11:30 0次下载
    C2000™<b class='flag-5'>微控制器</b>的USB闪存<b class='flag-5'>编程</b>

    什么是微控制器/它的关键组成部分有哪些?

    微控制器
    芯广场
    发布于 :2024年09月18日 15:02:33

    C2000™微控制器的串行闪存编程

    电子发烧友网站提供《C2000™微控制器的串行闪存编程.pdf》资料免费下载
    发表于 09-03 10:15 0次下载
    C2000™<b class='flag-5'>微控制器</b>的串行闪存<b class='flag-5'>编程</b>

    微控制器内部的存储有哪些

    微控制器(MCU)内部的存储微控制器系统的重要组成部分,它负责存储程序代码、数据以及控制逻辑等信息。这些存储类型多样,各具特点,共同支
    的头像 发表于 08-22 10:41 1009次阅读

    微控制器的结构和应用

    微控制器(Microcontroller Unit,简称MCU)作为嵌入式系统的核心部件,其原理和应用在现代科技发展中占据了举足轻重的地位。本文将从微控制器的原理、基本结构、工作原理、性能特点以及广泛的应用领域等方面进行详细阐述,旨在全面介绍
    的头像 发表于 08-22 10:40 1691次阅读

    微控制器与运动控制器的区别

    随着现代工业技术的快速发展,控制技术在各种机械设备中扮演着越来越重要的角色。微控制器和运动控制器作为两种常见的控制设备,在各自的领域发挥着重要作用。然而,两者在功能、应用、特点等方面存
    的头像 发表于 06-13 14:52 811次阅读

    微控制器是否能替代PLC

    在工业自动化和控制系统领域,微控制器(MCU)和可编程逻辑控制器(PLC)都是不可或缺的核心设备。它们各自具有独特的功能和优势,并在不同的应用场景中发挥着重要作用。然而,关于
    的头像 发表于 06-13 14:52 837次阅读

    编程逻辑控制器微控制器的区别

    在电子技术和工业自动化领域中,可编程逻辑控制器(PLC)和微控制器(MCU)是两种常用的控制设备。尽管它们都扮演着在系统中接收指令并控制其他
    的头像 发表于 06-03 14:52 1187次阅读

    微控制器的定义和工作原理

    微控制器,作为现代电子技术中的核心部件,其发展历程与电子技术的进步息息相关。自20世纪70年代中期诞生以来,微控制器凭借其高度集成化、低成本、高性能等优势,已广泛应用于电机控制、条码阅读
    的头像 发表于 05-24 17:17 2149次阅读

    嵌入式微控制器的自动代码生成

    然而,在工作中,电气工程师经常被分配对嵌入式微控制器进行编程的任务,这是有充分理由的:他们在如何控制电力电子电路方面拥有经验,并且了解整个系统的要求。此外,他们对微控制器的片上外设(例
    发表于 05-03 17:33 553次阅读
    嵌入式<b class='flag-5'>微控制器</b>的自动代码生成

    新唐科技宣布推出基于微控制器的终端AI平台,加速AI应用普及

    新唐科技宣布推出基于微控制器的终端AI平台,使AI生态系扩展至微控制器领域。
    的头像 发表于 04-23 09:58 850次阅读