Answers:
通常在台式机或笔记本电脑中找到,它包含一个CPU和一个外部存储器接口以及各种I / O总线以连接到SPI,I2C,UART,USB,LCD等外部环境。微处理器还将具有一个外部晶体来提供时钟。
大多数微处理器在芯片上没有只读存储器。而是在主板上有一个外部芯片,用于放置初始启动代码。在基于Intel的PC上,这称为基本输入/输出系统(BIOS),除了初始启动代码之外,还包含I / O例程。引导代码通过执行开机自检(POST)开始,然后查看从硬盘驱动器,CD(或以前的软盘)加载引导代码下一阶段的位置。然后,此第二级引导将加载操作系统。(在某些系统中,甚至可能有三个级别的启动代码。)
一些微处理器(通常是针对智能手机和平板电脑的,具有有限的启动选项)具有少量包含初始启动代码的只读存储器。
我将引导代码称为只读;实际上在某些系统上,可以对其进行更新。但是,这是相当冒险的。如果出现问题,系统可能不再启动。
与微控制器不同,微控制器从只读存储器中执行程序,而在启动后,微处理器将其程序加载到外部RAM中并从那里执行。
另一方面是一个独立的单芯片IC,它包含CPU,用于存储程序的只读存储器,用于存储程序执行中使用的变量的RAM以及用于连接外部环境的各种I / O总线,例如如SPI,I2C,UART等。它本身不能执行任何程序,除非通过PC的外部接口对其进行编程。微控制器可能还需要外部晶体来提供时钟,但是有些具有内部时钟。
某些微控制器(例如Microchip的PIC32)具有两部分闪存。一个用于保存初始化(引导)代码,另一个用于存储应用程序。这样可以更轻松地就地更新应用程序代码。
为了您的目的,您将要使用微控制器,而不是微处理器。要使用微控制器,您要么必须设计自己的电路板,要么购买某种开发板。
这种板包含一个微控制器,一个典型的8位AVR,例如ATmega8,ATmega168,ATmega328,ATmega1280和ATmega2560,以及电源,晶体和母头,可与各种外围板接口。
这些外围板称为屏蔽板,并且设计为彼此堆叠(板的底部有公引脚可连接到Arduino本身或另一个屏蔽板,顶部的母头可容纳以下接口的公头)叠在上面的盾牌)。
屏蔽示例包括电动机控制板,通用I / O板,中继板,以太网板和LCD(通常带有触摸屏)。但是,我不知道有什么电阻式触摸屏仅用于检测(没有LCD)。
除了上述硬件之外,Arduino还附带了用Java编写的跨平台集成开发环境(IDE)。它旨在向艺术家和其他初学者介绍编程,就像50年前的BASIC语言一样。Arduino的程序称为草图。
Arduino程序是用C或C ++编写的,但是许多细节对用户来说是隐藏的:只需定义两个功能(由系统调用)即可创建一个连续循环的程序(通常用于嵌入式程序)
setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off
IDE带有一个称为“接线”的软件库,可用于常见的输入/输出操作。
Arduino是包含Atmel AVR微控制器的PCB,通常以标准模式提供一组连接器。微控制器通常使用“引导加载程序”程序进行预编程,该程序允许通过PC上的TTY串行连接(或USB虚拟连接)将程序(称为“草图”)加载到微控制器中。
微处理器是仅包含中央处理器(CPU)的IC。该IC不包含RAM,ROM或其他外围设备。该IC可能包含高速缓冲存储器,但没有任何外部存储器就无法使用。
微处理器无法在内部存储程序,因此通常在开机时会加载软件,这通常涉及复杂的多阶段“启动”过程,其中“固件”是从外部ROM加载的,最终是从其他存储介质(例如硬盘)加载的操作系统)。
它通常在个人计算机中找到。
微控制器是一种IC,其中包含CPU以及一定数量的RAM,ROM和其他外围设备。微控制器可以在没有外部存储器或存储的情况下运行。
通常,微控制器可以在焊接到PCB之前进行编程,也可以使用系统内编程(ISP或ICSP)连接器通过连接到个人计算机的特殊“编程器”进行编程。
典型的微控制器比典型的微处理器更简单,更慢,但是我相信区别主要是规模和应用之一。
例如,可以在简单的电器中找到它,例如基本洗衣机。
Arduino是基于微控制器的平台(UNO使用ATMEGA 328)。通常,微控制器比微处理器更适合于需要感测输入的任何事物。这是因为像ATMEGA 328这样的微控制器具有模数转换器(ADC)以感测电压,并且还具有PWM输出以及数字I / O。
使用Arduino,您还可以使用Arduino Dev系统,该系统对于新手来说更容易编程,并且拥有一个很好的社区以提供支持和库。
电阻式触摸屏的行为类似于电位计;一个代表x,另一个代表y。因此,您可以将它们放入Arduino模拟输入中。有关详细信息,请参见此处。
另一种选择是转换为SPI或I2C的东西像这样,与Arduino的阅读。
无论哪种方式,我都认为Arduino是一个不错的选择。
Arduino由一个微控制器(UNO版本的ATmega328)组成。因此,Arduino是一块PCB,PCB板上的微控制器的针脚相互分开,电源,晶体和FTDI用于通过板载固件进行USB连接,因此您可以轻松地用自己的IDE对其进行编程。以下是有关arduino组件的列表:http : //learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq