描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787030373144
编辑推荐
单片微型计算机
内容简介
作为开放性的互动软硬件开发平台,Arduino现已拥有了不少忠实的爱好者。以Arduino搭配各种传感器和外围设备,初学者便可以用较低的成本在较短的时间内开发自己想要的作品。就算非电子、机电专业出身,也能很快体验互动电子设计、制作的乐趣!
《Arduino一试就上手(第二版)》分为三大部分,共15章,较详细地介绍了如何从一个Arduino初级“小白”成长为互动“牛人”。《Arduino一试就上手(第二版)》提供了许多制作实例,涉及LCD、电机(舵机)、红外线、超声波、无线通信,以及*热门的WiFi、GPS、自走车、Flash等。
《Arduino一试就上手(第二版)》分为三大部分,共15章,较详细地介绍了如何从一个Arduino初级“小白”成长为互动“牛人”。《Arduino一试就上手(第二版)》提供了许多制作实例,涉及LCD、电机(舵机)、红外线、超声波、无线通信,以及*热门的WiFi、GPS、自走车、Flash等。
目 录
目录
第1篇 进人Arduino的世界
第1章 初探Arduino 3
1.1 物理运算平台 3
1.2 话说从头——从核心谈起 5
1.3 Arduino溯源 6
1.4 Arduino硬件种类介绍 7
1.4.1 UNO 7
1.4.2 Nano 7
1.4.3 MEGA 8
1.4.4 LilyPad 8
1.5 专属版的Arduino 9
1.5.1 Seeeduino 9
1.5.2 Roboduino 10
1.5.3 Funnel IO 10
1.5.4 Boarduino 10
1.5.5 Polulu 3pi Robot 11
1.6 Arduino的好处 11
1.7 Arduino的应用 12
1.7.1 数字艺术 12
1.7.2 科技Arduino 14
1.7.3 通信网络Arduino 17
1.8 Arduino UNO 17
1.9 展望 18
第2章 开发环境 21
2.1 程序开发流程 21
2.1.1 编辑 22
2.1.2 编译 22
2.1.3 链接 22
2.1.4 执行 23
2.2 开发环境下载 26
2.3 开发环境功能介绍 29
2.4 内建程序范例与程序架构 31
2.4.1 setup范例 32
2.4.2 loop范例 32
2.5 程序语法 34
2.5.1 数据类型 34
2.5.2 逻辑运算符 34
2.5.3 循环与选择性语句 36
2.5.4 选择性语句 36
2.5.5 时间函数 40
2.6 Arduino 1.0 42
第3章 必要的基本电路知识 43
3.1 电的基本认识 43
3.2 基本工具 44
3.2.1 面包板的艺术 44
3.2.2 线材 45
3.2.3 VWX 46
3.3 电子零件 48
3.3.1 电阻 48
3.3.2 电容 52
3.3.3 二极管 55
3.3.4 LED 55
3.3.5 晶体管 56
3.4 Arduino硬件介绍 57
3.4.1 Arduino基本电路 58
3.4.2 ATMEGA系列单片机 60
3.5 Arduino扩展板介绍 62
3.6 Fritzing 63
第2篇 开始来玩Arduino
第4章 模拟信号的世界 67
4.1 模拟信号简介 67
4.2 AD转换 68
模拟信号转换 68
4.3 电路中的信号转换 70
4.3.1 分辨率 70
4.3.2 转换时间 71
4.3.3 参考电压 72
4.3.4 误差 72
4.4 Arduino世界中的AD 72
4.5 测量可变电阻 74
4.6 测量光敏电阻 80
4.7 压力检测 83
4.8 位置检测 84
第5章 数字信号的世界 87
5.1 数字信号的表示方式 87
5.2 LED闪烁 87
5.3 用按钮控制LED 91
5.4 霹雳灯 92
5.5 指拨开关控制 95
5.6 LED模块 98
5.7 外部控制LED显示 104
5.87 段显系器 111
5.9 PWM 115
5.10 用按钮改变PWM信号 116
5.11 蜂鸣器 118
5.12 心形LED闪烁 122
5.13 数字输出扩展 126
第6章 通信协议 131
6.1 硬件介绍 131
6.2 通信协议介绍 132
6.2.1 同步通信与异步通信 132
6.2.2 全双工和半双工 132
6.3 RS-232基本介绍 133
6.4 RS-232通信协议 137
6.5 Arduino与串行端口通信 140
6.6 HelloRS-232 142
6.7 输出数据 143
6.8 输入数据 146
6.9 输出控制 150
第7章 Arduino与LCD 155
7.1 LCD简介 155
7.2 液晶显示模块 156
7.3 Arduino函数库 158
7.4 启动LCD 159
7.5 LCD显示 161
7.6 LCD换行控制 162
7.7 LCD跑马灯 164
7.8 显示输入数据 166
第8章 Arduino与控制电机 169
8.1 直流电机 170
8.2 控制直流电机 173
8.3 步进电机 180
8.4 控制步进电机 183
8.5 控制舵机 189
8.62 轴控制机构 199
8.7 光线自动追踪系统 205
第9章 Arduino与红外线、超声波 209
9.1 超声波测距 209
9.2 红外线测距 215
9.3 用于循迹的红外线反射式模块 222
9.4 红外线人体感应 225
第10章 Arduino与无线通信 229
10.1 无线通信的挑战 229
10.2 无线通信网络架构 231
10.2.11 对多通信 232
10.2.2 多对多通信 233
10.2.3 混合式架构 234
10.3 常见的无线通信协议 235
10.3.1 短距离 238
10.3.2 RF模块 238
10.3.3 红外线 239
10.3.4 蓝牙 239
10.3.5 ZigBee 239
10.3.6 超宽带 241
10.3.7 长距离WiFi 241
10.3.8 移动通信 241
10.4315 MHzRF模块 245
10.527 MHzRF模块 251
10.6 RFID 254
第3篇 进阶实作Arduino
第11章 Arduino+Wii 263
11.1 Wii基本介绍 263
11.2 Wii Remote的操作原理 264
手柄按钮介绍 265
11.3 Sensor Bar介绍 267
11.4 Wii Remote内部传感器 269
11.4.1 加速度计 270
11.4.2 陀螺仪 272
11.4.3 ADXL335 273
11.4.4 IDG-650 275
11.5 Processing 277
11.6 Arduino结合Nunchuck 282
11.7 Nunchuck和Processing 292
第12章 Arduino+GPS 299
12.1 GPS简介 299
12.1.1 GPS卫星简介 299
12.1.2 GPS系统组成 300
12.1.3 GPS误差来源 301
12.2 GPS修正技术 303
12.2.1 DGPS 303
12.2.2 AGPS 304
12.3 GPS其他技术 306
12.3.1 GLONASS 306
12.3.2 Beidou 307
12.3.3 Galileo 307
12.4 GPS模块介绍 308
12.5 GPS输出信息 311
12.6 使用EM-408 314
12.7 GPS使用设定 316
GPS通信端口设定 317
12.8 接收NMEA信息 320
第13章 Arduino+自走车 335
13.1 自走车行走方式 337
13.2 室内定位 339
13.2.1 到达时间 339
13.2.2 到达时间差 340
13.2.3 到达角 341
13.2.4 接收信号强度 341
13.3 自走车驱动方式 342
13.3.1 前轮驱动和后轮驱动 343
13.3.2 差动驱动 344
13.4 电脑鼠 345
13.4.1 迷宫算法 346
13.4.2 沿壁算法 346
13.4.3 深度优先算法 346
13.4.4 向心搜寻算法 347
13.4.5 洪水填充算法 348
13.4.6 A*算法 349
13.5 自走车方位判定——电子罗盘 350
13.6 车轮转动角度测量 362
13.7 制作自走车 367
第14章 Arduino+Flash 377
14.1 基本介绍 377
14.2 Arduino+Flash开发 378
第15章 无线感测网络 385
15.1 XBee规格 389
15.2 X-CTU 390
15.3 XBee S1的参数设定 392
15.3.1 命令模式设定 394
15.3.2 参数模式设定 396
15.4 XBee S2的参数设定 397
15.5 XBee数据传输 398
15.5.1 1对1 398
15.5.2 1对多 402
15.6 API模式(1对2通信架构) 403
15.7 Broadcast 404
15.8 XBee模拟信号读取 407
附录A 数值计算
A.1 十进制 411
A.2 二进制 412
A.3 十六进制 413
A.4 辨认数值的方式 413
A.5 计算器 414
附录B 检查码 417
B.1 循环冗余检查码 417
B.2 Checksum 419
附录C ASCII码 421
第1篇 进人Arduino的世界
第1章 初探Arduino 3
1.1 物理运算平台 3
1.2 话说从头——从核心谈起 5
1.3 Arduino溯源 6
1.4 Arduino硬件种类介绍 7
1.4.1 UNO 7
1.4.2 Nano 7
1.4.3 MEGA 8
1.4.4 LilyPad 8
1.5 专属版的Arduino 9
1.5.1 Seeeduino 9
1.5.2 Roboduino 10
1.5.3 Funnel IO 10
1.5.4 Boarduino 10
1.5.5 Polulu 3pi Robot 11
1.6 Arduino的好处 11
1.7 Arduino的应用 12
1.7.1 数字艺术 12
1.7.2 科技Arduino 14
1.7.3 通信网络Arduino 17
1.8 Arduino UNO 17
1.9 展望 18
第2章 开发环境 21
2.1 程序开发流程 21
2.1.1 编辑 22
2.1.2 编译 22
2.1.3 链接 22
2.1.4 执行 23
2.2 开发环境下载 26
2.3 开发环境功能介绍 29
2.4 内建程序范例与程序架构 31
2.4.1 setup范例 32
2.4.2 loop范例 32
2.5 程序语法 34
2.5.1 数据类型 34
2.5.2 逻辑运算符 34
2.5.3 循环与选择性语句 36
2.5.4 选择性语句 36
2.5.5 时间函数 40
2.6 Arduino 1.0 42
第3章 必要的基本电路知识 43
3.1 电的基本认识 43
3.2 基本工具 44
3.2.1 面包板的艺术 44
3.2.2 线材 45
3.2.3 VWX 46
3.3 电子零件 48
3.3.1 电阻 48
3.3.2 电容 52
3.3.3 二极管 55
3.3.4 LED 55
3.3.5 晶体管 56
3.4 Arduino硬件介绍 57
3.4.1 Arduino基本电路 58
3.4.2 ATMEGA系列单片机 60
3.5 Arduino扩展板介绍 62
3.6 Fritzing 63
第2篇 开始来玩Arduino
第4章 模拟信号的世界 67
4.1 模拟信号简介 67
4.2 AD转换 68
模拟信号转换 68
4.3 电路中的信号转换 70
4.3.1 分辨率 70
4.3.2 转换时间 71
4.3.3 参考电压 72
4.3.4 误差 72
4.4 Arduino世界中的AD 72
4.5 测量可变电阻 74
4.6 测量光敏电阻 80
4.7 压力检测 83
4.8 位置检测 84
第5章 数字信号的世界 87
5.1 数字信号的表示方式 87
5.2 LED闪烁 87
5.3 用按钮控制LED 91
5.4 霹雳灯 92
5.5 指拨开关控制 95
5.6 LED模块 98
5.7 外部控制LED显示 104
5.87 段显系器 111
5.9 PWM 115
5.10 用按钮改变PWM信号 116
5.11 蜂鸣器 118
5.12 心形LED闪烁 122
5.13 数字输出扩展 126
第6章 通信协议 131
6.1 硬件介绍 131
6.2 通信协议介绍 132
6.2.1 同步通信与异步通信 132
6.2.2 全双工和半双工 132
6.3 RS-232基本介绍 133
6.4 RS-232通信协议 137
6.5 Arduino与串行端口通信 140
6.6 HelloRS-232 142
6.7 输出数据 143
6.8 输入数据 146
6.9 输出控制 150
第7章 Arduino与LCD 155
7.1 LCD简介 155
7.2 液晶显示模块 156
7.3 Arduino函数库 158
7.4 启动LCD 159
7.5 LCD显示 161
7.6 LCD换行控制 162
7.7 LCD跑马灯 164
7.8 显示输入数据 166
第8章 Arduino与控制电机 169
8.1 直流电机 170
8.2 控制直流电机 173
8.3 步进电机 180
8.4 控制步进电机 183
8.5 控制舵机 189
8.62 轴控制机构 199
8.7 光线自动追踪系统 205
第9章 Arduino与红外线、超声波 209
9.1 超声波测距 209
9.2 红外线测距 215
9.3 用于循迹的红外线反射式模块 222
9.4 红外线人体感应 225
第10章 Arduino与无线通信 229
10.1 无线通信的挑战 229
10.2 无线通信网络架构 231
10.2.11 对多通信 232
10.2.2 多对多通信 233
10.2.3 混合式架构 234
10.3 常见的无线通信协议 235
10.3.1 短距离 238
10.3.2 RF模块 238
10.3.3 红外线 239
10.3.4 蓝牙 239
10.3.5 ZigBee 239
10.3.6 超宽带 241
10.3.7 长距离WiFi 241
10.3.8 移动通信 241
10.4315 MHzRF模块 245
10.527 MHzRF模块 251
10.6 RFID 254
第3篇 进阶实作Arduino
第11章 Arduino+Wii 263
11.1 Wii基本介绍 263
11.2 Wii Remote的操作原理 264
手柄按钮介绍 265
11.3 Sensor Bar介绍 267
11.4 Wii Remote内部传感器 269
11.4.1 加速度计 270
11.4.2 陀螺仪 272
11.4.3 ADXL335 273
11.4.4 IDG-650 275
11.5 Processing 277
11.6 Arduino结合Nunchuck 282
11.7 Nunchuck和Processing 292
第12章 Arduino+GPS 299
12.1 GPS简介 299
12.1.1 GPS卫星简介 299
12.1.2 GPS系统组成 300
12.1.3 GPS误差来源 301
12.2 GPS修正技术 303
12.2.1 DGPS 303
12.2.2 AGPS 304
12.3 GPS其他技术 306
12.3.1 GLONASS 306
12.3.2 Beidou 307
12.3.3 Galileo 307
12.4 GPS模块介绍 308
12.5 GPS输出信息 311
12.6 使用EM-408 314
12.7 GPS使用设定 316
GPS通信端口设定 317
12.8 接收NMEA信息 320
第13章 Arduino+自走车 335
13.1 自走车行走方式 337
13.2 室内定位 339
13.2.1 到达时间 339
13.2.2 到达时间差 340
13.2.3 到达角 341
13.2.4 接收信号强度 341
13.3 自走车驱动方式 342
13.3.1 前轮驱动和后轮驱动 343
13.3.2 差动驱动 344
13.4 电脑鼠 345
13.4.1 迷宫算法 346
13.4.2 沿壁算法 346
13.4.3 深度优先算法 346
13.4.4 向心搜寻算法 347
13.4.5 洪水填充算法 348
13.4.6 A*算法 349
13.5 自走车方位判定——电子罗盘 350
13.6 车轮转动角度测量 362
13.7 制作自走车 367
第14章 Arduino+Flash 377
14.1 基本介绍 377
14.2 Arduino+Flash开发 378
第15章 无线感测网络 385
15.1 XBee规格 389
15.2 X-CTU 390
15.3 XBee S1的参数设定 392
15.3.1 命令模式设定 394
15.3.2 参数模式设定 396
15.4 XBee S2的参数设定 397
15.5 XBee数据传输 398
15.5.1 1对1 398
15.5.2 1对多 402
15.6 API模式(1对2通信架构) 403
15.7 Broadcast 404
15.8 XBee模拟信号读取 407
附录A 数值计算
A.1 十进制 411
A.2 二进制 412
A.3 十六进制 413
A.4 辨认数值的方式 413
A.5 计算器 414
附录B 检查码 417
B.1 循环冗余检查码 417
B.2 Checksum 419
附录C ASCII码 421
在线试读
第1篇 进入Arduino的世界
第1章初探Arduino
第2章开发环境
第3章必要的基本电路知识
第1章 初探Arduino
本书将从*简单的电子电路开始,搭配现在很热门的Arduino,带领读者进入一个无限宽广的领域——在这个世界中,只要你想得到、找得到,都可以用头脑思考、双手制作,DIY出有趣的玩意。之后的章节将会介绍许许多多的感测组件以及特殊的模块系统,交互搭配出小体积、模块化的系统,让你可以做出交互式的艺术作品、会追寻路径的自走车等非常有趣的作品!
物理运算平台
物理运算平台?物理不是有关直线运动、加速度等学校中*讨厌的科目吗?为什么会跟运算扯上关系呢?别怕!这是直接从英文翻译过来的:Physical Computing,广义来说这个名词包含了感测外在环境的信息、与使用者沟通的人机接口、能够对应命令产生相应动作的执行器,*重要的是一个处理核心——通常是微处理器。将这些系统元素组合搭配,可以完成一个只需要开启电源便可独立运行的系统,这个系统可以依据外在变化或信号来做某些特定的反应或动作,如图1.1所示。
这样的组成简单、体积小、耗电低,可以搭配许多不同类型的产品来提髙其应用价值。在过去,使用硬件电路及微处理器达成某些专业应用的技术核心或Know-how大多掌握在电机、电子工程师手里,但科技越来越发达的这个年代,此类系统的成本也相对迅速降低,也更容易操作,造就了更多人就算本身非所学,只要愿意踏入这个领域,就可以在短时间内完成一个心仪的小设备。
图1.1 物理运算平台架构
简单来看,整个系统平台可以分3个部分:输入、核心和输出。我们从输入的部分开始谈起。
这里泛指的输入,可能是由使用者依照自身需求,使用某些设备对系统下达指令;或是系统针对特殊功能的需要,对物理量进行测量,如温度、压力、形变等,再将这些物理量转换为电压、电流、电感等变化;甚至对输出端的机械系统进行监控等,这都属于输入的范畴。常见的几种物理量见表1.1。简易传感器分类如图1.2所示。
表1.1 常见的几种物理量
核心部分,就像我们人类的脑袋,它可以感受到耳朵听到的声音、肌肤受到的碰触,也可以控制手臂的摆动、脚步的运动。人类的一切活动不能没有脑的脉冲式~脉冲型增量式编码器编码型**式编码器思考,系统也是一样,需要一个指挥官,而物理运算平台的指挥官就是微处理器,如果系统比较复杂,可以使用工业计算机。更详细的介绍我们在后面会有更多的说明。
图1.2 简易传感器分类
输出端跟输入端一样包罗万象,可以是一个小屏幕、一颗灯泡或一台机械怪兽。设计者希望这个系统以什么样的方式呈现,输出的种类就随之更换,有的讲究功能性,有的需要能吸引目光,就看设计者的创意思考了!
本书将会介绍许许多多的输入/输出设备,给大家提供一个想法、一个人门,*重要的是,只有先学会了工具的使用,才可以把心中的巧思发挥出来。
1.2 话说从头——从核心谈起
本书的核心单元是以微处理器为核心的嵌入式系统。一般来说,其与个人计算机**的区别在于功能的多寡。我们使用计算机的时候,会希望一边通过网络登录社群网站更新**的心情,一边听着热门的音乐专辑,甚至还边打着期末报告边跟朋友用MSN实时讨论。这样同时执行许多不同程序,我们称为多任务。大部分的多任务都有一个操作系统(Operation System,OS)来负责管理、协调每个工作的优先权,以及要读写的数据,确保程序间不会互相冲突,系统也不会因为线程太多而造成延迟的现象。常见系统芯片见表1.2。某些场合会将单片机系统视为比较低阶的应用,采用的芯片多为8位或16位;而嵌入式系统视为高阶场合应用,核心多为系统芯片或32位的处理器。有的则以核心芯片的执行速度来区分,单片机系统的运算速度大约为20MHz,可采用倍频技术提升芯片的处理速度;而32位的芯片,以ARM系列为例,多属数百MHz的效能,因此可以处理较为复杂的任务。
表1.2 常见系统芯片比较
以单片机为主的系统,单位时间内只能处理一件事情,更具体地说是只能执行单行程序代码,所有任务必须依照已排定的优先级来执行,故功能上的安排会较为单纯,一般用于较为简洁的系统或按固定顺序执行的设备。嵌人式系统的核心可能由一个到数个微处理器或控制器组成,内部程序都是预先设计好的,除非做系统的更新改版,否则不做修改。这种程序我们称之为韧体,主要负责软件与硬件之间的沟通。而多种核心整合在一块芯片上的,我们称之为系统芯片(System on Chip,SoC),可以将体积*小化,功能多样化。
要接受实时的数据或改变目前执行的状态,都必须要有信号输入系统核心内,用以更新不同的参数或是触发某一个状态,单片机系统常见此用途的传感器,像红外线、超声波等;而为了提醒或显示某些状态,输出可采用小型液晶显示器或LED,参见表1.3。
表1.3 输入/输出设备比较
由于单片机系统的能力有限,根据不同类型的1C,能达到的功能也会因此不同,所以在系统发展的初期,依照想要达成的目标选择合适的处理单元也是一个相当重要的课题。
1.3 Arduino溯源
“Arduino”源自11世纪北意大利国王的名字。这个开放项目*早由
第1章初探Arduino
第2章开发环境
第3章必要的基本电路知识
第1章 初探Arduino
本书将从*简单的电子电路开始,搭配现在很热门的Arduino,带领读者进入一个无限宽广的领域——在这个世界中,只要你想得到、找得到,都可以用头脑思考、双手制作,DIY出有趣的玩意。之后的章节将会介绍许许多多的感测组件以及特殊的模块系统,交互搭配出小体积、模块化的系统,让你可以做出交互式的艺术作品、会追寻路径的自走车等非常有趣的作品!
物理运算平台
物理运算平台?物理不是有关直线运动、加速度等学校中*讨厌的科目吗?为什么会跟运算扯上关系呢?别怕!这是直接从英文翻译过来的:Physical Computing,广义来说这个名词包含了感测外在环境的信息、与使用者沟通的人机接口、能够对应命令产生相应动作的执行器,*重要的是一个处理核心——通常是微处理器。将这些系统元素组合搭配,可以完成一个只需要开启电源便可独立运行的系统,这个系统可以依据外在变化或信号来做某些特定的反应或动作,如图1.1所示。
这样的组成简单、体积小、耗电低,可以搭配许多不同类型的产品来提髙其应用价值。在过去,使用硬件电路及微处理器达成某些专业应用的技术核心或Know-how大多掌握在电机、电子工程师手里,但科技越来越发达的这个年代,此类系统的成本也相对迅速降低,也更容易操作,造就了更多人就算本身非所学,只要愿意踏入这个领域,就可以在短时间内完成一个心仪的小设备。
图1.1 物理运算平台架构
简单来看,整个系统平台可以分3个部分:输入、核心和输出。我们从输入的部分开始谈起。
这里泛指的输入,可能是由使用者依照自身需求,使用某些设备对系统下达指令;或是系统针对特殊功能的需要,对物理量进行测量,如温度、压力、形变等,再将这些物理量转换为电压、电流、电感等变化;甚至对输出端的机械系统进行监控等,这都属于输入的范畴。常见的几种物理量见表1.1。简易传感器分类如图1.2所示。
表1.1 常见的几种物理量
核心部分,就像我们人类的脑袋,它可以感受到耳朵听到的声音、肌肤受到的碰触,也可以控制手臂的摆动、脚步的运动。人类的一切活动不能没有脑的脉冲式~脉冲型增量式编码器编码型**式编码器思考,系统也是一样,需要一个指挥官,而物理运算平台的指挥官就是微处理器,如果系统比较复杂,可以使用工业计算机。更详细的介绍我们在后面会有更多的说明。
图1.2 简易传感器分类
输出端跟输入端一样包罗万象,可以是一个小屏幕、一颗灯泡或一台机械怪兽。设计者希望这个系统以什么样的方式呈现,输出的种类就随之更换,有的讲究功能性,有的需要能吸引目光,就看设计者的创意思考了!
本书将会介绍许许多多的输入/输出设备,给大家提供一个想法、一个人门,*重要的是,只有先学会了工具的使用,才可以把心中的巧思发挥出来。
1.2 话说从头——从核心谈起
本书的核心单元是以微处理器为核心的嵌入式系统。一般来说,其与个人计算机**的区别在于功能的多寡。我们使用计算机的时候,会希望一边通过网络登录社群网站更新**的心情,一边听着热门的音乐专辑,甚至还边打着期末报告边跟朋友用MSN实时讨论。这样同时执行许多不同程序,我们称为多任务。大部分的多任务都有一个操作系统(Operation System,OS)来负责管理、协调每个工作的优先权,以及要读写的数据,确保程序间不会互相冲突,系统也不会因为线程太多而造成延迟的现象。常见系统芯片见表1.2。某些场合会将单片机系统视为比较低阶的应用,采用的芯片多为8位或16位;而嵌入式系统视为高阶场合应用,核心多为系统芯片或32位的处理器。有的则以核心芯片的执行速度来区分,单片机系统的运算速度大约为20MHz,可采用倍频技术提升芯片的处理速度;而32位的芯片,以ARM系列为例,多属数百MHz的效能,因此可以处理较为复杂的任务。
表1.2 常见系统芯片比较
以单片机为主的系统,单位时间内只能处理一件事情,更具体地说是只能执行单行程序代码,所有任务必须依照已排定的优先级来执行,故功能上的安排会较为单纯,一般用于较为简洁的系统或按固定顺序执行的设备。嵌人式系统的核心可能由一个到数个微处理器或控制器组成,内部程序都是预先设计好的,除非做系统的更新改版,否则不做修改。这种程序我们称之为韧体,主要负责软件与硬件之间的沟通。而多种核心整合在一块芯片上的,我们称之为系统芯片(System on Chip,SoC),可以将体积*小化,功能多样化。
要接受实时的数据或改变目前执行的状态,都必须要有信号输入系统核心内,用以更新不同的参数或是触发某一个状态,单片机系统常见此用途的传感器,像红外线、超声波等;而为了提醒或显示某些状态,输出可采用小型液晶显示器或LED,参见表1.3。
表1.3 输入/输出设备比较
由于单片机系统的能力有限,根据不同类型的1C,能达到的功能也会因此不同,所以在系统发展的初期,依照想要达成的目标选择合适的处理单元也是一个相当重要的课题。
1.3 Arduino溯源
“Arduino”源自11世纪北意大利国王的名字。这个开放项目*早由
评论
还没有评论。