EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Page 90

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
-
- 74 -
#define LVD2V4 0x01 //LVD@2.4V
#define LVD2V7 0x02 //LVD@2.7V
#define LVD3V0 0x03 //LVD@3.0V
sbit ELVD = IE^6;
#define LVDF 0x20 //PCON.5
sbit P32 = P3^2;
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;
void Lvd_Isr() interrupt 6
{
PCON &= ~LVDF; //Clear interrupt flag
P32 = ~P32; //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;
PCON &= ~LVDF; //Test port
// RSTCFG = ENLVR | LVD3V0; //Low voltage reset when 3.0V is enabled, no LVD interrupt is generated
RSTCFG = LVD3V0; //Low voltage interrupt when 3.0V is enabled
ELVD = 1; //Enable LVD interrupt
EA = 1;
while (1);
}
Assembly code
; Operating frequency for test is 11.0592MHz
RSTCFG DATA 0FFH
ENLVR EQU 40H ;RSTCFG.6
LVD2V0 EQU 00H ;LVD@2.0V
LVD2V4 EQU 01H ;LVD@2.4V
LVD2V7 EQU 02H ;LVD@2.7V
LVD3V0 EQU 03H ;LVD@3.0V

Table of Contents

Related product manuals