嵌入式系统开发基础:基于ARM9微处理器C语言程序设计(第五版)

嵌入式系统开发基础:基于ARM9微处理器C语言程序设计(第五版)
作 者: 侯殿有
出版社: 清华大学出版社
丛编项: 高等学校计算机应用规划教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《嵌入式系统开发基础:基于ARM9微处理器C语言程序设计(第五版)》作者简介

内容简介

《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第五版)》对32位精简指令集系统中嵌入式微处理器S3C2410的硬件系统和C语言驱动程序进行了详细讲解,书中的源代码和实例程序对学习或从事嵌入式系统设计的读者都颇具参考价值。在人机界面设计、系统初始化程序编写、仿真器设置和复杂项目构建等方面给出了简化做法,使初学者能够轻松、快速地掌握嵌入式系统的设计方法。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第五版)》以实用技术为主,内容通俗易懂,实例丰富,特别适合初学者和从事嵌入式系统设计工作的读者使用。

图书目录

目 录

第1章 嵌入式控制系统简介 1

1.1 单片机和嵌入式控制系统的定义和分类 1

1.1.1 单片机和嵌入式控制系统的定义 1

1.1.2 嵌入式控制系统的设计方法 2

1.1.3 嵌入式控制系统各种设计方法的特点 2

1.2 ARM处理器简介 4

1.2.1 ARM体系结构的发展 4

1.2.2 ARM体系结构的存储器格式 8

1.3 习题 9

第2章 ADS1.2开发环境创建与简介 10

2.1 ADS1.2开发环境创建 10

2.1.1 ADS1.2概述 10

2.1.2 ADS1.2的安装 12

2.2 ADS集成开发环境的使用 14

2.2.1 新建一个项目 14

2.2.2 设置开发环境 14

2.2.3 其他开发环境介绍 18

2.3 用AXD进行代码仿真、调试 19

2.3.1 AXD简介 19

2.3.2 JTAG概述 21

2.3.3 NOR和NAND Flash的区别与使用 22

2.3.4 烧写Flash 24

2.4 ARM C语言程序的基本规则和系统初始化程序 24

2.4.1 ARM使用C语言编程的基本规则 24

2.4.2 初始化程序和开发环境设置 25

2.5 习题 27

第3章 ARM9微处理器S3C2410资源 28

3.1 S3C2410微处理器介绍 28

3.1.1 AMBA、AHB和APB总线的特点 28

3.1.2 S3C2410处理器的体系结构 29

3.1.3 S3C2410处理器的管理系统 30

3.1.4 S3C2410处理器的存储器映射 30

3.1.5 S3C2410处理器的时钟和电源管理 31

3.2 S3C2410处理器片上资源的定义和使用 32

3.3 参考软件资源2410test.mcp 32

3.4 几个常用的输入输出函数 37

3.5 def.h头文件 41

3.6 习题 41

第4章 S3C2410的I/O端口和I/O端口操作 47

4.1 S3C2410 I/O端口描述 47

4.2 I/O端口控制寄存器 48

4.2.1 端口A控制寄存器及其功能配置 48

4.2.2 端口B控制寄存器及其功能配置 49

4.2.3 端口C控制寄存器及其功能配置 50

4.2.4 端口D控制寄存器及其功能配置 52

4.2.5 端口E控制寄存器及其功能配置 53

4.2.6 端口F控制寄存器及其功能配置 54

4.2.7 端口G控制寄存器及其功能配置 55

4.2.8 端口H控制寄存器及其功能配置 56

4.3 I/O端口控制C语言编程实例 57

4.3.1 硬件电路 57

4.3.2 参考程序 58

4.4 电平转换和光电隔离 60

4.5 习题 61

第5章 S3C2410的中断系统 63

5.1 S3C2410的中断源 63

5.2 S3C2410的中断处理 64

5.3 中断控制 65

5.3.1 中断模式(INTMOD)寄存器 65

5.3.2 中断挂起寄存器和中断源挂起寄存器 66

5.3.3 中断屏蔽寄存器(INTMSK) 68

5.3.4 中断优先级寄存器(PRIORITY) 68

5.4 子中断源的中断控制 70

5.5 中断向量的设置 71

5.6 其他常用寄存器 72

