《PIC项目实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(塞浦)伊瓦海姆著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115229175
  • 页数:342 页
图书介绍:本书深入介绍了PIC18F系列微处理器和mikroC编译器的特性,并结合20多个项目实例,阐述了使用mikroC语言设计PIC微处理器应用的方法,以及SD卡、USB总线、实时操作系统等的原理和应用。

第1章 微型计算机系统 1

1.1 引言 1

1.2 微控制器系统 1

1.2.1 RAM 3

1.2.2 ROM 3

1.2.3 PROM 4

1.2.4 EPROM 4

1.2.5 EEPROM 4

1.2.6 Flash EEPROM 4

1.3 微控制器的特点 4

1.3.1 工作电压 4

1.3.2 时钟 5

1.3.3 定时器 5

1.3.4 看门狗 5

1.3.5 复位输入 5

1.3.6 中断 5

1.3.7 掉电检测器 6

1.3.8 模数转换器 6

1.3.9 串行输入/输出 6

1.3.10 EEPROM数据存储器 6

1.3.11 LCD驱动器 6

1.3.12 模拟比较器 7

1.3.13 实时时钟 7

1.3.14 睡眠模式 7

1.3.15 上电复位 7

1.3.16 低功耗运行 7

1.3.17 电流拉出/灌入能力 7

1.3.18 USB接口 7

1.3.19 电机控制接口 7

1.3.20 CAN接口 7

1.3.21 以太网接口 8

1.3.22 ZigBee接口 8

1.4 微控制结构 8

1.5 数制 8

1.5.1 十进制数系统 9

1.5.2 二进制数系统 9

1.5.3 八进制数系统 9

1.5.4 十六进制数系统 9

1.6 二进制数转换为十进制数 10

1.7 十进制数转换为二进制数 10

1.8 二进制数转换为十六进制数 11

1.9 十六进制数转换为二进制数 12

1.10 十六进制数转换为十进制数 12

1.11 十进制数转换为十六进制数 13

1.12 八进制数转换为十进制数 13

1.13 十进制数转换为八进制数 14

1.14 八进制数转换为二进制数 14

1.15 二进制数转换为八进制数 15

1.16 负数 15

1.17 二进制数的加法 16

1.18 二进制数的减法 16

1.19 二进制数的乘法 17

1.20 二进制数的除法 17

1.21 浮点数 18

1.22 浮点数转换为十进制数 19

1.22.1 规范化浮点数 19

1.22.2 十进制数转换为浮点数 19

1.22.3 浮点数的乘除法 20

1.22.4 浮点数的加减法 21

1.23 BCD数 21

1.24 小结 22

1.25 练习题 22

第2章 PIC18F系列微控制器 24

2.1 PIC18FXX2的结构 26

2.1.1 程序存储器结构 28

2.1.2 数据存储器结构 29

2.1.3 配置寄存器 30

2.1.4 电源 34

2.1.5 复位 34

2.1.6 时钟源 35

2.1.7 看门狗定时器 39

2.1.8 并行I/O接口 39

2.1.9 定时器 43

2.1.10 捕捉/比较/PWM模块(CCP) 50

2.1.11 模数转换器(A/D)模块 54

2.1.12 中断 60

2.2 小结 69

2.3 练习题 69

第3章 C编程语言 70

3.1 mikroC程序的结构 70

3.1.1 注释 70

3.1.2 一个程序的开始和结束 71

3.1.3 程序语句的结尾 71

3.1.4 空白 71

3.1.5 区分大小写 72

3.1.6 变量名 72

3.1.7 变量类型 72

3.1.8 常量 74

3.1.9 转义序列 75

3.1.10 静态变量 76

3.1.11 外部变量 76

3.1.12 动态变量 76

3.1.13 枚举变量 76

3.1.14 数组 77

3.1.15 指针 78

3.1.16 结构体 79

3.1.17 联合体 81

3.1.18 C语言的运算符 82

3.1.19 修改控制流 87

3.1.20 结合mikroC和汇编语言 93

3.2 PIC微控制器输入输出端口编程 94

3.3 程序例题 95

3.4 小结 97

3.5 练习题 97

第4章 mikroC的函数和库 99

4.1 mikroC函数 99

4.1.1 函数原型 102

4.1.2 向函数传递数组 104

4.1.3 通过引用向函数传递变量 106

4.1.4 参数数量可变 107

4.1.5 函数的可重入性 108

4.1.6 静态函数变量 108

4.2 mikroC的内置函数 109

4.3 mikroC的函数库 112

4.3.1 EEPROM库 112

4.3.2 LCD库 113

4.3.3 软件UART库 117

4.3.4 硬件USART库 120

4.3.5 音频库 122

