目录 2
第1章 PIC16F877单片机实验板介绍 2
1.1 模板功能介绍 2
1.2 实验板的硬件布局 4
1.3 测试点及主要器件介绍 5
第2章 PIC16F877运算子程序 8
2.1 PIC16F877汇编语言程序主体框架 8
2.2 四则运算子程序 10
2.3 3字节浮点四则运算子程序 18
2.4 定点数与浮点数转换程序 35
2.5 码制转换程序设计 39
2.6 定点数开方子程序 45
2.7 浮点数开方程序 50
2.8 小数点显示位置确定子程序 52
第3章 PIC16F877单片机的外围功能模块 58
3.1 输入/输出(I/O)端口 58
3.2 利用MSSP模块的SPI方式实现与LED数码显示接口 59
3.3 利用I/O直接扩展键盘 67
3.4 利用PORTB端口的电平变化中断实现键盘功能 73
3.5 利用MSSP模块的SPI方式扩展并行输入端口 78
3.6 CCP模块的PWM波形产生方法 81
3.7 监视定时器(WDT)的应用 86
3.8 休眠工作方式与其激活 90
第4章 模拟量输入与输出 93
4.1 A/D转换的应用 93
4.2 MSSP模块的I2C总线方式扩展串行D/A芯片 102
第5章 数字滤波及控制算法 112
5.1 平均值滤波 112
5.2 滑动平均值滤波 115
5.3 防脉冲干扰平均值滤波 117
5.4 中值滤波 119
5.5 一阶滞后滤波 120
5.6 PID(比例—积分—微分)算法 124
5.7 FFT算法实现 128
5.8 FFT程序应用 143
5.9 小数点显示位置确定子程序 146
第6章 秒表 152
6.1 工作原理 152
6.2 程序设计 153
第7章 与PLC接口的4位LED数字显示表 161
7.1 数显表头硬件电路原理 161
7.3 程序流程图 163
7.2 数显表头软件设计思路 163
7.4 程序清单 164
第8章 通用同步/异步通信的应用 176
8.1 USART的波特率发生器 176
8.2 USART的异步工作方式 176
8.3 USART同步主控方式 178
8.4 USART同步从动方式 179
8.5 单片机双机异步通信 180
8.6 单片机双机同步通信 183
8.7 单片机与PC机通信 186
第9章 PIC16F87X在CAN通信中的应用 192
9.1 CAN通信原理 192
9.2 硬件电路 198
9.3 软件清单 205
第10章 利用CCP模块设计频率计 216
10.1 CCP模块的捕捉工作方式简介 216
10.2 设计要求 217
10.3 硬件原理图 218
10.4 设计与测试原理 218
10.5 程序设计 219
11.1 模拟输入电路 235
第11章 交流电压测量 235
11.2 数据处理原理 236
11.3 程序流程图及程序清单 237
第12章 工频数字多用表 249
12.1 设计要求 249
12.2 硬件电路 249
12.3 系统实现及计算公式 251
12.4 程序说明及程序清单 252
第13章 数控步进直流稳压电源 285
13.1 电路原理图 285
13.2 系统工作原理 286
13.3 程序设计 287
第14章 单片机控制的电动自行车驱动系统 299
14.1 单片机控制的电动自行车驱动系统简介 299
14.2 无刷直流电动机的工作原理 299
14.3 控制系统结构设计 300
14.4 控制系统软件设计 301
第15章 液晶显示模块编程 316
15.1 PIC16F877与MG-12232的硬件接口电路 316
15.2 软件编程 318
15.3 液晶显示屏的结构 322
15.4 程序清单 323
参考文献 340