1 单片机工程实践方法 1
1.1 单片机工程实践的内容 1
1.2 单片机工程实践的基本步骤 2
1.3 单片机工程实践的教学过程 4
1.4 单片机工程实践时间及进度安排 5
2 单片机系统的设计方法 6
2.1 单片机应用系统设计方法 6
2.1.1 总体方案论证 6
2.1.2 系统硬件设计 7
2.1.3 系统软件设计 8
2.2 实际题目示例和Keil uVision2软件使用 9
2.2.1 设计内容 9
2.2.2 基本要求 10
2.2.3 仿真功能板基本功能及技术指标 10
2.2.4 软件开发环境使用说明 13
2.3 Proteus的使用 29
2.3.1 软件打开 29
2.3.2 工作界面 29
2.3.3 数字电压表实例设计 30
2.4 Proteus和Keil的联调 33
2.5 AT89S51单片机下载器软件使用 35
3 AT89S51单片机简单应用实例 39
3.1 闪烁灯 39
3.1.1 任务 39
3.1.2 系统硬件电路实现 40
3.1.3 程序设计内容 40
3.1.4 C语言源程序 40
3.2 模拟开关灯 43
3.2.1 任务 43
3.2.2 系统硬件电路实现 43
3.2.3 程序设计内容 44
3.2.4 C语言源程序 44
3.3 多路开关状态指示 44
3.3.1 任务 44
3.3.2 系统硬件电路实现 45
3.3.3 程序设计内容 45
3.3.4 C语言源程序 45
3.4 广告灯的左移右移 46
3.4.1 任务 46
3.4.2 系统硬件电路实现 47
3.4.3 程序设计内容 47
3.4.4 C语言源程序 47
3.5 报警产生器 48
3.5.1 任务 48
3.5.2 系统硬件电路实现 48
3.5.3 程序设计 49
3.5.4 C语言源程序 49
3.6 I/O并行口直接驱动LED显示 50
3.6.1 任务 50
3.6.2 系统硬件电路实现 50
3.6.3 程序设计 50
3.6.4 C语言源程序 51
3.7 按键识别方法 52
3.7.1 任务 52
3.7.2 系统硬件电路实现 52
3.7.3 程序设计 52
3.7.4 C语言源程序 53
3.8 一键多功能按键识别技术 54
3.8.1 任务 54
3.8.2 系统硬件电路实现 54
3.8.3 程序设计 55
3.8.4 C语言源程序 56
3.9 00-99计数器 56
3.9.1 任务 56
3.9.2 系统硬件电路实现 57
3.9.3 程序设计内容 57
3.9.4 C语言源程序 57
3.10 可预置可逆4位计数器 58
3.10.1 任务 58
3.10.2 系统硬件电路实现 59
3.10.3 程序设计内容 59
3.10.4 C语言源程序 60
3.11 动态数码显示技术 61
3.11.1 任务 61
3.11.2 系统硬件电路实现 62
3.11.3 程序设计内容 62
3.11.4 C语言源程序 62
3.12 4×4矩阵式键盘识别技术 63
3.12.1 任务 63
3.12.2 系统硬件电路实现 63
3.12.3 程序设计内容 64
3.12.4 C语言源程序 65
3.13 定时计数器T0作定时应用技术 67
3.13.1 任务 67
3.13.2 系统硬件电路实现 67
3.13.3 程序设计内容 68
3.13.4 C语言源程序(查询法) 68
3.13.5 C语言源程序(中断法) 69
3.14 99秒马表设计 70
3.14.1 任务 70
3.14.2 系统硬件电路实现 70
3.14.3 C语言源程序 71
3.15 “嘀、嘀、……”报警声 73
3.15.1 任务 73
3.15.2 系统硬件电路实现 73
3.15.3 程序设计 73
3.15.4 C语言源程序 74
3.16 “叮咚”门铃 74
3.16.1 任务 74
3.16.2 系统硬件电路实现 75
3.16.3 程序设计 75
3.16.4 C语言源程序 76
3.17 拉幕式数码显示技术 77
3.17.1 任务 77
3.17.2 系统硬件电路实现 77
3.17.3 程序设计 78
3.17.4 C语言源程序 79
3.18 电子琴 80
3.18.1 任务 80
3.18.2 系统硬件电路实现 81
3.18.3 相关程序内容 81
3.18.4 C语言源程序 82
3.19 模拟计算器数字输入及显示 84
3.19.1 任务 84
3.19.2 系统硬件电路实现 84
3.19.3 程序设计内容 85
3.19.4 C语言源程序 85
3.20 8×8 LED点阵显示技术 87
3.20.1 任务 87
3.20.2 硬件电路实现 87
3.20.3 程序设计内容 87
3.20.5 C语言源程序 89
3.21 点阵式LED“0~9”数字显示技术 90
3.21.1 任务 90
3.21.2 硬件系统电路实现 90
3.21.3 程序设计内容 90
3.21.4 C语言源程序 91
3.22 点阵式LED简单图形显示技术 92
3.22.1 任务 92
3.22.2 硬件系统电路实现 93
3.22.3 程序设计内容 93
3.22.4 C语言源程序 94
3.23 ADC0809A/D转换器基本应用技术 95
3.23.1 基本知识 95
3.23.2 ADC0809应用说明 96
3.23.3 任务 96
3.23.4 系统硬件电路实现 97
3.23.5 程序设计内容 98
3.23.6 C语言源程序 98
3.24 数字电压表 99
3.24.1 任务 99
3.24.2 系统硬件电路实现 101
3.24.3 程序设计内容 101
3.24.4 C语言源程序 101
3.25 两点间温度控制 103
3.25.1 任务 103
3.25.2 系统硬件电路实现 104
3.25.3 C语言源程序 104
3.26 四位数数字温度计 107
3.26.1 温度传感器AD590简介 107
3.26.2 任务 107
3.26.3 系统硬件电路实现 107
3.26.4 程序设计内容 108
3.26.5 C语言源程序 108
3.27 6位数显频率计数器 111
3.27.1 任务 111
3.27.2 系统硬件电路实现 112
3.27.3 程序设计内容 112
3.27.4 C语言源程序 112
3.28 DS18B20数字温度计使用 114
3.28.1 DS181320的基本知识 114
3.28.2 任务 116
3.28.3 系统硬件电路实现 117
3.28.4 C语言源程序 117
4 单片机课程设计实例 122
4.1 数字万年历系统 122
4.1.1 系统功能介绍 122
4.1.2 系统结构框图 122
4.1.3 软件流程图 122
4.1.4 C程序清单 123
4.2 作息时间控制器 146
4.2.1 系统功能介绍 146
4.2.2 系统电路图 146
4.2.3 软件流程图 148
4.2.4 C程序清单 148
4.3 电子密码锁 174
4.3.1 系统功能介绍 174
4.3.2 硬件系统结构图 174
4.3.3 C程序清单 177
4.4 交通信号灯模拟控制 184
4.4.1 定时交通信号灯控制 184
4.4.2 有时间显示的定时交通信号灯控制 188
4.4.3 有急救车优先的交通信号灯控制 192
4.4.4 功能较全的交通信号灯控制 195
4.5 直流风扇电机转速测量与PWM控制 205
4.5.1 设计目的 205
4.5.2 设计内容 205
4.5.3 硬件原理 206
4.5.4 软件设计思路 206
4.5.5 系统说明及应用 208
4.5.6 程序清单 208
4.6 红外遥控系统 215
4.6.1 常用红外遥控编码芯片 216
4.6.2 红外遥控系统 219
4.6.3 单片机多功能红外遥控系统 220
4.7 单片机课程设计参考选题 240
参考文献 247