C51單片機學習(實驗)
外部中斷
Pertues仿真圖

C程式
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay_ms(uchar num)
{
uint i,j;
for(i=0;i<num;i++)
for(j=0;j<5000;j++);
}
uchar led_table[]={
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0xfe,0xfc,0xf8,0xf0,
0xe0,0xc0,0x80,0x00,
};
void main()
{
uchar i;
//1、EINT0設定為低電平觸發
IT0=1;IT1=0;
//2、使能EINT0
EX0=1;EX1=1;
//3、使能全域中斷
EA=1;
//4、將EINT0設定為低優先級中斷
PX0=1;PX1=0;
while(1)
{
for(i=0;i<8;i++)
{
P2=led_table[i];
delay_ms(25);
}
P2=0xFF;
}
}
void eint0_isr() interrupt 0
{
uchar i;
for(i=8;i<16;i++)
{
P0=led_table[i];
delay_ms(25);
}
P0=0xFF;
}
void eint1_isr() interrupt 2
{
uchar i;
for(i=8;i<16;i++)
{
P1=0x00;
delay_ms(25);
P1=0xFF;
delay_ms(25);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/238122.html
標籤:其他
上一篇:net start MongoDB 報錯:服務名無效
下一篇:PCB相關知識-焊盤Pad
