第1章 单片机基本知识 1
1.1 初识单片机 1
1.1.1 单片机概念 1
1.1.2 单片机应用 2
1.2 51系列单片机 3
1.2.1 51系列单片机介绍 3
1.2.2 单片机厂家介绍 4
1.3 STC单片机 8
1.3.1 STC单片机的选型 9
1.3.2 STC单片机主要性能 9
1.3.3 STC单片机特点 10
1.3.4 STC单片机按封装分类 10
1.3.5 STC89C51单片机简介 11
第2章 开发系统及应用 13
2.1 硬件开发工具 13
2.2 软件开发工具 14
2.3 单片机最小系统电路 14
2.3.1 时钟电路 14
2.3.2 复位电路 16
任务1 制作南瓜灯 17
第3章 单片机并行I/O口及应用 20
3.1 单片机并行I/O口 20
3.1.1 P0口 20
3.1.2 P1口 21
3.1.3 P2口 21
3.1.4 P3口 22
3.2 C语言的基本数据类型 22
3.2.1 基本数据类型 22
3.2.2 运算符和表达式 24
任务2 流水灯控制 26
3.3 C语言基本结构 27
3.3.1 循环结构 27
3.3.2 选择结构 32
任务3 模拟汽车转向灯 35
3.4 数组 37
3.4.1 一维数组和二维数组 38
3.4.2 一维字符数组 39
3.5 C语言的函数 40
3.5.1 函数的一般形式 40
3.5.2 函数的调用 41
任务4 制作彩色瀑布 42
第4章 显示电路控制 46
4.1 LED数码管工作原理 46
4.1.1 LED数码管结构 46
4.1.2 LED数码显示原理 46
4.2 LED数码管静态显示 49
4.2.1 1位数字符号静态显示 49
4.2.2 3位数字符号静态显示 52
4.3 LED数码管动态显示 53
任务5 简易秒表的设计 56
4.4 LED大屏幕 60
4.4.1 LED大屏幕显示器的结构和原理 60
4.4.2 LED大屏幕显示器接口 62
任务6 LED大屏幕广告牌设计 64
第5章 定时器/计数器的使用 70
5.1 定时器/计数器的使用 70
5.1.1 定时器/计数器的设置及控制 70
5.1.2 定时器/计数器的工作方式 72
5.1.3 定时器/计数器的初始化 75
任务7 交通灯设计 76
第6章 中断系统 85
6.1 中断系统的工作原理 85
6.1.1 中断与中断源 85
6.1.2 中继寄存器及中断优先级 86
6.1.3 中断响应处理 88
任务8 外部中断控制彩灯设计 89
第7章 键盘控制 93
7.1 键盘的工作原理 93
7.2 独立式键盘控制 93
7.3 矩阵式键盘控制 95
任务9 四人抢答器的实现 98
第8章 串行通信 103
8.1 串行通信基础 103
8.1.1 并行通信与串行通信 103
8.2 单片机的串行接口 105
8.2.1 串行口结构 106
8.2.2 串行口寄存器 106
8.2.3 串行口通信设置 108
8.3 RS232通信 109
任务10 数据传送系统设计 110
第9章 综合应用 114
9.1 项目一:循迹智能车 114
9.1.1 设计目标及工作原理 114
9.1.2 硬件设计 114
9.1.3 程序设计 118
9.1.4 功能测试 120
9.2 综合项目二:语音播报的温湿度仪 120
9.2.1 工作原理 120
9.2.2 硬件电路设计 121
9.2.3 程序设计 125
9.2.4 功能调试 128
9.2.5 项目总结 128
附录 Keil C新增的关键字 129
参考文献 130