在嵌入式系统中的微控制器的应用过程中,在选定一个微控制器后,该微控制器如何能运行起来,是最基本的核心问题。本教程以STR71xFRx系列ARM微控制器的如何应用为实例,描述了如何逐步设计、制作STR71xFRx系列的微控制器开发实验板的硬件;介绍如何运用Keil μVision3 (for ARM)集成开发环境和ST公司提供的STR71系列的软件库函数,对STR71xF系列的微控制器的主要功能及主要接口进行测试评估;最后针对GPRS数据终端的应用设计、制作和初步检测的案例,作为结束章节,力争达到跨入嵌入式系统中微控制器应用门槛的目的。
本书描述了嵌入式系统的微控制器设计、制作的过程。运用Keil μVision3集成开发环境和ST公司的STR71系列的软件库函数,对STR71xF系列的微控制器的主要功能及主要接口进行测试评估,以达到对嵌入式系统中微控制器应用初步入门,以GPRS数据终端设计和功能检测为实例,讲述了STR71xF系列的微控制器的应用。
本书是作者多年来对嵌入式系统教学实践的总结和结晶,作者在编写中注重降低学习ARM核的微控制器设计、应用的门槛,是学习掌握嵌入式系统微控制器的较为理想的入门教材。
本书可作为高等院校电子信息类的实训教材,也可作为有志于从事嵌入式系统中微控制器设计、制作的电子信息类工程技术人员的入门参考书。
第1章 STR71x系列微控制器概述1
1.1 ARM系列微控制器1
1.1.1 ARM系列微处理器1
1.1.2 基于ARM微处理器的微控制器7
1.2 STR71x系列微控制器特点9
1.2.1 STR71x系列微控制器的应用选型9
1.2.2 STR71x 系列功能11
1.2.3 STR71x的引脚定义14
1.3 STR71x系列的集成开发21
1.3.1 嵌入式系统开发环境的特点21
1.3.2 交叉编译和链接23
1.3.3 交叉调试23
1.3.4 ARM交叉开发工具25
1.3.5 STR71xFRx开发实验板33
1.4 ST的ARM集成软件函数库简介35
1.4.1 examples文件夹35
1.4.2 project文件夹38
1.4.3 templates文件夹40
思考题40
第2章 STR71xFRx开发实验板的硬件设计41
2.1 实验板核心电路设计41
2.1.1 STR71xF微控制器的供电电路41
2.1.2 STR71xFRx微控制器核心模块的设计43
2.1.3 时钟振荡源的设计43
2.1.4 复位电路46
2.2 JATG仿真调试接口电路设计49
2.2.1 JATG简介49
2.2.2 JATG仿真调试接口的设计50
2.3 其他外围辅助电路的设计51
2.3.1 通用I/O接口应用测试电路设计51
2.3.2 蜂鸣器51
2.3.3 ADC测试电路52
2.3.4 RS\\|232接口52
2.3.5 USB及CAN接口扩展电路53
2.4 外围接口互联扩展的硬件设计55
2.4.1 STR71xFRx系列微控制器I2C总线55
2.4.2 I2C总线的扩展硬件设计实例57
2.5 实验板硬件设计实训58
2.5.1 电原理图的设计58
2.5.2 网络表62
2.5.3 印制板设计实训基本流程63
思考题66
第3章 实验板组装和检测67
3.1 实验板组装67
3.1.1 实验板组装过程67
3.1.2 加电检查70
3.2 集成开发工具应用70
3.2.1 集成开发工具的选用70
3.2.2 Keil μVision3的运用71
3.3 实验板的硬件检测79
3.3.1 JTAG接口的测试80
3.3.2 STR71x系列最小系统的测试80
本章实验 集成开发、仿真运行环境82
第4章 GPIO的程序调试85
4.1 STR71x GPIO的编程基础85
4.1.1 STR71x存储器架构86
4.1.2 GPIO的初始化设置88
4.1.3 GPIO的数据端口的读写93
4.2 GPIO示范工程文档的应用95
4.2.1 工程结构96
4.2.2 主工作源文件main.c剖析96
4.2.3 修改主工作源文件实现新的功能示例97
4.3 GPIO综合应用实训100
4.3.1 实训命题100
4.3.2 实训参考代码100
本章实验 GPIO基本操作102
思考题103
第5章 UART和ADC的应用104
5.1 时钟管理104
5.1.1 时钟管理寄存器寻址104
5.1.2 PRCCU 功能及相关寄存器106
5.1.3 PRCCU的各时钟107
5.1.4 时钟管理的应用113
5.2 通用异步(UARTx)接口的数据传输114
5.2.1 UART寄存器寻址114
5.2.2 UART0的初始化116
5.2.3 UART0的发送编程实训119
5.3 ADC12的应用编程125
5.3.1 ADC12的应用125
5.3.2 ADC的编程127
本章实验 ADC12实验134
思考题138
第6章 PWM及中断控制器的应用139
6.1 定时器及PWM的应用139
6.1.1 定时器139
6.1.2 PWM输出应用142
6.1.3 PWM的测试程序146
6.2 STR71x中断控制器148
6.2.1 增强型中断控制器(EIC)148
6.2.2 中断初始化编程149
6.2.3 中断服务程序编程156
本章实验 PWM及中断应用158
第7章 实验板扩展应用162
7.1 I2C总线的应用编程基础162
7.1.1 I2C总线的编程设计的基础162
7.1.2 I2C的EEPROM读写编程165
7.2 基于I2C总线的器件174
7.2.1 键盘/LED驱动器 ZLG7290174
7.2.2 实时时钟 PCF8563T181
7.3 I2C总线的电子钟实现183
7.3.1 硬件扩展183
7.3.2 I2C总线的电子钟的编程184
7.4 WDT的应用实例190
7.4.1 STR71x的WDT的编程191
7.4.2 用电子钟工程文件观察WDT的使用效果192
思考题195
第8章 GPRS数据控制终端设计实训196
8.1 GPRS数据终端196
8.1.1 GPRS技术及其特点196
8.1.2 GPRS模块197
8.1.3 GPRS数据终端198
8.2 实训命题及主要技术指标198
8.2.1 地下水资源管理远程无线数据采集终端198
8.2.2 终端主要技术指标199
8.2.3 硬件实现方案199
8.3 硬件设计200
8.3.1 GPRS模块选型200
8.3.2 GPRS数据终端硬件设计200
8.4 GPRS数据终端测试程序设计203
8.4.1 测试程序设计基础204
8.4.2 部分AT命令运用测试实验205
8.4.3 测试参考程序214
8.4.4 测试程序的操作扼要指南228
附录A ST ARM相关产品230
参考文献231