PIC16F676引脚图_电路原理_中文资料
PIC16F676是一款小型PIC单片机芯片,是嵌入式应用的最佳选择之一。大多数工业和家用电器需要较少的引脚数和较小的存储空间,而PIC16F676可以满足这些需求。由于基于闪存的技术而增强了其高性能,因此它对于学生项目来说是可靠的。
PIC16F676的尺寸可能更小,但它具有内部10 位模数转换器采用14引脚封装。PIC16F676微控制器也有多种封装,但每个封装由14 个引脚组成。微控制器的内部闪存为2kb,非常适合小型项目,尤其是开发小程序。
引脚配置
PIC16F676微控制器有两个GPIO端口PORTA 和PORTC。这两个GPIO引脚都有多种功能,其引脚配置如下图所示:
电源引脚
PIC16F676只有两个输入电源引脚。一个用于提供电源,第二个用于公共接地。
- VDD – 引脚1
- VSS – 引脚14
振荡器/时钟引脚
PIC16F676使用外部时钟或振荡器有两个引脚,一个用于输入,第二个用于输出:
- OSC1/CLKIN – 引脚2
- OSC2 – 引脚3
数字输出引脚
从上图可以看出两个通用I/O端口A和C,充当输出。两个端口均以TTL形式输出。这些引脚上的输出不会超过VDD。这些简单的数字输出只能通过程序使用,但需要指定端口来访问该端口的引脚。PIC16F676中的数字输出引脚有:
- RA0 – GPIO3
- RA1 – GPIO12
- RA2 – GPIO11
- RA4 – GPIO3
- RA5 – GPIO2
- RC0 – GPIO10
- RC1 – GPIO9
- RC2 – GPIO8
- RC3 – GPIO7
- RC4 – GPIO6
- RC5 – GPIO5
输入GPIO引脚
在PIC16F676中,端口A和C的每个引脚都可以用作输入引脚。这些引脚基于TTL,需要编程,这些引脚具有可编程输入上拉电阻。这些引脚上电压不应高VDD。所有输入引脚为:
- RA0 – GPIO3
- RA1 – GPIO12
- RA2 – GPIO11
- RA4 – GPIO3
- RA5 – GPIO2
- RC0 – GPIO10
- RC1 – GPIO9
- RC2 – GPIO8
- RC3 – GPIO7
- RC4 – GPIO6
- RC5 – GPIO5
中断引脚
中断引脚像输入引脚一样工作,它们的基本目的是通过忽略所有其他功能来引起控制器的注意。应该在程序中描述控制器在发生中断时应该做什么。在 PIC16F676中,只有一个中断引脚连接到程序计数器,需要原理图触发器(ST)来激活。
- INT – GPIO11
比较器引脚
PIC16F676还具有一个比较器用于比较模拟输入。单个比较器使用三个引脚,两个用于输入,一个用于输出。TTL和ST两种输入均可在这些引脚上使用,但输出始终取决于输入。PIC16F676中的比较器引脚为:
- COUT – GPIO11(输出)
- CIN – GPIO12(输入1)
- CIN – GPIO13(输入2)
定时器引脚
在PIC16F676中有两个内部定时器,其中一个定时器有一个定时器门,主要用于控制定时器 1 的电源状态。PIC16F676的定时器引脚有:
- T0CKI – GPIO11
- T1CKI – GPIO2
- T1G' – GPIO3
串行接口引脚
在该微控制器中,也有一个串行通信引脚,但这些引脚的串行通信将是同步的,并且主要用于编程。将使用三个引脚,一个用于数据传输,第二个用于时钟脉冲,第三个用于电压。引脚分别是:
- ICSPCLK – GPIO12
- ICSPDAT – GPIO13
- VPP – GPIO4
模拟输入引脚
PIC16F676允许内部ADC通道将模拟信号转换为数字信号。PIC16F676中的模拟信号转换共有8个通道可用于转换为数字值,10位寄存器用于存储转换后的值。电压参考引脚用于选择VDD和Vref之间的最大电压。这是所有模拟和参考引脚:
- AN0 – GPIO13
- AN1 – GPIO12
- AN2 – GPIO11
- AN3 – GPIO3
- AN4 – GPIO10
- AN5 – GPIO9
- AN6 – GPIO8
- AN7 – GPIO7
- Vref – GPIO12
复位引脚
PIC仅配备一个外部复位引脚,可以通过数字方式或外部按钮进行控制。复位引脚是低电平有效引脚,工作在ST基本逻辑上。
- MCLR' – 引脚4
功能框图
PIC16F676的内部原理框图如下所示:
功能特性
- 直接给出12个GPIO I/O引脚采用单个小型封装,可用于驱动直接LED或其以上低压器件。
- PIC16F676有一个内部时钟通过程序初始化即可使用。
- 自动休眠能力使PIC能够节省更多电量。
- 一旦代码被编程,它将受到保护,免遭盗窃。
- 有8 个模数转换器通道可存储8位数据。
- 有两个内部定时器(Timer0和Timer1),定时器1输入可由外部引脚控制。
- PIC16F676上有串行编程引脚,可以通过两个引脚对其进行编程。
- 它有一个模拟比较器,可以使用多个两个输入,并且可以从外部访问它们的输出。
规格参数
- 其待机电流在2V时为1nA,工作电流在2V时为100uA,但工作电压随振荡器而变化。
- PIC内部振荡器为4MHz。
- PIC16F676的工作电压范围为2.0至5.5V。
- PIC16F676具有1024字闪存、64字节SRAM和128字节EEPROM。
- 有8个A/D通道,但都使用单个10位寄存器来存储转换后的数据。
- PIC的工作温度范围为-40至125度,存储温度范围为-65至150度。
- 微控制器的最大CPU速度为1MHz。
- 所有引脚上的最大电压不应超过电源引脚,电流不应超过250mA。
程序存储器和堆栈
主要应用
- 主要用于初学者应用程序,例如学生项目、开发计划等。
- 小型项目如滚动显示、仪表或小型液晶显示器也使用PIC16F676。
- 由于具有8个输入通道,那些需要针对时间或其以上事件进行模数转换的设备使用PIC16F676。
PIC16F676微控制器的替代型号有:PIC16F877A、PIC16F84A、PIC18F46K22。
外设编程
如上所述,与其它PIC微控制器一样,PIC16F676提供内置ADC、定时器和串行编程功能。接下来将简单解释这些外设的寄存器。
定时器寄存器
PIC16F676有两个内部定时器寄存器,可以根据需要操作或检查其值。在此控制器中,定时器0是8位,并且与定时器1相比具有不同的寄存器:
time1是一个16位定时器,具有不同的功能,它还有一个称为门的控制引脚:
模数转换器
在模数转换中,数据和转换将由三个寄存器控制。
- ANCON0——模数转换寄存器
- ANCON1——模数转换寄存器1
- ANSEL——模拟选择寄存器
这三个寄存器将模拟数据转换为具有不同状态的数字数据,如下图所示:
ACON0将用于选择模拟寄存器的数据、通道和参考:
ANCON1将用于选择模数转换时钟位。第三位是选择位,之所以使用它是因为模拟引脚不仅是模拟引脚,它们还可以用于其他功能。该寄存器将能够帮助控制器将这些引脚用作模拟引脚或数字引脚。
指令集架构
PIC16F676使用14 位指令集,指令集分为三个部分。
面向字节的操作
在字节导向中,14 位指令集分为三个部分。
- 操作码 – 7位
- 目的地 – 1位
- 文件寄存器 – 6位
面向位的操作
在位导向中,指令集也将分为三个部分,但对于不同的操作具有不同的位数:
-
- 操作码 – 7位
- 目的地 – 2位
- 文件寄存器 – 4位
文字和控制操作
在文字和控制操作中,数据将分为两部分。
对于Call和GOTO指令
- 操作码 – 8位
- 文字 – 6位
对于其它说明
- 操作码 – 11位
- 文字 – 3位
目的地、文字和文件位有一些表示。下面是每个可用值的表示形式:
OPCODE也有一些表示:
通过使用给定的指令以及PIC16F676数据表中的更多内容,可以轻松对该单片机进行编程。此版本的PIC也可以通过不同的方法进行编程。PIC16F676只有在必须执行某些控制功能时才可靠。由于其有限的设计,它无法执行智能操作,但它是用作微控制器的最佳选择。
烧录方法
PIC16F676芯片通常需要通过专用的编程器进行烧录。以下是一般情况下使用专业编程器烧录PIC16F676的方法:
所需材料:
- PIC16F676微控制器芯片
- PIC编程器(例如PICkit系列、MPLAB PM3等)
- 编程软件(通常是MPLAB X IDE和相关的编程工具)
主要步骤:
- 将PIC16F676芯片正确插入编程器的插槽。确保插入方向正确,避免损坏芯片。
- 连接编程器与计算机。使用USB线或其他适当的连接方式将编程器连接到计算机上。
- 打开MPLAB X IDE或其他适用的编程软件。在软件中选择正确的目标芯片(PIC16F676)以及编程器。
- 导入你要烧录的程序或固件文件。这个文件通常是.hex格式的,包含了你的代码以及其他必要的信息。
- 配置编程器选项。这包括供电电压、时钟设置等。确保这些设置与你的应用需求相符。
- 擦除芯片中的原有数据。在烧录新程序之前,通常需要将芯片中的旧数据擦除。
- 开始编程。点击编程软件中的相应按钮,开始将程序烧录到芯片中。
- 等待编程完成。编程器会逐步将程序写入芯片,这个过程需要一些时间。
- 验证编程。一旦编程完成,可以选择进行编程验证,确保数据正确地写入了芯片中。
- 断开连接。在确认烧录和验证完成后,安全地断开编程器与计算机的连接,并将芯片取出。
需要注意的是,具体的步骤可能会因使用的编程器、软件版本以及操作系统而有所不同。因此,在进行烧录操作之前,最好阅读相关的编程器和软件文档,以确保正确操作。此外,要小心避免操作错误,以免损坏芯片或其它设备。
封装设计参数
总结
PIC16F676是一款8位微控制器(MCU),它属于PIC16系列,内置了1K字节的闪存,用于存储用户程序代码和数据。主要是具有64字节的RAM(随机存储器),用于临时数据存储和处理。
PIC16F676支持SPI(串行外设接口)和I2C(串行通信接口)等通信协议,便于与其它设备进行通信。它具有多个数字输入/输出引脚和一些模拟输入引脚,可用于连接外部传感器和执行器。与此同时,它还可以可生成脉宽调制(PWM)信号,适用于控制电机速度、LED亮度等应用。
由于其小巧的尺寸和低功耗特性,PIC16F676常用于嵌入式系统、传感器控制、家电控制、小型电子设备和学习项目等领域。它提供了足够的功能和性能,适用于许多中小规模的嵌入式应用,特别是在资源有限的情况下。