《单片机C程序设计及应用实例》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:胡伟,季晓衡编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2003
  • ISBN:7115109583
  • 页数:506 页
图书介绍:本书简单清晰地介绍单片机的原理、功能及使用方法,使读者具备C51编程时必需的硬件知识,对于实际工作中的一般应用不必再去查找其他资料。

第1章 引言 1

1.1 8位单片机在嵌入式系统中的应用 1

1.2 C语言在嵌入式系统开发中的应用 1

1.2.1 C语言与汇编语言的优势对比 2

1.2.2 C51与ANSI-C的主要区别 3

1.2.3编写高效的C51程序及优化程序 3

第2章Windows集成开发环境μ Vision2 6

2.1 启动μ Vision2 6

2.2创建程序 7

2.2.1创建项目 8

2.2.2项目目标和文件组 13

2.2.3在Project Window中查看文件和组的属性 14

2.2.4Target对话框简介 14

2.2.5地址复用技术——Code banking 14

2.2.6 μVision2功能 15

2.2.7代码优化 21

2.2.8一些技巧 24

2.3 CPU仿真 26

2.3.1 μVision2调试器 26

2.3.2调试命令 35

2.3.3存储器空间 37

2.3.4表述(Expressions) 38

2.3.5 μVision2和C的不同 49

2.3.6一些技巧 49

2.4调试函数 51

2.4.1创建函数 51

2.4.2激活函数 52

2.4.3 函数分类 53

2.4.4 调试函数和C的不同 60

第3章C语言基础 62

3.1 基本概念 62

3.1.1 入门 62

3.1.2 变量与算术表达式 65

3.1.3 for语句 70

3.1.4符号常量 72

3.2数据类型、运算符和表达式 73

3.2.1 C语言的数据类型 73

3.2.2 常量与变量 74

3.2.3整型数据 75

3.2.4 实型数据 77

3.2.5字符型数据 78

3.2.6运算符 83

3.2.7表达式 88

3.3程序控制语句 91

3.3.1 程序的3种基本结构 91

3.3.2条件控制语句 91

3.3.3程序应用举例 99

3.4循环控制语句 100

3.4.1 while语句 100

3.4.2 do…while语句 103

3.4.3 for语句 104

3.4.4 break与continue语句 106

3.4.5程序应用举例 108

3.5函数与程序结构 110

3.5.1 函数的基本知识 111

3.5.2返回非整数值的函数 115

3.5.3外部变量 117

3.5.4作用域规则 118

3.5.5头文件 119

3.5.6静态变量 119

3.5.7寄存器变量 120

3.5.8分程序结构 120

3.5.9初始化 121

3.5.10递归 122

3.6数组 124

3.6.1一维数组 124

3.6.2二维数组 127

3.6.3 多维数组 131

3.6.4数组的初始化 132

3.7指针 134

3.7.1指针与指针变量 134

3.7.2指针变量的定义与引用 134

3.7.3指针运算符与指针表达式 136

3.7.4指针与数组 139

3.7.5指针的地址分配 154

3.7.6指针数组 156

3.7.7指向指针的指针 163

3.8结构体与共用体 167

3.8.1 结构体类型变量的定义和引用 167

3.8.2结构体数组的定义和引用 171

3.8.3结构体指针的定义和引用 178

3.8.4共用体 182

3.9小结 186

第4章使用C语言对AT89C51编程 187

4.1 使用89C51芯片硬件资源的例程序 187

4.1.1 CPU结构 188

4.1.2存储器、特殊功能寄存器及位地址空间 196

4.1.3 中断系统 200

4.1.4输入/输出(I/O)口的使用 212

4.1.5定时/计数器的使用 216

4.1.6 串口通信程序的编制 222

4.1.7节电工作方式的程序 234

4.1.8单步的程序 235

4.2含51核的系列微处理器简介 236

4.2.1 AT89C51 236

4.2.2 DS80C320 237

4.2.3其他芯片 238

4.3一个完整的使用多种资源的例程序 239

4.3.1 项目需求 239

4.3.2步进电机背景知识 239

4.3.3解决方案 242

第5章预处理器 262

5.1宏定义 262

5.1.1不带参数的宏定义 262

5.1.2带参数的宏定义 263

5.2文件包含 263

5.3条件编译 264

5.4其他预处理命令 266

5.4.1字符串化的操作 266

5.4.2连接符 267