5.7 编写中断程序时需注意的问题 74

5.8 中断实验和中断程序的编写 76

5.9 习题 79

第6章 S3C2410的串口UART 81

6.1 S3C2410的串口UART概述 81

6.1.1 S3C2410串行通信(UART)单元 81

6.1.2 波特率的产生 81

6.1.3 UART通信操作 82

6.2 UART的控制寄存器 82

6.2.1 UART线路控制寄存器ULCONn(n=0~2) 82

6.2.2 UART控制寄存器UCONn(n=0~2) 83

6.2.3 UART FIFO控制寄存器UFCONn(n=0~2) 83

6.2.4 UART MODEM控制寄存器UMCONn(n=0或1) 83

6.2.5 发送寄存器UTXHn(n=0~2)和接收寄存器URXHn(n=0~2) 84

6.2.6 UART TX/RX状态寄存器UTRSTATn(n=0~2) 84

6.2.7 S3C2410 UART使用的端口 84

6.3 UART通信程序示例 84

6.3.1 RS232接口电路 85

6.3.2 UART实验程序 85

6.4 习题 92

第7章 S3C2410的A/D、D/A转换控制 93

7.1 S3C2410的A/D、D/A转换控制 93

7.1.1 A/D转换控制寄存器(ADCCON) 93

7.1.2 A/D转换控制程序的编写步骤 94

7.2 参考程序 94

7.3 习题 97

第8章 触摸屏控制 98

8.1 触摸屏的结构和工作原理 98

8.1.1 触摸屏的工作原理 98

8.1.2 S3C2410的触摸屏控制 100

8.2 触摸屏控制程序 103

8.3 习题 105

第9章 S3C2410的实时时钟(RTC) 106

9.1 实时时钟在嵌入式系统中的作用 106

9.1.1 S3C2410的实时时钟单元 106

9.1.2 S3C2410的实时时钟寄存器 107

9.2 参考程序及说明 109

9.3 习题 115

第10章 直接存储器存取(DMA)控制 116

10.1 DMA基础知识 116

10.2 S3C2410的DMA控制器 118

10.3 用DMA方式实现存储器到存储器的数据传送 121

10.3.1 头文件定义和函数声明 121

10.3.2 以DMA方式实现存储器到存储器的数据传送 121

10.4 习题 126

第11章 S3C2410的PWM控制 127

11.1 PWM定时器概述 127

11.1.1 什么是脉宽调制 127

11.1.2 S3C2410的PWM及其控制 127

11.1.3 S3C2410定时器的特性 129

11.1.4 定时器操作示例 130

11.1.5 死区生成器 130

11.2 PWM输出电平控制 131

11.2.1 PWM的工作原理 131

11.2.2 PWM输出控制 132

11.3 PWM定时器控制寄存器 132

11.3.1 定时器配置寄存器0 132

11.3.2 定时器配置寄存器1 133

11.3.3 减法缓冲寄存器和比较缓冲寄存器 133

11.3.4 定时器控制寄存器 134

11.3.5 减法计数器观察寄存器 134

11.4 PWM参考程序 135

11.5 习题 142

第12章 S3C2410的看门狗电路控制 143

12.1 看门狗电路的功能及工作原理 143

12.1.1 S3C2410的看门狗控制 143

12.1.2 看门狗定时器的寄存器 144

12.2 参考程序及说明 145

12.3 习题 146

第13章 S3C2410的I2C总线控制 147

13.1 I2C总线工作原理 147

13.2 EEPROM读/写操作 150

13.2.1 AT24C04的结构与应用简述 150

13.2.2 设备地址(DADDR) 151

13.2.3 AT24CXX的数据操作格式 151

13.3 S3C2410处理器I2C接口 151

13.3.1 S3C2410 I2C接口简介 152

13.3.2 使用S3C2410 I2C总线读/写方法 153

13.4 S3C2410 I2C总线读/写参考程序的编写 153

13.5 I2C实验程序 154

13.6 习题 158

第14章 I2S介绍和S3C2410的I2S控制 159

14.1 数字音频信号(I2S)介绍 159

14.2 数字音频计算机处理 160

14.2.1 采样频率和采样精度 160

14.2.2 音频编码 161

14.2.3 I2S数字音频接口 161

