下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 编程语言 >C/C++ > 零基础学单片机C语言程序设计(第3版)

零基础学单片机C语言程序设计(第3版)

综合评级:★★★★★

定价:79.00

作者:赵建领 等著

出版社:机械工业出版社

出版日期:2014年7月

页数:504

ISBN:9787111449447

书籍介绍

单片机C51语言是目前最流行的单片机程序设计语言。本书由浅入深,循序渐进地讲解了C51语言的方方面面。本书知识点覆盖全面、结构安排紧凑、讲解详细、言简意赅、通俗易懂、实例丰富。内容包括51系列单片机开发环境和流程、程序设计基础以及编程指南,并给出了一些常用的典型案例。全书分为四篇,共21章,全面详细地讲述了单片机的程序设计基础、编程指南及应用案例。首先介绍了51系列单片机的基本结构以及单片机的开发概述,其次详细介绍了单片机程序设计的C51语言,然后结合单片机的硬件资源细致讲解了如何应用C51语言进行编程操作,最后结合实际应用,重点分析了在各个领域中常用到的一些典型案例,使读者更加融会贯通地掌握C51语言,以供读者在学习和工作中进行参考。在第21章中还介绍了部分常见的面试题及解答,方便读者做好入职前的准备工作。

相关课程
目录

前言

第一篇单片机C51概述

第1章单片机开发概述

1.1单片机介绍

1.1.1单片机简介

1.1.2单片机的主要组成部分

1.1.3单片机引脚及功能

1.1.4单片机的应用领域

1.2单片机开发流程

1.2.1系统分析

1.2.2单片机选型

1.2.3程序设计

1.2.4仿真测试

1.2.5程序下载

1.3单片机开发语言概述

1.3.1单片机汇编语言

1.3.2单片机C51语言

1.4小结

1.5习题与上机实践

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

2.151系列单片机的最小硬件系统

2.1.1时钟振荡电路

2.1.2单片机的复位电路

2.2KeilμVision3集成开发环境

2.2.1KeilμVision3简介

2.2.2KeilμVision3安装

2.2.3KeilμVision3界面概览

2.2.4KeilμVision3的各种常用窗口

2.3KeilμVision3中C51的开发流程

2.3.1创建项目

2.3.2创建源文件

2.3.3编译项目

2.3.4仿真调试

2.3.5程序下载

2.4小结

2.5习题与上机实践

 

第二篇C51语言程序设计指南

第3章C51语言程序设计基础

3.1C51程序的基本结构

3.2C51编程规范及注意事项

3.2.1注释

3.2.2命名

3.2.3格式

3.3C51的标识符与关键字

3.3.1标识符

3.3.2关键字

3.4C51的变量类型

3.4.1C51的数据类型

3.4.2整型变量

3.4.3浮点型变量

3.4.4字符型变量

3.4.5指针型变量

3.4.6无值型变量

3.5C51的常量类型

3.5.1整型常量

3.5.2浮点型常量

3.5.3字符型常量

3.5.4转义字符

3.6变量作用域

3.6.1变量作用域的基本规则

3.6.2自动变量

3.6.3全局变量

3.6.4静态变量

3.6.5寄存器变量

3.7分隔符与const修饰符

3.7.1C51分隔符

3.7.2const修饰符

3.8C51的运算符

3.8.1算术运算符

3.8.2逻辑运算符

3.8.3关系运算符

3.8.4位运算符

3.8.5","运算符

3.8.6"?"运算符

3.8.7"sizeof"运算符

3.8.8地址操作运算符

3.8.9联合操作运算符

3.8.10强制类型转换运算符

3.8.11运算符优先级和结合性

3.9C51的表达式

3.9.1算术表达式

3.9.2赋值表达式

3.9.3逗号表达式

3.9.4关系表达式

3.9.5逻辑表达式

3.10小结

3.11上机实践

第4章C51语句和流程

4.1C51语句

4.1.1变量声明语句

4.1.2表达式语句

4.1.3复合语句

4.1.4循环语句

4.1.5条件语句

4.1.6开关语句

4.1.7程序跳转语句

4.1.8函数调用语句

4.1.9函数返回语句

4.1.10空语句

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

4.2.1顺序结构

4.2.2选择结构

4.2.3循环结构

4.2.4流程控制结构程序示例

4.3小结

4.4上机实践

第5章C51的数据结构

5.1C51的数组

5.1.1数组定义及数组元素

5.1.2一维数组

5.1.3一维字符串数组

5.1.4二维数组

5.1.5二维字符串数组

5.1.6多维数组

5.2C51的指针

5.2.1指针及相关概念

5.2.2指针变量的定义及赋值

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

5.2.4指针变量的运算

5.2.5C51的字符指针

5.2.6C51的数组指针

5.2.7C51的指针数组

5.3C51的结构