5.4.3 预定义好的常量 267

第6章C51编译器 269

6.1 C51编译器控制指令详解 272

6.1.1 源控制指令 272

6.1.2列表控制指令 276

6.1.3 目标控制指令 282

6.2 C51扩展的关键字 296

6.2.1 内存区域 296

6.2.2数据变量分类 297

6.2.3存储模式分类 300

6.2.4变量定位到绝对地址 301

6.2.5指针 302

6.2.6函数 313

6.3 C51与其他语言的混合编程 325

6.3.1 C51编译器格式规范 325

6.3.2 C51与汇编语言的混合编程 330

6.4 C51的高级配置文件 336

6.4.1 STARTUP.A51 336

6.4.2 START751.A51 344

6.4.3 INIT.A51 346

6.4.4 INIT751.A51 356

6.5 C51 的库函数 360

6.5.1 字符函数CTYPE.H 360

6.5.2 一般I/O函数STDIO.H 368

6.5.3 字符串函数STRING.H 377

6.5.4标准函数STDLIB.H 385

6.5.5 数学函数MATH.H 388

6.5.6绝对地址访问ABSACC.H 390

6.5.7 内部函数INTRINS.H 390

6.5.8 变量参数表STDARG.H 392

6.5.9全程跳转SETJMP.H 393

6.5.10访问SFR和SFR_bit地址REGxxx.H 395

第7章 目标文件的连接定位与转换 396

7.1连接定位器 396

7.2连接/定位控制指令 397

7.3 μVision2 中连接定位器的使用 398

第8章硬件仿真 408

8.1 伟福仿真器系统及使用方法 408

8.1.1 安装伟福仿真调试系统 408

8.1.2使用伟福系列仿真器系统 409

8.2万利MedWin仿真系统简介 420

8.2.1 MedWin仿真系统的安装 420

8.2.2 MedWin仿真系统的使用 421

8.2.3 MedWin仿真系统的特点 422

8.3一个简单程序调试的例子 423

8.3.1 单片机电路图 423

8.3.2测试程序源代码 424

8.3.3 运行 425

8.4 小结 426

第9章C51的工程开发案例与技巧 427

9.1 C51应用程序设计的基本方法 427

9.1.1简介 427

9.1.2 C51编译器 427

9.2 C51系统设计所需要的一些知识 429

9.2.1硬件以及电路的知识 429

9.2.2软件以及编程语言的知识 432

9.3 C51系统设计所需要的一些设备 433

9.4 C51系统设计所需要注意的一些问题 434

9.4.1单片机资源的分配 434

9.4.2单片机的寻址 435

9.4.3 C51函数的返回值 435

9.4.4 单片机的看门狗功能 435

9.4.5单片机的外设 435

9.4.6单片机的功耗 436

9.5有关C51的一些问题 436

9.6 应用案例1——外部ROM的实现 439

9.6.1 简单的电路 439

9.6.2电路设计的背景及功能 439

9.6.3 电路的设计 440

9.6.4 电路的C51程序代码 441

9.7应用案例2——键盘和发光数码管显示 441

9.7.1 电路设计的背景及功能 441

9.7.2电路的设计 442

9.7.3键盘扫描电路的C51程序代码 443

9.7.4 电路的改进——键盘的消抖动程序 446

9.7.5 电路的显示部分——LED数码管电路 451

9.8 应用案例3——秒表程序的实现 455

9.8.1 电路设计的背景及功能 455

9.8.2 电路的设计 455

9.8.3 电路的C51程序代码 456

9.9应用案例4——24小时时钟的实现 462

9.9.1 电路设计的背景及功能 462

9.9.2电路的设计 462

9.9.3 电路的C51程序代码 463

9.10应用案例5——多机串行通信的实现 470

9.10.1 电路设计的背景及功能 470

9.10.2主机端电路的设计 470

9.10.3 主机端电路的C51程序代码 471

9.10.4从机端电路的设计 477

9.10.5从机端电路的C51程序代码 478

9.11应用案例6——A/D、D/A转换器使用 478

9.11.1 电路设计的背景及功能 478

9.11.2 电路的设计 479

9.11.3 电路的C51程序代码 481

9.12应用案例7——与计算机的互连 485

9.12.1 电路设计的背景及功能 485

9.12.2 电路的设计 485

9.12.3 电路的C51程序代码 486

9.12.4计算机端的Visual C++程序代码 487