16F877:了解 PIC 16F877 微控制器特性、引脚和快速连接
PIC16F877 具有许多特性,使这款微控制器非常适合初学者和专业人士。
PIC16F877A 包含 PIC16F877 所拥有的一切,包括一个内部时钟振荡器、一个工作性能更好的模数转换器模块 (ADC) 等等!
本文将讨论 PIC16F877 单片机的特性,并向您介绍输入/输出端口和简单连接。它将帮助您了解这些电路器件以及如何使用它们。
1.PIC 16F877概述
PIC16F877意味着这个PIC单片机可以在软件的帮助下执行多项任务。
PIC 16F877 的设计可单独使用或作为其他设备电路的补充。例如,RAMPS 和 Arduino 板。它也可以单独工作。但是,如果你想让它没有问题地这样做,你需要一个晶体振荡器(频率)。
PIC 16F877 是一个完全静态的设备,这意味着它可以使用有限数量的闪存和 RAM。此外,它具有出色的操作灵活性,价格便宜,是电路中最常见的。

(微控制器)
2。 PIC 16F877的特点

(微芯片)
PIC16F877的一般特点是;
– 省电 STOP 模式,这意味着您可以停止 PIC16F877 而无需将其从电路中移除
– 高速PWM(Pulse Width Modulation)模块可产生多达256级输出,并具有内置时钟可编程预分频器
– 一个用于 I/O 电路的内部稳压器和一个集成振荡器(晶体或陶瓷谐振器)
– 一个片上比较器模块
– 模数转换器,分辨率为 12 位,最多可同时转换四个模拟输入通道
– 支持用于将设备从睡眠模式唤醒或用于任何其他目的的外部中断。
– 八种不同的省电模式

(拆解单片机)
– 模拟比较器模块
– 多达 23 个 I/O 引脚
– 一个 SPI 模式和四个 UART 模块(一个全双工)
– 具有多达 14 个中断源的中断控制器
– 看门狗定时器,如果时间间隔到期则产生中断
– 上电复位产生电路
– 可编程掉电检测器(BOD)
– 内部校准振荡器,允许内部 RC 电路作为时钟源工作
– 通过 debugWIRE 接口进行在线串行编程和在线调试功能

(微控制器)
PIC 16F877 的主要/关键特性是:
- 高达 20 MHz 的内部时钟工作频率
- 有五个 (A-E) 基本输入/输出端口
- 8 个 10 位 \ADC 输入通道
- 以 PSP 作为其并行通信方式
- PIC16F877A 具有 8KB 闪存
- 两个串行通信接口:2 线内部集成电路 (I²C™ ) 总线和 SMBus
- 368 级数据存储器字节,256 级(14 位)EEPROM 数据存储器
- 具有三个定时器,即 1 个 16 位定时器和 2 个 8 位定时器,可用于定时器或计数器模式
附加功能
– 可以用C语言编程。
– 微控制器以 16MHz 内部振荡器运行
– PIC16F877A 可配置为主机或从机,并带有一个 SPI 模块。
3。 PIC16F877A 微控制器引脚图:
PIC16F877 芯片有多种设计和类型。例如,40-PIN DIP、44-PIN TQFP 和 44-PIN QFN 设计。这些差异是它们不同的用途和应用的结果。下图显示了 PIC16F877A 技术和引脚。

(PIC 16877芯片管脚图)
来源; Microchip Datasheetspdf.com
4.输入/输出端口说明介绍
微控制器的每个端口都与两个寄存器相关联。例如,端口 C;它的寄存器是 PORTC 和 TRISC。 TRISC 寄存器决定端口是输出还是输入。此外,您可以单独为每个引脚分配值。
在对微控制器进行编程时,请使用编译器来完成您的软件工作。 PIC16877A 的最佳编译器是 MPLAB XC8 编译器。
– PORT A 配置用作模拟输入端口、数字 I/O 或 PWM 输出。端口 A 有六个引脚,从引脚 #2 到 #7;标记为 RA0 到 RA5
– PORT B 配置用作数字输入、模拟输入、定时器输入捕捉、定时器输出比较、PWM 输入。端口 B 有 8 个引脚,即从引脚 #33 到 #40;标记为 RBO 到 RB7
– PORT C 配置是计数器/定时器模块(输入或输出)、UART 和 SPI。端口 C 也有 8 个引脚。前 4 个是从引脚 #15 到 #18,另外 4 个是从引脚 #23-#26。这些引脚是 RCO 到 RC7

(PIC16F877A端口图解)
来源:Theengineeringprojects.com
– PORT D 配置是数字输入引脚、模拟输入和定时器输出。端口 D 也有 8 个引脚。前 4 个来自引脚 #19-#22,其他来自引脚 #27-#30。这些引脚是 RD0 到 RD7
– PORT E 用于工厂使用预留。它有3个引脚#8-#10,分别是RE0到RE2。
– VDD和VSS为电源引脚,MCLR为主清引脚。
– PIC16F877A 有多达 18 个 GPIO 引脚,允许使用相关寄存器将控制器配置为输入或输出。
– 除了GPIO管脚外,PIC16F877A的上表面还有一些其他的专用管脚。
– VDD 为正电源电压引脚,而 VSS 为接地参考。
– PIC16F877A 有 23 个 I/O 引脚,分为两个 bank; A银行和B银行。
– 每个 I/O 引脚都有一个唯一的位,分配时可以用作输入或输出。
5。从理论到实践——使用 PIC16F877A 闪烁 LED

(PIC16F877A电路图)
上图显示了如何将 LED 与 PIC16F877A 连接。此外,它还突出显示了您在连接过程中需要的关键微控制器引脚。用于快速连接;
- 首先,将 5v 连接到 MSLR pin#1 并在其上添加一个 10k Ohm 电阻。
- 另外,将 5v 连接到引脚 #11(VDD)。在另一侧,将 5v 连接到引脚 #32(VSS)。
- 在 VSS(引脚#12)提供接地。然后,将#13(OSC1) 和#14(OSC2) 引脚连接到 16MHz 晶体振荡器。
- 之后,将 2 个 33pF 的电容器接地。现在,将引脚 #31(VSS) 接地。
- 最后,将 LED 和 10k Ohm 电阻连接到引脚 #21(RD2) 以启用程序上传。

(电子元件)
要使用 PIC16F877A 使 LED 闪烁,请将 LED 连接在 PORTD 和地之间。由于我们只需要闪烁一个 LED,我们可以将它与一个 10k Ohm 电阻器结合使用。我们需要将 PORT-D 配置为输出,通过使用输出锁存器将其设置为从高到低的转换来点亮 LED。
我们可以将 PORT-D 设置为 通过将 0x01 写入数据方向寄存器 (DDRB) 实现从低到高的转换。要将 PORT-D 设置为高电平,我们需要将 0x00 写入 DDRB 寄存器,这将导致 LED 亮起。
总结
在本文中,我们了解了 PIC 16F877、它的特性以及 PIC16F877A 的输入/输出端口。我们希望你喜欢它!
如果您对 PIC 单片机感兴趣,还可以阅读我们的其他文章。此外,如果您对 PIC16F877 有任何疑问,请随时与我们联系。
工业技术