5.3.1结构的声明

5.3.2结构变量的声明

5.3.3结构变量的初始化

5.3.4结构变量的使用

5.3.5C51的结构数组

5.3.6C51的结构指针

5.3.7C51的嵌套式结构

5.3.8C51的位结构

5.4C51的联合

5.4.1联合的声明和使用

5.4.2结构和联合的区别

5.5C51的枚举

5.5.1枚举和枚举变量的声明

5.5.2枚举变量的赋值和使用

5.6C51的位域

5.6.1位域和位域变量的声明

5.6.2位域变量的使用

5.7C51的类型声明

5.7.1类型声明的定义

5.7.2类型声明的使用

5.8小结

5.9上机实践

第6章C51的函数

6.1函数

6.1.1函数的概述

6.1.2函数的分类

6.1.3函数的定义

6.1.4函数的参数

6.1.5函数的返回值

6.2函数的作用域

6.2.1函数的作用范围

6.2.2函数代码的作用域

6.2.3函数变量的作用域

6.3函数的调用

6.3.1赋值调用

6.3.2引用调用

6.3.3递归调用

6.3.4嵌套调用

6.4C51的main函数

6.4.1无参main函数

6.4.2有参main函数

6.5C51的库函数

6.5.1I/O函数库

6.5.2标准函数库

6.5.3字符函数库

6.5.4字符串函数库

6.5.5内部函数库

6.5.6数学函数库

6.5.7绝对地址访问函数库

6.5.8变量参数表函数库

6.5.9全程跳转函数库

6.5.10偏移量函数库

6.6小结

6.7上机实践

第7章C51的存储结构

7.1单片机的存储器结构

7.1.151系列单片机的存储区域

7.1.2片内RAM的存储器结构

7.2C51的存储类型

7.2.1code存储类型

7.2.2data存储类型

7.2.3bdata存储类型

7.2.4idata存储类型

7.2.5pdata存储类型

7.2.6xdata存储类型

7.3C51的扩展数据类型

7.3.1sfr和sfr16型变量

7.3.2sbit型变量

7.3.3bit型变量

7.3.451单片机寄存器的定义

7.4C51变量的存储模式

7.4.1Small模式

7.4.2Compact模式

7.4.3Large模式

7.5C51的存储器指针

7.5.1一般指针

7.5.2存储器指针

7.6小结

7.7上机实践

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

8.1C51的预处理命令概述

8.2文件包含指令

8.2.1#include命令

8.2.2C51常用的头文件

8.3宏定义指令

8.3.1#define命令

8.3.2#undef命令

8.4条件编译指令

8.4.1#if、#else和#endif命令

8.4.2#elif命令

8.4.3#ifdef、#ifndef命令

8.5其他编译指令

8.5.1#line命令

8.5.2#error命令

8.5.3#pragma命令

8.6C51的用户配置文件

8.6.1C51的启动代码详解

8.6.2C51的变量初始化文件

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

8.6.4C51的分组配置文件

8.7小结

8.8上机实践

 

第三篇C51单片机编程指南

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

9.1定时器/计数器简介

9.1.1定时器/计数器的结构

9.1.2方式控制寄存器TMOD

9.1.3中断控制寄存器TCON

9.1.4定时器/计数器的初值

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

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

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

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

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

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

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

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

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

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

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

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

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

9.6小结

9.7上机实践

第10章C51中断程序设计

10.1单片机的中断系统

10.1.1单片机中断的典型概念

10.1.2单片机的中断类型

10.1.3中断请求标志及其C51访问

10.1.4中断允许标志及其C51访问

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

10.1.6中断的C51处理过程

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

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

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

10.5小结

10.6上机实践

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

11.151系列单片机的串行接口

11.1.1单片机串行通信概述

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

11.1.3串行接口控制寄存器SCON

11.1.4特殊功能寄存器PCON

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

11.2.1模式0的波特率

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

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

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

11.3.1模式1的波特率

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

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

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

11.4.1模式2的波特率

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

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

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

11.5.1模式3的波特率

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

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

11.6小结

11.7上机实践

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

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

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

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

12.2RTX-51的系统函数

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

12.2.2清除信号标志函数

12.2.3启动任务函数

12.2.4删除任务函数

12.2.5获取当前任务号函数

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

12.2.7等待函数

12.3RTX-51的任务调度

12.3.1循环任务调度

12.3.2事件任务调度

12.3.3信号任务调度

12.3.4优先级及抢先任务切换

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

12.4RTX-51Tiny的任务管理

12.4.1RTX-51Tiny的任务状态

12.4.2RTX-51Tiny的事件

12.4.3RTX-51Tiny的任务切换

12.5RTX-51Tiny的系统配置

12.5.1RTX-51Tiny系统配置文件

12.5.2RTX-51Tiny系统参数

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

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

