图书介绍

零基础学单片机C语言程序设计2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

零基础学单片机C语言程序设计
  • 赵建领,薛园园等编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111264514
  • 出版时间:2009
  • 标注页数:466页
  • 文件大小:92MB
  • 文件页数:490页
  • 主题词:单片微型计算机-C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

零基础学单片机C语言程序设计PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 单片机C51概述1

第1章 单片机开发概述1

1.1 单片机介绍1

1.1.1 单片机简介1

1.1.2 单片机的主要组成部分1

1.1.3 单片机引脚及功能2

1.1.4 单片机的应用领域4

1.2 单片机开发流程4

1.2.1 系统分析5

1.2.2 单片机选型5

1.2.3 程序设计8

1.2.4 仿真测试8

1.2.5 程序下载9

1.3 单片机开发语言概述9

1.3.1 单片机汇编语言9

1.3.2 单片机C51语言10

1.4 小结11

第2章 构建C51集成开发环境12

2.1 51系列单片机的最小硬件系统12

2.1.1 时钟振荡电路13

2.1.2 单片机的复位电路14

2.2 Keil μ Vision3集成开发环境15

2.2.1 Keil μ Vision3简介15

2.2.2 Keil μ Vision3安装15

2.2.3 Keil μ Vision3界面概览17

2.2.4 Keil μ Vision3的各种常用窗口17

2.3 Keil μ Vision3中C51的开发流程21

2.3.1 创建项目21

2.3.2 创建源文件22

2.3.3 编译项目23

2.3.4 仿真调试24

2.3.5 程序下载24

2.4 小结25

第二篇 C51程序设计指南27

第3章 单片机C51语言程序设计基础27

3.1 C51程序的基本结构27

3.2 C51编程规范及注意事项28

3.2.1 注释28

3.2.2 命名29

3.2.3 格式29

3.3 C51的标识符与关键字29

3.3.1 标识符30

3.3.2 关键字30

3.4 C51的变量类型32

3.4.1 C51的数据类型32

3.4.2 整型变量33

3.4.3 浮点型变量34

3.4.4 字符型变量34

3.4.5 指针型变量36

3.4.6 无值型变量36

3.5 C51的常量类型37

3.5.1 整型常量37

3.5.2 浮点型常量38

3.5.3 字符型常量38

3.5.4 转义字符39

3.6 变量作用域40

3.6.1 变量作用域的基本规则40

3.6.2 自动变量41

3.6.3 全局变量42

3.6.4 静态变量44

3.6.5 寄存器变量44

3.7 分隔符与const修饰符44

3.7.1 C51分隔符44

3.7.2 const修饰符45

3.8 C51的运算符46

3.8.1 算术运算符46

3.8.2 逻辑运算符48

3.8.3 关系运算符49

3.8.4 位运算符50

3.8.5 “,”运算符52

3.8.6 “?”运算符53

3.8.7 “sizeof”运算符54

3.8.8 地址操作运算符54

3.8.9 联合操作运算符55

3.8.10 类型转换运算符55

3.8.11 运算符优先级和结合性56

3.9 C51的表达式57

3.9.1 算术表达式57

3.9.2 赋值表达式58

3.9.3 逗号表达式59

3.9.4 关系表达式60

3.9.5 逻辑表达式61

3.10 小结62

第4章 C51语句和流程63

4.1 C51语句63

4.1.1 变量声明语句63

4.1.2 表达式语句63

4.1.3 复合语句64

4.1.4 循环语句65

4.1.5 条件语句68

4.1.6 开关语句72

4.1.7 程序跳转语句73

4.1.8 函数调用语句76

4.1.9 函数返回语句77

4.1.10 空语句77

4.2 C51的流程控制结构及程序示例78

4.2.1 顺序结构78

4.2.2 选择结构78

4.2.3 循环结构79

4.2.4 流程控制结构程序示例79

4.3 小结80

第5章 C51的数据结构81

5.1 C51的数组81

5.1.1 数组定义及数组元素81

5.1.2 一维数组83

5.1.3 一维字符串数组86

5.1.4 二维数组88

5.1.5 二维字符串数组91

5.1.6 多维数组92

5.2 C51的指针92

5.2.1 指针及相关概念92

5.2.2 指针变量的定义及赋值93

5.2.3 取址运算符和取值运算符96

5.2.4 指针变量的运算97

5.2.5 C51的字符指针98

5.2.6 C51的数组指针100

5.2.7 C51的指针数组104

