高性能RISC CPU:?C编译器优化架构??只有49指令操作速度:- DC 20 MHz时钟输入- DC - 200 ns指令周期?中断功能自动上下文保存?16-Level深与可选硬件栈溢出/下溢的重置?直接、间接和相对寻址模式:——两个完整的16位文件选择寄存器(FSRs)——市场可以读取程序和数据存储器灵活振荡器结构:?16兆赫内部振荡器块:——典型的工厂校准±1%——软件可选频率范围从16兆赫到31 kHz?31千赫低功耗内部振荡器?三种外部时钟模式20 MHz特殊单片机特点:?操作电压范围:- 1.8 v至3.6 v (PIC12LF1501) - 2.3 v至5.5 v (PIC12F1501)?在软件的控制下Self-Programmable?加电复位()?升高计时器(PWRT)?可编程低功耗暗光重置(LPBOR)?扩展看门狗定时器(WDT):-可编程期间从1到256年代女士??在线可编程代码保护串行编程?(ICSP?)通过两个别针?增强低电压编程软件(LVP)?调试器(ICD)通过两个别针?节电休眠模式:低功耗睡眠模式——低功耗BOR (LPBOR)?集成温度指示器?128字节high endurance Flash - 100000写Flash耐力(最低)内存:·1 Kwords线性程序内存寻址·64字节线性数据内存寻址·高持久性闪存数据内存(HEF) - 128字节如果非易失性数据存储- 100k擦除/写周期
超低功耗(XLP)特性(PIC12LF1501):·睡眠电流:- 20na @ 1.8V,典型·看门狗定时器电流:- 260 nA @ 1.8V,典型·工作电流:- 30a /MHz @ 1.8V,典型
外围特点:?模拟-数字转换器(ADC): - 10位分辨率四个外部渠道——三个内部渠道:-固定电压参考数模转换器(DAC) -温度指示器通道自动采集功能转换在睡眠期间可用?位数模转换器(DAC): -输出可用外部积极的参考选择内部比较器连接和ADC?一个比较器:-轨到轨输入功率模式控制软件控制滞后?电压参考:- 1.024 v固定基准电压(FVR)与1 x, 2 x和4 x获得的产出水平?6 I / O引脚(1 handlder程序销):25 -高电流沉/源mA / 25 mA -单独编程弱引体向上分别可编程Interrupt-on-Change (IOC)别针?Timer0: 8位和8位可编程定时器/计数器预定标器?增强Timer1:- 16位定时器/计数器与预调器-外部门输入模式?定时器2:8位定时器/计数器与8位周期寄存器,预调器和后定标器?4个10位PWM模块
程序计数器(PC)有15位宽。低字节来自PCL寄存器,这是一个可读可写的寄存器。高字节(PC<14:8>)不是直接可读或可写的,它来自PCLATH。在任何重置,PC被清除。图3-3为PC加载的五种情况。
图3-3:PC在不同情况下的加载情况
3.4.1修改以PCL寄存器为目标执行任何指令的PCL,同时将程序计数器PC<14:8> bits (PCH)替换为PCLATH寄存器的内容。这允许程序计数器的全部内容通过将所需的上7位写入PCLATH寄存器来更改。当较低的8位写入PCL寄存器时,程序计数器的所有15位都将更改为PCLATH寄存器中包含的值和正在写入PCL寄存器的值。
计算后向程序计数器(ADDWF PCL)添加偏移量来完成计算后向。当使用computed GOTO方法执行表读取时,如果表位置跨越PCL内存边界(每个256字节的块),则应注意。请参阅应用程序注释AN556,“实现表读取”(DS00556)。计算函数调用允许程序维护函数表,并提供另一种执行状态机或查找表的方法。当执行使用计算函数调用读取的表时,如果表位置跨越PCL内存边界(每个256字节的块),就应该小心。如果使用调用指令,则使用调用指令的操作数加载PCH<2:0>和PCL寄存器。PCH<6:3>加载了PCLATH<6:3>。CALLW指令通过组合PCLATH和W来形成目标地址,从而支持计算调用。计算的调用是通过加载具有所需地址的W寄存器并执行调用来完成的。PCL寄存器加载W值,PCH加载PCLATH。3.4.4分支分支指令向PC添加偏移量。这允许可重定位代码和跨页面边界的代码。有两种分支形式,BRW和BRA。在这两种情况下,PC都将增加获取下一条指令的次数。当使用任何分支指令时,PCL内存边界都可能被跨越。如果使用BRW,用所需的无符号地址加载W寄存器并执行BRW。整个PC将加载地址PC + 1 + w,如果使用BRA,则整个PC将加载PC + 1 +,即BRA指令操作