EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Read the User-Defined Internal IRC Frequency (Read from CHIPID)

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
-
- 140 -
MOV A,@R0 ;Read high byte of 32K frequency
LCALL UART_SEND
INC R0
MOV A,@R0 ;Read low byte of 32K frequency
LCALL UART_SEND
LOOP:
JMP LOOP
END
7.5.10 Read the User-defined internal IRC Frequency (Read from CHIPID)
C language code
//Operating frequency for test is 11.0592MHz
#include "reg51.h"
#include "intrins.h"
#define CLKSEL (*(unsigned char volatile xdata *)0xfe00)
#define CLKDIV (*(unsigned char volatile xdata *)0xfe01)
#define CPUIDBASE 0xfde0
#define ID_ADDR ((unsigned char volatile xdata *)(CPUIDBASE + 0x00))
#define VREF_ADDR (*(unsigned int volatile xdata *)(CPUIDBASE + 0x07))
#define F32K_ADDR (*(unsigned int volatile xdata *)(CPUIDBASE + 0x09))
#define T22M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x0b)) //22.1184MHz
#define T24M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x0c)) //24MHz
#define T20M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x0d)) //20MHz
#define T27M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x0e)) //27MHz
#define T30M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x0f)) //30MHz
#define T33M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x10)) //33.1776MHz
#define T35M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x11)) //35MHz
#define T36M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x12)) //36.864MHz
#define T40M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x13)) //40MHz
#define T45M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x14)) //45MHz
#define VRT6M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x15)) //VRTRIM_6M
#define VRT10M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x16)) //VRTRIM_10M
#define VRT27M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x17)) //VRTRIM_27M
#define VRT44M_ADDR (*(unsigned char volatile xdata *)(CPUIDBASE + 0x18)) //VRTRIM_44M
sfr P_SW2 = 0xba;
sfr IRCBAND = 0x9d;
sfr IRTRIM = 0x9f;
sfr VRTRIM = 0xa6;
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;

Table of Contents

Related product manuals