本书包括PIC18Fxxx系列的新发展,通过项目的方法展示如何开发基于单片机的应用。使用流行的PIC和MPLABXC8语言,通过大量的实践项目介绍了项目开发的全周期,这些项目包括以太网编程、数字信号处理以及RFID技术。此外,本书包含了五十多个项目,涵盖了无线传感器网络应用的发展、SD卡项目和多任务处理。
译者序
前言
第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
前言微控制器是一个单芯片微处理器系统,其中包含数据和程序存储器、串行和并行输入/输出、定时器、外部和内部中断,所有这些都集成在一个芯片中,其价格可以低至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章的翻译。由于时间紧张和译者的水平所限,难免存在偏差和失误,恳请读者批评指正。
对于我这个在电子设计领域摸爬滚打多年的爱好者来说,《PIC微控制器项目设计:C语言实现(原书第2版)》就像一块金矿,里面蕴藏着丰富的设计思路和实现技巧。这本书的特点在于,它并没有仅仅停留在“如何使用”层面,而是深入到了“为什么这么设计”和“如何优化设计”的层面。它所提供的项目,每一个都经过精心设计,不仅能够实现基本功能,更包含了许多值得学习的工程实践经验。 我尤其喜欢书中关于传感器接口和通信协议的章节。在现代嵌入式系统中,传感器和通信是不可或缺的部分。书中对各种常用传感器的接口原理和C语言驱动程序的编写进行了详细的讲解,让我能够快速地将各种传感器集成到我的项目中。同时,书中对UART、SPI、I2C等通信协议的深入剖析,以及如何用C语言来实现这些协议,为我解决实际项目中的通信难题提供了强有力的支持。这本书让我感受到,学习不仅仅是记忆,更是理解和运用。它让我对PIC微控制器的理解进入了一个新的层次。
评分自从我拿到《PIC微控制器项目设计:C语言实现(原书第2版)》这本书,我感觉自己就像拥有了一位经验丰富的导师。它不仅仅是一本技术书籍,更像是一份详尽的实践指南。我一直在寻找一本能够将PIC微控制器的理论知识与实际项目应用紧密结合的书籍,而这本书恰好满足了我的需求。书中丰富的项目案例,涵盖了从简单的硬件控制到复杂的数据处理,让我能够清晰地看到PIC微控制器在各种场景下的应用潜力。 最令我印象深刻的是,书中对每一个项目的讲解都非常细致,包括硬件电路的设计、C语言程序的编写、以及软件的调试过程。它让我明白了,一个完整的项目开发不仅仅是写几行代码那么简单,还涉及到很多工程化的思考。例如,书中在介绍中断处理时,不仅给出了如何编写中断服务程序,还详细分析了中断的优先级、嵌套以及可能出现的时序问题,这让我对中断有了更深刻的理解。此外,书中还提供了一些进阶的项目,让我能够挑战自我,不断提升自己的技能水平。
评分对于我这样一个有着一定硬件基础,但缺乏实际项目经验的工程师来说,《PIC微控制器项目设计:C语言实现(原书第2版)》的价值简直是无价的。书中提供的那些精心设计的项目,从简单的LED闪烁到复杂的电机控制,再到通信协议的实现,每一个都循序渐进,层层递进。这不仅让我能够将理论知识转化为实际操作,更让我看到了PIC微控制器在现实世界中的巨大潜力。 我最喜欢的部分是书中对项目开发流程的梳理。它不仅仅是告诉你“怎么做”,更重要的是告诉你“为什么这么做”。从需求分析,到硬件选型,再到软件设计和调试,书中的每一个环节都充满了作者的经验总结。特别是关于调试的部分,书中分享了许多实用的技巧,比如如何利用示波器和逻辑分析仪来定位问题,以及如何通过代码逻辑分析来排查bug。这些都是在实际开发中非常宝贵的经验。我曾经在自己的小项目中遇到过一些难以解决的bug,但通过书中提到的方法,我都能迎刃而解。这让我感到,学习这本书不仅仅是学习技术,更是学习一种解决问题的思维方式。
评分这本书的出版,无疑为我这个PIC微控制器初学者打开了一扇扇通往实践的大门。在接触这本书之前,我对PIC的了解仅限于“它是一种微控制器”,仅此而已。市面上关于微控制器的书籍琳琅满目,但很多要么过于理论化,要么实例过于简单,难以让我产生深入学习的动力。这本《PIC微控制器项目设计:C语言实现(原书第2版)》则完美地解决了我的痛点。它并非枯燥的理论堆砌,而是紧密围绕着“项目设计”这一核心,从最基础的原理讲解,到具体项目的代码实现,再到调试技巧的分享,都做到了详尽而易懂。 我尤其欣赏书中对C语言在PIC上的应用的细致描绘。很多时候,我们学习单片机,最终目的都是要用编程去控制它,而C语言无疑是应用最广泛的语言之一。书中并没有仅仅罗列C语言的语法,而是将其与PIC的硬件资源巧妙地结合起来。例如,在介绍GPIO端口控制时,书中不仅给出了直接操作寄存器的代码,还介绍了更高级的抽象层实现,这让我能够理解底层原理,也能快速上手开发。更让我惊喜的是,书中对各种外设的驱动也做了详细的讲解,比如ADC、定时器、UART等,这些都是实际项目中必不可少的部分。通过书中的实例,我能够清晰地看到,如何一步步地将这些外设集成到我的项目中,并实现预期的功能。这不仅仅是学习知识,更是一种能力上的提升。
评分这本书简直是为想要系统学习PIC微控制器开发的读者量身定做的。它以C语言为载体,带领读者一步步走进PIC的世界,从最基础的硬件结构讲到复杂的应用开发,让整个学习过程充满了成就感。我之前也翻阅过一些其他的PIC书籍,但很多都停留在概念层面,或者例子过于零散。这本书则不同,它提供了一整套从入门到进阶的项目化学习路径。 我特别赞赏书中对每一个项目都进行了详细的讲解,从原理分析到代码实现,再到实际运行效果的预期,都做了清晰的阐述。这使得我在学习过程中,不仅能够理解代码的含义,更能明白代码背后所代表的硬件操作和逻辑。比如,书中关于ADC采集的章节,不仅给出了完整的代码,还详细解释了采样率、转换精度等参数的意义,以及如何根据实际需求进行配置。这样的深入讲解,让我能够举一反三,触类旁通。而且,书中还提供了配套的资源,比如源代码和原理图,这为我进行实际操作提供了极大的便利。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有