第1章 单片机MCS-51与MPC82G516 1
1-1 单片机MCS-51与MPC82G516特性 1
1-1-1 MPC82G516特性 2
1-1-2 MPC82G516引脚介绍 4
1-1-3 MPC82G516的内部存储器 11
1-2 MPC82G516硬件 19
1-2-1 MPC82G516输入/输出接口驱动电路 19
1-2-2 用MPC82G5 16替换8052的方法 23
1-2-3 MPC82G516仿真开发板 24
第2章 KeilμVision4工具软件 31
2-1 C51语言与Keil基础操作 31
2-1-1 C51语言格式 32
2-1-2 如何进入Keil软件 33
2-1-3 Keil基本操作 34
2-2 项目程序 40
2-2-1 项目程序执行 40
2-2-2 建立新项目 43
2-3 Build与Debug高级操作 46
2-3-1 Build(建立)高级操作 46
2-3-2 Debug(调试)高级操作 48
2-4 在线仿真(ICE)与在线烧录(DFU) 54
2-4-1 Keil与在线仿真(ICE)操作 54
2-4-2 建立在线仿真(ICE)新项目 56
2-4-3 在线烧录器(DFU)操作 58
第3章 C51语言程序 59
3-1 数据类型与运算式 59
3-1-1 常量及变量数据 59
3-1-2 常量及变量名称 61
3-1-3 变量的数据类型 63
3-1-4 C51语言的运算式与运算符 82
3-2 C51语言指令 93
3-2-1 if指令 93
3-2-2 switch...case...default指令 100
3-2-3 while指令 102
3-2-4 for指令 106
3-2-5 do...while指令 110
3-2-6 break指令 111
3-2-7 continue指令 113
3-3 C51语言函数库实例及伪指令 113
3-3-1 自定义函数 113
3-3-2 系统函数 117
3-3-3 前置处理伪指令 121
3-4 多个程序编译 123
3-4-1 单一项目多个程序 123
3-4-2 多项目程序 123
3-4-3 程序库的应用 124
第4章 输入/输出接口控制 125
4-1 基本输入/输出接口 125
4-1-1 基本输入/输出 126
4-1-2 红黄绿灯输出 129
4-2 步进电动机控制 132
4-2-1 步进电动机控制 132
4-2-2 步进电动机输出 133
4-3 七段显示器输出 136
4-3-1 七段显示器实例 136
4-3-2 七段显示器应用 140
4-4 点阵LED显示器控制 142
4-4-1 点阵显示器扫描控制 142
4-4-2 点阵显示器扫描实例 144
4-5 字符型液晶显示器控制 153
4-5-1 字符型LCD控制 154
4-5-2 字符型LCD实例 158
第5章 中断控制与外部中断 165
5-1 MPC82G516中断控制 166
5-1-1 MPC82G516中断寄存器 166
5-1-2 中断的设置 171
5-1-3 中断程序的工作方式 173
5-2 外部中断与按键中断控制 175
5-2-1 外部中断控制 175
5-2-2 按键中断(KBI)控制 181
5-3 键盘扫描 183
5-3-1 键盘扫描控制 183
5-3-2 键盘扫描实例 185
5-4 省电模式控制与仿真 193
5-4-1 外部中断唤醒省电模式 193
5-4-2 降低系统频率省电模式 195
第6章 定时/计数器控制 198
6-1 定时/计数器Timer0~1控制 198
6-1-1 Timer0~1控制 201
6-1-2 Timer0~1 202
6-1-3 Timer0~1中断 207
6-1-4 输出方波 210
6-2 Timer2控制 213
6-2-1 Timer2自动重新载入 215
6-2-2 Timer2定时捕捉 219
6-2-3 Timer2定时中断 221
6-2-4 Timer2时钟输出音乐 222
6-3 看门狗监视定时器控制 224
6-3-1 WDT控制 224
6-3-2 WDT应用 225
第7章 串行口UART控制 226
7-1 串行口UART1控制 226
7-1-1 串行口UART1 MODE0控制 228
7-1-2 串行口UART1 MODE1控制 233
7-1-3 UART人机接口 235
7-1-4 串行口UART1 MODE1 237
7-1-5 串行口UART的Timer2传输控制 241
7-1-6 串行口UART1中断 244
7-2 串行口函数 245
7-2-1 串行口函数printf() 246
7-2-2 串行口函数putchar()及puts() 247
7-2-3 串行口函数getchar()及getkey() 248
7-3 串行口UART2控制 249
7-3-1 串行口UART2时钟输出 251
7-3-2 串行口UART2控制 251
7-3-3 串行口UART2 MODE1 252
第8章 数字与模拟转换 254
8-1 数字/模拟转换器(DAC)控制 254
8-1-1 数字/模拟转换器控制 254
8-1-2 数字/模拟转换器实例 255
8-2 模拟/数字转换器(ADC)控制 260
8-2-1 模拟/数字转换器控制 260
8-2-2 模拟/数字转换器实例 262
第9章 串行接口(SPI)与应用控制 268
9-1 串行口SPI接口控制 269
9-1-1 SPI传输控制 271
9-1-2 SPI传输控制步骤 274
9-1-3 SPI传输实例 275
9-2 串行口EEPROM控制 276
9-2-1 串行口EEPROM控制 277
9-2-2 串行口EEPROM实例 279
第10章 可编程计数阵列(PCA)控制 286
10-1 PCA计数溢出定时控制 287
10-1-1 PCA计数溢出定时控制步骤 289
10-1-2 PCA计数溢出定时/计数器 289
10-2 PCA软件定时控制 291
10-2-1 PCA软件定时/计数器控制 293
10-2-2 PCA软件定时/计数器实例 293
10-3 PCA计数高速输出控制 296
10-3-1 PCA计数高速输出控制步骤 296
10-3-2 PCA计数高速输出实例 297
10-3-3 PCA计数高速输出音乐 299
10-4 PCA脉宽调制(PWM)控制 301
10-4-1 基本I/O及Timer的PWM控制 302
10-4-2 PCA计数PWM控制 304
10-4-3 PCA计数PWM输出 306
10-4-4 PCA计数PWM直流电动机控制 307
10-5 PCA定时捕捉器控制 309
10-5-1 PCA定时捕捉器控制步骤 309
10-5-2 PCA定时捕捉器 310
10-5-3 PCA光学编码器控制 312