关于PIC单片机的一些经验
道复位是否由于WDT计时溢出引起的. 8.比较器 PIC16F616有两个比较器:C1和C2,C1的结构比C2的结构要简单,下面我分别对这两个比较器的用法和特性作简要说明. (4)比较器C1:它有一个独立的控制寄存器CM1CON0,通过这个寄存器可以对比较器C1进行一些设置.位C1ON可以控制C1的开启关闭,位C1OE 可以决定比较器的输出是从引脚输出还是内部输出,位C1POL可以选择比较器输出的极性,位C1R选择参考电压是链接到引脚C1IN+还是连接到 C1VREF,C1CH可以选择比较器负端从哪一个引脚输入的,位C1OUT存放了比较器的输出结果. (5)比较器C2:它的控制寄存器CM2CON0的操作跟C1一样,但是比较器C2比比较其C1功能要强,因为它与Timer1挂上钩了,C2可以连接到 Timer1,而C1不能.当C2与Timer1相连接的时候,C2的输出可以设置成与Timer1的下降沿锁定,如果Timer1有分频,则比较器的输出与分频后的Timer1下降沿锁定,可以通过相关寄存器来进行设置. (6)两个比较还有其它的功能,都能组成滞回比较器,这样就可以对输入电压有一定的滤波功能.两个比较器还可以形成一个SR锁存器. 由于在本项目中没有选择用比较器这个功能,所以在这里就不详细叙述其细节设置,但要注意的是在不用此模块的时候,要能够保证此模块不能影响其他模块的正常工作,可以把比较器功能关闭(通过寄存器CM1CON0、CM2CON0的CxON位置0来关闭). 9.捕获/比较/PWM功能 PIC16F616具有捕获/比较/PWM的模块,下面来简单的介绍一下它们的功能. 这三个功能需要定时器的支持,捕获和比较功能需要定时器Timer1的支持,PWM功能需要定时器Timer2的支持.都有中断的功能,选择这三种功能的某一种功能可以通过寄存器CCP1CON来设置.CCP1CON的低四位CCP1M3:0>可以通过不同的组合来开启某项功能和关闭所有功能,当CCP1M3:0>=0000的时候,捕获/比较/PWM模块的所有功能被禁止.具体其他的不同组合实现的功能,请参考 PIC16F616的用户手册. 当选择捕获功能时,它可以捕获引脚CCP1发生的事件,同时把16位Timer1的计数值拷贝到CCPR1H:CCPR1L中来,引脚CCP1的发生事件可以指的是下列事件:CCP1引脚的每个上升沿或者下降沿、第四个上升沿、第十六个上升沿.可以通过寄存器CCP1CON的低四位CCP1M 3:0>来设置是哪一种事件.当事件发生的时候,单片机会置中断标志位CCP1IF(寄存器PIR1上),如果中断被允许(寄存器PEIE的位 CCP1IE=1)的话,就会产生中断,中断标志位CCP1IF需要软件清零. 选择比较功能时,如果定时器Timer1的计数器值与寄存器CCPR1H:CCPR1L相等的话,将产生下面的事件:把引脚CCP1置1/0、产生一个中断、触发一个事件(把定时器Timer1的技术器TMR1清零,并且如果此时AD是允许的话,它将触发一次AD转换),这些事件可以通过寄存器 CCP1CON的低四位CCP1M3:0>来设置是哪一种事件. 当选择PWM功能时,通过设置PR2、T2CON、CCPR1L、CCP1CON这四个寄存器,模块可以产生不同占空比的PWM波形.具体的设置和占空比的计算请参考手册. 如果我们不需要这些功能,可以把这个模块关闭掉(设置CCP1M3:0>=0000即可). 10. 复位、中断和睡眠 (1)复位 PIC16F616包括这样的几个复位功能,上电复位(Power-on)、硬件复位、欠压复位(Brown-out)、看门狗复位. 关于上电复位POR,大家都不陌生,单片机在上电的时候保持复位直到电压能够满足其正常的工作电压,同时你可以通过对CONNFIG(编译器上即可设置)的设置,来开启Power-up Time,这个时间一般为64ms. 硬件复位可以通过MCLR引脚外界复位电路,即可实现硬件复位(将此引脚接低电平). 欠压复位这个功能是可选的,也可以直接在编译环境中配置CONFIG寄存器来开启此功能.当此功能开启时,如果单片机在运行的时候,供电电压不足就会引起欠压复位,复位后单片机如果发现供电电压已经达到正常值的时候,会有一个64ms的延时,然后再运行程序. 关于看门狗的复位在看门狗部分已经说了.这里的一些复位还涉及到一些标志位.这些标志位分布在STATUS和PCON上面.STATUS上有两个位 TO、PD,当标志位TO=1时,表示表示已经操作了上电复位或者是执行了CLRWDT或者SLEEP指令,当TO=0时,表示发生了看门狗复位.当标志位PD=1时表示操作了上电复位或者是执行了CLRWDT指令,当PD=0时,表示执行了SLEEP指令.PCON上有两个标志位是POR和BOR,分别表示的是上电复位和欠压复位标志.具体的可以参看手册. (2)中断 PIC16F616包括这样的几个中断源:RA2/INT引脚外部中断、RA端口电平变化中断、定时器Timer0、Timer1、Timer2溢出中断、比较器中断、AD转换中断、捕获/比较/PWM中断. 这些中断的允许位和中断标志位分别位于INTCON、PIE1、PIR1、IOCA这些寄存
PIC单片机 PIC16F616型 编程调试 相关文章:
- 基于PIC单片机的智能型漏电断路器设计(11-25)
- 基于PIC单片机的无线实时监控防盗系统的设计与实现(11-18)
- PIC单片机键盘矩阵扫描C语言程序(12-02)
- PIC单片机控制第一个发光管闪动程序(12-02)
- PIC单片机驱动LCD12864液晶显示闪动字体程序(12-02)
- PIC单片机控制8位流水灯C语言程序(12-02)