EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Example Routines; Using Comparator (Interrupt Mode)

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
- 436 -
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 (*(unsigned char volatile xdata *)0xfeae)
sfr P_SW2 = 0xba;
sfr CMPCR1 = 0xe6;
sfr CMPCR2 = 0xe7;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
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 CMP_Isr() interrupt 21
{
CMPCR1 &= ~0x40; // Clear interrupt flag
if (CMPCR1 & 0x01)
{
P10 = !P10; // Rising edge interrupt test port
}
else
{
P11 = !P11; // Falling edge interrupt test port
}
}
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;

Table of Contents

Related product manuals