12.6.2RTX-51Tiny的注意事项

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

12.7.1RTX-51FULL函数一览

12.7.2RTX-51的技术参数

12.8小结

12.9上机实践

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

13.1KeilμVision3的程序调试

13.1.1KeilμVision3的程序调试模式

13.1.2断点

13.1.3性能分析器

13.1.4代码覆盖分析器

13.1.5调试命令

13.2系统资源仿真

13.2.1并行I/O端口仿真

13.2.2寄存器仿真

13.2.3中断仿真

13.2.4串行接口仿真

13.2.5定时器/计数器仿真

13.2.6看门狗定时器的仿真

13.2.7低功耗仿真

13.3小结

13.4上机实践

 

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

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

14.1键盘接口概述

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

14.1.2键盘设计注意事项

14.2矩阵式键盘C51程序设计

14.2.1扫描法及C51程序设计

14.2.2线反转法及C51程序设计

14.2.3中断法及C51程序设计

14.3C51矩阵式键盘设计实例

14.3.1电路图

14.3.2程序设计

14.4小结

14.5上机实践

第15章C51液晶显示模块

15.1液晶显示模块概述

15.1.1液晶显示模块的分类

15.1.2液晶显示模块的特点

15.2液晶显示控制驱动器

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

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

15.3液晶显示控制器指令集

15.3.1基本指令集

15.3.2扩充指令集

15.3.3控制器指令操作方式

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

15.4.1指令操作子函数

15.4.2数据操作子函数

15.4.3初始化子函数

15.4.4清屏子函数

15.4.5汉字显示子函数

15.4.6图形显示子函数

15.5液晶汉字显示实例

15.5.1电路设计

15.5.2程序设计

15.6液晶图形显示实例

15.6.1图形数组的提取

15.6.2图形显示程序设计

15.7小结

15.8上机实践

第16章C51模拟I2C总线

16.1I2C总线概述

16.1.1I2C总线工作原理

16.1.2I2C总线器件的寻址方式

16.1.3I2C总线数据操作

16.2I2C总线接口EEPROM存储器

16.3C51模拟I2C总线协议

16.3.1延时子函数

16.3.2起始信号子函数

16.3.3终止信号子函数

16.3.4应答信号子函数

16.3.5非应答信号子函数

16.3.6应答位检查子函数

16.3.7单字节写子函数

16.3.8单字节读子函数

16.3.9多字节写子函数

16.3.10多字节读子函数

16.4C51读写EEPROM实例

16.4.1电路设计

16.4.2程序设计

16.4.3仿真分析

16.5小结

16.6上机实践

第17章C51模拟单总线接口

17.1单总线接口概述

17.1.1单总线接口结构

17.1.2单总线通信格式

17.1.3单总线的特点

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

17.2.1温度传感器DS18S20概述

17.2.2DS18S20的数据操作及指令

17.2.3DS18S20的访问流程

17.2.4温度转换操作

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

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

17.3.1电路设计

17.3.2程序设计

17.3.3仿真分析

17.4小结

17.5上机实践

第18章实时时钟芯片应用

18.1实时时钟芯片DS1302概述

18.1.1实时时钟芯片DS1302引脚

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

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

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

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

18.2DS1302的控制子函数

18.2.1复位子函数

18.2.2字节读取子函数

18.2.3字节写入子函数

18.2.4年设置子函数

18.2.5月设置子函数

18.2.6日设置子函数

18.2.7星期设置子函数

18.2.8小时设置子函数

18.2.9分钟设置子函数

18.2.10秒设置子函数

18.2.11写保护子函数

18.2.12写允许子函数

18.2.13充电控制子函数

18.2.14初始化子函数

18.2.15RAM字节写入子函数

18.2.16时钟显示子函数

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

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

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

18.3.1电路图

18.3.2程序设计

18.3.3仿真分析

18.4小结

18.5上机实践

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

19.1串行接口通信概述

19.1.1串行接口通信标准

19.1.2串行接口芯片

19.1.3双机及多机通信原理

19.2C51双机通信实例

19.2.1电路原理图

19.2.2发送方程序设计

19.2.3接收方程序设计

19.3C51多机通信实例

19.3.1主机程序设计

19.3.2从机程序设计

19.4小结

19.5上机实践

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

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

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

20.2.1电路原理图

20.2.2建立RTX-51Tiny项目

20.2.3多任务划分

20.2.4多任务程序设计

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

20.2.6仿真调试

20.3小结

20.4上机实践

第21章常见面试题及解答

21.1C51编程类面试题

21.1.1预处理

21.1.2C51语言基础

21.1.3循环

21.1.4位操作

21.1.5实用子函数

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

21.2.1MCS-51硬件基础

21.2.2硬件编程

热门图书
推荐新闻
技术文库
论坛推荐