1 STC12与初级人机接口模块 1
1.1 单片机最小系统 1
1.1.1 STC12单片机简介 1
1.1.2 单片机最小系统 1
1.2 TM1638按键显示模块 2
1.3 实践准备 2
1.3.1 安装程序 2
1.3.2 新建项目 4
1.4 编写第一个程序 4
1.4.1 明确任务 4
1.4.2 编写程序 5
1.4.3 程序解释 10
1.5 程序的编译与调试 10
1.5.1 编译程序 10
1.5.2 调试程序 11
1.6 程序的下载和运行 12
1.6.1 设置HEX输出 12
1.6.2 连接编程器 12
1.6.3 运行调试 13
2 STC12 ADC、T/C、并口应用 14
2.1 ADC应用——电位器输入检测 14
2.1.1 电位器与STC12片内ADC 14
2.1.2 模块配置 15
2.1.3 程序设计 15
2.1.4 运行调试 17
2.2 T0计数应用——光电开关脉冲计数 18
2.2.1 光电开关简介 18
2.2.2 T0用作计数器 19
2.2.3 模块配置 19
2.2.4 程序设计 20
2.2.5 运行调试 21
2.3 T0定时应用——继电器控制 22
2.3.1 电磁铁与继电器 22
2.3.2 T0用作定时器 23
2.3.3 模块配置 23
2.3.4 程序设计 24
2.3.5 运行调试 26
2.4 T0、T1联合定时——舵机控制 26
2.4.1 舵机简介 26
2.4.2 T0、T1联合定时 27
2.4.3 模块配置 28
2.4.4 程序设计 28
2.4.5 运行调试 30
2.5 T0、T1、ADC、并口应用——直流电机控制 31
2.5.1 L298N模块简介 31
2.5.2 PWM调速的实现 31
2.5.3 霍尔开关测速 32
2.5.4 模块配置 33
2.5.5 程序设计 33
2.5.6 运行调试 36
2.6 T0、T1、ADC、并口应用——步进电机控制 37
2.6.1 两相步进电机的驱动 37
2.6.2 模块配置 37
2.6.3 程序设计 38
2.6.4 运行调试 42
3 STC12 PCA、串口、外部中断应用 44
3.1 PCA捕获功能应用——旋转编码器脉冲计数 44
3.1.1 旋转编码器简介 44
3.1.2 PCA的捕获功能 44
3.1.3 模块配置 45
3.1.4 程序设计 45
3.1.5 运行调试 47
3.2 PWM输出应用——直流电机调速 48
3.2.1 PCA的PWM输出 48
3.2.2 模块配置 48
3.2.3 程序设计 49
3.2.4 运行调试 52
3.3 PCA0、PCA1应用——直流电机滑台控制 53
3.3.1 AB编码器简介 53
3.3.2 模块配置 53
3.3.3 程序设计 54
3.3.4 运行调试 60
3.4 PCA脉冲输出应用——步进电机微步控制 61
3.4.1 A4988模块简介 61
3.4.2 PCA计数值的比较和匹配 62
3.4.3 模块配置 63
3.4.4 程序设计 63
3.4.5 运行调试 69
3.5 串口应用——串口舵机控制 70
3.5.1 串口舵机简介 70
3.5.2 模块配置 70
3.5.3 程序设计 71
3.5.4 运行调试 77
3.6 串口应用——蓝牙传输超声测距值 78
3.6.1 HC-SR04超声测距模块简介 78
3.6.2 模块配置 79
3.6.3 程序设计 79
3.6.4 运行调试 83
4 STC12时序信号处理应用 85
4.1 红外遥控器键码检测 85
4.1.1 红外发射/接收简介 85
4.1.2 模块配置 86
4.1.3 程序设计 86
4.1.4 运行调试 89
4.2 红外遥控器遥控步进电机运行 90
4.2.1 模块配置 90
4.2.2 程序设计 91
4.2.3 运行调试 96
4.3 SPI总线应用——DS1302模块测试 97
4.3.1 DS1302简介 97
4.3.2 模块配置 98
4.3.3 程序设计 99
4.3.4 运行调试 103
4.4 单总线应用——DHT11模块测试 103
4.4.1 DHT11温湿度传感器简介 103
4.4.2 模块配置 104
4.4.3 程序设计 105
4.4.4 运行调试 107
5 STC15片内资源应用 109
5.1 增强型PWM输出测试 109
5.1.1 STC15W4K32S4引脚配置 109
5.1.2 STC15增强型PWM波形发生器 110
5.1.3 模块配置 110
5.1.4 程序设计 111
5.1.5 运行调试 114
5.2 PWM输出与引脚置换应用——双驱小车控制 115
5.2.1 MX1508模块简介 115
5.2.2 模块配置 116
5.2.3 程序设计 117
5.2.4 运行调试 121
5.3 ADC与PWM应用——舵机机械手的操控 122
5.3.1 STC15的ADC简介 122
5.3.2 模块配置 123
5.3.3 程序设计 123
5.3.4 运行调试 126
5.4 CCP应用——三路超声测距的实现 127
5.4.1 模块配置 127
5.4.2 程序设计 128
5.4.3 运行调试 133
5.5 外部中断应用——滑块自动往返控制 134
5.5.1 滑台组成 134
5.5.2 模块配置 134
5.5.3 程序设计 135
5.5.4 运行调试 141
5.6 SPI应用——MAX6675测温与NRF24L01无线通信 142
5.6.1 SPI接口简介 142
5.6.2 MAX6675简介 143
5.6.3 NRF24L01简介 145
5.6.4 模块配置 146
5.6.5 程序设计一 147
5.6.6 程序设计二 150
5.6.7 程序设计三 153
5.6.8 运行调试 156
5.7 比较器测试 157
5.7.1 STC15W4K48S4比较器简介 157
5.7.2 模块配置 159
5.7.3 程序设计 159
5.7.4 运行调试 161
6 STC15与串口人机界面 163
6.1 三色LED控制 163
6.1.1 HMI画面设计 163
6.1.2 模块配置 164
6.1.3 程序设计 164
6.1.4 运行调试 167
6.2 电位器输入测试 168
6.2.1 HMI画面设计 168
6.2.2 模块配置 169
6.2.3 程序设计 170
6.2.4 运行调试 173
6.3 舵机操控 173
6.3.1 HMI画面设计 173
6.3.2 模块配置 174
6.3.3 程序设计 175
6.3.4 运行调试 177
6.4 MAX6675测温曲线显示 177
6.4.1 HMI画面设计 177
6.4.2 模块配置 178
6.4.3 程序设计 179
6.4.4 运行调试 181
6.5 步进电机滑台与安卓app设计 182
6.5.1 模块配置 182
6.5.2 安卓app设计 182
6.5.3 STC15程序设计 187
6.5.4 运行调试 192
6.6 直流电机滑台与安卓app设计 192
6.6.1 模块配置 192
6.6.2 安卓app设计 193
6.6.3 STC 15程序设计 195
6.6.4 运行调试 201
6.7 圆盘式点胶机与安卓app设计 202
6.7.1 点胶机组成与模块配置 202
6.7.2 安卓app设计 203
6.7.3 STC15程序设计 207
6.7.4 加工数据的EEPROM写入 217
6.7.5 运行调试 221
6.8 XY打标机与安卓app设计 222
6.8.1 打标机组成与模块配置 222
6.8.2 安卓app设计 223
6.8.3 STC 15程序设计 226
6.8.4 加工数据的EEPROM写入 234
6.8.5 运行调试 234
7 STC15与PC组态监控 236
7.1 I/O接点的PC监控 236
7.1.1 从站1硬件组建 236
7.1.2 PC监控设计 237
7.1.3 从站1程序设计 243
7.1.4 运行调试 247
7.2 超声测距转台与PC监控 248
7.2.1 转台机体制作 248
7.2.2 串口发送测距值的系统设计 249
7.2.3 配有HMI的系统设计 255
7.2.4 配有PC监控的系统设计 264
7.3 四轴机械手与PC监控 278
7.3.1 机械手机体制作及模块配置 278
7.3.2 滑台运动测试 278
7.3.3 配有HMI的系统设计 282
7.3.4 配有PC监控的系统设计 293
参考文献 310