项目1 建立第一个C项目 1
1.1 项目要点 1
1.2 主要内容 1
1.3 项目目标与要求 3
1.4 项目内容 3
1.5 支撑知识与技术 14
1.5.1 工程文件及管理 14
1.5.2 Keil uVision4软件使用 17
1.6 选作实训项目 24
1.6.1 选作实训1 24
1.6.1 选作实训2 25
1.6.3 选作实训3 26
项目2 单片机内部结构与系统 27
2.1 项目要点 27
2.2 主要内容 27
2.3 项目目标与要求 27
2.4 项目内容 27
2.4.1 LED屏控制电路 27
2.4.2 直接传送数据 29
2.5 支撑知识与技术 31
2.5.1 8051单片机基本组成与特点 31
2.5.2 8051单片机内部结构 33
2.5.3 单片机工作方式 40
2.5.4 单片机指令系统 42
2.6 选作实训项目 44
2.6.1 选作实训1 44
2.6.2 选作实训2 44
2.6.3 选作实训3 45
项目3 数据与运算 46
3.1 项目要点 46
3.2 主要内容 46
3.3 项目目标与要求 46
3.4 项目内容 47
3.4.1 实训1 47
3.4.2 实训2 49
3.5 支撑知识与技术 50
3.5.1 二进制与十六进制 50
3.5.2 常量 52
3.5.3 变量 52
3.5.4 数组 54
3.5.5 运算符与表达式 59
3.6 选作实训项目 71
3.6.1 选作实训1 71
3.6.2 选作实训2 71
3.6.3 选作实训3 72
3.6.3 选作实训4 73
项目4 选择结构设计 74
4.1 项目要点 74
4.2 主要内容 74
4.3 项目目标与要求 74
4.4 项目内容 75
4.4.1 实训1 75
4.4.2 实训2 76
4.5 支撑知识与技术 77
4.5.1 有效性检验 77
4.5.2 程序流程图 78
4.5.3 计算机的“真”与“假” 78
4.5.4 由if和else构成的选择结构 79
4.5.5 由switch构成的多分支选择结构 86
4.5.6 关系运算符 88
4.6 选作实训项目 89
4.6.1 选作实训1 89
4.6.2 选作实训2 90
项目5 循环控制设计 91
5.1 项目要点 91
5.2 主要内容 91
5.3 项目目标与要求 91
5.4 项目内容 92
5.4.1 实训1 92
5.4.2 实训2 93
5.4.3 实训3 95
5.5 支撑知识与技术 96
5.5.1 while循环 96
5.5.2 do-while循环 98
5.5.3 for循环结构 99
5.5.4 提前终止循环 102
5.5.5 自加、自减运算符 104
5.5.6 如何使用循环 105
5.6 选作实训项目 106
5.6.1 选作实训1 106
5.6.2 选作实训2 107
5.6.3 选作实训3 107
5.6.4 选作实训4 108
项目6 函数与点线面设计 110
6.1 项目要点 110
6.2 主要内容 110
6.3 项目目标与要求 111
6.4 项目内容 111
6.4.1 点设计 111
6.4.2 线设计 116
6.4.3 面设计 122
6.5 支撑知识与技术 127
6.5.1 函数 127
6.5.2 函数定义的一般形式 128
6.5.3 有参函数的一般形式 128
6.5.4 函数调用的一般形式 129
6.5.5 函数的参数与值 130
6.5.6 函数的嵌套调用 133
6.5.7 函数的递归调用 134
6.6 选作实训项目 136
6.6.1 选作实训1 136
6.6.2 选作实训2 137
6.6.3 选作实训3 137
6.6.4 选作实训4 137
6.6.5 选作实训5 138
6.6.6 选作实训6 138
6.6.7 选作实训7 139
6.6.8 选作实训8 139
6.6.9 选作实训9 139
项目7 LED字模技术 141
7.1 项目要点 141
7.2 主要内容 141
7.3 项目目标与要求 141
7.4 项目内容 142
7.4.1 汉字字模数据获取 142
7.4.2 图标数据获取 144
7.4.3 字库建立与应用 145
7.5 支撑知识与技术 147
7.5.1 文字字模 147
7.5.2 字模工具的使用 148
7.5.3 图标点阵 154
7.5.4 点阵数据的应用 156
7.6 选作实训项目 157
7.6.1 选作实训1 157
7.6.2 选作实训2 157
7.6.3 选作实训3 157
7.6.4 选作实训4 158
7.6.5 选作实训5 158
项目8 LED动感设计 159
8.1 项目要点 159
8.2 主要内容 159
8.3 项目目标与要求 159
8.4 项目内容 160
8.4.1 闪烁效果的设计 160
8.4.2 滚动效果的设计 163
8.4.3 光栅背景效果的设计 166
8.5 支撑知识与技术 168
8.5.1 闪烁 168
8.5.2 移动 172
8.5.3 光栅 173
8.6 范例 177
8.7 选作实训项目 182
8.7.1 选作实训1 182
8.7.2 选作实训2 182
8.7.3 选作实训3 182
8.7.4 选作实训4 182
8.7.5 选作实训5 183
8.7.6 自由设计 183
项目9 构造数据类型 184
9.1 项目要点 184
9.2 主要内容 184
9.3 项目目标与要求 184
9.4 项目内容 185
9.4.1 实训1 185
9.4.2 实训2 186
9.5 支撑知识与技术 189
9.5.1 结构体及结构体定义 189
9.5.2 结构体变量的声明 189
9.5.3 结构体成员的引用 192
9.5.4 结构体变量的赋值 192
9.5.5 结构体数组 193
9.5.6 共用体 194
9.6 选作实训项目 196
项目10 内部资源目 198
10.1 项目要点 198
10.2 主要内容 198
10.3 项目目标与要求 198
10.4 项目内容 199
10.4.1 实训1 199
10.4.2 实训2 202
10.4.3 实训3 204
10.5 支撑知识与技术 210
10.5.1 单片机定时/计数器 210
10.5.2 中断系统 214
10.5.3 串行通信 218
10.6 选作实训项目 220
10.6.1 选作实训1 220
10.6.2 选作实训2 221
10.6.3 选作实训3 222
项目11 LED显示屏应用设计 223
11.1 十字路口交通指示牌 223
11.2 人行通道通行警示 229
11.3 施工现场的安全提示 232
11.4 茶文化广告 236
附录1 安装Keil uVision3及设置编译器 240
附录2 ASC Ⅱ码字符表 242
附录3 参考数据表 244
附录4 系统驱动程序 247
参考文献 252