STC8A8K64D4 Series Manual
15.4 Example Routines
15.4.1 Using Comparator (Interrupt Mode)
C language code
// Operating frequency for test is 11.0592MHz
#include "reg51.h"
#include "intrins.h"
#define
CMPEXCFG
sfr
P_SW2
=
sfr
CMPCR1
=
sfr
CMPCR2
=
sfr
P1M1
=
sfr
P1M0
=
sfr
P0M1
=
sfr
P0M0
=
sfr
P2M1
=
sfr
P2M0
=
sfr
P3M1
=
sfr
P3M0
=
sfr
P4M1
=
sfr
P4M0
=
sfr
P5M1
=
sfr
P5M0
=
sbit
P10
=
sbit
P11
=
void CMP_Isr() interrupt 21
{
CMPCR1 &= ~0x40;
if (CMPCR1 & 0x01)
{
P10 = !P10;
}
else
{
P11 = !P11;
}
}
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
(*(unsigned char volatile xdata *)0xfeae)
0xba;
0xe6;
0xe7;
0x91;
0x92;
0x93;
0x94;
0x95;
0x96;
0xb1;
0xb2;
0xb3;
0xb4;
0xc9;
0xca;
P1^0;
P1^1;
// Clear interrupt flag
// Rising edge interrupt test port
// Falling edge interrupt test port
- 436 -
Need help?
Do you have a question about the micro STC8A8K64D4 Series and is the answer not in the manual?