?? ex4-5.c
字號:
/*
標題:范例 4-5
版本:1.0
Target:89S51
程序描述:Port B 在正常狀況下會輸出跑馬燈,
當INT0 引腳有+5V的脈沖出現時,8顆LED會一閃一滅4次。 */
/* ***************************************************** */
#include <REGX51.H>
void delay (void) { /* delay 函數 */
unsigned char i,j; /* 這個函數執行時間的延遲 */
for (i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
void delay_4isr (void) { /* delay_4isr 函數 */
unsigned char i,j; /* 這個函數執行時間的延遲 */
for (i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
static void xint0_isr(void) interrupt IE0_VECTOR
{
unsigned char i,j=0XFF; /* 變量 j */
for(i=0;i<16;i++)
{
j=~j;
P1 = j; /* 將數值輸出到 LED 輸出埠 */
delay_4isr ();
}
}
void main (void) {
unsigned char j=0XFF; /* 變量 j */
EA=0; /* 設定系統不接受所有的中斷 */
EX0=1; /* 設定接受INT0的中斷 */
PX0=1;
EA=1; /* 設定系統接受中斷 */
while (1) /* 無窮循環 */
/* 依次讓LED 0,1,2,3,4,5,6,7閃爍 */
{
j=(j<<1) | 0x01;
if(j==0XFF) j=0XFE;
P1 = j; /* 將數值輸出到 LED 輸出端口 */
delay(); /* 調用 delay 函數*/
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -