PIC16F886项目实战:C语言MQTT服务器源码解析

版权申诉
0 下载量 101 浏览量 更新于2024-10-31 收藏 3.94MB ZIP 举报
资源摘要信息:PIC16F886是微芯科技(Microchip Technology Inc.)生产的一款基于PIC16架构的8位微控制器(MCU)。它具有诸多功能,如A/D转换器、捕获/比较/PWM功能和串行通信接口等。PIC16F886在物联网(IoT)通信、家用电器、汽车电子、工业控制等领域有着广泛的应用。由于其工作电压范围广、低功耗和较高的处理速度,适合用于需要远程控制和数据交换的应用场景。 关于提供的信息中提到的“c语言mqttserver源码”,其含义是指用C语言编写的MQTT(Message Queuing Telemetry Transport)服务器代码。MQTT是一种轻量级的消息传输协议,适用于带宽有限和网络条件不稳定的环境,比如物联网设备的通信。通过MQTT协议,客户端能够向服务器发送和接收消息,进行数据的发布和订阅。在物联网设备中,MQTT服务器通常运行在云服务器上,作为设备之间通信的中介。 描述中提到的“原版数据手册”指的是PIC16F886的官方数据手册,手册通常包含了该微控制器的技术规格、引脚分布、电气特性、存储器映射、时钟系统、I/O端口特性、中断系统、电源管理、外设(如定时器、ADC、通信模块)的功能描述及编程模型等详细信息。这是开发人员设计与PIC16F886相关的嵌入式系统时的重要参考资料。 从提供的标签“c语言mqttserver源码 c语言源码”中可以看出,这个项目源码主要是用于教学目的,便于学习C语言在实际项目中的应用,特别是MQTT协议的实现。对于嵌入式开发人员或者对物联网开发感兴趣的学习者来说,该项目能够加深对C语言编程的理解,特别是对于理解网络通信协议在嵌入式系统中的实现。 从压缩包子文件的文件名称列表中的“PIC16F886.pdf”可以推断出,压缩包中可能包含了PIC16F886的官方数据手册,这是一份非常重要的文档,对于想要了解该微控制器的用户来说,它提供了详尽的技术参数和编程指导,是设计和开发过程中的参考依据。 将这些信息综合起来,我们可以得出结论,资源中提到的项目涉及了嵌入式系统开发和物联网通信的关键技术。它不仅包括了PIC16F886微控制器的深入技术手册,还有以C语言编写的MQTT服务器源码,这些内容对于学习和实现微控制器与物联网通信的开发者是非常有价值的。通过这些资源,开发者可以学习到如何在低资源的嵌入式设备上实现网络通信协议,并能够进行实际项目开发。这对于入门到嵌入式系统开发和物联网应用设计的学习者来说,是一个很好的实践案例。
2016-10-21 上传
PIC单片机实用教程-提高篇 作者:李学海 编著 出版社:北京航天航空大学出版社 出版时间: 2002-09 pic单片机实用教程(提高篇)以介绍PIC16F87X型号单片机为主,并适当兼顾PIC全系列,共分9章,内容包括:存储器;I/O端口的复位功能;定时器/计数器TMR1;定时器TMR2;输入捕捉/输出比较/脉宽调制CCP;模/数转换器ADC;通用同步/异步收发器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特点:通俗易懂、可读性强、系统全面、学练结合、学用并重、实例丰富、习题齐全。<br>本书作为Microchip公司大学计划选择用书,可广泛适用于初步具备电子技术基础和计算机知识基础的学生、教师、单片机爱好者、电子制作爱好者、电器维修人员、电子产品开发设计者、工程技术人员阅读。本教程全书共分2篇,即基础篇和提高篇,分2册出版,以适应不同课时和不同专业的需要,也为教师和读者增加了一种可选方案。 第1章 EEPROM数据存储器和FIASH程序存储器 1.1 背景知识 1.1.1 通用型半导体存储器的种类和特点 1.1.2 PIC单片机内部的程序存储器 1.1.3 PIC单片机内部的EEPROM数据存储器 1.1.4 PIC16F87X内部EEPROM和FIASH操作方法 1.2 与EEPROM相关的寄存器 1.3 片内EEPROM数据存储器结构和操作原理 1.3.1 从EEPROM中读取数据 1.3.2 向EEPROM中烧写数据 1.4 与FLASH相关的寄存器 1.5 片内FLASH程序存储器结构和操作原理 1.5.1 读取FLASH程序存储器 1.5.2 烧写FLASH程序存储器 1.6 写操作的安全保障措施 1.6.1 写入校验方法 1.6.2 预防意外写操作的保障措施 1.7 EEPROM和FLASH应用举例 1.7.1 EEPROM的应用 1.7.2 FIASH的应用 思考题与练习题 第2章 输入/输出端口的复合功能 2.1 RA端口 2.1.1 与RA端口相关的寄存器 2.1.2 电路结构和工作原理 2.1.3 编程方法 2.2 RB端口 2.2.1 与RB端口相关的寄存器 2.2.2 电路结构和工作原理 2.2.3 编程方法 2.3 RC端口 2.3.1 与RC端口相关的寄存器 2.3.2 电路结构和工作原理 2.3.3 编程方法 2.4 RD端口 2.4.1 与RD端口相关的寄存器 2.4.2 电路结构和工作原理 2.4.3 编程方法 2.5 RE端口 2.5.1 与RE端口相关的寄存器 2.5.2 电路结构和工作原理 2.5.3 编程方法 2.6 PSP并行从动端口 2.6.1 与PSP端口相关的寄存器 2.6.2 电路结构和工作原理 2.7 应用举例 思考题与练习题 第3章 定时器/计数器TMR1 3.1 定时器/计数器TMR1模块的特性 3.2 定时器/计数器TMR1模块相关的寄存器 3.3 定时器/计数器TMR1模块的电路结构 3.4 定时器/计数器TMR1模块的工作原理 3.4.1 禁止TMR1工作 3.4.2 定时器工作方式 3.4.3 计数器工作方式 3.4.4 TMR1寄存器的赋值与复位 3.5 定时器/计数器TMR1模块的应用举例 思考题与练习题 第4章 定时器TMR2 4.1 定时器TMR2模块的特性 4.2 定时器TMR2模块相关的寄存器 4.3 定时器TMR2模块的电路结构 4.4 定时器TMR2模块的工作原理 4.4.1 禁止TMR2工作 4.4.2 定时器工作方式 4.4.3 寄存器TMR2和PR2以及分频器的复位 4.4.4 TMR2模块的初始化编程 4.5 定时器TMR2模块的应用举例 思考题与练习题 第5章 输入捕捉/输出比较/脉宽调制CCP 5.1 输入捕捉工作模式 5.1.1 输入捕捉摸式相关的寄存器 5.1.2 输入捕捉模式的电路结构 5.1.3 输入捕捉摸式的工作原理 5.1.4 输入捕捉摸式的应用举例 5.2 输出比较工作模式 5.2.1 输出比较模式相关的寄存器 5.2.2 输出比较模式的电路结构 5.2.3 输出比较模式的工作原理 5.2.4 输出比较模式的应用举例 5.3 脉宽调制输出工作模式 5.3.1 脉宽调制模式相关的寄存器 5.3.2 脉宽调制模式的电路结构 5.3.3 脉宽调制模式的工作原理 5.3.4 脉定调制模式的应用举例 5.4 两个CCP模块之间相互关系 思考题与练习题 第6章 模/数转换器ADC 6.1 背景知识 6.1.1 ADC种类与特点 6.1.2 ADC器件的工作原理 6.2 PIC16F87X片内ADC模块 6.2.1 ADC模块相关的寄存器 6.2.2 ADC模块结构和操作原理 6.2.3 ADC模块操作时间要求 6.2.4 特殊情况下的A/D转换 6.2.5 ADC模块的转换精度和分辨率 6.2.6 ADC模块的内部动作流程和传递函数 6.2.7 ADC模块的操作编程 6.3 PIC16F87X片内ADC模块的应用举例 思考题与练习题 第7章 通用同步/异步收发器USART 7.1 串行通信的基本概念 7.1.1 串行通信的两种基本方式 7.1.2 串行通信中数据传送方向 7.1.3 串行通信中的控制方式 7.1.4 串行通信中的码型、编码方式和帧结构 7.1.5 串行通信中的检错和纠错方式 7.1.6 串行通信组网方式 7.1.7 串行通信接口电路和参数 7.1.8 串行通信的传输速率 7.2 PIC16F87X片内通用同步/异步收发器USART模块 7.2.1 与USART模块相关的寄存器 7.2.2 USART波特率发生器BRG 7.2.3 USART模块的异步工作方式 7.2.4 USART模块的同步主控工作方式 7.2.5 USART模块的同步从动工作方式 7.3 通用同步/异步收发器USART的应用举例 思考题与练习题 第8章 主控同步串行端口MSSP——SPI模式 8.1 SPI接口的背景知识 8.1.1 SPI接口信号描述 8.1.2 基于SPI的系统构成方式 8.1.3 SPI接口工作原理 8.1.4 兼容的MicroWire接口 8.2 PIC16F87X的SPI接口 8.2.1 SPI接口相关的寄存器 8.2.2 SPI接口的结构和操作原理 8.2.3 SPI接口的主控方式 8.2.4 SPI接口的从动方式 8.3 SPI接口的应用举例 思考题与练习题 第9章 主控同步串行端口MSSP——I(平方)C模式 9.1 I(平方)C总线的背景知识 9.1.1 名词术语 9.1.2 I(平方)C总线的技术特点 9.1.3 I(平方)C总线的基本工作原理 9.1.4 I(平方)C总线信号时序分析 9.1.5 信号传送格式 9.1.6 寻址约定 9.1.7 技术参数 9.1.8 I(平方)C器件与I(平方)C总线的接线方式 9.1.9 相兼容的SMBus总线 9.2 与I(平方)C总线相关的寄存器 9.3 典型信号时序的产生方法 9.3.1 波特率发生器 9.3.2 启动信号 9.3.3 重启动信号 9.3.4 应答信号 9.3.5 停止信号 9.4 被控器通信方式 9.4.1 硬件结构 9.4.2 被主控器寻址 9.4.3 被控器接收——被控接收器 9.4.4 被控器发送——被控发送器 9.4.5 广播式寻址 9.5 主控器通信方式 9.5.1 硬件结构 9.5.2 主控器发送——主控发送器 9.5.3 主控器接收——主控接收器 9.6 多主通信方式下的总线冲突和总线仲裁 9.6.1 发送和应答过程中的总线冲突 9.6.2 启动过程中的总线冲突 9.6.3 重启动过程中的总线冲突 9.6.4 停止过程中的总线冲突 9.7 I(平方)C总线的应用举例 思考题与练习题 附录A 包含文件P16F877.INC 附录B 新版宏汇编器MPASM伪指令总表 参考文献