5.3 C51的结构106

5.3.1 结构的声明106

5.3.2 结构变量的声明107

5.3.3 结构变量的初始化108

5.3.4 结构变量的使用109

5.3.5 C51的结构数组110

5.3.6 C51的结构指针112

5.3.7 C51的嵌套式结构115

5.3.8 C51的位结构117

5.4 C51的联合118

5.4.1 联合的声明和使用118

5.4.2 结构和联合的区别122

5.5 C51的枚举123

5.5.1 枚举和枚举变量的声明123

5.5.2 枚举变量的赋值和使用125

5.6 C51的位域127

5.6.1 位域和位域变量的声明127

5.6.2 位域变量的使用129

5.7 C51的自定义类型130

5.7.1 自定义类型的声明130

5.7.2 自定义类型的使用131

5.8 小结131

第6章 C51的函数132

6.1 函数132

6.1.1 函数的概述132

6.1.2 函数的分类133

6.1.3 函数的定义134

6.1.4 函数的参数136

6.1.5 函数的返回值140

6.2 函数的作用域140

6.2.1 函数的作用范围141

6.2.2 函数变量的作用域141

6.3 函数的调用142

6.3.1 赋值调用143

6.3.2 引用调用143

6.3.3 递归调用144

6.3.4 嵌套调用145

6.4 C51的main函数147

6.4.1 无参main函数147

6.4.2 有参main函数147

6.5 C51的库函数147

6.5.1 I/O函数库148

6.5.2 标准函数库160

6.5.3 字符函数库167

6.5.4 字符串函数库179

6.5.5 内部函数库194

6.5.6 数学函数库197

6.5.7 绝对地址访问函数库202

6.5.8 变量参数表函数库206

6.5.9 全程跳转函数库207

6.5.10 偏移量函数库208

6.6 小结209

第7章 C51的存储结构210

7.1 单片机的存储器结构210

7.1.1 51系列单片机的存储区域210

7.1.2 片内RAM的存储器结构210

7.2 C51的存储类型211

7.2.1 code存储类型211

7.2.2 data存储类型212

7.2.3 bdata存储类型212

7.2.4 idata存储类型213

7.2.5 pdata存储类型213

7.2.6 xdata存储类型213

7.3 C51的扩展数据类型214

7.3.1 sfr和sfr16型变量214

7.3.2 sbit型变量215

7.3.3 bit型变量215

7.3.4 51单片机寄存器的定义216

7.4 C51变量的存储模式218

7.4.1 Small模式218

7.4.2 Compact模式219

7.4.3 Large模式219

7.5 C51的存储器指针219

7.5.1 一般指针219

7.5.2 存储器指针220

7.6 小结222

第8章 C51的预处理命令和用户配置文件223

8.1 C51的预处理命令概述223

8.2 文件包含指令223

8.2.1 #include命令224

8.2.2 C51常用的头文件225

8.3 宏定义指令225

8.3.1 #define命令225

8.3.2 #undef命令228

8.4 条件编译指令228

8.4.1 #if、#else和#endif命令229

8.4.2 #elif命令229

8.4.3 #ifdef、#ifndef命令230

8.5 其他编译指令231

8.5.1 #line命令232

8.5.2 #error命令232

8.5.3 #pragma命令233

8.6 C51的用户配置文件234

8.6.1 C51的启动代码详解234

8.6.2 C51的变量初始化文件239

8.6.3 C51的基本I/O函数文件240

8.6.4 C51的分组配置文件240

8.7 小结241

第三篇 C51单片机编程指南243

第9章 C51定时器/计数器程序设计243

9.1 定时器/计数器简介243

9.1.1 定时器/计数器的结构243

9.1.2 方式控制寄存器TMOD244

9.1.3 中断控制寄存器TCON245

9.1.4 定时器/计数器的初值246

9.1.5 定时器/计数器的初始化246

9.2 定时器/计数器工作模式0的C51程序设计247

9.2.1 定时器/计数器工作模式0247

9.2.2 定时器/计数器模式0的程序设计247

9.3 定时器/计数器工作模式1的C51程序设计248

9.3.1 定时器/计数器工作模式1248

9.3.2 定时器/计数器模式1的程序设计249

9.4 定时器/计数器工作模式2的C51程序设计250

9.4.1 定时器/计数器工作模式2250

9.4.2 定时器/计数器模式2的程序设计250

9.5 定时器/计数器工作模式3的C51程序设计251

9.5.1 定时器/计数器工作模式3251

9.5.2 定时器/计数器模式3的程序设计252

9.6 小结253

第10章 C51中断程序设计254

10.1 单片机的中断系统254

10.1.1 单片机的中断类型254

10.1.2 中断请求标志及其C51访问255

10.1.3 中断允许标志及其C51访问257

10.1.4 中断优先级标志及其C51访问258

10.1.5 中断的C51处理过程259

10.2 外部中断源的C51程序设计262

10.3 定时中断源的C51程序设计263

10.4 串行中断源的C51程序设计264

10.5 小结264

第11章 C51串行接口程序设计265

11.1 51系列单片机的串行接口265

11.1.1 单片机串行通信概述265

11.1.2 单片机串行接口的内部结构266

11.1.3 串行接口控制寄存器SCON267

11.1.4 特殊功能寄存器PCON269

11.2 串行口工作模式0的C51程序设计270

11.2.1 模式0的波特率270

11.2.2 模式0的数据发送及C51程序设计270

11.2.3 模式0的数据接收及C51程序设计272

11.3 串行口工作模式1的C51程序设计274

11.3.1 模式1的波特率275

11.3.2 模式1的数据发送及C51程序设计276

11.3.3 模式1的数据接收及C51程序设计278

11.4 串行口工作模式2的C51程序设计280

11.4.1 模式2的波特率280

11.4.2 模式2的数据发送及C51程序设计280

11.4.3 模式2的数据接收及C51程序设计282

11.5 串行口工作模式3的C51程序设计284

11.5.1 模式3的波特率284

11.5.2 模式3的数据发送及C51程序设计285

11.5.3 模式3的数据接收及C51程序设计287

11.6 小结289

第12章 C51下的RTX-51实时多任务操作系统290

12.1 RTX-51实时多任务操作系统简介290

12.1.1 单任务程序与多任务程序的比较290

12.1.2 RTX-51实时多任务操作系统种类292

12.2 RTX-51的系统函数293

12.2.1 中断调用的发送信号函数293

12.2.2 清除信号标志函数294

12.2.3 启动任务函数294

12.2.4 删除任务函数295

12.2.5 当前任务号函数295

12.2.6 任务调用的发送信号函数295

12.2.7 等待函数296

12.3 RTX-51的任务调度299

12.3.1 循环任务调度299

12.3.2 事件任务调度299

12.3.3 信号任务调度300

12.3.4 优先级及抢先任务切换301

12.3.5 RTX-51的主要概念和特性302

12.4 RTX-51 Tiny的任务管理303

12.4.1 RTX-51 Tiny的任务状态303

12.4.2 RTX-51 Tiny的事件303

12.4.3 RTX-51 Tiny的任务切换304

12.5 RTX-51 Tiny的系统配置304

12.5.1 RTX-51 Tiny系统配置文件304

12.5.2 RTX-51 Tiny系统参数307

12.6 RTX-51 Tiny的要求及注意事项307

12.6.1 RTX-51 Tiny的要求及技术参数307

12.6.2 RTX-51 Tiny的注意事项308

12.7 RTX-51 FULL实时多任务操作系统简介309

12.7.1 RTX-51 FULL函数一览309

12.7.2 RTX-51的技术参数311

12.8 小结311

第13章 Keil μ Vision3的调试和仿真312

13.1 Keil μ Vision3的程序调试312

13.1.1 Keil μ Vision3的程序调试模式312

13.1.2 断点314

13.1.3 性能分析器315

13.1.4 代码覆盖分析器317

13.1.5 调试命令318

13.2 系统资源仿真319

13.2.1 并行I/O端口仿真319

13.2.2 寄存器仿真321

13.2.3 中断仿真323

13.2.4 串行接口仿真327

13.2.5 定时器/计数器仿真331

13.2.6 看门狗定时器的仿真337

13.2.7 低功耗仿真338

13.3 小结330

第四篇 C51程序设计典型案例341

第14章 C51矩阵式键盘程序设计341

14.1 键盘接口概述341

14.1.1 独立式按键和矩阵式键盘341

14.1.2 键盘设计注意事项342

14.2 矩阵式键盘C51程序设计343

14.2.1 扫描法及C51程序设计343

14.2.2 线反转法及C51程序设计345

14.2.3 中断法及C51程序设计347

14.3 C51矩阵式键盘设计实例348

14.3.1 电路图348

14.3.2 程序设计349

14.4 小结352

第15章 C51液晶显示模块353

15.1 液晶显示模块概述353

