前言微控制器是一个单芯片微处理器系统,其中包含数据和程序存储器、串行和并行输入/输出、定时器、外部和内部中断,所有这些都集成在一个芯片中,其价格可以低至2.00美元。大约40%的微控制器应用在办公自动化中,例如,PC、激光打印机、传真机、智能电话等。大约1/3的微控制器存在于消费类电子产品中,如CD播放器、高保真设备、视频游戏、洗衣机、厨具等产品。通信市场、汽车市场和军事设备共享其余的应用领域。
目前有许多不同类型的微控制器,它们是由不同的制造商制造的。本书介绍了Microchip科技公司开发和制造的高端8位微控制器PIC18F系列。本书中的项目使用了非常流行的PIC18F45K22微控制器,在本书中也给出了许多初级、中级和高级项目。大多数项目都是使用流行的mikroCProforPIC编译器及MPLABXC8编译器开发的,所有项目都有完整的文档,书中为每个项目提供以下内容:项目介绍、项目硬件(及适当的项目框图)、项目PDL、项目程序,对于一些项目,还提出了可能的修改和改进建议。所有的项目都已经过了测试,可以正常工作。
在阅读本书时,C编程语言的知识是很有用的,至少熟悉PIC16F系列中的一个微控制器也是有好处的,此外,不需要汇编语言编程知识,因为书中的所有项目都是基于C语言的。
本书面向学生、实习工程师和有兴趣使用PIC系列微控制器开发基于微控制器项目的爱好者。鉴于篇幅所限,我已经尝试在书中加入了尽可能多的项目。
第1章介绍了微控制器的基本特性。
第2章提供了一个有关C语言的简短教程,然后介绍了本书中提供的项目所使用的流行的mikroCProforPIC编程语言和编译器的特性。
第3章是关于MPLBXIDE和XC8编程语言及编译器的介绍。本书中的大多数项目都提供了mikroCPro和XC8程序清单,读者应该能够轻松地从一种语言转换到另一种语言。
第4章描述了常用的程序开发工具,如PDL和流程图,关于这两个工具都给出了示例。
第5章给出了使用PIC18F45K22微控制器的初级项目。在本章中,这些项目包括简单的LED、7段数码显示屏、LCD、音响项目等。
第6章提供了中级项目。本章中的项目包括使用中断、使用键盘、实时生成波形、串行通信、GPS数据解码、各种总线系统等。
第7章提供了更多的高级项目。本章涵盖的项目主要包括使用蓝牙通信、RFID、实时时钟、图形LCD、SD卡,以及基于以太网的项目CAN总线、微控制器系统中的多任务、步进电机和直流电机的项目。虽然关于电机的项目不是最先进的,但在本章中尽量给出了完整的内容。
致谢本书中的以下材料在相应版权持有人的许可下进行了转载,未经他们允许,不得以任何方式转载或复制。
图3.1和图3.12摘自Microchip科技公司的PIC18(L)F2X/4XK22(DS41412F)数据手册和Microchip科技公司的网站www.microchip.com。
图6.48取自Parallax公司的网站。
图6.8、图7.13、图7.28、图7.30、图7.63和图7.113取自mikroElektronica网站。
PIC?、PICSTART?和MPLAB?是Microchip科技公司的商标。
译者序在现代工业环境中,随着微控制器的高速发展,新的控制技术已被广泛使用,它带动着工业自动化和控制领域向工业4.0方向迅速发展,因此微控制器的开发对提升产品性能和降低制造成本都有着举足轻重的影响。
要想利用微控制器对控制设备进行开发,不仅要掌握好微控制器的相关知识,还要积累各方面的经验,包括硬件设计、软件设计,以及如何让两者巧妙结合协同工作。此外,若要确保设计的项目能在实际工作环境中正常运行,还需要考虑实际应用环境的特点、突发问题的应急处理方式及各种干扰因素的影响等,因此,只有通过全面的考虑才能将微控制器的应用开发推进到新的阶段。
本书从实际设计应用出发,以Microchip科技公司的高端8位微控制器PIC18F系列为例,使用mikroCProforPIC编译器和MPLABXC8编译器,并将其应用在了50多个应用项目中。在内容编排上,从基础层面向应用提高层面逐渐深化,初学者可以边学边用,循序渐进,从而掌握相关知识,提高自主学习和解决问题的能力。书中提供的所有项目不仅内容详尽,考虑全面,而且还提供了完整的文档,程序也都经过了全面测试和使用,具有非常高的参考价值。
正是由于本书的独特性,才使我们决定将其翻译并奉献给读者,希望能为涉及微控制器的电子类专业的本科生提供学习和参考资料,也为从事微控制器开发应用的工程师和电子爱好者提供帮助。
本书由西安电子科技大学的许辉、吕汶翻译,其中许辉负责第1、2、6、7章的翻译,吕汶负责第3、4、5章的翻译。由于时间紧张和译者的水平所限,难免存在偏差和失误,恳请读者批评指正。