📄 micro.h
字号:
/**************************************
pj name: DTMF CID
author: RPJ
version: V0.1
description: the code for 16 channel CID of dtmf mode.
hook off/ on register ADDR at 8000h and 9000h,
data for cid decoder register ADDR at A000h and B000h,
8870 stb single at hight 4 bit of P1 port,
**************************************/
#include "absacc.h"
#include "clock.h"
#define W78E58B 1
#if W78E58B
#include "ISP_78E58B.h"
#else
#include "reg52.h"
#endif
typedef bit BOOL;
typedef unsigned char UNCHAR;
typedef unsigned int UNINT;
#define TRUE 1
#define FALSE !TRUE
#define NULL 0
#define Timer2ms
#define ADDR_DTMFDATA 0xA000
#define ADDR_HOOKDATA 0x8000
#define EXT_Group_Offset 0x1000
#define FRAMEHEAD 0xcc
#define DISPDATA 0x0a
#define CLSDATA 0x0c
#define FRAMEEND 0xaa
#define BUFSIZE 50
#define TIME_SPACE 10 //10*micro_scan_8870*4=10*10*4=400ms
#define ALIGSIZE 255
#define TAL_EXT_PORT 17
#define MT8870_EnOut 0x08 //8870 have a output
#define MT8870_NoOut 0x01 //8870 have a output front
#define MT8870_EnRec 0x10 //8870 scan enable
#define MT8870_NoRec 0x00 //8870 stop scan data
#define EXT_SCAN_ON 0x80 //system scan hook on/off
#define EXT_SCAN_OFF 0x00 //system stop scan hook on/off
#define EXT_SCAN_PRI 0x0b //system scan ext state pri
#define EXT_SCAN_LEN EXT_SCAN_ON+EXT_SCAN_PRI//T=EXT_SCAN_PRI*100ms
#define MICRO_SendToBuf(Buf, Data, WP, Tal, BufSize) \
{\
(Buf) = (Data) ; \
(Tal)++ ; \
(WP)++ ; \
if( (WP) == (BufSize) ) \
(WP) = 0 ; \
}
#define MICRO_GetFromBuf(Buf, cData, RP, Tal, BufSize) \
{ \
(cData) = (Buf) ; \
(Tal)-- ; \
(RP)++ ; \
if( (RP) == (BufSize) ) \
(RP) = 0 ; \
}
#define LOAD_TIMER0(th,tl)\
{\
TH0 = (th);\
TL0 = (th);\
}
#define LOAD_TIMER1(th,tl)\
{\
TH1 = (th);\
TL1 = (th);\
}
UNCHAR xdata DTMF_Rec_ST[16];
UNCHAR xdata DTMF_Reg_Rec[16];
UNCHAR xdata COUNTER[16];
UNCHAR xdata CHECK_Reg[16];
UNCHAR xdata GROUP_Red_ST[2];
UNCHAR xdata GROUP_RESAVE_ST[2];
BOOL Flag_Head,Flag_Second,Flag_End;
UNCHAR xdata EXT_RecDtmf_List[ALIGSIZE];
UNCHAR xdata EXT_EVENT_QUEUE[BUFSIZE];
UNCHAR xdata ALIGNMENT[ALIGSIZE];
UNCHAR xdata UART_CIDList[ALIGSIZE];
UNCHAR WP_EVENT,RP_EVENT,TAL_EVENT;
UNCHAR WP_ALIGN,RP_ALIGN,TAL_ALIGN;
UNCHAR WP_UCID,RP_UCID,TAL_UCID;
UNCHAR xdata TRK_No_List[ALIGSIZE*4];
UNCHAR TRK_No;
BOOL ISP_Mode;
UNCHAR SLEC_Point;
UNCHAR Counter2ms,Counter5ms,Counter10ms,Counter100ms;
BOOL Flag_2ms,Flag_5ms,Flag_10ms,Flag_100ms,Flag_s,Flag_Scan;
UNCHAR STD8870;
/*********************IAP _SSTMCU*************/
#define Inhabit_Addr 0xf000
BOOL COMPLETE_FLAG = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -