图书介绍

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

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

PDF下载


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

下载说明

零基础学单片机C语言程序设计 第2版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单片机开发流程5

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

1.5习题与上机实践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编译项目24

2.3.4仿真调试24

2.3.5程序下载25

2.4小结25

2.5习题与上机实践26

第二篇 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的标识符与关键字30

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字符型变量35

3.4.5指针型变量36

3.4.6无值型变量37

3.5 C51的常量类型37

3.5.1整型常量37

3.5.2浮点型常量38

3.5.3字符型常量39

3.5.4转义字符40

3.6变量作用域41

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

3.6.2自动变量42

3.6.3全局变量43

3.6.4静态变量44

3.6.5寄存器变量45

3.7分隔符与const修饰符45

3.7.1 C51分隔符45

3.7.2 const修饰符46

3.8 C51的运算符47

3.8.1算术运算符47

3.8.2逻辑运算符49

3.8.3关系运算符50

3.8.4位运算符51

3.8.5“,”运算符53

3.8.6“?”运算符54

3.8.7“sizeof”运算符55

3.8.8地址操作运算符55

3.8.9联合操作运算符56

3.8.10类型转换运算符56

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

3.9 C51的表达式59

3.9.1算术表达式59

3.9.2赋值表达式59

3.9.3逗号表达式61

3.9.4关系表达式61

3.9.5逻辑表达式62

3.10小结63

3.11上机实践63

第4章 C51语句和流程65

4.1 C51语句65

4.1.1变量声明语句65

4.1.2表达式语句66

4.1.3复合语句66

4.1.4循环语句67

4.1.5条件语句70

4.1.6开关语句75

4.1.7程序跳转语句76

4.1.8函数调用语句78

4.1.9函数返回语句79

4.1.10空语句80

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

4.2.1顺序结构81

4.2.2选择结构81

4.2.3循环结构81

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

4.3小结83

4.4上机实践83

第5章 C51的数据结构85

5.1 C51的数组85

5.1.1数组定义及数组元素85

5.1.2一维数组87

5.1.3一维字符串数组90

5.1.4二维数组92

5.1.5二维字符串数组95

5.1.6多维数组96

5.2 C51的指针97

5.2.1指针及相关概念97

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

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

5.2.4指针变量的运算102

5.2.5 C51的字符指针103

5.2.6 C51的数组指针104

5.2.7 C51的指针数组109

5.3 C51的结构111

5.3.1结构的声明111

5.3.2结构变量的声明112

5.3.3结构变量的初始化114

5.3.4结构变量的使用115

5.3.5 C51的结构数组116

5.3.6 C51的结构指针117

5.3.7 C51的嵌套式结构121

5.3.8 C51的位结构122

5.4 C51的联合123

5.4.1联合的声明和使用123

5.4.2结构和联合的区别128

5.5 C51的枚举129

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

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

5.6 C51的位域133

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

5.6.2位域变量的使用135

5.7 C51的自定义类型136

5.7.1自定义类型的声明136

5.7.2自定义类型的使用136

5.8小结137

5.9上机实践137

第6章 C51的函数138

6.1函数138

6.1.1函数的概述138

6.1.2函数的分类139

6.1.3函数的定义140

6.1.4函数的参数142

6.1.5函数的返回值146

6.2函数的作用域147

6.2.1函数的作用范围147

6.2.2函数变量的作用域147

6.3函数的调用149

6.3.1赋值调用149

6.3.2引用调用150

6.3.3递归调用150

6.3.4嵌套调用152

6.4 C51的main函数153

6.4.1无参main函数153

6.4.2有参main函数154

6.5 C51的库函数154

6.5.1 I/O函数库154

6.5.2标准函数库166

6.5.3字符函数库174

6.5.4字符串函数库186

6.5.5内部函数库201

6.5.6数学函数库204

6.5.7绝对地址访问函数库209

6.5.8变量参数表函数库212

6.5.9全程跳转函数库214

6.5.10偏移量函数库215

6.6小结216

6.7上机实践216

