差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
pic [2021/02/23 22:43]
gongyusu [器件系列]
pic [2021/02/23 22:46] (当前版本)
gongyusu [硬件功能]
行 260: 行 260:
 硬件调用堆栈不可寻址,因此无法实现抢占式任务切换 硬件调用堆栈不可寻址,因此无法实现抢占式任务切换
 软件实现的堆栈效率不高,因此很难生成可重入的代码并支持局部变量 软件实现的堆栈效率不高,因此很难生成可重入的代码并支持局部变量
-使用分页程序存储器时,有两种页面大小值得担心:一种用于CALL和GOTO,另一种用于计算的GOTO(通常用于表查找)。例如,在PIC16上,CALL和GOTO具有11位寻址,因此页面大小为2048个指令字。对于添加到PCL的已计算GOTO,页面大小为256个指令字。在这两种情况下,高位地址位均由PCLATH寄存器提供。每次控件在页面之间转移时,都必须更改此寄存器。 PCLATH也必须由任何中断处理程序保留。[27]+使用分页程序存储器时,有两种页面大小值得担心:一种用于CALL和GOTO,另一种用于计算的GOTO(通常用于表查找)。例如,在PIC16上,CALL和GOTO具有11位寻址,因此页面大小为2048个指令字。对于添加到PCL的已计算GOTO,页面大小为256个指令字。在这两种情况下,高位地址位均由PCLATH寄存器提供。每次控件在页面之间转移时,都必须更改此寄存器。 PCLATH也必须由任何中断处理程序保留。
  
 编译器开发 编译器开发
 尽管有几种商用编译器可用,但Microchip在2008年针对18F 24F和30 / 33F处理器系列发布了自己的C编译器C18和C30。 尽管有几种商用编译器可用,但Microchip在2008年针对18F 24F和30 / 33F处理器系列发布了自己的C编译器C18和C30。
  
-从2013年起,Microchip提供了其XC系列编译器,可与MPLAB X一起使用。Microchip最终将淘汰其较早的编译器,例如C18,并建议将其XC系列编译器用于新设计。[28]+从2013年起,Microchip提供了其XC系列编译器,可与MPLAB X一起使用。Microchip最终将淘汰其较早的编译器,例如C18,并建议将其XC系列编译器用于新设计。
  
 PIC汇编语言代码的RISC指令集可能会使整体流程难以理解。明智地使用简单宏可以提高PIC汇编语言的可读性。例如,原始的Parallax PIC汇编器(“ SPASM”)具有宏,这些宏隐藏W,并使PIC看起来像一个两地址的机器。它具有宏指令,例如mov b,a(将数据从地址a移动到地址b)和add b,a(将数据从地址a添加到地址b中的数据)。它还通过提供三操作数分支宏指令(例如cjne a,b,dest)(将a与b进行比较,如果不相等则跳转到dest)来隐藏跳过指令。 PIC汇编语言代码的RISC指令集可能会使整体流程难以理解。明智地使用简单宏可以提高PIC汇编语言的可读性。例如,原始的Parallax PIC汇编器(“ SPASM”)具有宏,这些宏隐藏W,并使PIC看起来像一个两地址的机器。它具有宏指令,例如mov b,a(将数据从地址a移动到地址b)和add b,a(将数据从地址a添加到地址b中的数据)。它还通过提供三操作数分支宏指令(例如cjne a,b,dest)(将a与b进行比较,如果不相等则跳转到dest)来隐藏跳过指令。
行 272: 行 272:
 PIC器件通常具有以下特点: PIC器件通常具有以下特点:
  
-闪存(程序存储器,使用MPLAB器件编程) +  * 闪存(程序存储器,使用MPLAB器件编程) 
-SRAM(数据存储器) +  ​* ​SRAM(数据存储器) 
-EEPROM存储器(在运行时可编程) +  ​* ​EEPROM存储器(在运行时可编程) 
-睡眠模式(省电) +  ​* ​睡眠模式(省电) 
-看门狗定时器 +  ​* ​看门狗定时器 
-各种晶体或RC振荡器配置,或外部时钟 +  ​* ​各种晶体或RC振荡器配置,或外部时钟 
-变体+ 
 +**变体**
 在一系列产品中,根据芯片所具有的硬件资源,仍然会有许多设备变型: 在一系列产品中,根据芯片所具有的硬件资源,仍然会有许多设备变型:
 +  * 通用I / O引脚
 +  * 内部时钟振荡器
 +  * 8/​16/​32位定时器
 +  * 同步/​异步串行接口USART
 +  * 用于I²C和SPI通信的MSSP外围设备
 +  * 捕获/​比较和PWM模块
 +  * 模数转换器(最高〜1.0 Msps)
 +  * USB,以太网,CAN接口支持
 +  * 外部存储器接口
 +  * 集成模拟RF前端(PIC16F639和rfPIC)。
 +  * KEELOQ滚动码加密外设(编码/​解码)
 +  * 还有很多
  
-通用I / O引脚 
-内部时钟振荡器 
-8/​16/​32位定时器 
-同步/​异步串行接口USART 
-用于I²C和SPI通信的MSSP外围设备 
-捕获/​比较和PWM模块 
-模数转换器(最高〜1.0 Msps) 
-USB,以太网,CAN接口支持 
-外部存储器接口 
-集成模拟RF前端(PIC16F639和rfPIC)。 
-KEELOQ滚动码加密外设(编码/​解码) 
-还有很多 
 发展趋势 发展趋势
 具有EPROM存储的第一代PIC几乎完全被具有闪存的芯片所取代。同样,PIC1650的原始12位指令集及其直接后代已被14位和16位指令集取代。 Microchip仍在销售其一些基于EPROM的PIC的OTP(一次性可编程)和窗口化(可紫外线擦除)版本,以用于传统支持或批量订购。 Microchip网站列出了不可作为OTP进行电擦除的PIC。可以订购这些芯片的UV擦除窗口版本。 具有EPROM存储的第一代PIC几乎完全被具有闪存的芯片所取代。同样,PIC1650的原始12位指令集及其直接后代已被14位和16位指令集取代。 Microchip仍在销售其一些基于EPROM的PIC的OTP(一次性可编程)和窗口化(可紫外线擦除)版本,以用于传统支持或批量订购。 Microchip网站列出了不可作为OTP进行电擦除的PIC。可以订购这些芯片的UV擦除窗口版本。
行 299: 行 300:
 PICMicro零件号中的F通常表示PICmicro使用闪存,并且可以电子方式擦除。相反,C通常意味着只能通过将裸片暴露在紫外线下才能将其擦除(这仅在使用开窗封装样式的情况下才可行)。使用EEPROM的PIC16C84是该规则的一个例外,因此可以电擦除。 PICMicro零件号中的F通常表示PICmicro使用闪存,并且可以电子方式擦除。相反,C通常意味着只能通过将裸片暴露在紫外线下才能将其擦除(这仅在使用开窗封装样式的情况下才可行)。使用EEPROM的PIC16C84是该规则的一个例外,因此可以电擦除。
  
-名称中的L表示该部件将在较低的电压下运行,通常会施加频率限制。[29]在3-3.6伏的严格范围内,专门为低压操作而设计的零件在零件号上标有J。这些部件还具有独特的I / O容限,因为它们可接受高达5 V的输入。+名称中的L表示该部件将在较低的电压下运行,通常会施加频率限制。在3-3.6伏的严格范围内,专门为低压操作而设计的零件在零件号上标有J。这些部件还具有独特的I/​O容限,因为它们可接受高达5V的输入。
  
 ### 开发工具 ### 开发工具