14.3 音频芯片UDA1341TS介绍 161

14.3.1 硬件结构 161

14.3.2 S3C2410和UDA1341TS的连接 163

14.3.3 UDA1341TS的软件编程 164

14.3.4 UDA1341TS DATA0编程 165

14.3.5 UDA1341TS DATA1编程 168

14.3.6 UDA1341TS 控制寄存器STATUS编程 168

14.4 S3C2410中I2S总线控制寄存器 170

14.5 WAV声音格式文件 171

14.6 I2S实验参考程序 172

14.7 习题 180

第15章 串行外设接口(SPI)介绍 181

15.1 SPI接口及操作 181

15.1.1 SPI 串行外设接口的原理 181

15.1.2 SPI 串行外设接口的特性 183

15.2 SPI接口控制寄存器 183

15.2.1 SPI控制寄存器(SPICONn) 183

15.2.2 SPI状态寄存器(SPSTAn) 183

15.2.3 SPI引脚控制寄存器

(SPPINn) 184

15.2.4 SPI波特率预分频寄存器(SPPREn) 184

15.2.5 SPI发送数据寄存器(SPTDATn) 185

15.2.6 SPI接收数据寄存器(SPRDATn) 185

15.2.7 SPI接口操作 185

15.2.8 SPI接口编程 185

15.2.9 SPI接口的传输格式 186

15.2.10 SPI通信模式 187

15.3 参考程序 187

15.4 习题 191

第16章 S3C2410的人机界面设计 192

16.1 英文字符的存储与显示原理 192

16.1.1 ASCII码 192

16.1.2 英文字符的显示 193

16.2 汉字在计算机中的表示和显示 194

16.2.1 汉字的内码和区位码 194

16.2.2 汉字的显示 195

16.2.3 其他西文字符在计算机中的存储和显示 196

16.2.4 屏幕上“打点” 197

16.2.5 字模提取与建立

小字库概述 197

16.3 字模提取与建立小字库 198

16.3.1 用C语言提取字模和建立小字库 198

16.3.2 用Delphi提取字模和建立小字库 202

16.3.3 通用字模提取程序

MinFonBase使用说明 212

16.4 S3C2410显示控制的特点 213

16.4.1 STN LCD显示器 213

16.4.2 TFT LCD显示器 214

16.4.3 LCD控制器的特点 214

16.5 S3C2410的LCD控制信号和外部引脚 214

16.5.1 LCD专用控制寄存器 216

16.5.2 LCD专用控制寄存器的设置 221

16.5.3 LCD屏幕“打点”程序 224

16.6 S3C2410的LCD驱动程序 227

16.6.1 S3C2410的LCD驱动程序编写步骤 228

16.6.2 利用S3C2410显示汉字与曲线 229

16.7 S3C2410在LCD驱动方面的其他应用 237

16.7.1 HD66421的硬件简介 238

16.7.2 HD66421的软件编程 239

16.7.3 HD66421与微处理器接口及驱动程序 243

16.8 在LCD屏上按一定格式显示汉字和曲线 255

16.9 S3C6410 (ARM11)的汉字和曲线显示实例 256

16.9.1 S3C6410 (ARM11)简介 256

16.9.2 S3C6410(ARM11)的汉字和曲线显示 257

16.10 习题 265

第17章 程序的调试、运行和烧写 266

17.1 VIVI软件的运行和使用 266

17.1.1 VIVI软件的运行 266

17.1.2 VIVI的几个常用命令 266

17.2 VIVI软件的安装 268

17.3 程序的调试和运行 270

17.4 程序的烧写 278

17.5 习题 281

第18章 项目开发实例 282

18.1 实例目的和软硬件准备 282

18.1.1 实例目的 282

18.1.2 软硬件准备 282

18.2 字模提取、建小字库 282

18.2.1 汉字字模提取、建小汉字库 282

18.2.2 西文字符和数学符号字模提取 283

18.2.3 ASCII码字模处理、其他图形字模处理 285

18.3 项目构建 285

18.3.1 项目结构 285

18.3.2 main.c程序简介 286

18.4 项目调试 287

18.4.1 设置开发环境 288

18.4.2 项目编译 292

18.4.3 项目调试 293

18.5 项目烧写(固化) 295

参考文献 298