第7章 C51的存储结构218

7.1单片机的存储器结构218

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

7.1.2片内RAM的存储器结构218

7.2 C51的存储类型219

7.2.1 code存储类型220

7.2.2 data存储类型220

7.2.3 bdata存储类型220

7.2.4 idata存储类型221

7.2.5 pdata存储类型221

7.2.6 xdata存储类型222

7.3 C51的扩展数据类型222

7.3.1 sfr和sfr16型变量223

7.3.2 sbit型变量223

7.3.3 bit型变量224

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

7.4 C51变量的存储模式226

7.4.1 Small模式227

7.4.2 Compact模式227

7.4.3 Large模式227

7.5 C51的存储器指针228

7.5.1一般指针228

7.5.2存储器指针229

7.6小结231

7.7上机实践231

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

8.1 C51的预处理命令概述232

8.2文件包含指令233

8.2.1 #include命令233

8.2.2 C51常用的头文件234

8.3宏定义指令234

8.3.1 #define命令235

8.3.2 #undef命令237

8.4条件编译指令238

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

8.4.2 #elif命令239

8.4.3 #ifdef、#ifndef命令239

8.5其他编译指令241

8.5.1 #line命令241

8.5.2 #error命令241

8.5.3 #pragma命令242

8.6 C51的用户配置文件243

8.6.1 C51的启动代码详解243

8.6.2 C51的变量初始化文件248

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

8.6.4 C51的分组配置文件249

8.7小结250

8.8上机实践250

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

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

9.1定时器/计数器简介253

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

9.1.2方式控制寄存器TMOD254

9.1.3中断控制寄存器TCON255

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.6小结264

9.7上机实践264

第10章 C51中断程序设计266

10.1单片机的中断系统266

10.1.1单片机的中断类型266

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

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

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

10.1.5中断的C51处理过程271

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

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

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

10.5小结277

10.6上机实践277

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

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

11.1.1单片机串行通信概述279

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

11.1.3串行接口控制寄存器SCON281

11.1.4特殊功能寄存器PCON284

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

11.2.1模式0的波特率285

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

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

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

11.3.1模式1的波特率290

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

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

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

11.4.1模式2的波特率295

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

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

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

11.5.1模式3的波特率300

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

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

11.6小结305

11.7上机实践305

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

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

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

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

12.2 RTX-51的系统函数310

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

12.2.2清除信号标志函数311

12.2.3启动任务函数311

12.2.4删除任务函数312

12.2.5当前任务号函数312

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

12.2.7等待函数313

12.3 RTX-51的任务调度316

12.3.1循环任务调度316

12.3.2事件任务调度316

12.3.3信号任务调度317

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

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

12.4 RTX-51 Tiny的任务管理320

12.4.1 RTX-51 Tiny的任务状态320

12.4.2 RTX-51 Tiny的事件321

12.4.3 RTX-51 Tiny的任务切换321

12.5 RTX-51 Tiny的系统配置321

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

12.5.2 RTX-51 Tiny系统参数324

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

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

12.6.2 RTX-51 Tiny的注意事项326

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

12.7.1 RTX-51 FULL函数一览327

12.7.2 RTX-51的技术参数329

12.8小结329

12.9上机实践329

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

13.1 Keil μ Vision3的程序调试330

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

13.1.2断点332

13.1.3性能分析器333

13.1.4代码覆盖分析器335

13.1.5调试命令336

13.2系统资源仿真337

13.2.1并行I/O端口仿真338

13.2.2寄存器仿真339

13.2.3中断仿真342

13.2.4串行接口仿真345

13.2.5定时器/计数器仿真350

13.2.6看门狗定时器的仿真356

13.2.7低功耗仿真357

13.3小结358

13.4上机实践359

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

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

14.1键盘接口概述361

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

14.1.2键盘设计注意事项362

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

14.2.1扫描法及C51程序设计363

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

14.2.3中断法及C51程序设计367

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

14.3.1电路图369

14.3.2程序设计370

14.4小结373

14.5上机实践373

第15章 C51液晶显示模块374