4.3.6 ANSI C库 123

4.3.7 混合库 126

4.4 小结 130

4.5 练习题 130

第5章 PIC18开发工具 132

5.1 软件开发工具 132

5.1.1 文本编辑器 132

5.1.2 汇编器和编译器 133

5.1.3 仿真器 133

5.1.4 高级编程语言仿真器 133

5.1.5 集成开发环境(IDE) 134

5.2 硬件开发工具 134

5.2.1 开发板 134

5.2.2 设备编程器 143

5.2.3 内电路调试器 145

5.2.4 内电路模拟器 146

5.2.5 面包板 148

5.3 mikroC集成开发环境(IDE) 149

5.3.1 mikroC IDE界面 149

5.3.2 创建和编译新文件 152

5.3.3 仿真器的使用 157

5.3.4 mikroICD内电路调试器的使用 162

5.3.5 开发板的使用 164

5.4 小结 170

5.5 练习题 170

第6章 简单PIC18项目 172

6.1 程序描述语言 172

6.1.1 START-END 172

6.1.2 顺序 172

6.1.3 IF-THEN-ELSE-ENDIF 173

6.1.4 DO-ENDDO 173

6.1.5 REPEAT-UNTIL 173

项目6.1 跟踪LED 174

项目6.2 LED骰子 177

项目6.3 双骰子项目 181

项目6.4 使用更少的I/O引脚实现的两个骰子的项目 183

项目6.5 7段LED计数器 188

项目6.6 两个数位的多路复用7段LED 193

项目6.7 带定时器中断的两数位多路复用7段LED计数器 197

项目6.8 带LCD显示器的伏特表 202

项目6.9 带键盘和LCD的计算器 208

项目6.10 基于串行通信的计算器 216

第7章 高级PIC18项目——SD卡项目 227

7.1 SD卡 227

7.1.1 SPI总线 229

7.1.2 在SPI模式下SD卡的操作 230

7.2 mikroC语言的SD卡库函数 235

项目7.1 读CID寄存器并在PC屏幕上显示 236

项目7.2 SD卡扇区的读/写 240

项目7.3 使用卡文件系统 241

项目7.4 温度记录仪 244

第8章 高级PIC18项目——USB总线项目 252

8.1 总线速度识别 254

8.2 USB状态 254

8.3 USB总线通信 255

8.3.1 数据包 255

8.3.2 数据流类型 256

8.3.3 枚举 257

8.4 描述符 257

8.4.1 设备描述符 258

8.4.2 配置描述符 259

8.4.3 接口描述符 260

8.4.4 HID描述符 261

8.4.5 终端描述符 262

8.5 PIC18微控制器的USB总线接口 263

8.6 mikroC语言的USB总线库函数 263

项目8.1 基于USB的微控制器输出端口 265

项目8.2 基于USB的微控制器的输入输出 283

项目8.3 基于USB的周围气压PC显示 288

第9章 高级PIC18项目——CAN总线项目 296

9.1 数据帧 300

9.1.1 帧起始(SOF) 300

9.1.2 仲裁字段 300

9.1.3 控制字段 301

9.1.4 数据字段 301

9.1.5 CRC字段 302

9.1.6 ACK字段 302

9.2 遥控帧 302

9.3 错误帧 302

9.4 过载帧 302

9.5 位填充 302

9.6 错误类型 303

9.7 标称位时序 303

9.8 PIC微控制器CAN接口 304

9.9 PIC18F258微控制器 305

9.9.1 配置模式 307

9.9.2 禁止模式 307

9.9.3 正常工作模式 307

9.9.4 监听模式 307

9.9.5 回环模式 307

9.9.6 错误识别模式 307

9.9.7 CAN报文发送 307

9.9.8 CAN报文接收 308

9.9.9 计算时序参数 309

9.10 mikroC CAN函数 310

9.10.1 CANSetOperationMode 311

9.10.2 CANGetOperationMode 311

9.10.3 CANIntialize 311

9.10.4 CANSetBaudRate 312

9.10.5 CANSetMask 312

9.10.6 CANSetFilter 312

9.10.7 CANRead 312

9.10.8 CANWrite 313

9.11 CAN总线编程 313

项目9.1 温度传感器CAN总线项目 314

第10章 多任务和实时操作系统 321

10.1 状态机 321

10.2 实时操作系统(RTOS) 323

10.3 RTOS服务 325

10.4 同步和消息工具 325

10.5 CCS PIC C编译器RTOS 325

10.5.1 准备使用RTOS 326

10.5.2 声明任务 326

项目10.1 LED(发光二极管) 327

项目10.2 随机数发生器 329

项目10.3 使用RS232串行输出的电压表 332

索引 338