1.微控制器、CPU和个人计算机之间的区别和联系
这部分内容比较基础,但是很多朋友刚接触单片机时可能对以下问题不是很清楚。
1 什么是CPU?
CPU的中文名称是“中央处理器”,典型代表是Intel 8086处理器。 现在的Pentium X处理器都是8086的直系后代。处理器,顾名思义,它的功能就是处理数据。 中央处理器是在数据处理中起核心作用的处理器。 听起来很复杂,但实际上核心是ALU“算术逻辑单元”。 该单元由一些数字门电路组成,只能完成加、减、乘、除四种算术运算,与、或、非、异或等逻辑运算,以及移位、比较、求和等运算。传输。 CPU内部包含一个ALU。 此外,CPU还具有时钟电路。 CPU工作的基本原理是:时钟电路产生计数脉冲。 该脉冲控制累加器。 即每产生一个时钟脉冲,累加器就加1,这个累加值以十六进制数的形式,通过地址总线唯一地选通程序存储器(CPU外部)中的一个存储单元。 该单元将内部存储的程序命令代码通过数据总线发送到ALU。 ALU 根据代码的不同而执行不同的操作。 运算,比如将某个寄存器值与某个值相加等,然后将计算结果输出到IO口或者各总线上。
简而言之,CPU的工作就是将程序中的命令代码翻译成不同的任务,然后执行它们并输出执行结果。 CPU在所有数字计算机中起着核心作用,即计算机都有CPU。
2 什么是个人电脑?
由于CPU只具有计算功能,其计算结果需要通过显示器和扬声器输出,而其工作的基础即程序命令则依赖于硬盘存储。 执行任务时动态访问的数据必须存储在内存中,人们可以通过键盘控制程序命令的执行。 所有这些CPU外设的组合称为“个人计算机”。
3 什么是微控制器?
个人计算机功能强大且计算速度快,使其成为理想的计算机。 但当我们需要使用小型设备来控制微波炉的定时开关时,个人计算机就变得笨重且昂贵。 于是,人们设计了一种浓缩计算机,大的有几平方厘米,小的比一粒米还小。 它们被称为“单片机”——单片机。 CPU是一个芯片,单片机也是一个芯片。 他们看起来很相似。 它们之间有什么区别? 答案是:单片机除了集成CPU外,还集成了程序存储ROM(可以理解为硬盘)、数据存储RAM(可以理解为存储器)、输入输出接口(可以可以理解为显示器和键盘插座)。 该单片机还集成了电机驱动电路、视频解码电路、AD转换器、无线传输电路等,使得该单片机的功能非常强大。 微控制器的特点是可以利用单片机和简单的外部电路来实现复杂的控制操作,因此非常适合机器人控制。 事实上,大多数机器人中都有微控制器的踪迹。 简单和中等复杂的机器人可以直接由微控制器控制,而高度复杂的机器人则使用“个人计算机”或“超级计算机”来命令许多微控制器来完成机器人控制。
4 学习单片机的捷径是什么?
所谓捷径,就是少走弯路。 刚开始学习单片机的时候走了很多弯路。 我的很多朋友都有和我类似的经历。 当我刚开始学习单片机时,面对琳琅满目的书籍和教材,我不知道该选择哪一本。 当我想练习的时候,我不知道去哪里买单片机。 我不知道怎么办。 编程下载程序…
A 对于初学者来说,仔细阅读本文是学习单片机的捷径之一。
B 到图书馆或书店,从几十本你能看懂、觉得案例有趣的单片机书籍中选择一本,一本“真实、生动、活泼”的单片机书籍作为你的入门读物。
C 建议从 51 微控制器开始。 掌握了51后,学习AVR,然后学习ARM、DSP等。
D 学习过程中实践是非常必要的。 你需要一台电脑。 如果是台式电脑,十几块钱就可以买一根25针并口下载线。 如果是笔记本电脑,则只能购买几十到几百元的USBISP编程器。
E 使用通用板自己焊接一个最小单片机系统,或者购买开发板。 无需使用昂贵的模拟器。 F、需要上网下载MCU编程软件。 比如51使用Keil编程,AVR使用CVAVR。 在编程软件中编写程序,然后生成HEX文件。 然后上网下载并口烧录程序软件或USBISP烧录程序软件。 使用刻录程序软件。 加载HEX文件,然后将编程线连接到您的微控制器电路板,将程序烧录到微控制器中。
G 拔掉编程电缆,然后打开单片机板的电源。 可以看到单片机系统正在运行。
H如果系统无法正常运行,首先检查电路是否连接错误,然后检查程序是否烧录错误。 如果以上都没有问题,请检查程序是否烧写错误。 有时系统运行不正常并不意味着出了问题,而是某些参数设置不当。 你需要不断地运行,修改程序,调试参数,然后一次又一次地运行,直到对系统运行感到满意为止。 有时这是一项非常艰苦的重复性工作,需要进行数百次或数千次调整。 你无法逃避,只能坚定信念,勇敢前行。
在淘宝上买东西更方便、更便宜。
2. 在微控制器诞生之前,人们用什么来控制机器人?
1 台模拟计算机
在数字计算机诞生之前,人们利用电子管、电容器、电感器和电阻器来构建模拟计算机,可以完成许多简单的计算和控制任务。 所谓模拟计算机,是指其计算时使用的信号不是1、0的数字信号,而是连续电压变换的模拟信号,类似于自动控制原理中各种控制器所使用的运算。 不要低估模拟计算机。 20世纪80年代中东战争期间,阿拉伯国家使用的苏制全自动自行高炮,利用模拟计算机计算飞机弹道,控制火炮射击目标。
2 由齿轮和凸轮组成的控制器
在模拟计算机诞生之前,即蒸汽机时代,一些机械天才只是用数百个齿轮和凸轮建造了机械计算机。 人们转动着各种印有数字的齿轮,其他齿轮则显示出计算结果。 机械计算机曾经是人类历史上的高科技产品。 二战期间,德国著名的密码机是机电混合计算机。 这是当时最保密的通讯工具。
3 控制器由发条、秒表和继电器组成
在电气时代初期,人们利用钟表的机械转动来分时某些继电器的通断,来控制一些机床和生产线的运行。 该装置类似于早期洗衣机中的定时器。
3、AT89S51系列单片机是入门首选。
1 简介
1980年,Intel开发出简单的8031 CPU。 当时CPU的性能并不比8086差多少,但价格更便宜,因此被很多低端应用选择。 由于市场前景看好,ATMEL购买了8031内核,并将Flash存储器和增强型IO端口集成到其中,开发了AT89系列单片机。 所有兼容8031指令且具有相似内核的单片机统称为51单片机。 是目前应用最广泛的8位微控制器之一。 由于51单片机结构简单,指令易学,应用广泛,是初学者的首选。 如果有人想直接学习AVR而不学习51,那么这个人肯定会遇到很多困难,并且在学习过程中会伴随着困惑和沮丧。 如果学了51再学AVR等单片机,人们就会发现“所谓的单片机也不过如此”。
2 性能
根据任务的具体需求选择最合适的微控制器,充分利用微控制器资源,最大化系统性价比,并考虑到未来的扩展需求。 这就是选择单片机的原则,不要盲目追求高性能单片机。
AT89S51具有4K Flash程序存储器、128字节RAM和32个IO端口。 中断系统有6个中断源、5个终端向量、2个中断优先级中断结构; 串口为全双工串行通信口; AT89S51的电源电压为4.0-5.5V,AT89LS51的电源电压为2.7-4.0V; 振荡器频率为0-33MHz(AT89S51)、0-16MHz(AT89LS51); 有ISP在线编程功能,该功能的优点是重写单片机存储器中的程序不需要芯片脱离工作环境。 这是一个强大且易于使用的功能。
AT89S52的程序存储器容量为8KB,AT89S55的ROM容量更大。
有很多公司生产了很多扩展的51系列单片机,有的带AD转换器,有的带比较器,有的带PWM。 读者可以根据自己的需要选择合适的51单片机,但要注意其管理引脚定义和编程方法。
3 使用方法
AT89S51适合用作单片机学习板、电子钟、超声波测距仪等不需要模拟量采集和大功率外部元件控制的电路。 S51与过去的C51的区别在于,S51支持ISP在线编程,即C51需要一个价值数百元的编程器才能编程,而S51只需要一根25针并口电缆和一个非常简单的转换电路即可连接用于刻录程序的台式计算机打印机接口。 、下载烧录程序小软件对S51单片机进行编程。 Keil软件一般用于对51单片机进行编程,可以使用C语言或汇编语言。 编程完成后,选择输出HEX文件,然后使用烧录程序小软件读取HEX文件,然后烧录到单片机中。 4 实践经验
A刚开始看书时,按照书上的电路图连接,然后通电调试,但总是失败。 他仔细地将自己的电路与书上的电路进行了比较,并没有发现任何问题。 原因是很多书中的电路图都是“简化图”,即省略了一些电路,而这些省略的电路与系统的运行有关。 例如,单片机书籍在讲AD转换电路时,给出的电路图大多省略了晶振和复位电路。 基于AD转换电路图搭建的系统自然无法运行。
B51单片机P0口输出信号时需要上拉电阻。 我经常忘记加电阻,导致电路不能正常工作。
C51单片机的31脚需要接正极来选择内部程序存储器。 如果您忘记为该引脚提供正确的电压,您的微控制器可能无法执行程序。
4 应用实例
四位爱好者选择AVR系列微控制器制作机器人
1 简介
AVR单片机是ATMEL于1997年开发的增强型RISC(ReducedInstructionSetCPU)精简指令集内置Flash的高速8位单片机。高可靠性、强功能、高速度、低功耗、低价格一直很重要衡量单片机性能的指标,AVR单片机是典型的高性能单片机。
早期的单片机,如51单片机,为了提高可靠性(防止数据误读或失控),采用较高的分频系数对时钟进行分频,导致指令周期长、执行速度慢。 例如51单片机需要12个晶振周期才能形成1个机器周期,很多指令需要2个机器周期才能执行。 AVR单片机的推出彻底打破了这种旧的设计模式,废除了机器周期,采用了精简的指令集。 取指周期短,可以预取指令,实现流水线操作,从而可以高速执行指令。 AVR微控制器可以在12个晶振周期内执行12条指令。 从这个角度来看,如果晶振频率相同,AVR速度是51的12到24倍。
AVR 有 32 个通用寄存器。 在进行大量复杂运算时,AVR的32个寄存器可相当于51系列的32个累加器,克服了51系列单片机只有单个累加器造成的数据处理瓶颈现象,提高了复杂操作中的速度。 比51快5倍以上。由此可见51相比AVR有多慢,AVR有多快。 AVR系列单片机集成了多个AD转换器、电压比较器、ISP、I2C、JTAG总线电路、UART串口、大功率IO口、看门狗等实用电路,并且很多AVR单片机型号包括EEPROM、FLASH、SRAM三种类型存储器可以实时修改程序存储器的内容,即AVR单片机可以修改自己的程序。 同时,AVR一般可以工作在很宽的电压范围(2.7~6.0V),有的甚至可以工作在1.8V。 上述性能只是AVR众多特性的一部分,但已经是51系列单片机所望尘莫及的了。
这么高性能的单片机价格其实和51单片机差不多。 例如ATmega8的价格约为8元,ATmega16的价格约为13元。 这就是AVR极高性价比的真实写照。
2 性能
AVR家族正在蓬勃发展,包括ATinyAVR(微型)、低功耗型、ATmegaAVR、高、中、低端5类微控制器。 它们都基于相同的核心技术,但内部集成的电路数量不同。 无论您想做电子手表还是视频处理,都有合适的AVR单片机可以满足您的需求。
本文仅列出ATmega16中端单片机的性能:
16KB FLASH程序存储器; 512B EEPROM; 1KB静态存储器; 32个快速寄存器; 32个大功率IO口; 20个中断; 2个外部中断端口; SPI、SUART、I2C总线接口; 2个8位定时16位定时器; 3个PWM通道; 实时时钟RTC; 8个10位AD通道; 电压比较器; 看门狗; 内置时钟振荡器; JTAG接口; ISP在线编程; 电压范围2.7V-5.5V; 外部时钟晶振0-16MHz; 提供 PID 和各种 SMD 封装。
AVR的IO口可以输出20mA,吸收40mA电流。 不仅可以直接驱动LED,还可以直接驱动微型直流减速电机。 此外,AVR的IO端口可以编程为输入、输出和高阻抗状态,使其成为真正的三态IO端口。 与51相比,使用AVR开发产品时您会发现前所未有的方便和自由。
AVR单片机可以运行UCOS2、Linux等操作系统,也很容易独立编程实现操作系统功能。
根据任务的具体需求选择最合适的微控制器,充分利用微控制器资源,最大化系统性价比,并考虑到未来的扩展需求。 不要盲目选择高性能单片机。 这就是选择单片机的原则。
利用ARM+操作系统制作超声波测距仪——杀鸡用牛刀。 使用 AVR 中档微控制器进行机器视觉有点让人不知所措。 如果你把它们调换一下,一切都会好起来的。
3 使用方法
学习AVR单片机的一本好书是《AVR单片机嵌入式系统原理与应用实践》,封面如下图所示。
AVR一般使用CVAVR编程软件进行编程,但也可以使用GUNGCCAVR和AVRStudio软件进行编程。 可以用汇编语言或C语言进行编程。 烧录程序前,先输出HEX文件,然后用SLISP(双龙ISP)软件加载,然后通过ISP编程线或25针并口连接线烧录到AVR单片机中,支持在线编程。 由于AVR单片机的最小系统很简单,就是电源+晶振(可选)+LED+ISP接口(上电运行,断电停止,不需要复位电路) ),因此任何初学者都可以使用面包板来构建最小的 AVR 系统。 ,以及编程实践。
4 实践经验
使用AVR单片机时,注意正确设置熔丝位,可以通过SLISP软件进行设置。 熔丝位可以决定单片机是使用外部晶振还是内部时钟振荡器。 如果熔丝位设置为使用外部晶振,并且电路中没有连接晶振,则AVR程序无法运行。 许多初学者忽略了这一点,无法找到他们的AVR系统不工作的原因。 另外,AVR的IO口在使用前需要编程设置其状态,否则你会发现程序在运行但IO口没有信号。
五个先进的机器人控制器 ARM
1 简介
ARM 是一家公司的名称。 他们设计了许多基于同一核心的高性能处理器。 这些处理器称为 ARM。 这项技术被许多公司购买,生产出集成了许多功能电路的ARM芯片,使ARM成为高性能的微控制器。 ARM一般是32位微控制器,适合处理大量复杂数据。 许多ARM配备了UCOS2、WindowsCE和Linux操作系统,可以同时运行多个程序。 ARM广泛应用于手机、MP3播放器、GPS导航仪、吸尘器机器人等产品。
六路音视频处理首选DSP
DSP(数字信号处理,简称DSP)是一种独特的微处理器,利用数字信号来处理大量信息。 其工作原理是接收模拟信号,将其转换为0或1的数字信号,然后对数字信号进行修改、删除、增强,并在其他系统芯片中将数字数据解释回模拟数据或实际环境格式。 它不仅具有可编程性,而且其实时运行速度可达每秒数千万个复杂指令程序,远远超过通用微处理器。 它是数字电子世界中日益重要的计算机芯片。 其强大的数据处理能力和高运行速度是其最值得称道的两个特点。
DSP广泛应用于高速汽车巡线、语音识别等领域。 但如果只用DSP来检测几个碰撞开关、控制几个电机,那就大材小用了。
七大新兴控制器FPGA
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产品。 它作为专用集成电路(ASIC)领域的半定制电路而出现。 系统设计人员可以根据需要通过可编辑的连接来连接 FPGA 内部的逻辑块,就像将电路面包板放入芯片中一样。 简单来说,如果用户想开发一款可以用简单的数字逻辑电路控制的汽车,但又觉得搭建电路麻烦,可以用软件对FPGA进行编程,使其能够实现数字电路控制汽车的功能。 即FPGA可以用来模拟各种电路。 有些 FPGA 甚至可以模拟 51 微控制器的操作。 由于FPGA可以通过编程修改其模拟的电路结构,因此在系统实验和调试中非常方便。 许多爱好者尝试使用FPGA作为机器人控制器。