?? int0.c
字號:
#include <c8051f020.h> /*SFR定義*/
sbit led=P3^7;
void PORT_Init()
{ XBR0 = 0x04; //urat0 配置到p0.0 p0.1
XBR1=0x04; //int0 配置到p0.2
P3MDOUT=0Xff;
P0MDOUT=0Xff;
XBR2=0X40;
}
void SYSCLK_Init()
{
unsigned int i;
OSCXCN=0X67; //0X67=0110,0111
for(i=0;i<256;i++); //等待>1ms
while(!(OSCXCN&0X80)); //等待XTLVLD變?yōu)?
OSCICN=0X88; //時鐘失效監(jiān)測器,選擇外部時鐘源作為系統(tǒng)時鐘
}
void UART0_Init()
{
SCON0=0x50; //串口方式1
TMOD=0X20; //選用定時器1作為波特率發(fā)生器
TH1=0xF4; //波特率為4800
TL1=0xF4;
TF1=0;
TR1=1; //定時器啟動
PCON=0X00; //波特率不乘2
TI0=1;
}
void main (void) {
WDTCN = 0xde; /*關(guān)看門狗*/
WDTCN = 0xad;
SYSCLK_Init();
PORT_Init();
UART0_Init();
EX0=1; // 外部中斷允許
IT0=1; // 下降沿觸發(fā)
PX0=1; // 優(yōu)先級最高
EA=1; // 全局中斷允許
while (1) { }
}
void fint0 (void) interrupt 0
{
led=!led;// led狀態(tài)取反
SBUF0=0Xff;//向上位機發(fā)送ff
while(TI0==0);
TI0=0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -