?? cp1.c
字號(hào):
/***************************************************************
功能:此程序可完成CP1比較器的比較功能,比較器基準(zhǔn)信號(hào)來(lái)自于VREF引腳,
比較器響應(yīng)后將產(chǎn)生中斷,可在中斷程序中設(shè)斷點(diǎn)觀察.
作者:ZDP
時(shí)間:2005-11-30
版本:V1.0
***************************************************************/
//------------------------------------------------------------------------------------
// 頭文件包含
//------------------------------------------------------------------------------------
#include <c8051f020.h>
//------------------------------------------------------------------------------------
//函數(shù)定義
//------------------------------------------------------------------------------------
void PORT_Init (void);
void CPT1_Init (void);
void CPT1_ISR (void);
sbit led=P2^4; //紅色LED
//------------------------------------------------------------------------------------
//主程序
//------------------------------------------------------------------------------------
void main (void) {
WDTCN = 0xde;
WDTCN = 0xad; //禁止看門(mén)狗定時(shí)器
PORT_Init ();
CPT1_Init ();
EA=1; /*開(kāi)總中斷標(biāo)志*/
while (1)
{
if((CPT1CN&0x40)==0x40) //CP+>CP-,led=1
{
led=1;
}
else //CP+<CP-,led=0
{
led=0;
}
}
}
//--------------------------------------------------------------------------------
//函數(shù)名稱(chēng): CPT1_Init()
//函數(shù)功能: 比較器1初始化
//--------------------------------------------------------------------------------
void CPT1_Init (void)
{
EIE1 |=0x40; //允許CP1FIF 標(biāo)志位(CPT1CN.4)的中斷請(qǐng)求
CPT1CN =0x8F; //啟用CP1比較器,CP+、-回差電壓為10mV
REF0CN |= 0x03; //用基準(zhǔn)電壓作為比較信號(hào)基準(zhǔn),CP1-接VREF
//用電位器從3.3V分壓輸出至CP1+,調(diào)節(jié)電位器輸出電壓大、小于VREF看斷點(diǎn)變化
}
//------------------------------------------------------------------------------------
//函數(shù)名稱(chēng): PORT_Init ()
//函數(shù)功能: 通用I/O口及交叉開(kāi)關(guān)初始化
//------------------------------------------------------------------------------------
//
void PORT_Init (void)
{
P2MDOUT = 0x10; //LED 輸出驅(qū)動(dòng)
XBR2 = 0x40; /*交叉開(kāi)關(guān)使能*/
}
//------------------------------------------------------------------------
//函數(shù)名稱(chēng): CPT1_ISR ()
//函數(shù)功能: 比較器1中斷程序
//------------------------------------------------------------------------
void CPT1_ISR (void) interrupt 12
{
CPT1CN &=~ 0x30; //清中斷標(biāo)志位,在此設(shè)斷點(diǎn)觀察
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -