立即注册
查看: 646|回复: 0

[资料] Microchip PIC16F716 PWM/带 A/D转换器8位闪存单片机datasheet

已绑定手机
发表于 2022-4-14 10:33:55 | 显示全部楼层 |阅读模式 来自 广东省深圳市
特点
1.单片机内核特征:
• 高性能 RISC CPU
• 只有 35 条单字节指令:除了程序分支指令为双周期指令外,其它所有指令均为单周期指令
• 工作速度:DC - 20 MHz 时钟输入,DC - 200 ns 指令周期
• 中断能力 (多达 7 个内部 / 外部中断源)
• 8 级深度硬件堆栈
• 直接、间接和相对寻址方式
2.特殊单片机特征:
• 上电复位 (POR)
• 上电延时定时器 (PWRT)和振荡器起振定时器(OST)
• 看门狗定时器(WDT),带片内 RC 振荡器,确保可靠工作
• 双阈值欠压复位电路
- 2.5 VBOR (典型值)
- 4.0 VBOR (典型值)
• 可编程代码保护
• 降低功耗的休眠模式
• 可选择不同的振荡器工作模式
• 全静态设计
• 在线串行编程 (In-Circuit Serial Programming,ICSP)
3.CMOS 技术
• 宽工作电压范围:
- 工业级:2.0V - 5.5V
- 扩展级:3.0V - 5.5V
• 高灌 / 拉电流:25/25 mA
• 宽工作温度范围:
- 工业级:-40°C - 85°C
- 扩展级:-40°C - 125°C
4.低功耗特性:
• 待机电流:2.0V 时典型值为 100 nA
• 工作电流:
- 32 kHz, 2.0V 时典型值为 14 µA
- 1 MHz, 2.0V 时典型值为 120 µA
• 看门狗定时器工作电流:2.0V 时典型值为 1 µA
• Timer1 振荡器工作电流:32 kHz, 2.0V 时典型值为 3.0 µA
5.外设特性:
• Timer0:带 8 位预分频器的 8 位定时器 / 计数器
• Timer1:带预分频器的 16 位定时器 / 计数器,在休眠状态下,可使用外部晶体 / 时钟信号继续工作
• Timer2:带 8 位周期寄存器、预分频器和后分频器的 8 位定时器 / 计数器
• 增强型捕捉 / 比较 /PWM 模块:
- 捕捉为 16 位,最大分辨率为 12.5 ns
- 比较为 16 位,最大分辨率为 200 ns
- PWM 最大分辨率为 10 位
- 增强型 PWM:
- 单输出、半桥和全桥工作方式
- 数字可编程死区延时
- 自动关断 / 重启
• 8 位多通道模数转换器
• 13 个 I/O 引脚带有独立方向控制
• PORTB 口可编程弱上拉

PIC16F716 结构框图
1.jpg

存储器结构
PIC16F716 PICmicro 单片机有两个存储器模块,每个存储器模块 (程序存储器和数据存储器)有各自的总线,因此可同时对它们进行访问。
1.程序存储器结构
PIC16F716 有一个 13 位宽的程序计数器,最大可寻址8K x 14 的程序存储空间。 PIC16F716 具有 2K x14 的程序存储器。访问超过这些物理地址的存储单元将导致循环返回到有效的程序存储空间。
复位向量位于 0000h,中断向量位于 0004h。
2.数据存储器结构
数据存储器分成多个存储区,每个存储区都包含通用寄存器(GPR)和特殊功能寄存器(SFR)。Status 寄存器的 RP1 和 RP0 位为存储区选择位。
3.PCL 和 PCLATH
程序计数器(PC)指向将要被执行的指令的地址。PC宽 13 位,其中的低字节是 PCL 寄存器。该寄存器可读可写;高字节是 PCH 寄存器,它包含 PC<12:8> 位,不可直接读写,但可以通过 PCLATH 寄存器间接写入。
3.1 修改 PCL
执行任何将PCL寄存器作为目的寄存器的指令将同时使程序计数器 PC<12:8> 位 (PCH)的值被 PCLATH 寄存器的值替换。这将允许通过写 PCLATH 寄存器的高 5位改变整个程序计数器的值。当低 8 位被写入 PCL 寄存器时,所有程序计数器的 13 位都被修改为 PCLATH 寄存器中的值和写到 PCL 寄存器的值。
通过修改 PCL 寄存器跳转到查找表或程序分支表 (执行 GOTO 指令)时必须小心。PCLATH 被赋予表的起始地址,如果表长度大于 255 条指令或者表中存储器地址的低 8 位从 0xFF 循环返回到 0x00,在表的起始地址和目标地址之间每次地址翻转时 PCLATH 必须递增 1。
3.2 程序存储器分页
CALL 和 GOTO指令提供11位地址,允许在 2K程序存储页面内跳转。指行 CALL 或 GOTO 指令时,地址的高位由 PCLATH<3> 提供。当执行 CALL 或 GOTO 指令时,用户必须事先设置了页面选择位,以便指向所需的程序存储页面。如果执行 CALL 指令(或中断)的 return,整个 13 位的 PC 被全部压入堆栈。因此执行 RETURN 指令 (它将地址从堆栈中弹出)之前无需对 PCLATH<3>位进行设置。
4.堆栈
堆栈允许最多 8 级程序调用和中断嵌套,堆栈包含从程序分支返回的地址。
中档器件有一个 8 级深度 x13 位宽的硬件堆栈,堆栈空间既不占用程序存储空间,也不占用数据存储空间,堆栈指针不可读或写。当执行一条 CALL 指令或响应中断发生程序跳转时, PC 被压入堆栈。当执行 RETURN、RETLW 或 RETFIE 指令时,堆栈中的地址就会被弹出到PC中。无论是 PUSH 或 POP操作都不会改变 PCLATH寄存器的内容。
在堆栈压栈操作 8 次之后,进行第 9 次压栈时,进栈的值将覆盖第一次压栈的数据,而第 10 次压栈的值将覆盖第 2 次压栈的值,依此类推。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表