?? pcafreout.c
字號:
//-----------------------------------------------------------------------------
// 版權歸新華龍電子公司所有
//-----------------------------------------------------------------------------
//
//文件名: PCAfreout.c
//
//編寫人: LC
//
//編寫時間:2005/03/10
//
//目標器件: C8051F02x
//
//編譯工具: Silicon Laboratories IDE
//
//程序說明: 此程序實現PCA頻率輸出方式,在P0.0口用示波器測量,有波形頻率的變化。
#include <c8051f020.h> // SFR declarations
//--------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORT_Init (void);
void PCA_Init (void);
void PCA_ISR (void);
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {
/*關看門狗*/
WDTCN = 0xde;
WDTCN = 0xad;
PORT_Init (); /*初始化IO口*/
PCA_Init (); /*PCA初始化成頻率輸出方式*/
EA = 1; /*開總中斷*/
while (1) {
}
}
void PORT_Init (void)
{
XBR0 = 0x08; /*CEX0-->P0.0*/
XBR2 = 0x40; /*使能交叉開關和弱上拉*/
P1MDOUT |= 0x40; /*使能P1.6腳推挽輸出*/
}
void PCA_Init (void)
{
EIE1 = 0x08; /*使能PCA0中斷*/
//PCA0MD = 0x01; /*PCA定時器/計數器溢出中斷允許*/
PCA0L = 0x00;
PCA0H = 0x00;
PCA0CPM0 = 0x4f; /*PCA0的頻率輸出方式,當CCF0=1時,允許輔捉/比較標志的中斷申請*/
PCA0CPL0 = 0x00;
PCA0CPH0 = 0x20;
PCA0CN = 0x40; /*允許PCA定時器/計數器*/
}
/*PCA中斷子程序*/
void PCA_ISR (void) interrupt 9
{
//CF = 0;
CCF0 = 0; /*清匹配中斷標志*/
PCA0CPH0 += 0x10; /*改變波形的頻率*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -