《基于单片机的嵌入式工程开发详解》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:罗强主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121070198
  • 页数:318 页
图书介绍:本书通过51系列单片机芯片W78E516B开发信息采集终端的工程实例,以详细的硬件电路开发流程和嵌入式软件系统的构建,让读者清楚地了解工程开发的整个过程。本书以工程实例的开发流程为线索,涵盖了51系列单片机诸如存储器扩展、综合电源控制、时钟电路、定时器、I/O控制、A/D转换、液晶显示、串口通信、单片机中断等主要应用技术。同时详细地介绍了实时多任务操作系统Small RTOS51的工程应用。本书包含了大量实用程序代码,并且都是基于C语言编写,通过阅读这些程序代码,读者可以深入理解Keil51 C语言编程思想和技巧。

第1部分:基础篇 3

第1章 单片机与编译环境 3

1.1MCS-51简介 3

1.2“Winbond78E516B”芯片功能详解 4

1.2.1芯片概述 4

1.2.2引脚描述 5

1.2.3功能框图 6

1.2.4功能描述 7

1.2.5时序波形图 11

1.2.6电气特性 16

1.3编译环境 16

1.3.1“KeilμVision2”主界面介绍 17

1.3.2创建项目 21

1.3.3编译与连接 21

1.3.4程序调试 25

1.4本章小结 26

第2部分:工程硬件篇 29

第2章 工程项目介绍 29

2.1信息采集终端的工程背景 29

2.2系统硬件方案设计 29

2.2.1硬件设计框图 29

2.2.2系统原理图 30

2.3本章小结 34

第3章 单片机最小系统 35

3.1最小系统功能介绍 35

3.2电路设计 35

3.2.1单片机最小系统电路图 35

3.2.2电源模块 35

3.2.3时钟电路 36

3.2.4复位电路 37

3.3软件设计一“hello,world!”工程项目构建 38

3.4本章小结 41

第4章 看门狗电路 42

4.1看门狗原理介绍 42

4.1.1软件看门狗采用纯软件程序来实现看门狗功能 42

4.1.2硬件看门狗 43

4.2电路设计 44

4.2.1系统电路图 44

4.2.2“MAX813L”芯片介绍 44

4.2.3看门狗电路 47

4.3软件设计——清狗功能实现 48

4.4本章小结 49

第5章 系统电源设计 50

5.1工程实例背景及功能分析 50

5.2电路设计 52

5.2.1系统电源电路 52

5.2.2双电源选择输入电路 54

5.2.3“MAX1659”芯片介绍 55

5.2.4唤醒电源VCI电路 56

5.2.5主电源Vcc电路 57

5.2.6液晶背光控制电源“LED+” 57

5.2.7“MODEM”控制电源 58

5.2.8传感器供电控制电路 58

5.3软件设计——电源控制功能的实现 59

5.4本章小结 60

第6章 外部数据存储器扩展 61

6.1工程实例背景及功能分析 61

6.1.1系统总线结构 61

6.1.2存储器扩展方式 62

6.1.3工程实例应用 64

6.2电路设计 64

6.2.1系统电路图 64

6.2.2“DS1230Y”芯片介绍 64

6.2.3“MC74HC573”芯片介绍 71

6.2.4片外RAM扩展电路及功能说明 71

6.3软件设计 72

6.3.1KeilC51编译器环境下存储空间的访问 72

6.3.2程序举例 74

6.4本章小结 76

第7章 基本“I/O”功能及扩展 77

7.1单片机基本“I/O”原理 77

7.1.1四个输入/输出(I/O)口介绍 77

7.1.2“I/O”口的设计 78

7.2工程实例背景及功能分析 78

7.3电路设计 79

7.3.1系统电路图 79

7.3.2报警电路图及功能说明 79

7.3.3“74HC138”芯片介绍 82

7.3.4“74HC02”和“74HC00”芯片介绍 83

7.3.5基本“I/O”扩展电路 84

7.3.6并口扩展电路 85

74软件设计 86

7.4.1基本“I/O”口的操作 86

7.4.2报警功能实现 87

7.4.3基本“I/O”扩展实现 88

7.5本章小结 90

第8章 实时时钟电路 91

8.1工程实例背景及功能分析 91

8.1.1实时时钟概述 91

8.1.2RTC的应用 92

8.2单片机中断系统原理 92

8.2.1中断和中断嵌套 92

8.2.2“W78E516B”中断系统 93

8.2.3中断响应过程 96

8.2.4外部中断方式 97

8.3电路设计 98

8.3.1系统电路图 98

8.3.2“DS12C887”芯片介绍 98

8.3.3实时时钟电路及功能说明 106

8.3.4片选信号DS_CS的产生 106

8.4软件设计 107

8.4.1设置时钟时间 107

8.4.2读取时钟实现 110

8.4.3KeilC51环境下的中断编程 112

8.4.4时钟定时启动单片机 112

8.5本章小结 115

第9章 键盘输入和电源指示电路 116

9.1工程实例背景及功能分析 116

9.1.1键盘工作原理 116

9.1.2独立式按键接口设计 117

9.1.3工程实际应用 118

9.2系统电路图 118

9.2.1键盘输入电路及功能说明 118

9.2.2键盘唤醒电路及功能说明 123

9.2.3电源指示电路及功能说明 124

9.3软件设计 124

9.3.1键盘软件处理方式介绍 124

9.3.2键盘驱动实现 125

9.4本章小结 134

第10章 LCD显示的实现 135

10.1工程实例背景及功能分析 135

10.2图形液晶模块“VPG19264”介绍 135

10.2.1显示模块外部接口引脚 135

10.2.2内部工作原理 136

10.2.3指令系统 138

1.3电路设计 139

10.3.1系统电路图 139

10.3.2LCD接口电路及功能说明 143

10.4软件设计 144

10.4.1汉字显示原理 144

10.4.2系统配置头文件“config.h” 145

10.4.3LCD显示驱动头文件“LCDControl.h” 146

10.4.4字库头文件“ziku.h” 147

10.4.5LCD显示驱动实现 150

10.4.6主函数实例 161

10.4.7文件结构 162

10.5本章小结 163

第11章 采样接口与A/D转换电路 164

11.1工程实例背景及功能分析 164

11.1.1传感器在工程中的应用 164

11.1.2采样接口电路在工程中的应用 164

11.1.3A/D转换电路在工程中的应用 165

11.2电路设计 166

11.2.1系统电路图 166

11.2.2“TLC2543”芯片说明 170

11.2.3“MC1403”芯片说明 175

11.2.4采样接口电路及功能说明 176

11.2.5A/D转换电路及功能说明 177

11.3软件设计 178

11.3.1文件结构 178

11.3.2“ADControl.c”源文件功能说明 179

11.3.3“ADControl.h”头文件 184

11.3.4“config.h”头文件 185

11.3.5“main.c”文件 187

11.4本章小结 189

第12章 RS-232C通信电路 190

12.1工程实例背景及功能分析 190

12.1.1串行通信基础知识 190

12.1.2MCS-51的串口结构 192

12.1.3RS-232C在工程实例中的应用 193

12.2RS-232C标准介绍 194

12.2.1RS-232C引脚定义 194

12.2.2RS-232C接口连接 194

12.2.3RS-232C电气特性 196

12.2.4RS-232C电平转换 196

12.3电路设计 196

12.3.1系统电路图 196

12.3.2“TL16C550B”芯片介绍 200

12.3.3“MAX235E”芯片介绍 210

12.3.4RS-232C接口电路图及功能说明 212

12.4软件设计 214

12.4.1软件实例功能说明 214

12.4.2通信协议说明 214

12.4.3文件结构 215

12.4.4“UART.h”头文件说明 215

12.4.5“UART.c”源文件功能说明 218

12.4.6“config.h”头文件 221

12.4.7“main.c”文件 223

12.5本章小结 232

第3部分:工程软件篇 235

第13章 嵌入式实时操作系统SmallRTOS51 235

13.1嵌入式实时操作系统基本概念 235

13.1.1实时系统 235

13.1.2实时操作系统 236

13.1.3代码的临界区 236

13.1.4任务 236

13.1.5任务优先级 237

13.1.6任务切换 237

13.1.7占先式内核 237

13.1.8信号量 238

13.1.9消息队列 241

13.1.10中断 242

13.1.11时钟节拍 243

13.2SmallRTOS51简介 243

13.2.1SmallRTOS51的特点 243

13.2.2运行条件 244

13.2.3存储器需求 244

13.2.4任务堆栈的计算 244

13.2.5对51系列单片机寄存器段的要求 244

13.2.6对局部变量的要求 245

13.3SmallRTOS51内核原理 247

13.3.1堆栈工作原理 247

13.3.2信号量原理 248

13.3.3消息队列原理 250

13.3.4系统时钟节拍中断原理 253

13.4SmallRTOS51使用方法 253

13.4.1SmallRTOS51的安装及目录结构 253

13.4.2头文件 254

13.4.3初始化和启动 254

13.4.4建立任务 255

13.4.5编写用户任务 256

13.4.6系统配置 256

13.4.7信号量的使用方法 257

13.4.8消息队列的使用方法 257

13.5SmallRTOS51系统配置手册 259

13.6SmallRTOS51函数快速查阅手册 261

13.7本章小结 265

第14章 软件系统设计 266

14.1软件设计的工程背景 266

14.2软件功能设计 267

14.3SmallRTOS51的移植 268

14.3.1与系统相关的宏 268

14.3.2与编译器无关的变量类型 269

14.3.3OSStart() 269

14.3.4OSTickISR() 271

14.3.5OSIdIe() 272

14.3.6OSIntCtxSw() 273

14.3.7OS_TASK_SW() 273

14.4工程文件结构 274

14.5基于RTOS51的驱动程序组 274

14.5.1LCD驱动程序 275

14.5.2时钟芯片“DS12C887”驱动程序 279

14.5.3A/D转换芯片“TLC2543”驱动程序 280

14.5.4键盘操作驱动程序 282

14.5.5异步收发器“TL16C550B”驱动程序 288

14.5.6通信协议驱动程序 292

14.6任务组 296

14.6.1任务功能区分 296

14.6.2任务优先级分配 297

14.6.3任务间通信 299

14.7任务功能分析 301

14.8本章小结 317

参考文献 318