📄 cp1.c
字号:
/***************************************************************
功能:此程序可完成CP1比较器的比较功能,比较器基准信号来自于VREF引脚,
比较器响应后将产生中断,可在中断程序中设断点观察.
作者:ZDP
时间:2005-11-30
版本:V1.0
***************************************************************/
//------------------------------------------------------------------------------------
// 头文件包含
//------------------------------------------------------------------------------------
#include <c8051f020.h>
//------------------------------------------------------------------------------------
//函数定义
//------------------------------------------------------------------------------------
void PORT_Init (void);
void CPT1_Init (void);
void CPT1_ISR (void);
sbit led=P2^4; //红色LED
//------------------------------------------------------------------------------------
//主程序
//------------------------------------------------------------------------------------
void main (void) {
WDTCN = 0xde;
WDTCN = 0xad; //禁止看门狗定时器
PORT_Init ();
CPT1_Init ();
EA=1; /*开总中断标志*/
while (1)
{
if((CPT1CN&0x40)==0x40) //CP+>CP-,led=1
{
led=1;
}
else //CP+<CP-,led=0
{
led=0;
}
}
}
//--------------------------------------------------------------------------------
//函数名称: CPT1_Init()
//函数功能: 比较器1初始化
//--------------------------------------------------------------------------------
void CPT1_Init (void)
{
EIE1 |=0x40; //允许CP1FIF 标志位(CPT1CN.4)的中断请求
CPT1CN =0x8F; //启用CP1比较器,CP+、-回差电压为10mV
REF0CN |= 0x03; //用基准电压作为比较信号基准,CP1-接VREF
//用电位器从3.3V分压输出至CP1+,调节电位器输出电压大、小于VREF看断点变化
}
//------------------------------------------------------------------------------------
//函数名称: PORT_Init ()
//函数功能: 通用I/O口及交叉开关初始化
//------------------------------------------------------------------------------------
//
void PORT_Init (void)
{
P2MDOUT = 0x10; //LED 输出驱动
XBR2 = 0x40; /*交叉开关使能*/
}
//------------------------------------------------------------------------
//函数名称: CPT1_ISR ()
//函数功能: 比较器1中断程序
//------------------------------------------------------------------------
void CPT1_ISR (void) interrupt 12
{
CPT1CN &=~ 0x30; //清中断标志位,在此设断点观察
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -