目录

第1章如何学习单片机

1.1学什么类型的单片机

1.2学习单片机的最佳方法

1.3单片机学习的准备工作

1.4单片机开发软件环境搭建

1.5Keil C51基本概况

1.6答读者问

第2章点亮你的LED

2.1单片机的内部资源

2.2单片机最小系统

2.2.1电源

2.2.2晶振

2.2.3复位电路

2.3LED小灯

2.4程序代码编写

2.4.1特殊功能寄存器和位定义

2.4.2新建一个工程

2.4.3编写点亮小灯的程序

2.5程序下载

2.6习题

第3章硬件基础知识学习

3.1电磁干扰

3.2去耦电容的应用

3.3三极管在数字电路中的应用

3.3.1三极管的初步认识

3.3.2三极管的原理

3.3.3三极管的应用

3.474HC138三八译码器的应用

3.5LED闪烁程序

3.6习题

第4章C语言基础以及流水灯的实现

4.1二进制、十进制和十六进制

4.2C语言变量类型和范围

4.3C语言基本运算符

4.4for循环语句

4.5while循环语句

4.6函数的简单介绍

4.7Keil软件延时

4.8流水灯程序

4.9习题

第5章定时器与数码管基础

5.1逻辑电路与逻辑运算

5.2定时器

5.2.1初步认识定时器

5.2.2定时器相关的寄存器

5.2.3定时器的应用

5.3数码管

5.3.1数码管概述

5.3.2数码管的真值表

5.3.3数码管的静态显示

5.4习题

第6章中断与数码管动态显示

6.1C语言的数组

6.1.1数组的基本概念

6.1.2数组的声明

6.1.3数组的初始化

6.1.4数组的使用和赋值

6.2if语句

6.3switch语句

6.4数码管的动态显示

6.4.1动态显示的基本原理

6.4.2数码管显示消隐

6.5单片机中断系统

6.5.1中断的产生背景

6.5.2定时器中断的应用

6.5.3中断的优先级

6.6习题

第7章变量进阶与点阵LED

7.1变量的作用域

7.1.1局部变量

7.1.2全局变量

7.2变量的存储类别

7.3点阵的初步认识

7.4点阵的图形显示

7.5点阵的动画显示

7.5.1点阵的纵向移动

7.5.2点阵的横向移动

7.6习题

第8章函数进阶与按键

8.1单片机最小系统

8.1.1电源

8.1.2晶振

8.1.3复位电路

8.2函数的调用

8.3函数的形式参数和实际参数

8.4按键

8.4.1独立按键

8.4.2矩阵按键

8.4.3独立按键的扫描

8.4.4按键消抖

8.4.5矩阵按键的扫描

8.5简易加法计算器

8.6习题

第9章实例练习与经验积累

9.1数字秒表实例

9.1.1不同数据类型间的相互转换

9.1.2定时时间精准性调整

9.1.3字节操作修改位的技巧

9.1.4数码管扫描刷新函数算法的改进

9.1.5秒表程序

9.2PWM知识与实例

9.3交通灯实例

9.451单片机RAM区域的划分

9.5长短按键的应用

9.6习题

第10章UART串口通信

10.1串行通信的初步认识

10.2RS232串口

10.3USB转换为串口通信

10.4I/O口模拟UART串口通信

10.5UART串口通信的基本应用

10.5.1通信的三种基本类型

10.5.2UART模块介绍

10.5.3UART串口程序

10.6通信实例与ASCII码

10.7习题


第11章指针基础与1602液晶显示器的初步认识

11.1指针的概念与指针变量的声明

11.1.1变量的地址

11.1.2指针变量的声明

11.1.3指针的简单示例

11.2指向数组元素的指针

11.2.1指向数组元素的指针和运算法则

11.2.2指向数组元素指针实例

11.3字符数组和字符指针

11.3.1常量和符号常量

11.3.2字符和字符串数组实例

11.41602液晶显示器的认识

11.4.11602液晶显示器的硬件接口介绍

11.4.21602液晶显示器的读写时序介绍

11.4.31602液晶显示器的指令介绍

11.4.41602液晶显示器简单实例

11.5习题

第12章1602液晶显示器与串口的应用实例

12.1通信时序解析

12.21602液晶显示器滚屏移动

12.3多个.c文件的初步认识

12.4计算器实例

12.5串口通信机制和实用的串口例程

12.6习题

第13章I2C总线与E2PROM

13.1I2C时序初步认识

13.2I2C寻址模式

13.3E2PROM的学习

13.3.1E2PROM单字节读写操作时序

13.3.2E2PROM多字节读写操作时序

13.3.3E2PROM的页写入

13.4I2C和E2PROM的综合实验学习

13.5习题

第14章实时时钟DS1302

14.1BCD的概念

14.2SPI时序初步认识

14.3实时时钟芯片DS1302

14.3.1DS1302的特点

14.3.2DS1302的硬件信息

14.3.3DS1302寄存器介绍

14.3.4DS1302通信时序介绍

14.3.5DS1302的时钟突发模式

14.4复合数据类型

14.4.1结构体数据类型

14.4.2共用体数据类型

14.4.3枚举数据类型

14.5电子钟实例

14.6习题

第15章红外通信与温度传感器DS18B20

15.1红外线的基本原理

15.2红外遥控通信原理

15.3NEC协议红外遥控器

15.4温度传感器DS18B20

15.5习题

第16章模/数与数/模转换

16.1模/数和数/模转换的基本概念

16.2ADC的主要指标

16.3PCF8591的硬件接口

16.4PCF8591的软件编程

16.5A/D差分输入信号

16.6D/A转换输出

16.7简易信号发生器实例

16.8习题

第17章实践项目: 多功能电子钟

17.1类型说明

17.2头文件

17.3条件编译

17.4项目实战

17.4.1项目需求分析

17.4.2程序结构规划

17.4.3程序代码编写

17.5习题

附录AASCII码字符表

附录BC语言运算符及优先级