15.1.1 液晶显示模块的分类353

15.1.2 液晶显示模块的特点354

15.2 液晶显示控制驱动器354

15.2.1 液晶显示控制驱动器概述355

15.2.2 液晶显示控制驱动器功能说明355

15.3 液晶显示控制器指令集359

15.3.1 基本指令集359

15.3.2 扩充指令集361

15.3.3 控制器指令操作方式363

15.4 点阵图形型液晶操作子函数365

15.4.1 指令操作子函数365

15.4.2 数据操作子函数366

15.4.3 初始化子函数366

15.4.4 清屏子函数366

15.4.5 汉字显示子函数367

15.4.6 图形显示子函数368

15.5 液晶汉字显示实例368

15.5.1 电路设计369

15.5.2 程序设计371

15.6 液晶图形显示实例373

15.6.1 图形数组的提取373

15.6.2 图形显示程序设计375

15.7 小结377

第16章 C51模拟I2C总线378

16.1 I2C总线概述378

16.1.1 I2C总线工作原理378

16.1.2 I2C总线器件的寻址方式379

16.1.3 I2C总线数据操作379

16.2 I2C总线接口EEPROM存储器380

16.3 C51模拟I2C总线协议381

16.3.1 延时子函数381

16.3.2 起始信号子函数382

16.3.3 终止信号子函数382

16.3.4 应答信号子函数383

16.3.5 非应答信号子函数383

16.3.6 应答位检查子函数384

16.3.7 单字节写子函数384

16.3.8 单字节读子函数384

16.3.9 多字节写子函数385

16.3.10 多字节读子函数386

16.4 C51读写EEPROM实例387

16.4.1 电路设计388

16.4.2 程序设计388

16.4.3 仿真分析390

16.5 小结391

第17章 C51模拟单总线接口392

17.1 单总线接口概述392

17.2 单总线温度传感器及C51操作393

17.2.1 温度传感器DS18S20概述393

17.2.2 DS18S20的数据操作及指令394

17.2.3 DS18S20的访问流程396

17.2.4 温度转换操作396

17.2.5 C51模拟单总线操作子函数397

17.3 C51单总线温度传感器实例405

17.3.1 电路设计405

17.3.2 程序设计406

17.3.3 仿真分析409

17.4 小结410

第18章 实时时钟芯片应用411

18.1 实时时钟芯片DS1302概述411

18.1.1 实时时钟芯片DS1302引脚411

18.1.2 实时时钟芯片DS1302的日期操作412

18.1.3 实时时钟芯片DS1302的控制操作413

18.1.4 实时时钟芯片DS1302的RAM操作414

18.1.5 实时时钟芯片DS1302数据传输方式414

18.2 DS1302的控制子函数415

18.2.1 复位子函数416

18.2.2 字节读取子函数416

18.2.3 字节写入子函数416

18.2.4 年设置子函数417

18.2.5 月设置子函数417

18.2.6 日设置子函数417

18.2.7 星期设置子函数418

18.2.8 小时设置子函数418

18.2.9 分钟设置子函数418

18.2.10 秒设置子函数419

18.2.11 写保护子函数419

18.2.12 写允许子函数419

18.2.13 充电控制子函数419

18.2.14 初始化子函数420

18.2.15 RAM字节写入子函数421

18.2.16 时钟显示子函数421

18.2.17 多字节突发方式读取RAM子函数422

18.2.18 多字节突发方式写入RAM子函数422

18.3 C51读写实时时钟芯片实例423

18.3.1 电路图423

18.3.2 程序设计424

18.3.3 仿真分析428

18.4 小结429

第19章 C51通信接口程序设计430

19.1 串行接口通信概述430

19.1.1 串行接口通信标准430

19.1.2 串行接口芯片434

19.1.3 双机及多机通信原理436

19.2 C51双机通信实例436

19.2.1 电路原理图436

19.2.2 发送方程序设计437

19.2.3 接收方程序设计439

19.3 C51多机通信实例440

19.3.1 主机程序设计441

19.3.2 从机程序设计445

19.4 小结449

第20章 道路交通灯多任务控制系统450

20.1 交通灯多任务控制系统概述450

20.2 C51交通灯多任务控制系统450

20.2.1 电路原理图451

20.2.2 建立RTX-51 Tiny项目451

20.2.3 多任务划分452

20.2.4 多任务程序设计453

20.2.5 串行通信及命令获取子函数460

20.2.6 仿真调试464

20.3 小结466

热门推荐