?? pca_040.c
字號:
#include "C8051F040.h"
#define uchar unsigned char
#define uint unsigned int
void os_init();
void port_init();
void pca_init();
sbit led=P1^6;
void UART_Init();
void SMBus_Init();
void SPI_Init();
int m;
/***********************************************************************
*
*主函數
***********************************************************************/
void main()
{
WDTCN = 0xDE;
WDTCN = 0xAD;
os_init();
port_init();
pca_init();
EIE1 = 0x08;
IE = 0x80;
while(1)
{
}
}
/**********************************************************************
*
*端口初始化函數
***********************************************************************/
void port_init()
{
SFRPAGE = CONFIG_PAGE;
P1MDIN = 0x00;
XBR0 = 0x27;
XBR2 = 0x40;
P1MDOUT = 0x40;
}
/**********************************************************************
*
*系統時鐘初始化函數,選擇外部22.1184MHZ晶振頻率
***********************************************************************/
void os_init()
{
uint i;
SFRPAGE = CONFIG_PAGE;
OSCXCN = 0x67;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
CLKSEL = 0x01;
}
/**********************************************************************
*
*可編程邏輯陣列初始化函數
***********************************************************************/
void pca_init()
{
SFRPAGE = PCA0_PAGE;
// PCA0CN = 0x40; //PCA使能
PCA0MD = 0x81; //
PCA0CPM0 = 0x11; //模塊0負沿捕捉--P2.0
PCA0CPM1 = 0x11; //模塊1負沿捕捉--P2.1
PCA0CPM2 = 0x11; //模塊2負沿捕捉--P2.2
PCA0CPM3 = 0x11; //模塊3負沿捕捉--P2.3
}
void pca_isp() interrupt 9
{SFRPAGE = PCA0_PAGE;
if(CCF0==1)
{ led=~led;
SFRPAGE = PCA0_PAGE;
CCF0 = 0; //清捕捉中斷標志
}
if(CCF1==1)
{ led=~led;
SFRPAGE = PCA0_PAGE;
CCF1 = 0; //清捕捉中斷標志
}
if(CCF2==1)
{ led=~led;
SFRPAGE = PCA0_PAGE;
CCF2 = 0; //清捕捉中斷標志
}
if(CCF3==1)
{ led=~led;
SFRPAGE = PCA0_PAGE;
CCF3 = 0; //清捕捉中斷標志
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -