EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Example Routines; INT0 Interrupt (Rising and Falling Edges)

Default Icon
901 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
STC8A8K64D4 Series Manual
-
- 220 -
11.5 Example Routines
11.5.1 INT0 Interrupt (Rising and Falling Edges)
C language code
//Operating frequency for test is 11.0592MHz
#include "reg51.h"
#include "intrins.h"
sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xc9;
sfr P5M0 = 0xca;
sbit P10 = P1^0;
sbit P11 = P1^1;
void INT0_Isr() interrupt 0
{
if (INT0) //Judging rising and falling edges
{
P10 = !P10; //Test port
}
else
{
P11 = !P11; //Test port
}
}
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
IT0 = 0; //Enable INT0 rising edge and falling edge interrupts
EX0 = 1; //Enable INT0 interrupt
EA = 1;
while (1);
}

Table of Contents

Related product manuals