比较器A的结构大概可以分4部分构成,分别为模拟输入,比较器A核心,低通滤波器,基准电压部分和中断部分。中断产生条件前提是GIE为1。
结构框图如下:
比较器A的寄存器主要有CACTL1,CACTL2和CAPD。
CACTL1寄存器:
CAEX:比较器的输入端,控制比较器A的输入信号和输出方向。
CARSEL:和CAEX选择内部参考电源关系。
CAREFx:选择参考电源。
CAON:0,关闭比较器;1,打开比较器。
CAIES:0,上升沿触发中断;1,下降沿触发。
CACTL2寄存器:
P2CA1:0,外部信号管脚不连接到CA1(即悬空);1,管脚连接到CA1(即接到茅山派30f149P2.4).
P2CA0:0,外部信号管脚不连接到CA0;1,管脚连接到CA0.
CAF:0,比较器的输出不进行滤波处理;1,进行滤波处理。
CAOUT:比较器输出,只读。(默认为0,比较器正级电压大于负极电压时输出1)
CAPD寄存器:
比较器A模块的输入输出与IO共用引脚,CAPD可以控制IO端口输入缓冲器的通断开关。某个比特0,相应的端口输入缓冲器有效;1,则无效。
例程:P3.5外接LED指示灯
程序简述:将0.25VCC参考电压接到比较器负端,选CA0(P2.3)外接输入电压,P2.3接比较器外设,P3.5=1。中断选择上升沿触发。若输入电压大于0.25参考电压,CAOUT为1,(默认输出为0)上升沿,置位中断标志位CAIFG,需要软件清除且取反P3.5,LED灯变化。