目前,各高校电类专业都将C语言作为专业基础课程纳入教学计划,由于C语言功能强大,便于模块化开发,所带库函数非常丰富,编写的程序易于移植,此诸多优点使之成为单片机应用系统开发最快速高效的程序设计语言,仅具有C语言基础知识但不熟悉单片机指令系统的读者也能很快掌握单片机C语言程序设计技术,C语言在单片机应用系统设计上的效率优势已经远远高于汇编、BASIC等开发语言。
单片机C语言程序设计不同于通用的计算机应用程序设计,它必须针对具体的微控制器及外围电路来完成。为便于学习单片机应用程序设计和系统开发,很多公司推出了单片机实验箱、仿真器、编程器、下载器、开发板等,这些硬件设备可用于验证单片机程序,开发和调试单片机应用系统,但由于这些设备价格不菲,它们阻碍了普通读者对单片机技术的学习和研究。幸运的是,英国Labcenter公司推出了具有单片机系统仿真功能的Proteus软件,单片机系统开发通常是基于上位机加目标系统进行的,Proteus的出现使得仅用一台PC在纯软件环境中完成系统设计与调试成为可能。目前,Proteus支持8051、AVR、PIC、ARM、Cortex-M等多种单片机与嵌入式微处理器,系统库中包含有大量模拟、数字、光电和机电类元器件,系统还提供了多种虚拟仪器,所开发的单片机C程序可以在Proteus仿真电路中调试和交互运行,这无疑为读者学习和提高单片机C程序设计技术,为单片机应用系统高水平工程师的成长提供了理想平台。
为适应单片机技术发展趋势,帮助读者们快速提高PIC单片机C语言程序设计水平,本书第2版以微芯公司全新推出的MPLAB X IDE+XC编译器搭建PIC单片机程序开发环境,并以Proteus为硬件仿真平台,精心编写了100个PIC单片机C语言程序设计案例,各案例设计了难易适中的实训目标,并提供了完整的C程序源码。
本书前两章分别对PIC单片机C语言程序设计和Proteus操作基础作了概述,第3章基础程序部分给出的案例涵盖PIC单片机端口编程、中断程序设计、定时/计数器应用、模拟比较器程序设计、A/D转换、EEPROM、USART及看门狗程序设计等,各案例分别对相关知识和技术要点作了阐述与分析,源程序中也给出了丰富的注释信息。第4章硬件应用部分则针对PIC单片机的存储器扩展、接口扩展、译码、编码、驱动、光电、机电、传感器、I 2 C及SPI接口器件、MMC、ATA、遥控等器件给出了数十个案例,对案例中涉及的硬件技术资料亦进行了有针对性的分析,以便于读者快速理解相关代码的编写原理。第5章的案例综合应用了单片机内部硬件资源和外部扩展资源,通过对这些案例的分析研究与调试运行及对设计实践要求的独立完成,读者用C语言开发PIC单片机应用系统的能力会得到大幅提升。
本套单片机C语言程序设计仿真系列已推出8051版(第2版)、AVR版、PIC版(第2版),其相关案例包可到出版社网站免费下载。
由于编者水平有限,加之时间仓促,书中错漏之处在所难免,在此真诚欢迎读者对本书多多提出宝贵意见,笔者邮箱是:pw95aaa@foxmail.com。
本书从选题、撰稿到出版的全过程中,学校科研处对本选题始终给予大力支持,并提供项目资助,在此一并对学校领导及同事们的关心与支持表示由衷感谢!
在这里,我还要郑重地感谢恩师陈文成先生,他的数学思想一直在深刻影响着我所从事的专业技术教学与研究工作。我还要深深感谢父母、深深感谢妻子魏莉萍女士,是他(她)们一直以来的鼓励、期望和支持,使我能坚持本系列书籍的写作,我还要谢谢聪明可爱的乖女儿,她那天真爽朗的笑声总能驱走我的倦怠,她的每一步成长都给了我惊喜与更多期待,愿她的脑瓜里总能充满幻想、愿她和她的同龄人都有美丽的未来。
最后要感谢美国微芯公司的Shaw Lam与Jacqueline Eichman对本书撰写提供的重要支持与帮助,感谢电子工业出版社的曲昕编辑对本书撰写与出版所做的大量细致而周密的工作,谢谢!
谨以此书献给我所有的同行与朋友们,所有忠实的读者们,是你们的期待使我坚持完成了本书第2版的编写工作,谢谢你们!
彭伟
2015年7月于武昌