第1章 微机系统 1
1.1 引言 2
1.2 微控制器系统 2
1.3 总结 6
1.4 练习 6
第2章 mikroC Pro for PIC编程语言 7
2.1 mikroC Pro for PIC程序的结构 8
2.2 数组 10
2.3 指针 11
2.4 结构体 11
2.5 C运算符 12
2.6 修改控制流 13
2.7 mikroC Pro for PIC的函数 17
2.8 mikroC Pro for PIC的库函数 17
2.9 总结 18
2.10 练习 18
第3章 MPLAB X IDE和MPLAB XC8 C编程语言 20
3.1 PICDEM PIC18 Explorer开发板 21
3.2 MPLAB X IDE 24
3.3 MPLAB XC8编译器 24
3.4 总结 39
3.5 练习 39
第4章 微控制器程序开发 40
4.1 使用PDL和流程图 41
4.2 举例 44
4.3 用流程图表示for循环 48
4.4 总结 49
4.5 练习 49
第5章 初级PIC18项目 51
项目5.1 追逐LED 52
项目5.2 复杂闪烁的LED 56
项目5.3 随机闪烁的LED 59
项目5.4 逻辑探头 61
项目5.5 LED骰子 68
项目5.6 双骰子项目 75
项目5.7 使用较少I/O引脚的双骰子项目 80
项目5.8 7段数码管计数器 89
项目5.9 两位多路复用7段数码管 94
项目5.10 4位多路复用7段数码管 99
项目5.11 LED电压表 105
项目5.12 LCD电压表 112
项目5.13 产生声音 124
项目5.14 生成自定义的LCD字体 131
项目5.15 数字温度计 134
第6章 中级PIC18项目 137
项目6.1 带4位多路复用7段数码管的外部中断事件计数器 138
项目6.2 带键盘和液晶显示器的计算器 150
项目6.3 高/低游戏 164
项目6.4 产生波形 170
项目6.5 利用超声波测量人体高度 199
项目6.6 迷你电子琴 208
项目6.7 带LCD的频率计数器 210
项目6.8 反应计时器 216
项目6.9 温度和相对湿度测量 224
项目6.10 带RS232串行输出的温度计 234
项目6.11 微控制器和基于PC的计算器 245
项目6.12 带LCD输出的GPS 250
项目6.13 开/关温度控制 256
第7章 高级PIC18项目 263
项目7.1 蓝牙串行通信之从模式 264
项目7.2 蓝牙串行通信之主模式 286
项目7.3 RFID的使用 293
项目7.4 RFID感应锁 308
项目7.5 复杂的SPI总线项目 315
项目7.6 使用RTC芯片的实时时钟 337
项目7.7 实时闹钟 350
项目7.8 SD卡项目——将文本写入文件 360
项目7.9 SD卡温度数据记录器 378
项目7.10 使用图形LCD——显示各种形状 386
项目7.11 在GLCD上显示气压计、温度计和高度计 397
项目7.12 在GLCD上绘制温度变化曲线 407
项目7.13 以太网的使用——基于Web浏览器的控制 412
项目7.14 以太网的使用——基于UDP的控制 422
项目7.15 数字信号处理——低通FIR数字滤波器项目 427
项目7.16 汽车项目——本地互联网络总线项目 434
项目7.17 汽车项目——CAN总线项目 446
项目7.18 多任务 470
项目7.19 步进电机控制项目——简单的单极电机驱动 487
项目7.20 步进电机控制项目——单极电机的复杂控制 490
项目7.21 步进电机控制项目——简单的双极电机驱动 494
项目7.22 直流电机控制项目——简单的电机驱动 500
项目7.23 测量电机速度的自制光学编码器 504
项目7.24 闭环直流电机速度控制——开/关控制 507