新書推薦:
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:HK$
277.8
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
201.6
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:HK$
76.2
《
美丽与哀愁:第一次世界大战个人史
》
售價:HK$
143.4
《
国家豁免法的域外借鉴与实践建议
》
售價:HK$
188.2
《
大单元教学设计20讲
》
售價:HK$
76.2
《
儿童自我关怀练习册:做自己最好的朋友
》
售價:HK$
69.4
《
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
》
售價:HK$
62.7
|
內容簡介: |
本书基于ARM Cortex-M3处理器的STM32微控制器,使用MDK-ARM开发软件和C语言,结合STM32驱动程序库和STM32开发板,面向底层应用编程,介绍嵌入式计算机系统的工作原理和应用技术,包括嵌入式系统组成、Cortex-M3处理器编程结构、常用指令、STM32微控制器通用输入输出端口(GPIO)、外部中断接口(EXTI)、串行接口(USART)、直接存储器传输接口(DMA)、定时器接口(SysTick、IWDG、WWDG、TIMx、RTC)和模拟接口(ADC、DAC)等。本书可以作为高等院校计算机、电子、通信及自动控制等专业“嵌入式系统导论”或“嵌入式系统基础”的教材或参考书,也适合嵌入式系统应用开发人员和希望学习嵌入式系统的普通读者和技术人员参考。
|
關於作者: |
钱晓捷,男,副教授,郑州大学信息学院。中国计算机学会会员,现任河南省计算机学会教育专委副主任,主要从事计算机系统结构、嵌入式系统、计算机辅助教学等方面的研究。主持教育部-微软、河南省精品课程“汇编语言程序设计”、校级远程教育精品课程“微机原理及接口技术”建设。主持完成“网络CAI课件研究与开发”、“河南省新世纪网络课程建设工程项目”等科研项目。主编10余部高校教材,其中2部属于普通高等教育“十一五”国家级规划教材。具有丰富的教学经历和教研体会,主讲计算机硬件系列课程20余年,主要包括“微机原理及接口技术”、“汇编语言程序设计”、“计算机组织与结构”、“高级计算机系统结构”等。
|
目錄:
|
目录
第1章嵌入式系统设计基础1
1.1嵌入式系统概述1
1.1.1什么是嵌入式系统1
1.1.2嵌入式系统的技术特点2
1.1.3嵌入式系统的组成2
1.2嵌入式系统的开发4
1.2.1嵌入式系统的开发模式4
1.2.2嵌入式系统开发需要的软件、硬件5
1.2.3软件开发流程6
习题17
第2章ARM Cortex-M3处理器9
2.1ARM处理器9
2.2Cortex-M3处理器结构10
2.3寄存器13
2.4存储器组织15
习题219
第3章Thumb指令系统20
3.1ARM指令集和Thumb指令集20
3.2统一汇编语言(UAL)21
3.2.1汇编语言的语句格式21
3.2.2汇编语言的程序结构22
3.2.3存储器空间分配指示符24
3.2.4常量表达24
3.3数据寻址25
3.3.1寄存器寻址26
3.3.2存储器寻址27
3.4常用指令28
3.4.1处理器指令格式28
3.4.2数据传送指令30
3.4.3数据处理指令31
3.4.4分支跳转指令32
3.5STM32启动代码33
3.6开发工具MDK37
3.6.1MDK安装38
3.6.2MDK目录结构39
3.6.3创建应用程序40
3.6.4汇编语言程序的开发43
习题345
第4章STM32微控制器47
4.1STM32微控制器结构47
4.1.1STM32系列微控制器47
4.1.2STM32系统结构49
4.1.3STM32存储结构51
4.2STM32微控制器开发52
4.2.1Cortex微控制器软件接口标准CMSIS53
4.2.2STM32驱动程序库54
4.2.3C语言应用56
4.3复位与时钟控制(RCC)59
习题464
第5章STM32的通用IO端口66
5.1GPIO的结构与功能66
5.2GPIO寄存器67
5.2.1GPIO寄存器的功能68
5.2.2GPIO寄存器的应用69
5.3GPIO输出应用示例:LED灯的亮灭控制71
5.3.1项目创建和选项配置71
5.3.2应用程序分析74
5.3.3应用程序编写77
5.3.4程序模拟运行80
5.3.5程序硬件仿真83
5.4GPIO输入应用示例:查询按键状态85
5.4.1程序分析和编写86
5.4.2程序调试和运行88
5.5STM32库编程总结90
5.5.1基于STM32库的开发过程90
5.5.2使用STM32库的一般规则91
5.5.3对比直接对寄存器编程93
习题596
第6章CM3异常和STM32中断98
6.1Cortex-M3的异常98
6.2STM32的中断应用101
6.2.1NVIC初始化配置102
6.2.2外部中断EXTI103
6.2.3GPIO引脚的中断配置106
6.2.4芯片外设的中断配置107
6.3EXTI应用示例:按键中断107
6.3.1主程序流程107
6.3.2中断初始化配置109
6.3.3中断应用程序编写111
习题6113
第7章STM32的串行通信接口115
7.1串行异步通信115
7.1.1串行异步通信字符格式115
7.1.2串行异步通信接口116
7.2通用同步异步接收发送器(USART)118
7.2.1STM32的USART功能118
7.2.2STM32的USART应用120
7.3USART应用示例:实现C语言标准输入输出函数121
7.3.1USART初始化配置121
7.3.2输入输出函数的重定向123
7.3.3信息交互应用程序126
7.3.4USART接口的中断应用128
习题7133
第8章STM32的DMA接口135
8.1DMA控制器135
8.1.1DMA传输过程135
8.1.2STM32的DMA功能136
8.1.3STM32的DMA应用138
8.2DMA应用示例:USART接口的DMA传输140
8.2.1DMA初始化配置140
8.2.2DMA传输应用程序编写142
8.3DMA、USART和GPIO的综合应用145
8.3.1综合应用的项目分析145
8.3.2综合应用的编程146
习题8149
第9章STM32的定时器接口151
9.1系统时钟(SysTick)151
9.1.1系统嘀嗒定时器151
9.1.2SysTick应用示例:精确定时154
9.2STM32看门狗156
9.2.1独立看门狗(IWDG)156
9.2.2IWDG应用示例:IWDG复位159
9.2.3窗口看门狗(WWDG)161
9.2.4WWDG应用示例:适时喂狗164
9.3STM32定时器(TIMx)166
9.3.1基本定时器(TIM6和TIM7)166
9.3.2基本定时器应用示例:周期性定时中断170
9.4STM32实时时钟(RTC)173
9.4.1RTC结构及特性173
9.4.2RTC应用示例:闹钟176
习题9179
第10章STM32的模拟接口181
10.1STM32的ADC接口181
10.1.1ADC结构及特性181
10.1.2ADC的转换模式186
10.1.3STM32的ADC函数187
10.1.4ADC应用示例:数据采集189
10.2STM32的DAC接口194
10.2.1DAC结构及特性194
10.2.2STM32的DAC函数197
10.2.3DAC应用示例:输出模拟电压199
习题10202
参考文献203
|
內容試閱:
|
前 言
嵌入式系统是一个快速发展的领域,又是一个知识覆盖面广、技术范围宽的交叉学科。本书面向底层开发的初学者,侧重软件编程,是一本相对初级的入门教材。本书是在作者多年教学基础上整理、总结而成的,教材内容结合教学体会,既适合教师进行教学,又利于学生自主学习,具有一定特色。
在内容上,本书基于ARM公司Cortex-M3处理器的STM32微控制器,使用主流的MDK-ARM开发软件和高级语言(C语言),结合STM32驱动程序库和STM32开发板,介绍嵌入式系统的工作原理和应用技术。在结构上,本书不是照搬产品参考手册,也有别于数据手册的面面俱到,而是从学习者角度重新编排,做到有详有略,既有对技术、原理的补充说明,又有对程序代码的分析和解释。相较于大量的中英文资料,尤其是参考手册、用户指南之类的官方文档,本书没有烦琐的寄存器细节和堆砌的固件库函数列表,而是进行知识重组、内容提炼,并尝试在正文中提供一些阅读帮助,还通过大量习题让读者巩固所学;另外,设计开放性题目,引导读者阅读相关文档、深入学习。
全书在前2章提供必要的基础知识,后续章节以完成示例项目为目标(案例导向),介绍相关技术,分析程序流程,详解核心代码,突出实践和提供指导。希望读者完成每个项目,学中做、做中学,即所谓DIY(Do It Yourself)和LBD(Learning By Doing)。
本书面向信息技术类专业的普通本科(专科)学生或自学者,考虑初学者的实际知识水平,努力以清晰的结构,浅显的语言,循序渐进、由浅入深,结合示例项目,展开STM32微控制器及其基本外设接口的编程应用。读者应熟悉C语言编程,最好具有计算机组成原理或者微机原理的先修知识。另外,课程虽然涉及硬件接口,但本书重点讲述软件编程,配合开发环境的软件模拟,可以不需购买开发板,也可以购买价格低廉的STM32开发板。
本书由郑州大学钱晓捷组织,钱晓捷和程楠共同编写。钱晓捷老师编写了前7章以及第8章和第9章前2节的初稿;程楠老师编写剩余章节的初稿,并验证了所有示例项目。全书由钱晓捷老师统稿。本书编写和试用过程中,得到张青、姚俊婷等老师的帮助,在此表示感谢。
由于编者水平有限,本书难免会有疏漏和不当之处,欢迎广大师生和读者指正(iexjqian@zzu.edu.cn,iencheng@zzu.edu.cn)。
本书为读者提供相关教学资源(含电子课件),有需要者,请登录http:www.hxedu.com.cn,注册之后进行下载。
|
|