本书是“图解电子创新制作”丛书之一。本书主要介绍广泛应用的PIC微控制器及在其基础上建立的系统。通过123个引人入胜的实验,讲述了利用C语言、汇编语言对以PIC微控制器为关键器件的电子线路系统进行编程控制的方法。
本书共有13章,内容涉及对PIC微控制器程序的编写、测试、查错、调试等技巧,相关电子线路的安装、制作方法,并且简单阐述构成微控制器的电子学基础知识。
本书最大特点是实用性与趣味性并存,重点突出。书中附有大量的有价值信息,帮助读者加深理解书中知识。
本书可供从事微控制器系统设计及开发的工程师、电子爱好者阅读,也可供自动化、电子电气工程、计算机、相关专业的师生参考使用。
样章试读
目录
- 绪论
1 深入学习PIC16F684
实验1 I/O引脚
实验2 配置字
实验3 PIC微控制器的变量内存、寄存器和程序内存
实验4 在MPLABIDE中模拟cFlash.c
2 C编程介绍
实验5 变量说明语句
实验6 C语言的数据类型
实验7 常数的格式化
实验8 赋值语句
实验9 表达式
实验10 逐位运算符
实验11 逻辑表达式
实验12 使用If语句的有条件执行
实验13 嵌套条件语句
实验14 Switch决策语句
实验15 条件循环
实验16 for语句
3 简单的PIC微控制器应用
实验17 基本的延时
实验18 排序PICkit1初学者套件LED
实验19 使用PICkit1初学者套件LED的二进制数输出
实验20 基本的按钮输入
实验21 消除抖动按钮输出
实验22 MCLR运算
实验23 结束应用
4 C语言的特性
实验24 函数与子例程
实验25 全局与局部变量
实验26 定义与宏命令
实验27 变量数组
实验28 结构与联合
实验29 指针与列表
实验30 字符串
实验31 库函数
5 PIC16F684微控制器的内置功能
实验32 电压过低复位
实验33 模/数转换操作
实验34 比较器操作
实验35 监视定时器
实验36 利用TMR0的短时间计时显示
实验37 使用TMR0预定标器
实验38 使用TMR1的长时间计时器延时
实验39 比较时钟振荡器
实验40 使用CCP测量计时I/O引脚电阻
实验41 使用CCP和TMR2来产生PWM信号
实验42 使用EEPROM内存存储与检索数据
6 与PIC微控制器接口的项目
实验43 利用PIC16F684直接驱动一个7段LED显示
实验44 多个7段LED显示
实验45 LED矩阵显示
实验46 液晶显示
实验47 产生随机数
实验48 2位液晶显示
实验49 开关矩阵小键盘映射
7 简单的C语言微控制器应用
实验50 南瓜LED显示
实验51 反应时间检测器
实验52 Rokenbok牌的单轨铁路/交通信号灯
实验53 7段LED温度计
实验54 PIC微控制器钢琴
实验55 模型铁路开关控制
实验56 PC工作状态显示
8 PIC微控制器汇编语言程序介绍
实验57 asmTemplate.asm文件和基本的伪指令
实验58 规定程序内存地址
实验59 装入WREG并且保存它的内容
实验60 定义变量
实验61 逐位指令
实验62 加法指令
实验63 AddLibs:奇怪的模拟器结果
实验64 减法指令
实验65 存储体寻址
实验66 位指令
实验67 位跳过指令
实验68 条件执行
实验69 decfsz循环
实验70 子例程
实验71 数组的定义与实现
9 PIC微控制器汇编语言资源例程
实验72 使用PIC16F684的逻辑模拟
实验73 在汇编语言中实现C语言的“Switch”语句
实验74 定义
实验75 条件汇编
实验76 宏命令
实验77 16位数值/变量和加法、减法及比较
实验78 通用的时间延时宏命令
实验79 汇编程序中的高层次编程
实验80 只读数组的实现
实验81 数据堆栈
实验82 环形缓冲器
实验83 可擦除可编程只读存储器数据内存的读与写
10 传感器
实验84 PIC微控制器BS2用户接口
实验85 PIC微控制器BS2小键盘接口
实验86 PIC微控制器装置接口
实验87 声音检测
实验88 多个微开关的抖动消除
实验89 光线传感器
实验90 红外线(IR)表面传感器
实验91 Sharp公司的GP2D120测量物体距离传感器接口
实验92 自己动手制作红外线物体传感器
实验93 红外线物体测距传感器
实验94 超声波通达距离传感器
实验95 机器人红外线标记
11 电动机控制
实验96 利用CCP脉宽调制驱动及电位器控制的直流电动机
实验97 直流电动机控制与简单的TMR0脉宽调制
实验98 利用PWM和BS2接口来控制多个电动机
实验99 双极步进电动机的控制
实验100 单极步进电动机控制
实验101 无线电控制模型伺服控制
实验102 多伺服控制软件结构
实验103 双伺服机器人基础与BS2接口
12 利用PIC微控制器汇编语言解决编程问题
实验104 具有16位乘积的8位乘法
实验105 16位数值被8位数值除
实验106 利用有限差分理论求一个数值的平方
实验107 求一个16位数的平方根
实验108 把一个字节转换成三位十进制、二位十六进制或八位二进制ASCII字节
实验109 生成一个字节的偶校验值
实验110 利用冒泡排序算法排序十个8位数值的列表
实验111 用一个简单的替代算法加密及解码一个ASCII字符串
实验112 产生一个费波那契数列
实验113 求出两个8位数的最大公约数
13 ZipZaps牌的机器人
实验114 ZipZaps牌汽车的特征描述
实验115 PIC微控制器电源
实验116 PIC微控制器的电子印制电路板
实验117 红外线电视遥控
实验118 电动机和转向控制
实验119 基本任务控制软件
实验120 红外线遥控
实验121 光线传感器和光线跟踪
实验122 红外线物体探测传感器
实验123 红外线直线跟踪传感器
译后记