15.1液晶显示模块概述374

15.1.1液晶显示模块的分类374

15.1.2液晶显示模块的特点375

15.2液晶显示控制驱动器376

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

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

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

15.3.1基本指令集380

15.3.2扩充指令集383

15.3.3控制器指令操作方式385

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

15.4.1指令操作子函数387

15.4.2数据操作子函数387

15.4.3初始化子函数388

15.4.4清屏子函数388

15.4.5汉字显示子函数389

15.4.6图形显示子函数390

15.5液晶汉字显示实例390

15.5.1电路设计391

15.5.2程序设计393

15.6液晶图形显示实例395

15.6.1图形数组的提取395

15.6.2图形显示程序设计397

15.7小结399

15.8上机实践399

第16章 C51模拟I2C总线400

16.1 I2C总线概述400

16.1.1 I2C总线工作原理400

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

16.1.3 I2C总线数据操作402

16.2 I2C总线接口EEPROM存储器403

16.3 C51模拟I2C总线协议403

16.3.1延时子函数403

16.3.2起始信号子函数404

16.3.3终止信号子函数404

16.3.4应答信号子函数405

16.3.5非应答信号子函数405

16.3.6应答位检查子函数406

16.3.7单字节写子函数406

16.3.8单字节读子函数407

16.3.9多字节写子函数407

16.3.10多字节读子函数409

16.4 C51读写EEPROM实例410

16.4.1电路设计410

16.4.2程序设计411

16.4.3仿真分析413

16.5小结414

16.6上机实践414

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

17.1单总线接口概述415

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

17.2.1温度传感器DS18S20概述416

17.2.2 DS18S20的数据操作及指令417

17.2.3 DS 18S20的访问流程419

17.2.4温度转换操作420

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

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

17.3.1电路设计428

17.3.2程序设计430

17.3.3仿真分析433

17.4小结433

17.5上机实践434

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

18.1实时时钟芯片DS 1302概述435

18.1.1实时时钟芯片DS 1302引脚435

18.1.2实时时钟芯片DS 1302的日期操作436

18.1.3实时时钟芯片DS 1302的控制操作437

18.1.4实时时钟芯片DS 1302的RAM操作438

18.1.5实时时钟芯片DS 1302数据传输方式438

18.2 DS 1302的控制子函数440

18.2.1复位子函数440

18.2.2字节读取子函数440

18.2.3字节写入子函数441

18.2.4年设置子函数441

18.2.5月设置子函数442

18.2.6日设置子函数442

18.2.7星期设置子函数442

18.2.8小时设置子函数443

18.2.9分钟设置子函数443

18.2.10秒设置子函数443

18.2.11写保护子函数444

18.2.12写允许子函数444

18.2.13充电控制子函数444

18.2.14初始化子函数444

18.2.15 RAM字节写入子函数445

18.2.16时钟显示子函数446

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

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

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

18.3.1电路图448

18.3.2程序设计448

18.3.3仿真分析453

18.4小结454

18.5上机实践454

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

19.1串行接口通信概述456

19.1.1串行接口通信标准456

19.1.2串行接口芯片460

19.1.3双机及多机通信原理462

19.2 C51双机通信实例462

19.2.1电路原理图462

19.2.2发送方程序设计463

19.2.3接收方程序设计465

19.3 C51多机通信实例466

19.3.1主机程序设计467

19.3.2从机程序设计471

19.4小结475

19.5上机实践475

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

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

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

20.2.1电路原理图477

20.2.2建立RTX-51 Tiny项目477

20.2.3多任务划分478

20.2.4多任务程序设计479

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

20.2.6仿真调试492

20.3小结493

20.4上机实践493

第21章 常见面试题及解答495

21.1 C51编程类面试题495

21.1.1预处理495

21.1.2 C51语言基础496

21.1.3循环498

21.1.4位操作499

21.1.5实用子函数500

21.2与MCS-51硬件相关的面试题502

21.2.1 MCS-51硬件基础502

21.2.2硬件编程504

热门推荐