目录 1
第1章 PICCC语言基础和特点 1
1.1 PICC与ANSIC标准的区别 1
1.2 处理器支持 1
1.3 配置设置 2
1.4 ID区域 3
1.5 EEPROM数据 3
1.6 位指令 3
1.7 支持数据类型 4
1.8 绝对变量 8
1.9 结构和联合 8
1.10 ROM和RAM中的字符串 10
1.11 常数型和可变型变量 10
1.12 ROM对象的存放及访问 11
1.13 特殊类型限定词 11
1.14 指针 12
1.15 工具定义特性 14
1.16 C的中断处理 14
1.17 C语言和汇编语言的混合编程 17
1.18 程序链接 20
1.19 函数参数传递 20
1.20 函数返回值 21
1.21 函数调用规则 23
1.22 局部变量 23
1.23 pragma伪指令 24
1.24 标准I/O函数 26
1.25 MPLAB的特殊调试信息 26
2.1 生成单源文件项目 27
第2章 PICC的使用 27
2.2 生成多源文件项目 37
第3章 PICC的库函数 44
3.1 ABS函数 44
3.2 ACOS函数 45
3.3 ASCTIME函数 45
3.4 ASIN函数 47
3.5 ATAN函数 47
3.6 ATAN2函数 48
3.8 ATOI函数 49
3.7 ATOF函数 49
3.9 ATOL函数 50
3.10 CEIL函数 51
3.11 COS函数 51
3.12 COSH,SINH,TANH函数 52
3.13 CTIME函数 53
3.14 DI,EI函数 53
3.15 DIV函数 54
3.16 EEPROM_READ,EEPROM_WRITE函数 55
3.18 EXP函数 56
3.17 EVAL_POLY函数 56
3.19 FABS函数 57
3.20 FLOOR函数 57
3.21 FREXP函数 58
3.22 GET_CAL_DATA函数 59
3.23 GMTIME函数 59
3.24 ISALNUM,ISALPHA,ISDIGIT,ISLOWER等函数 60
3.25 KBHIT函数 62
3.27 LDIV函数 63
3.26 LDEXP函数 63
3.28 LOCALTIME函数 64
3.29 LOG,LOG10函数 65
3.30 MEMCHR函数 66
3.31 MEMCMP函数 67
3.32 MEMCPY函数 68
3.33 MEMMOVE函数 69
3.34 MEMSET函数 69
3.35 MODF函数 70
3.36 PERSIST_CHECK,PERSIST_VALIDATE函数 71
3.37 POW函数 72
3.38 PRINTF函数 72
3.39 RAND函数 74
3.40 SIN函数 75
3.41 SPRINTF函数 76
3.42 SQRT函数 76
3.43 SRAND函数 77
3.44 STRCAT函数 78
3.45 STRCHR,STRICHR函数 79
3.46 STRCMP,STRICMP函数 80
3.47 STRCPY函数 81
3.48 STRCSPN函数 82
3.49 STRLEN函数 82
3.50 STRNCAT函数 83
3.51 STRNCMP,STRNICMP函数 84
3.52 STRNCPY函数 85
3.53 STRPBRK函数 86
3.54 STRRCHR,STRRICHR函数 87
3.56 STRSTR,STRISTR函数 88
3.55 STRSPN函数 88
3.57 STRTOK函数 89
3.58 TAN函数 90
3.59 TIME函数 91
3.60 TOLOWER,TOUPPER,TOASCII函数 91
3.61 VA_START,VA_ARG,VA_END函数 92
3.62 XTOI函数 93
第4章 PIC16F877单片机实验板介绍 96
4.1 实验板功能介绍 96
4.2 实验板的硬件布局 98
4.3 测试点及主要器件介绍 99
第5章 PIC16F877的外围功能模块 103
5.1 输入/输出端口 103
5.2 利用MSSP模块的SPI方式实现与LED数码显示接口 104
5.3 利用I/O直接扩展键盘 111
5.4 利用PORTB端口的电平变化中断实现键盘功能 116
5.5 利用MSSP模块的SPI方式扩展并行输入端口 120
5.6 CCP模块的PWM波形产生方法 123
5.7 监视定时器的应用 126
5.8 休眠工作方式与其激活 130
第6章 模拟量输入与输出 133
6.1 A/D转换的应用 133
6.2 MSSP模块的I2C总线方式扩展串行D/A芯片 139
第7章 秒表 146
7.1 工作原理 146
7.2 程序设计 147
第8章 通用同步/异步通信的应用 155
8.1 USART的波特率发生器 155
8.2 USART的异步工作方式 156
8.3 USART的同步主控方式 157
8.4 USART的同步从动方式 158
8.5 单片机双机异步通信 159
8.6 单片机双机同步通信 163
8.7 单片机与PC机通信 168
第9章 PIC16F87X在CAN通信中的应用 171
9.1 CAN通信原理 171
9.2 硬件电路 177
9.3 软件清单 184
10.1 CCP模块的捕捉工作方式简介 193
第10章 利用CCP模块设计频率计 193
10.2 设计要求 194
10.3 硬件原理图 195
10.4 设计与测试原理 195
10.5 程序设计 196
第11章 交流电压测量 204
11.1 模拟输入电路 204
11.2 数据处理原理 205
11.3 程序流程图及程序清单 206
12.1 数显表头硬件电路原理 211
第12章 与PLC接口的4位LED数字显示表 211
12.2 数显表头软件设计思路 213
12.3 程序流程图 213
12.4 程序清单 214
第13章 数控步进直流稳压电源 221
13.1 电路原理图 221
13.2 系统工作原理 222
13.3 程序设计 223
14.2 无刷直流电动机的工作原理 231
14.1 单片机控制的电动自行车驱动系统简介 231
第14章 单片机控制的电动自行车驱动系统 231
14.3 控制系统结构设计 232
14.4 控制系统软件设计 233
第15章 液晶显示模块编程 244
15.1 PIC16F877与MG-12232的硬件接口电路 244
15.2 软件编程 246
15.3 液晶显示屏的结构 250
15.4 程序清单 250
参考文献 260