forked from ccsens_hardware/ttss_sop
Compare commits
22 Commits
Author | SHA1 | Date |
---|---|---|
|
60ed6b0c7c | 1 year ago |
|
5ad3501586 | 1 year ago |
|
3a76d21ef9 | 1 year ago |
|
869a7a527c | 1 year ago |
|
23a43668cc | 1 year ago |
|
3fbbfc48ef | 1 year ago |
|
1140221ef0 | 1 year ago |
|
374efdc80e | 1 year ago |
|
e99f7bface | 1 year ago |
|
649f1f8711 | 1 year ago |
|
92c6edf0bd | 1 year ago |
|
2bfd7fbaba | 1 year ago |
|
94482474ea | 1 year ago |
|
edc08e9c1d | 1 year ago |
|
69878586ee | 1 year ago |
|
37a6e348f0 | 1 year ago |
|
c15e017ccf | 1 year ago |
|
458b7c07ca | 1 year ago |
|
015e0e200e | 1 year ago |
|
228b26cdb7 | 1 year ago |
|
90701ff5ac | 1 year ago |
|
81054d859e | 1 year ago |
57 changed files with 2306 additions and 1133 deletions
@ -0,0 +1,29 @@ |
|||
{ |
|||
"files.associations": { |
|||
"UART0.C": "cpp", |
|||
"bsp_config.h": "c", |
|||
"stc_macro.h": "c", |
|||
"type.h": "c", |
|||
"main.h": "c", |
|||
"bsp_config_delay.h": "c", |
|||
"bsp_key.h": "c", |
|||
"stc_macro.H": "cpp", |
|||
"uart_x.h": "c", |
|||
"UART4.C": "cpp", |
|||
"tpc_x.h": "c", |
|||
"uart3.h": "c", |
|||
"time.h": "c", |
|||
"debug.h": "c", |
|||
"app_config.h": "c", |
|||
"task_nfc.h": "c", |
|||
"task_debug.h": "c", |
|||
"clib.h": "c", |
|||
"uart2.h": "c", |
|||
"task_rfid.h": "c", |
|||
"task_rs485.h": "c", |
|||
"rs485.h": "c", |
|||
"bsp_led.h": "c", |
|||
"task_nfc_auth.h": "c", |
|||
"stc_stc8h.h": "c" |
|||
} |
|||
} |
@ -0,0 +1,50 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.c
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "task_bled.h" |
|||
#include "../app/app_config.h" |
|||
#include "../bsp/bsp_config.h" |
|||
#include "../msp/uart0.h" |
|||
#include "../bsp/bsp_led.h" |
|||
|
|||
S_TASK_BLED _s_task_bled; |
|||
static int i; |
|||
|
|||
void L3_task_bled_init(void) |
|||
{ |
|||
L1_task_init(&_s_task_bled.task); |
|||
L3_task_s_go(_s_task_bled,D_task_init); |
|||
} |
|||
|
|||
#define D_task_BLED_SET 0x50 |
|||
|
|||
void L3_task_bled_handler(S_TASK_BLED *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_BLED_SET); |
|||
|
|||
TTSS_Task_step(D_task_BLED_SET) |
|||
//L0_uart0_sendArrayHex(R.led_status, 14);
|
|||
for(i=0;i<LED_BTN_NUM; i++) |
|||
{ |
|||
//BLED_SET_STATUS(i, R.led_status[i]);
|
|||
bsp_bled_set(i, R.led_status[i]); |
|||
} |
|||
L2_task_go_Tdelay(D_task_BLED_SET,D_Tdelay_200ms); |
|||
//L2_task_go_Tdelay(D_task_BLED_SET,D_Tdelay_1s);
|
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,33 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _APP_TASK_BLED_H |
|||
#define _APP_TASK_BLED_H |
|||
|
|||
#include "../ctask/task.h" |
|||
#include "../clib/clib.h" |
|||
#include "../tpc/debug.h" |
|||
|
|||
typedef struct _s_task_bled |
|||
{ |
|||
TS_task task; |
|||
}S_TASK_BLED; |
|||
|
|||
extern S_TASK_BLED _s_task_bled; |
|||
|
|||
extern void L3_task_bled_init(void); |
|||
extern void L3_task_bled_handler(S_TASK_BLED *s); |
|||
|
|||
|
|||
#endif // #ifndef _APP_TASK_BLED_H
|
|||
|
@ -0,0 +1,71 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.c
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "task_btn.h" |
|||
#include "../app/app_config.h" |
|||
#include "../bsp/bsp_config.h" |
|||
#include "../msp/uart0.h" |
|||
#include "../bsp/bsp_key.h" |
|||
#include "../bsp/bsp_led.h" |
|||
|
|||
S_TASK_BTN _s_task_btn; |
|||
static int i; |
|||
static U8 key; |
|||
|
|||
void L3_task_btn_init(void) |
|||
{ |
|||
L1_task_init(&_s_task_btn.task); |
|||
L3_task_s_go(_s_task_btn,D_task_init); |
|||
} |
|||
|
|||
#define D_task_BTN_SET 0x50 |
|||
|
|||
void L3_task_btn_handler(S_TASK_BTN *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_BTN_SET); |
|||
|
|||
TTSS_Task_step(D_task_BTN_SET) |
|||
key = bsp_key_scan(); |
|||
if(key != BSP_KEY_NUM_MAX){ |
|||
L0_uart0_uc('#'); |
|||
L0_uart0_uchex(key); |
|||
|
|||
//功能按键
|
|||
if(key == 0) |
|||
{ |
|||
R.func_btn = 1; |
|||
} |
|||
else |
|||
{ |
|||
//如果不需要授权 or 需要但已经授权
|
|||
if(!(R.auth_flag & 0xF0) || (R.auth_flag & 0x0F)) |
|||
{ |
|||
//L0_uart0_uc('$');
|
|||
//L0_uart0_uchex(key);
|
|||
|
|||
//设置对应的rfid
|
|||
L3_new_rfid(R.rfid_table[key], 0, 0xFF); |
|||
|
|||
//亮灯
|
|||
R.led_status[key] = BLED0_ON; |
|||
} |
|||
} |
|||
} |
|||
L2_task_go_Tdelay(D_task_BTN_SET,0); |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,32 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _APP_TASK_BTN_H |
|||
#define _APP_TASK_BTN_H |
|||
|
|||
#include "../ctask/task.h" |
|||
#include "../clib/clib.h" |
|||
|
|||
typedef struct _s_task_btn |
|||
{ |
|||
TS_task task; |
|||
}S_TASK_BTN; |
|||
|
|||
extern S_TASK_BTN _s_task_btn; |
|||
|
|||
extern void L3_task_btn_init(void); |
|||
extern void L3_task_btn_handler(S_TASK_BTN *s); |
|||
|
|||
|
|||
#endif // #ifndef _APP_TASK_BTN_H
|
|||
|
@ -0,0 +1,86 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.c
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "task_nfc.h" |
|||
#include "../app/app_config.h" |
|||
#include "../bsp/bsp_config.h" |
|||
#include "../msp/uart0.h" |
|||
#include "../msp/uart2.h" |
|||
|
|||
S_TASK_NFC _s_task_nfc; |
|||
TPC_NFC tpc_nfc; |
|||
|
|||
//=============================================
|
|||
void L3_task_nfc_init(void) |
|||
{ |
|||
L1_task_init(&_s_task_nfc.task); |
|||
L3_task_s_go(_s_task_nfc,D_task_init); |
|||
} |
|||
|
|||
#define D_task_NFC_READ 0x50 |
|||
#define D_task_NFC_SET 0x52 |
|||
#define D_task_NFC_PRINT 0x53 |
|||
|
|||
void L3_task_nfc_handler(S_TASK_NFC *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_NFC_READ); |
|||
|
|||
TTSS_Task_step(D_task_NFC_READ) |
|||
if(ts_uart2_recv_buf.ok == 1) |
|||
{ |
|||
ts_uart2_recv_buf.ok = 0; |
|||
Lc_buf_copy_uc((U8*)&tpc_nfc, ts_uart2_recv_buf.buf, ts_uart2_recv_buf.num); |
|||
tpc_nfc.ocr = tpc_nfc.buf[tpc_nfc.num[0] << 8 | tpc_nfc.num[1]]; |
|||
//只读取0x10的协议
|
|||
if(tpc_nfc.cmd == 0x10){ |
|||
L2_task_go_Tdelay(D_task_NFC_SET,0); |
|||
//L2_task_go_Tdelay(D_task_NFC_PRINT,0);
|
|||
} |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_NFC_SET) |
|||
U8 num = (U16)tpc_nfc.num[0] << 8 | tpc_nfc.num[1]; |
|||
//1.判定NFC卡号是否符合规则
|
|||
//2.保存NFC卡号到寄存器
|
|||
R.nfc.nfc_no[0] = tpc_nfc.buf[num-2]; |
|||
R.nfc.nfc_no[0] = tpc_nfc.buf[num-1]; |
|||
//3.设定授权标志
|
|||
R.auth_flag |= 0x01; |
|||
L2_task_go_Tdelay(D_task_NFC_READ,D_Tdelay_100ms); |
|||
|
|||
TTSS_Task_step(D_task_NFC_PRINT) |
|||
L0_uart0_sendstr("\r\n--------- Recv NFC --------\r\n"); |
|||
L0_uart0_sendstr("id : "); |
|||
L0_uart0_uchex(tpc_nfc.slaveId); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("num: "); |
|||
L0_uart0_uchex(tpc_nfc.num[0]); |
|||
L0_uart0_uchex(tpc_nfc.num[1]); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("cmd: "); |
|||
L0_uart0_uchex(tpc_nfc.cmd); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("no : "); |
|||
L0_uart0_sendArrayHex(tpc_nfc.buf, tpc_nfc.num[0] << 8 | tpc_nfc.num[1]); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("ocr: "); |
|||
L0_uart0_uchex(tpc_nfc.ocr); |
|||
L0_uart0_0d0a(); |
|||
L2_task_go_Tdelay(D_task_NFC_READ,0); |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,33 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _APP_TASK_NFC_H |
|||
#define _APP_TASK_NFC_H |
|||
|
|||
#include "../ctask/task.h" |
|||
#include "../clib/clib.h" |
|||
#include "../tpc/debug.h" |
|||
|
|||
typedef struct _s_task_nfc |
|||
{ |
|||
TS_task task; |
|||
}S_TASK_NFC; |
|||
|
|||
extern S_TASK_NFC _s_task_nfc; |
|||
|
|||
extern void L3_task_nfc_init(void); |
|||
extern void L3_task_nfc_handler(S_TASK_NFC *s); |
|||
|
|||
|
|||
#endif // #ifndef _APP_TASK_NFC_H
|
|||
|
@ -0,0 +1,60 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.c
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "task_nfc_auth.h" |
|||
#include "../app/app_config.h" |
|||
#include "../bsp/bsp_config.h" |
|||
#include "../msp/uart0.h" |
|||
#include "../msp/uart2.h" |
|||
|
|||
S_TASK_AUTH _s_task_auth; |
|||
|
|||
//=============================================
|
|||
void L3_task_auth_init(void) |
|||
{ |
|||
// _s_task_auth.auth_flag = R.auth_flag;
|
|||
_s_task_auth.auth_flag = 0x00; |
|||
L1_task_init(&_s_task_auth.task); |
|||
L3_task_s_go(_s_task_auth,D_task_init); |
|||
} |
|||
|
|||
#define D_task_AUTH_READ 0x50 |
|||
#define D_task_AUTH_SETZERO 0x52 |
|||
#define D_task_AUTH_PRINT 0x53 |
|||
|
|||
void L3_task_auth_handler(S_TASK_AUTH *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_AUTH_READ); |
|||
|
|||
TTSS_Task_step(D_task_AUTH_READ) |
|||
if(s->auth_flag != R.auth_flag){ |
|||
s->auth_flag = R.auth_flag; |
|||
//授权中
|
|||
if(R.auth_flag & 0x0F != 0){ |
|||
L2_task_go_Tdelay(D_task_AUTH_SETZERO,D_Tdelay_10s); |
|||
} |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_AUTH_SETZERO) |
|||
//清除授权标志
|
|||
R.auth_flag &= 0xF0; |
|||
// L0_uart0_sendstr("Auth Expired.");
|
|||
// L2_task_go_Tdelay(D_task_AUTH_READ,0);
|
|||
L2_task_go(D_task_AUTH_READ); |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,34 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _APP_TASK_NFC_AUTH_H |
|||
#define _APP_TASK_NFC_AUTH_H |
|||
|
|||
#include "../ctask/task.h" |
|||
#include "../clib/clib.h" |
|||
#include "../tpc/debug.h" |
|||
|
|||
typedef struct _s_task_auth |
|||
{ |
|||
TS_task task; |
|||
U8 auth_flag; |
|||
}S_TASK_AUTH; |
|||
|
|||
extern S_TASK_AUTH _s_task_auth; |
|||
|
|||
extern void L3_task_auth_init(void); |
|||
extern void L3_task_auth_handler(S_TASK_AUTH *s); |
|||
|
|||
|
|||
#endif // #ifndef _APP_TASK_NFC_AUTH_H
|
|||
|
@ -0,0 +1,125 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.c
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "task_rfid.h" |
|||
#include "../app/app_config.h" |
|||
#include "../bsp/bsp_config.h" |
|||
#include "../msp/uart0.h" |
|||
#include "../msp/uart3.h" |
|||
|
|||
S_TASK_RFID _s_task_rfid; |
|||
TPC_RFID tpc_rfid; |
|||
|
|||
//4通道,读取次数 3 3 3 3
|
|||
U8 rfidSetChannelCmd[] = {0xBB,0x00,0x1B,0x00,0x05,0x02,0x03,0x03,0x03,0x03,0x2E,0x7E}; |
|||
//设置功率 26dBm
|
|||
U8 rfidSetWCmd[] = {0xBB,0x00,0xB6,0x00,0x02,0x0A,0x28,0xEA,0x7E}; |
|||
//选择卡片
|
|||
U8 rfidSelCmd[] = {0x00}; |
|||
//轮询读取(FFFF代表永久轮询)
|
|||
U8 rfidLoopRead[] = {0xBB,0x00,0x27,0x00,0x03,0x22,0xFF,0xFF,0x4A,0x7E}; |
|||
|
|||
//=============================================
|
|||
void L3_task_rfid_init(void) |
|||
{ |
|||
L1_task_init(&_s_task_rfid.task); |
|||
L3_task_s_go(_s_task_rfid,D_task_init); |
|||
} |
|||
|
|||
#define D_task_RFID_READ 0x50 |
|||
#define D_task_RFID_PRINT 0x51 |
|||
#define D_task_RFID_SET 0x52 |
|||
|
|||
void L3_task_rfid_handler(S_TASK_RFID *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L0_uart0_uchex(sizeof(rfidSetChannelCmd) / sizeof(U8)); |
|||
L0_uart0_uchex(sizeof(rfidSetWCmd) / sizeof(U8)); |
|||
L0_uart0_uchex(sizeof(rfidSelCmd) / sizeof(U8)); |
|||
L0_uart0_uchex(sizeof(rfidLoopRead) / sizeof(U8)); |
|||
|
|||
//1.设置天线
|
|||
L0_uart3_sendArray(rfidSetChannelCmd, sizeof(rfidSetChannelCmd) / sizeof(U8)); |
|||
NOP10(); |
|||
//2.设置功率
|
|||
L0_uart3_sendArray(rfidSetWCmd, sizeof(rfidSetWCmd) / sizeof(U8)); |
|||
NOP10(); |
|||
//3.选择掩码
|
|||
L0_uart3_sendArray(rfidSelCmd, sizeof(rfidSelCmd) / sizeof(U8)); |
|||
NOP10(); |
|||
//4.启动轮询
|
|||
L0_uart3_sendArray(rfidLoopRead, sizeof(rfidLoopRead) / sizeof(U8)); |
|||
NOP10(); |
|||
|
|||
L2_task_go(D_task_RFID_READ); |
|||
|
|||
TTSS_Task_step(D_task_RFID_READ) |
|||
if(ts_uart3_recv_buf.ok == 1) |
|||
{ |
|||
ts_uart3_recv_buf.ok = 0; |
|||
Lc_buf_copy_uc((U8*)&tpc_rfid, ts_uart3_recv_buf.buf, ts_uart3_recv_buf.num); |
|||
tpc_rfid.ocr = tpc_rfid.buf[tpc_rfid.num[0] << 8 | tpc_rfid.num[1]]; |
|||
if(tpc_rfid.type == 0x02 && tpc_rfid.cmd == 0x22){ |
|||
// L2_task_go_Tdelay(D_task_RFID_PRINT,0);
|
|||
L2_task_go_Tdelay(D_task_RFID_SET,0); |
|||
} |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_RFID_SET) |
|||
U8 index = 0; |
|||
U8 num = (U16)tpc_rfid.num[0] << 8 | tpc_rfid.num[1]; |
|||
U16 rfidno = (U16)tpc_rfid.buf[num-5] << 8 | tpc_rfid.buf[num-4]; |
|||
U8 rssi = tpc_rfid.buf[0]; |
|||
U8 ant = tpc_rfid.buf[num-1]; |
|||
|
|||
L0_uart0_uc('R'); |
|||
L0_uart0_uchex(tpc_rfid.buf[num-5]); |
|||
L0_uart0_uchex(tpc_rfid.buf[num-4]); |
|||
|
|||
//1.判定RFID卡号是否符合规则
|
|||
//2.保存RFID卡号到寄存器
|
|||
L3_new_rfid(rfidno, rssi, ant); |
|||
//3.查找编号是否在rfidtable中
|
|||
index = L3_find_rfid_table(rfidno); |
|||
//4.亮灯
|
|||
//TODO 如果缓冲区满了,没放进去,是否亮灯
|
|||
if(index < LED_BTN_NUM){ |
|||
R.led_status[index] = BLED0_ON; |
|||
} |
|||
L2_task_go_Tdelay(D_task_RFID_READ,0); |
|||
|
|||
TTSS_Task_step(D_task_RFID_PRINT) |
|||
L0_uart0_sendstr("\r\n--------- Recv RFID --------\r\n"); |
|||
L0_uart0_sendstr("type : "); |
|||
L0_uart0_uchex(tpc_rfid.type); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("cmd: "); |
|||
L0_uart0_uchex(tpc_rfid.cmd); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("num: "); |
|||
L0_uart0_uchex(tpc_rfid.num[0]); |
|||
L0_uart0_uchex(tpc_rfid.num[1]); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("dat : "); |
|||
L0_uart0_sendArrayHex(tpc_rfid.buf, tpc_rfid.num[0] << 8 | tpc_rfid.num[1]); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("ocr: "); |
|||
L0_uart0_uchex(tpc_rfid.ocr); |
|||
L0_uart0_0d0a(); |
|||
L2_task_go_Tdelay(D_task_RFID_READ,0); |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,33 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _APP_TASK_RFID_H |
|||
#define _APP_TASK_RFID_H |
|||
|
|||
#include "../ctask/task.h" |
|||
#include "../clib/clib.h" |
|||
#include "../tpc/debug.h" |
|||
|
|||
typedef struct _s_task_rfid |
|||
{ |
|||
TS_task task; |
|||
}S_TASK_RFID; |
|||
|
|||
extern S_TASK_RFID _s_task_rfid; |
|||
|
|||
extern void L3_task_rfid_init(void); |
|||
extern void L3_task_rfid_handler(S_TASK_RFID *s); |
|||
|
|||
|
|||
#endif // #ifndef _APP_TASK_RFID_H
|
|||
|
@ -0,0 +1,142 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.c
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "task_rs485.h" |
|||
#include "../app/app_config.h" |
|||
#include "../bsp/bsp_config.h" |
|||
#include "../msp/uart0.h" |
|||
#include "../msp/uart4.h" |
|||
|
|||
S_TASK_RS485 _s_task_rs485; |
|||
TPC_RS485 tpc_rs485; |
|||
TPC_RS485_ACK tpc_rs485_ack; |
|||
static U8 acklen = 0; |
|||
static U8 i = 0; |
|||
|
|||
U8 constructor_rs485_ack(); |
|||
|
|||
//=============================================
|
|||
void L3_task_rs485_init(void) |
|||
{ |
|||
L1_task_init(&_s_task_rs485.task); |
|||
L3_task_s_go(_s_task_rs485,D_task_init); |
|||
} |
|||
|
|||
#define D_task_RS485_READ 0x50 |
|||
#define D_task_RS485_PRINT 0x51 |
|||
#define D_task_RS485_ACK 0x52 |
|||
#define D_task_RS485_MODE 0x53 |
|||
|
|||
void L3_task_rs485_handler(S_TASK_RS485 *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_RS485_READ); |
|||
|
|||
TTSS_Task_step(D_task_RS485_READ) |
|||
if(ts_uart4_recv_buf.ok == 1) |
|||
{ |
|||
//L0_uart0_uc('%');
|
|||
// LED0 ^= 1;
|
|||
ts_uart4_recv_buf.ok = 0; |
|||
Lc_buf_copy_uc((U8*)&tpc_rs485, ts_uart4_recv_buf.buf, ts_uart4_recv_buf.num); |
|||
tpc_rs485.ocr = tpc_rs485.buf[tpc_rs485.num[0] << 8 | tpc_rs485.num[1]]; |
|||
//L2_task_go_Tdelay(D_task_RS485_PRINT,0);
|
|||
L2_task_go_Tdelay(D_task_RS485_ACK,0); |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_RS485_ACK) |
|||
if(tpc_rs485.slaveId == R.slave_id) |
|||
{ |
|||
//读取
|
|||
if(tpc_rs485.cmd == 0x10) |
|||
{ |
|||
//buf[0] 是否需要授权标志、低功耗模式
|
|||
R.auth_flag &= 0x0F; |
|||
R.auth_flag |= tpc_rs485.buf[0] & 0xF0; |
|||
R.low_power_mode = tpc_rs485.buf[0] & 0x0F; |
|||
//buf[1-2], rfid映射
|
|||
//TODO 上位机发过来的rfid编号如何处理
|
|||
|
|||
|
|||
//构造响应包,并且返回
|
|||
acklen = constructor_rs485_ack(); |
|||
//写出
|
|||
L0_uart4_sendArray((U8*)&tpc_rs485_ack, acklen); |
|||
} |
|||
} |
|||
L2_task_go_Tdelay(D_task_RS485_READ,0); |
|||
|
|||
TTSS_Task_step(D_task_RS485_PRINT) |
|||
L0_uart0_sendstr("\r\n--------- Recv RS485 --------\r\n"); |
|||
L0_uart0_sendstr("slaveId : "); |
|||
L0_uart0_uchex(tpc_rs485.slaveId); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("cmd: "); |
|||
L0_uart0_uchex(tpc_rs485.cmd); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("num: "); |
|||
L0_uart0_uchex(tpc_rs485.num[0]); |
|||
L0_uart0_uchex(tpc_rs485.num[1]); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("dat : "); |
|||
L0_uart0_sendArrayHex(tpc_rs485.buf, tpc_rs485.num[0] << 8 | tpc_rs485.num[1]); |
|||
L0_uart0_0d0a(); |
|||
L0_uart0_sendstr("ocr: "); |
|||
L0_uart0_uchex(tpc_rs485.ocr); |
|||
L0_uart0_0d0a(); |
|||
L2_task_go_Tdelay(D_task_RS485_READ,0); |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
U8 constructor_rs485_ack() |
|||
{ |
|||
U8 num = (1 + sizeof(R.nfc) + sizeof(R.rfids)); |
|||
tpc_rs485_ack.head[0] = 0xAA; |
|||
// tpc_rs485_ack.head[1] = 0x55;
|
|||
tpc_rs485_ack.slaveId = R.slave_id; |
|||
tpc_rs485_ack.cmd = 0x10; |
|||
tpc_rs485_ack.num[0] = (num >> 8) & 0xFF; |
|||
tpc_rs485_ack.num[1] = num & 0xFF; |
|||
tpc_rs485_ack.buf[0] = R.func_btn; |
|||
Lc_buf_copy_uc((U8*)&tpc_rs485_ack.buf[1], (U8*)&R.nfc, sizeof(R.nfc)); |
|||
Lc_buf_copy_uc((U8*)&tpc_rs485_ack.buf[1+sizeof(R.nfc)], (U8*)R.rfids, sizeof(R.rfids)); |
|||
tpc_rs485_ack.ocr = 0; |
|||
tpc_rs485_ack.ocr += tpc_rs485_ack.slaveId; |
|||
tpc_rs485_ack.ocr += tpc_rs485_ack.cmd; |
|||
tpc_rs485_ack.ocr += tpc_rs485_ack.num[0]; |
|||
tpc_rs485_ack.ocr += tpc_rs485_ack.num[1]; |
|||
for(i=0;i<num;i++) |
|||
{ |
|||
tpc_rs485_ack.ocr += tpc_rs485_ack.buf[i]; |
|||
} |
|||
tpc_rs485_ack.buf[num] = tpc_rs485_ack.ocr; |
|||
|
|||
//清0资源
|
|||
R.func_btn = 0; |
|||
R.nfc.nfc_no[0] = 0x00; |
|||
R.nfc.nfc_no[1] = 0x00; |
|||
R.rfids[0].rfid_no[0] = 0x00; |
|||
R.rfids[0].rfid_no[1] = 0x00; |
|||
R.rfids[1].rfid_no[0] = 0x00; |
|||
R.rfids[1].rfid_no[1] = 0x00; |
|||
R.rfids[2].rfid_no[0] = 0x00; |
|||
R.rfids[2].rfid_no[1] = 0x00; |
|||
R.rfids[3].rfid_no[0] = 0x00; |
|||
R.rfids[3].rfid_no[1] = 0x00; |
|||
|
|||
return 5 + num + 1; |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,33 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_drv.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _APP_TASK_RS485_H |
|||
#define _APP_TASK_RS485_H |
|||
|
|||
#include "../ctask/task.h" |
|||
#include "../clib/clib.h" |
|||
#include "../tpc/debug.h" |
|||
|
|||
typedef struct _s_task_rs485 |
|||
{ |
|||
TS_task task; |
|||
}S_TASK_RS485; |
|||
|
|||
extern S_TASK_RS485 _s_task_rs485; |
|||
|
|||
extern void L3_task_rs485_init(void); |
|||
extern void L3_task_rs485_handler(S_TASK_RS485 *s); |
|||
|
|||
|
|||
#endif // #ifndef _APP_TASK_RS485_H
|
|||
|
@ -0,0 +1,214 @@ |
|||
#include "bsp_config_delay.h" |
|||
|
|||
#if ((TYPE_MCU == TYPE_MCU_STC_8H) \ |
|||
|| (TYPE_MCU == TYPE_MCU_STC_8G) \ |
|||
|| (TYPE_MCU == TYPE_MCU_STC_8A) \ |
|||
|| (TYPE_MCU == TYPE_MCU_STC_8F)) \ |
|||
|
|||
#if (D_sys_MainFre == MainFre_22M) |
|||
|
|||
void Delay100us() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 3; |
|||
j = 221; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay200us() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
_nop_(); |
|||
i = 6; |
|||
j = 188; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay500us() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 15; |
|||
j = 90; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay600us() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
_nop_(); |
|||
i = 18; |
|||
j = 57; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
|
|||
void Delay1ms() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 29; |
|||
j = 183; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay100ms() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j, k; |
|||
|
|||
i = 12; |
|||
j = 57; |
|||
k = 122; |
|||
do |
|||
{ |
|||
do |
|||
{ |
|||
while (--k); |
|||
} while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay200ms() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j, k; |
|||
|
|||
i = 23; |
|||
j = 113; |
|||
k = 248; |
|||
do |
|||
{ |
|||
do |
|||
{ |
|||
while (--k); |
|||
} while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay500ms() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j, k; |
|||
|
|||
i = 57; |
|||
j = 27; |
|||
k = 112; |
|||
do |
|||
{ |
|||
do |
|||
{ |
|||
while (--k); |
|||
} while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay600ms() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j, k; |
|||
|
|||
i = 68; |
|||
j = 83; |
|||
k = 238; |
|||
do |
|||
{ |
|||
do |
|||
{ |
|||
while (--k); |
|||
} while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void Delay1000ms() //@22.1184MHz
|
|||
{ |
|||
unsigned char i, j, k; |
|||
|
|||
i = 113; |
|||
j = 53; |
|||
k = 228; |
|||
do |
|||
{ |
|||
do |
|||
{ |
|||
while (--k); |
|||
} while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
void delayInMs(U16 n) |
|||
{ |
|||
if(n<=50) |
|||
{ |
|||
do{ |
|||
Delay1ms(); |
|||
}while(n--); |
|||
} |
|||
else if(n<=100) |
|||
{ |
|||
Delay100ms(); |
|||
} |
|||
else if(n<=200) |
|||
{ |
|||
Delay200ms(); |
|||
} |
|||
else if(n<=500) |
|||
{ |
|||
Delay500ms(); |
|||
} |
|||
else if(n<=600) |
|||
{ |
|||
Delay600ms(); |
|||
} |
|||
else if(n<=1000) |
|||
{ |
|||
Delay1000ms(); |
|||
} |
|||
else |
|||
{ |
|||
} |
|||
} |
|||
|
|||
void delayInUs(U16 n) |
|||
{ |
|||
if(n<=100) |
|||
{ |
|||
Delay100us(); |
|||
} |
|||
else if(n<=200) |
|||
{ |
|||
Delay200us(); |
|||
} |
|||
else if(n<=500) |
|||
{ |
|||
Delay500us(); |
|||
} |
|||
else if(n<=600) |
|||
{ |
|||
Delay600us(); |
|||
} |
|||
else if(n<=1000) |
|||
{ |
|||
Delay1ms(); |
|||
} |
|||
else |
|||
{ |
|||
} |
|||
} |
|||
|
|||
#endif //end (D_sys_MainFre == MainFre_22M)
|
|||
#endif |
@ -0,0 +1,9 @@ |
|||
#ifndef _BSP_CONFIG_DELAY_H |
|||
#define _BSP_CONFIG_DELAY_H |
|||
|
|||
#include "bsp_config.h" |
|||
|
|||
extern void delayInUs(U16 n); |
|||
extern void delayInMs(U16 n); |
|||
|
|||
#endif |
@ -0,0 +1,160 @@ |
|||
#include "bsp_key.h" |
|||
#include "bsp_config_delay.h" |
|||
|
|||
U32 timeout = 0x3FFFFF; |
|||
|
|||
U8 bsp_key_init(void) |
|||
{ |
|||
D_stdIO_P3(BITN6); |
|||
D_stdIO_P1(BITN7); |
|||
D_stdIO_P0(BITN6); |
|||
D_stdIO_P4(BITN3); |
|||
|
|||
D_stdIO_P1(BITN0); |
|||
D_stdIO_P0(BITN7); |
|||
D_stdIO_P1(BITN3); |
|||
D_stdIO_P2(BITN0); |
|||
|
|||
//初始化为高电平
|
|||
KR1 = KR2 = KR3 = KR4 = 1; |
|||
//初始化为高电平
|
|||
KC1 = KC2 = KC3 = KC4 = 1; |
|||
|
|||
return 0; |
|||
} |
|||
|
|||
void scan_row(U8 r) |
|||
{ |
|||
KR1 = 1; |
|||
KR2 = 1; |
|||
KR3 = 1; |
|||
KR4 = 1; |
|||
switch(r){ |
|||
case 1: |
|||
KR1 = 0;break; |
|||
case 2: |
|||
KR2 = 0;break; |
|||
case 3: |
|||
KR3 = 0;break; |
|||
case 4: |
|||
KR4 = 0;break; |
|||
default: |
|||
break; |
|||
} |
|||
} |
|||
|
|||
U8 scan_col(U8 c) |
|||
{ |
|||
timeout = 0x3FFFFF; |
|||
if(c == 1) |
|||
{ |
|||
if(KC1 == 0) |
|||
{ |
|||
delayInMs(10); |
|||
if(KC1 == 0) |
|||
{ |
|||
while(KC1 == 0 && timeout--); |
|||
return 1; |
|||
} |
|||
} |
|||
} |
|||
else if(c == 2){ |
|||
if(KC2 == 0) |
|||
{ |
|||
delayInMs(10); |
|||
if(KC2 == 0) |
|||
{ |
|||
while(KC2 == 0 && timeout--); |
|||
return 1; |
|||
} |
|||
} |
|||
} |
|||
else if(c == 3){ |
|||
if(KC3 == 0) |
|||
{ |
|||
delayInMs(10); |
|||
if(KC3 == 0) |
|||
{ |
|||
while(KC3 == 0 && timeout--); |
|||
return 1; |
|||
} |
|||
} |
|||
} |
|||
else if(c == 4){ |
|||
if(KC4 == 0) |
|||
{ |
|||
delayInMs(10); |
|||
if(KC4 == 0) |
|||
{ |
|||
while(KC4 == 0 && timeout--); |
|||
return 1; |
|||
} |
|||
} |
|||
} |
|||
return 0; |
|||
} |
|||
|
|||
U8 bsp_key_scan(void) |
|||
{ |
|||
//扫描第1行
|
|||
scan_row(1); |
|||
if(scan_col(1) > 0){ |
|||
return 0; |
|||
} |
|||
if(scan_col(2) > 0){ |
|||
return 1; |
|||
} |
|||
if(scan_col(3) > 0){ |
|||
return 2; |
|||
} |
|||
if(scan_col(4) > 0){ |
|||
return 3; |
|||
} |
|||
|
|||
//扫描第2行
|
|||
scan_row(2); |
|||
if(scan_col(1) > 0){ |
|||
return 4; |
|||
} |
|||
if(scan_col(2) > 0){ |
|||
return 5; |
|||
} |
|||
if(scan_col(3) > 0){ |
|||
return 6; |
|||
} |
|||
if(scan_col(4) > 0){ |
|||
return 7; |
|||
} |
|||
|
|||
//扫描第3行
|
|||
scan_row(3); |
|||
if(scan_col(1) > 0){ |
|||
return 8; |
|||
} |
|||
if(scan_col(2) > 0){ |
|||
return 9; |
|||
} |
|||
if(scan_col(3) > 0){ |
|||
return 10; |
|||
} |
|||
if(scan_col(4) > 0){ |
|||
return 11; |
|||
} |
|||
|
|||
//扫描第4行
|
|||
scan_row(4); |
|||
if(scan_col(1) > 0){ |
|||
return 12; |
|||
} |
|||
if(scan_col(2) > 0){ |
|||
return 13; |
|||
} |
|||
// if(scan_col(KC3) > 0){
|
|||
// return 14;
|
|||
// }
|
|||
// if(scan_col(KC4) > 0){
|
|||
// return 15;
|
|||
// }
|
|||
|
|||
return BSP_KEY_NUM_MAX; |
|||
} |
@ -0,0 +1,11 @@ |
|||
#ifndef _BSP_KEY_H |
|||
#define _BSP_KEY_H |
|||
|
|||
#include "bsp_config.h" |
|||
|
|||
#define BSP_KEY_NUM_MAX 99 |
|||
|
|||
extern U8 bsp_key_init(void); |
|||
extern U8 bsp_key_scan(void); |
|||
|
|||
#endif |
@ -0,0 +1,55 @@ |
|||
#include "bsp_led.h" |
|||
|
|||
void bsp_led_init(void) |
|||
{ |
|||
//LED0
|
|||
D_stdIO_P2(BITN3); |
|||
|
|||
//BLED0-13
|
|||
D_stdIO_P4(BITN2); |
|||
D_stdIO_P4(BITN1); |
|||
D_stdIO_P3(BITN7); |
|||
D_stdIO_P3(BITN5); |
|||
D_stdIO_P1(BITN6); |
|||
D_stdIO_P1(BITN5); |
|||
D_stdIO_P1(BITN4); |
|||
D_stdIO_P4(BITN7); |
|||
D_stdIO_P1(BITN1); |
|||
D_stdIO_P2(BITN6); |
|||
D_stdIO_P2(BITN5); |
|||
D_stdIO_P2(BITN1); |
|||
D_stdIO_P4(BITN4); |
|||
D_stdIO_P2(BITN2); |
|||
|
|||
//初始化
|
|||
BLED0 = BLED1 = BLED2 = BLED3 = BLED4 = BLED5 = BLED6 = BLED0_OFF; |
|||
BLED7 = BLED8 = BLED9 = BLED10 = BLED11 = BLED12 = BLED13 = BLED0_OFF; |
|||
LED0 = LED0_OFF; |
|||
} |
|||
|
|||
void bsp_led_set(U8 status) |
|||
{ |
|||
LED0 = status; |
|||
} |
|||
|
|||
void bsp_bled_set(U8 index, U8 status) |
|||
{ |
|||
switch (index) |
|||
{ |
|||
case 0: BLED0 = status; break; |
|||
case 1: BLED1 = status; break; |
|||
case 2: BLED2 = status; break; |
|||
case 3: BLED3 = status; break; |
|||
case 4: BLED4 = status; break; |
|||
case 5: BLED5 = status; break; |
|||
case 6: BLED6 = status; break; |
|||
case 7: BLED7 = status; break; |
|||
case 8: BLED8 = status; break; |
|||
case 9: BLED9 = status; break; |
|||
case 10:BLED10 = status; break; |
|||
case 11:BLED11 = status; break; |
|||
case 12:BLED12 = status; break; |
|||
case 13:BLED13 = status; break; |
|||
default: break; |
|||
} |
|||
} |
@ -0,0 +1,14 @@ |
|||
#ifndef _BSP_LED_H |
|||
#define _BSP_LED_H |
|||
|
|||
#include "bsp_config.h" |
|||
|
|||
extern void bsp_led_init(void); |
|||
extern void bsp_bled_set(U8 index, U8 status); |
|||
extern void bsp_led_set(U8 status); |
|||
|
|||
#define BLED_SET_STATUS(N, status); do { \ |
|||
BLED##N = status; \ |
|||
}while(0); |
|||
|
|||
#endif //_BSP_LED_H
|
@ -0,0 +1,14 @@ |
|||
#include "bsp_rfid.h" |
|||
#include "bsp_config_delay.h" |
|||
|
|||
U8 bsp_rfid_init(void) |
|||
{ |
|||
D_stdIO_P3(BITN2); |
|||
bsp_rfid_en(RFID_ENABLE); |
|||
return 0; |
|||
} |
|||
|
|||
void bsp_rfid_en(U8 status) |
|||
{ |
|||
RFID_EN_PIN = status; |
|||
} |
@ -0,0 +1,9 @@ |
|||
#ifndef _BSP_RFID_H |
|||
#define _BSP_RFID_H |
|||
|
|||
#include "bsp_config.h" |
|||
|
|||
extern U8 bsp_rfid_init(void); |
|||
extern void bsp_rfid_en(U8 status); |
|||
|
|||
#endif |
@ -1,640 +0,0 @@ |
|||
#ifndef __STC8H_H__ |
|||
#define __STC8H_H__ |
|||
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
//������ͷ�ļ���,���������ٰ���"REG51.H"
|
|||
|
|||
sfr P0 = 0x80; |
|||
sbit P00 = P0^0; |
|||
sbit P01 = P0^1; |
|||
sbit P02 = P0^2; |
|||
sbit P03 = P0^3; |
|||
sbit P04 = P0^4; |
|||
sbit P05 = P0^5; |
|||
sbit P06 = P0^6; |
|||
sbit P07 = P0^7; |
|||
sfr SP = 0x81; |
|||
sfr DPL = 0x82; |
|||
sfr DPH = 0x83; |
|||
sfr S4CON = 0x84; |
|||
sfr S4BUF = 0x85; |
|||
sfr PCON = 0x87; |
|||
sfr TCON = 0x88; |
|||
sbit TF1 = TCON^7; |
|||
sbit TR1 = TCON^6; |
|||
sbit TF0 = TCON^5; |
|||
sbit TR0 = TCON^4; |
|||
sbit IE1 = TCON^3; |
|||
sbit IT1 = TCON^2; |
|||
sbit IE0 = TCON^1; |
|||
sbit IT0 = TCON^0; |
|||
sfr TMOD = 0x89; |
|||
sfr TL0 = 0x8a; |
|||
sfr TL1 = 0x8b; |
|||
sfr TH0 = 0x8c; |
|||
sfr TH1 = 0x8d; |
|||
sfr AUXR = 0x8e; |
|||
sfr INTCLKO = 0x8f; |
|||
sfr P1 = 0x90; |
|||
sbit P10 = P1^0; |
|||
sbit P11 = P1^1; |
|||
sbit P12 = P1^2; |
|||
sbit P13 = P1^3; |
|||
sbit P14 = P1^4; |
|||
sbit P15 = P1^5; |
|||
sbit P16 = P1^6; |
|||
sbit P17 = P1^7; |
|||
sfr P1M1 = 0x91; |
|||
sfr P1M0 = 0x92; |
|||
sfr P0M1 = 0x93; |
|||
sfr P0M0 = 0x94; |
|||
sfr P2M1 = 0x95; |
|||
sfr P2M0 = 0x96; |
|||
sfr SCON = 0x98; |
|||
sbit SM0 = SCON^7; |
|||
sbit SM1 = SCON^6; |
|||
sbit SM2 = SCON^5; |
|||
sbit REN = SCON^4; |
|||
sbit TB8 = SCON^3; |
|||
sbit RB8 = SCON^2; |
|||
sbit TI = SCON^1; |
|||
sbit RI = SCON^0; |
|||
sfr SBUF = 0x99; |
|||
sfr S2CON = 0x9a; |
|||
sfr S2BUF = 0x9b; |
|||
sfr IRCBAND = 0x9d; |
|||
sfr LIRTRIM = 0x9e; |
|||
sfr IRTRIM = 0x9f; |
|||
sfr P2 = 0xa0; |
|||
sbit P20 = P2^0; |
|||
sbit P21 = P2^1; |
|||
sbit P22 = P2^2; |
|||
sbit P23 = P2^3; |
|||
sbit P24 = P2^4; |
|||
sbit P25 = P2^5; |
|||
sbit P26 = P2^6; |
|||
sbit P27 = P2^7; |
|||
sfr P_SW1 = 0xa2; |
|||
sfr IE = 0xa8; |
|||
sbit EA = IE^7; |
|||
sbit ELVD = IE^6; |
|||
sbit EADC = IE^5; |
|||
sbit ES = IE^4; |
|||
sbit ET1 = IE^3; |
|||
sbit EX1 = IE^2; |
|||
sbit ET0 = IE^1; |
|||
sbit EX0 = IE^0; |
|||
sfr SADDR = 0xa9; |
|||
sfr WKTCL = 0xaa; |
|||
sfr WKTCH = 0xab; |
|||
sfr S3CON = 0xac; |
|||
sfr S3BUF = 0xad; |
|||
sfr TA = 0xae; |
|||
sfr IE2 = 0xaf; |
|||
sfr P3 = 0xb0; |
|||
sbit P30 = P3^0; |
|||
sbit P31 = P3^1; |
|||
sbit P32 = P3^2; |
|||
sbit P33 = P3^3; |
|||
sbit P34 = P3^4; |
|||
sbit P35 = P3^5; |
|||
sbit P36 = P3^6; |
|||
sbit P37 = P3^7; |
|||
sfr P3M1 = 0xb1; |
|||
sfr P3M0 = 0xb2; |
|||
sfr P4M1 = 0xb3; |
|||
sfr P4M0 = 0xb4; |
|||
sfr IP2 = 0xb5; |
|||
sfr IP2H = 0xb6; |
|||
sfr IPH = 0xb7; |
|||
sfr IP = 0xb8; |
|||
sbit PPCA = IP^7; |
|||
sbit PLVD = IP^6; |
|||
sbit PADC = IP^5; |
|||
sbit PS = IP^4; |
|||
sbit PT1 = IP^3; |
|||
sbit PX1 = IP^2; |
|||
sbit PT0 = IP^1; |
|||
sbit PX0 = IP^0; |
|||
sfr SADEN = 0xb9; |
|||
sfr P_SW2 = 0xba; |
|||
sfr ADC_CONTR = 0xbc; |
|||
sfr ADC_RES = 0xbd; |
|||
sfr ADC_RESL = 0xbe; |
|||
sfr P4 = 0xc0; |
|||
sbit P40 = P4^0; |
|||
sbit P41 = P4^1; |
|||
sbit P42 = P4^2; |
|||
sbit P43 = P4^3; |
|||
sbit P44 = P4^4; |
|||
sbit P45 = P4^5; |
|||
sbit P46 = P4^6; |
|||
sbit P47 = P4^7; |
|||
sfr WDT_CONTR = 0xc1; |
|||
sfr IAP_DATA = 0xc2; |
|||
sfr IAP_ADDRH = 0xc3; |
|||
sfr IAP_ADDRL = 0xc4; |
|||
sfr IAP_CMD = 0xc5; |
|||
sfr IAP_TRIG = 0xc6; |
|||
sfr IAP_CONTR = 0xc7; |
|||
sfr P5 = 0xc8; |
|||
sbit P50 = P5^0; |
|||
sbit P51 = P5^1; |
|||
sbit P52 = P5^2; |
|||
sbit P53 = P5^3; |
|||
sbit P54 = P5^4; |
|||
sbit P55 = P5^5; |
|||
sbit P56 = P5^6; |
|||
sbit P57 = P5^7; |
|||
sfr P5M1 = 0xc9; |
|||
sfr P5M0 = 0xca; |
|||
sfr P6M1 = 0xcb; |
|||
sfr P6M0 = 0xcc; |
|||
sfr SPSTAT = 0xcd; |
|||
sfr SPCTL = 0xce; |
|||
sfr SPDAT = 0xcf; |
|||
sfr PSW = 0xd0; |
|||
sbit CY = PSW^7; |
|||
sbit AC = PSW^6; |
|||
sbit F0 = PSW^5; |
|||
sbit RS1 = PSW^4; |
|||
sbit RS0 = PSW^3; |
|||
sbit OV = PSW^2; |
|||
sbit F1 = PSW^1; |
|||
sbit P = PSW^0; |
|||
sfr T4T3M = 0xd1; |
|||
sfr T4H = 0xd2; |
|||
sfr T4L = 0xd3; |
|||
sfr T3H = 0xd4; |
|||
sfr T3L = 0xd5; |
|||
sfr T2H = 0xd6; |
|||
sfr T2L = 0xd7; |
|||
sfr USBCLK = 0xdc; |
|||
sfr ADCCFG = 0xde; |
|||
sfr IP3 = 0xdf; |
|||
sfr ACC = 0xe0; |
|||
sfr P7M1 = 0xe1; |
|||
sfr P7M0 = 0xe2; |
|||
sfr DPS = 0xe3; |
|||
sfr DPL1 = 0xe4; |
|||
sfr DPH1 = 0xe5; |
|||
sfr CMPCR1 = 0xe6; |
|||
sfr CMPCR2 = 0xe7; |
|||
sfr P6 = 0xe8; |
|||
sfr USBDAT = 0xec; |
|||
sfr IP3H = 0xee; |
|||
sfr AUXINTIF = 0xef; |
|||
sfr B = 0xf0; |
|||
sfr USBCON = 0xf4; |
|||
sfr IAP_TPS = 0xf5; |
|||
sfr P7 = 0xf8; |
|||
sfr USBADR = 0xfc; |
|||
sfr RSTCFG = 0xff; |
|||
|
|||
//��������ܼĴ���λ����չRAM����
|
|||
//������Щ�Ĵ���,���Ƚ�P_SW2��BIT7����Ϊ1,�ſ�������д
|
|||
|
|||
/////////////////////////////////////////////////
|
|||
//FF00H-FFFFH
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
|
|||
|
|||
/////////////////////////////////////////////////
|
|||
//FE00H-FEFFH
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
#define CKSEL (*(unsigned char volatile xdata *)0xfe00) |
|||
#define CLKDIV (*(unsigned char volatile xdata *)0xfe01) |
|||
#define HIRCCR (*(unsigned char volatile xdata *)0xfe02) |
|||
#define XOSCCR (*(unsigned char volatile xdata *)0xfe03) |
|||
#define IRC32KCR (*(unsigned char volatile xdata *)0xfe04) |
|||
#define MCLKOCR (*(unsigned char volatile xdata *)0xfe05) |
|||
#define IRCDB (*(unsigned char volatile xdata *)0xfe06) |
|||
#define X32KCR (*(unsigned char volatile xdata *)0xfe08) |
|||
|
|||
#define P0PU (*(unsigned char volatile xdata *)0xfe10) |
|||
#define P1PU (*(unsigned char volatile xdata *)0xfe11) |
|||
#define P2PU (*(unsigned char volatile xdata *)0xfe12) |
|||
#define P3PU (*(unsigned char volatile xdata *)0xfe13) |
|||
#define P4PU (*(unsigned char volatile xdata *)0xfe14) |
|||
#define P5PU (*(unsigned char volatile xdata *)0xfe15) |
|||
#define P6PU (*(unsigned char volatile xdata *)0xfe16) |
|||
#define P7PU (*(unsigned char volatile xdata *)0xfe17) |
|||
#define P0NCS (*(unsigned char volatile xdata *)0xfe18) |
|||
#define P1NCS (*(unsigned char volatile xdata *)0xfe19) |
|||
#define P2NCS (*(unsigned char volatile xdata *)0xfe1a) |
|||
#define P3NCS (*(unsigned char volatile xdata *)0xfe1b) |
|||
#define P4NCS (*(unsigned char volatile xdata *)0xfe1c) |
|||
#define P5NCS (*(unsigned char volatile xdata *)0xfe1d) |
|||
#define P6NCS (*(unsigned char volatile xdata *)0xfe1e) |
|||
#define P7NCS (*(unsigned char volatile xdata *)0xfe1f) |
|||
#define P0SR (*(unsigned char volatile xdata *)0xfe20) |
|||
#define P1SR (*(unsigned char volatile xdata *)0xfe21) |
|||
#define P2SR (*(unsigned char volatile xdata *)0xfe22) |
|||
#define P3SR (*(unsigned char volatile xdata *)0xfe23) |
|||
#define P4SR (*(unsigned char volatile xdata *)0xfe24) |
|||
#define P5SR (*(unsigned char volatile xdata *)0xfe25) |
|||
#define P6SR (*(unsigned char volatile xdata *)0xfe26) |
|||
#define P7SR (*(unsigned char volatile xdata *)0xfe27) |
|||
#define P0DR (*(unsigned char volatile xdata *)0xfe28) |
|||
#define P1DR (*(unsigned char volatile xdata *)0xfe29) |
|||
#define P2DR (*(unsigned char volatile xdata *)0xfe2a) |
|||
#define P3DR (*(unsigned char volatile xdata *)0xfe2b) |
|||
#define P4DR (*(unsigned char volatile xdata *)0xfe2c) |
|||
#define P5DR (*(unsigned char volatile xdata *)0xfe2d) |
|||
#define P6DR (*(unsigned char volatile xdata *)0xfe2e) |
|||
#define P7DR (*(unsigned char volatile xdata *)0xfe2f) |
|||
#define P0IE (*(unsigned char volatile xdata *)0xfe30) |
|||
#define P1IE (*(unsigned char volatile xdata *)0xfe31) |
|||
#define P2IE (*(unsigned char volatile xdata *)0xfe32) |
|||
#define P3IE (*(unsigned char volatile xdata *)0xfe33) |
|||
#define P4IE (*(unsigned char volatile xdata *)0xfe34) |
|||
#define P5IE (*(unsigned char volatile xdata *)0xfe35) |
|||
#define P6IE (*(unsigned char volatile xdata *)0xfe36) |
|||
#define P7IE (*(unsigned char volatile xdata *)0xfe37) |
|||
|
|||
#define RTCCR (*(unsigned char volatile xdata *)0xfe60) |
|||
#define RTCCFG (*(unsigned char volatile xdata *)0xfe61) |
|||
#define RTCIEN (*(unsigned char volatile xdata *)0xfe62) |
|||
#define RTCIF (*(unsigned char volatile xdata *)0xfe63) |
|||
#define ALAHOUR (*(unsigned char volatile xdata *)0xfe64) |
|||
#define ALAMIN (*(unsigned char volatile xdata *)0xfe65) |
|||
#define ALASEC (*(unsigned char volatile xdata *)0xfe66) |
|||
#define ALASSEC (*(unsigned char volatile xdata *)0xfe67) |
|||
#define INIYEAR (*(unsigned char volatile xdata *)0xfe68) |
|||
#define INIMONTH (*(unsigned char volatile xdata *)0xfe69) |
|||
#define INIDAY (*(unsigned char volatile xdata *)0xfe6a) |
|||
#define INIHOUR (*(unsigned char volatile xdata *)0xfe6b) |
|||
#define INIMIN (*(unsigned char volatile xdata *)0xfe6c) |
|||
#define INISEC (*(unsigned char volatile xdata *)0xfe6d) |
|||
#define INISSEC (*(unsigned char volatile xdata *)0xfe6e) |
|||
#define YEAR (*(unsigned char volatile xdata *)0xfe70) |
|||
#define MONTH (*(unsigned char volatile xdata *)0xfe71) |
|||
#define DAY (*(unsigned char volatile xdata *)0xfe72) |
|||
#define HOUR (*(unsigned char volatile xdata *)0xfe73) |
|||
#define MIN (*(unsigned char volatile xdata *)0xfe74) |
|||
#define SEC (*(unsigned char volatile xdata *)0xfe75) |
|||
#define SSEC (*(unsigned char volatile xdata *)0xfe76) |
|||
|
|||
#define I2CCFG (*(unsigned char volatile xdata *)0xfe80) |
|||
#define I2CMSCR (*(unsigned char volatile xdata *)0xfe81) |
|||
#define I2CMSST (*(unsigned char volatile xdata *)0xfe82) |
|||
#define I2CSLCR (*(unsigned char volatile xdata *)0xfe83) |
|||
#define I2CSLST (*(unsigned char volatile xdata *)0xfe84) |
|||
#define I2CSLADR (*(unsigned char volatile xdata *)0xfe85) |
|||
#define I2CTXD (*(unsigned char volatile xdata *)0xfe86) |
|||
#define I2CRXD (*(unsigned char volatile xdata *)0xfe87) |
|||
#define I2CMSAUX (*(unsigned char volatile xdata *)0xfe88) |
|||
#define TM2PS (*(unsigned char volatile xdata *)0xfea2) |
|||
#define TM3PS (*(unsigned char volatile xdata *)0xfea3) |
|||
#define TM4PS (*(unsigned char volatile xdata *)0xfea4) |
|||
#define ADCTIM (*(unsigned char volatile xdata *)0xfea8) |
|||
|
|||
#define PWM1_ETRPS (*(unsigned char volatile xdata *)0xfeb0) |
|||
#define PWM1_ENO (*(unsigned char volatile xdata *)0xfeb1) |
|||
#define PWM1_PS (*(unsigned char volatile xdata *)0xfeb2) |
|||
#define PWM1_IOAUX (*(unsigned char volatile xdata *)0xfeb3) |
|||
#define PWM2_ETRPS (*(unsigned char volatile xdata *)0xfeb4) |
|||
#define PWM2_ENO (*(unsigned char volatile xdata *)0xfeb5) |
|||
#define PWM2_PS (*(unsigned char volatile xdata *)0xfeb6) |
|||
#define PWM2_IOAUX (*(unsigned char volatile xdata *)0xfeb7) |
|||
#define PWM1_CR1 (*(unsigned char volatile xdata *)0xfec0) |
|||
#define PWM1_CR2 (*(unsigned char volatile xdata *)0xfec1) |
|||
#define PWM1_SMCR (*(unsigned char volatile xdata *)0xfec2) |
|||
#define PWM1_ETR (*(unsigned char volatile xdata *)0xfec3) |
|||
#define PWM1_IER (*(unsigned char volatile xdata *)0xfec4) |
|||
#define PWM1_SR1 (*(unsigned char volatile xdata *)0xfec5) |
|||
#define PWM1_SR2 (*(unsigned char volatile xdata *)0xfec6) |
|||
#define PWM1_EGR (*(unsigned char volatile xdata *)0xfec7) |
|||
#define PWM1_CCMR1 (*(unsigned char volatile xdata *)0xfec8) |
|||
#define PWM1_CCMR2 (*(unsigned char volatile xdata *)0xfec9) |
|||
#define PWM1_CCMR3 (*(unsigned char volatile xdata *)0xfeca) |
|||
#define PWM1_CCMR4 (*(unsigned char volatile xdata *)0xfecb) |
|||
#define PWM1_CCER1 (*(unsigned char volatile xdata *)0xfecc) |
|||
#define PWM1_CCER2 (*(unsigned char volatile xdata *)0xfecd) |
|||
#define PWM1_CNTR (*(unsigned int volatile xdata *)0xfece) |
|||
#define PWM1_CNTRH (*(unsigned char volatile xdata *)0xfece) |
|||
#define PWM1_CNTRL (*(unsigned char volatile xdata *)0xfecf) |
|||
#define PWM1_PSCR (*(unsigned int volatile xdata *)0xfed0) |
|||
#define PWM1_PSCRH (*(unsigned char volatile xdata *)0xfed0) |
|||
#define PWM1_PSCRL (*(unsigned char volatile xdata *)0xfed1) |
|||
#define PWM1_ARR (*(unsigned int volatile xdata *)0xfed2) |
|||
#define PWM1_ARRH (*(unsigned char volatile xdata *)0xfed2) |
|||
#define PWM1_ARRL (*(unsigned char volatile xdata *)0xfed3) |
|||
#define PWM1_RCR (*(unsigned char volatile xdata *)0xfed4) |
|||
#define PWM1_CCR1 (*(unsigned int volatile xdata *)0xfed5) |
|||
#define PWM1_CCR1H (*(unsigned char volatile xdata *)0xfed5) |
|||
#define PWM1_CCR1L (*(unsigned char volatile xdata *)0xfed6) |
|||
#define PWM1_CCR2 (*(unsigned int volatile xdata *)0xfed7) |
|||
#define PWM1_CCR2H (*(unsigned char volatile xdata *)0xfed7) |
|||
#define PWM1_CCR2L (*(unsigned char volatile xdata *)0xfed8) |
|||
#define PWM1_CCR3 (*(unsigned int volatile xdata *)0xfed9) |
|||
#define PWM1_CCR3H (*(unsigned char volatile xdata *)0xfed9) |
|||
#define PWM1_CCR3L (*(unsigned char volatile xdata *)0xfeda) |
|||
#define PWM1_CCR4 (*(unsigned int volatile xdata *)0xfedb) |
|||
#define PWM1_CCR4H (*(unsigned char volatile xdata *)0xfedb) |
|||
#define PWM1_CCR4L (*(unsigned char volatile xdata *)0xfedc) |
|||
#define PWM1_BKR (*(unsigned char volatile xdata *)0xfedd) |
|||
#define PWM1_DTR (*(unsigned char volatile xdata *)0xfede) |
|||
#define PWM1_OISR (*(unsigned char volatile xdata *)0xfedf) |
|||
#define PWM2_CR1 (*(unsigned char volatile xdata *)0xfee0) |
|||
#define PWM2_CR2 (*(unsigned char volatile xdata *)0xfee1) |
|||
#define PWM2_SMCR (*(unsigned char volatile xdata *)0xfee2) |
|||
#define PWM2_ETR (*(unsigned char volatile xdata *)0xfee3) |
|||
#define PWM2_IER (*(unsigned char volatile xdata *)0xfee4) |
|||
#define PWM2_SR1 (*(unsigned char volatile xdata *)0xfee5) |
|||
#define PWM2_SR2 (*(unsigned char volatile xdata *)0xfee6) |
|||
#define PWM2_EGR (*(unsigned char volatile xdata *)0xfee7) |
|||
#define PWM2_CCMR1 (*(unsigned char volatile xdata *)0xfee8) |
|||
#define PWM2_CCMR2 (*(unsigned char volatile xdata *)0xfee9) |
|||
#define PWM2_CCMR3 (*(unsigned char volatile xdata *)0xfeea) |
|||
#define PWM2_CCMR4 (*(unsigned char volatile xdata *)0xfeeb) |
|||
#define PWM2_CCER1 (*(unsigned char volatile xdata *)0xfeec) |
|||
#define PWM2_CCER2 (*(unsigned char volatile xdata *)0xfeed) |
|||
#define PWM2_CNTR (*(unsigned int volatile xdata *)0xfeee) |
|||
#define PWM2_CNTRH (*(unsigned char volatile xdata *)0xfeee) |
|||
#define PWM2_CNTRL (*(unsigned char volatile xdata *)0xfeef) |
|||
#define PWM2_PSCR (*(unsigned int volatile xdata *)0xfef0) |
|||
#define PWM2_PSCRH (*(unsigned char volatile xdata *)0xfef0) |
|||
#define PWM2_PSCRL (*(unsigned char volatile xdata *)0xfef1) |
|||
#define PWM2_ARR (*(unsigned int volatile xdata *)0xfef2) |
|||
#define PWM2_ARRH (*(unsigned char volatile xdata *)0xfef2) |
|||
#define PWM2_ARRL (*(unsigned char volatile xdata *)0xfef3) |
|||
#define PWM2_RCR (*(unsigned char volatile xdata *)0xfef4) |
|||
#define PWM2_CCR1 (*(unsigned int volatile xdata *)0xfef5) |
|||
#define PWM2_CCR1H (*(unsigned char volatile xdata *)0xfef5) |
|||
#define PWM2_CCR1L (*(unsigned char volatile xdata *)0xfef6) |
|||
#define PWM2_CCR2 (*(unsigned int volatile xdata *)0xfef7) |
|||
#define PWM2_CCR2H (*(unsigned char volatile xdata *)0xfef7) |
|||
#define PWM2_CCR2L (*(unsigned char volatile xdata *)0xfef8) |
|||
#define PWM2_CCR3 (*(unsigned int volatile xdata *)0xfef9) |
|||
#define PWM2_CCR3H (*(unsigned char volatile xdata *)0xfef9) |
|||
#define PWM2_CCR3L (*(unsigned char volatile xdata *)0xfefa) |
|||
#define PWM2_CCR4 (*(unsigned int volatile xdata *)0xfefb) |
|||
#define PWM2_CCR4H (*(unsigned char volatile xdata *)0xfefb) |
|||
#define PWM2_CCR4L (*(unsigned char volatile xdata *)0xfefc) |
|||
#define PWM2_BKR (*(unsigned char volatile xdata *)0xfefd) |
|||
#define PWM2_DTR (*(unsigned char volatile xdata *)0xfefe) |
|||
#define PWM2_OISR (*(unsigned char volatile xdata *)0xfeff) |
|||
|
|||
#define PWMA_ETRPS (*(unsigned char volatile xdata *)0xfeb0) |
|||
#define PWMA_ENO (*(unsigned char volatile xdata *)0xfeb1) |
|||
#define PWMA_PS (*(unsigned char volatile xdata *)0xfeb2) |
|||
#define PWMA_IOAUX (*(unsigned char volatile xdata *)0xfeb3) |
|||
#define PWMB_ETRPS (*(unsigned char volatile xdata *)0xfeb4) |
|||
#define PWMB_ENO (*(unsigned char volatile xdata *)0xfeb5) |
|||
#define PWMB_PS (*(unsigned char volatile xdata *)0xfeb6) |
|||
#define PWMB_IOAUX (*(unsigned char volatile xdata *)0xfeb7) |
|||
#define PWMA_CR1 (*(unsigned char volatile xdata *)0xfec0) |
|||
#define PWMA_CR2 (*(unsigned char volatile xdata *)0xfec1) |
|||
#define PWMA_SMCR (*(unsigned char volatile xdata *)0xfec2) |
|||
#define PWMA_ETR (*(unsigned char volatile xdata *)0xfec3) |
|||
#define PWMA_IER (*(unsigned char volatile xdata *)0xfec4) |
|||
#define PWMA_SR1 (*(unsigned char volatile xdata *)0xfec5) |
|||
#define PWMA_SR2 (*(unsigned char volatile xdata *)0xfec6) |
|||
#define PWMA_EGR (*(unsigned char volatile xdata *)0xfec7) |
|||
#define PWMA_CCMR1 (*(unsigned char volatile xdata *)0xfec8) |
|||
#define PWMA_CCMR2 (*(unsigned char volatile xdata *)0xfec9) |
|||
#define PWMA_CCMR3 (*(unsigned char volatile xdata *)0xfeca) |
|||
#define PWMA_CCMR4 (*(unsigned char volatile xdata *)0xfecb) |
|||
#define PWMA_CCER1 (*(unsigned char volatile xdata *)0xfecc) |
|||
#define PWMA_CCER2 (*(unsigned char volatile xdata *)0xfecd) |
|||
#define PWMA_CNTR (*(unsigned int volatile xdata *)0xfece) |
|||
#define PWMA_CNTRH (*(unsigned char volatile xdata *)0xfece) |
|||
#define PWMA_CNTRL (*(unsigned char volatile xdata *)0xfecf) |
|||
#define PWMA_PSCR (*(unsigned int volatile xdata *)0xfed0) |
|||
#define PWMA_PSCRH (*(unsigned char volatile xdata *)0xfed0) |
|||
#define PWMA_PSCRL (*(unsigned char volatile xdata *)0xfed1) |
|||
#define PWMA_ARR (*(unsigned int volatile xdata *)0xfed2) |
|||
#define PWMA_ARRH (*(unsigned char volatile xdata *)0xfed2) |
|||
#define PWMA_ARRL (*(unsigned char volatile xdata *)0xfed3) |
|||
#define PWMA_RCR (*(unsigned char volatile xdata *)0xfed4) |
|||
#define PWMA_CCR1 (*(unsigned int volatile xdata *)0xfed5) |
|||
#define PWMA_CCR1H (*(unsigned char volatile xdata *)0xfed5) |
|||
#define PWMA_CCR1L (*(unsigned char volatile xdata *)0xfed6) |
|||
#define PWMA_CCR2 (*(unsigned int volatile xdata *)0xfed7) |
|||
#define PWMA_CCR2H (*(unsigned char volatile xdata *)0xfed7) |
|||
#define PWMA_CCR2L (*(unsigned char volatile xdata *)0xfed8) |
|||
#define PWMA_CCR3 (*(unsigned int volatile xdata *)0xfed9) |
|||
#define PWMA_CCR3H (*(unsigned char volatile xdata *)0xfed9) |
|||
#define PWMA_CCR3L (*(unsigned char volatile xdata *)0xfeda) |
|||
#define PWMA_CCR4 (*(unsigned int volatile xdata *)0xfedb) |
|||
#define PWMA_CCR4H (*(unsigned char volatile xdata *)0xfedb) |
|||
#define PWMA_CCR4L (*(unsigned char volatile xdata *)0xfedc) |
|||
#define PWMA_BKR (*(unsigned char volatile xdata *)0xfedd) |
|||
#define PWMA_DTR (*(unsigned char volatile xdata *)0xfede) |
|||
#define PWMA_OISR (*(unsigned char volatile xdata *)0xfedf) |
|||
#define PWMB_CR1 (*(unsigned char volatile xdata *)0xfee0) |
|||
#define PWMB_CR2 (*(unsigned char volatile xdata *)0xfee1) |
|||
#define PWMB_SMCR (*(unsigned char volatile xdata *)0xfee2) |
|||
#define PWMB_ETR (*(unsigned char volatile xdata *)0xfee3) |
|||
#define PWMB_IER (*(unsigned char volatile xdata *)0xfee4) |
|||
#define PWMB_SR1 (*(unsigned char volatile xdata *)0xfee5) |
|||
#define PWMB_SR2 (*(unsigned char volatile xdata *)0xfee6) |
|||
#define PWMB_EGR (*(unsigned char volatile xdata *)0xfee7) |
|||
#define PWMB_CCMR1 (*(unsigned char volatile xdata *)0xfee8) |
|||
#define PWMB_CCMR2 (*(unsigned char volatile xdata *)0xfee9) |
|||
#define PWMB_CCMR3 (*(unsigned char volatile xdata *)0xfeea) |
|||
#define PWMB_CCMR4 (*(unsigned char volatile xdata *)0xfeeb) |
|||
#define PWMB_CCER1 (*(unsigned char volatile xdata *)0xfeec) |
|||
#define PWMB_CCER2 (*(unsigned char volatile xdata *)0xfeed) |
|||
#define PWMB_CNTR (*(unsigned int volatile xdata *)0xfeee) |
|||
#define PWMB_CNTRH (*(unsigned char volatile xdata *)0xfeee) |
|||
#define PWMB_CNTRL (*(unsigned char volatile xdata *)0xfeef) |
|||
#define PWMB_PSCR (*(unsigned int volatile xdata *)0xfef0) |
|||
#define PWMB_PSCRH (*(unsigned char volatile xdata *)0xfef0) |
|||
#define PWMB_PSCRL (*(unsigned char volatile xdata *)0xfef1) |
|||
#define PWMB_ARR (*(unsigned int volatile xdata *)0xfef2) |
|||
#define PWMB_ARRH (*(unsigned char volatile xdata *)0xfef2) |
|||
#define PWMB_ARRL (*(unsigned char volatile xdata *)0xfef3) |
|||
#define PWMB_RCR (*(unsigned char volatile xdata *)0xfef4) |
|||
#define PWMB_CCR5 (*(unsigned int volatile xdata *)0xfef5) |
|||
#define PWMB_CCR5H (*(unsigned char volatile xdata *)0xfef5) |
|||
#define PWMB_CCR5L (*(unsigned char volatile xdata *)0xfef6) |
|||
#define PWMB_CCR6 (*(unsigned int volatile xdata *)0xfef7) |
|||
#define PWMB_CCR6H (*(unsigned char volatile xdata *)0xfef7) |
|||
#define PWMB_CCR6L (*(unsigned char volatile xdata *)0xfef8) |
|||
#define PWMB_CCR7 (*(unsigned int volatile xdata *)0xfef9) |
|||
#define PWMB_CCR7H (*(unsigned char volatile xdata *)0xfef9) |
|||
#define PWMB_CCR7L (*(unsigned char volatile xdata *)0xfefa) |
|||
#define PWMB_CCR8 (*(unsigned int volatile xdata *)0xfefb) |
|||
#define PWMB_CCR8H (*(unsigned char volatile xdata *)0xfefb) |
|||
#define PWMB_CCR8L (*(unsigned char volatile xdata *)0xfefc) |
|||
#define PWMB_BKR (*(unsigned char volatile xdata *)0xfefd) |
|||
#define PWMB_DTR (*(unsigned char volatile xdata *)0xfefe) |
|||
#define PWMB_OISR (*(unsigned char volatile xdata *)0xfeff) |
|||
|
|||
/////////////////////////////////////////////////
|
|||
//FD00H-FDFFH
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
#define P0INTE (*(unsigned char volatile xdata *)0xfd00) |
|||
#define P1INTE (*(unsigned char volatile xdata *)0xfd01) |
|||
#define P2INTE (*(unsigned char volatile xdata *)0xfd02) |
|||
#define P3INTE (*(unsigned char volatile xdata *)0xfd03) |
|||
#define P4INTE (*(unsigned char volatile xdata *)0xfd04) |
|||
#define P5INTE (*(unsigned char volatile xdata *)0xfd05) |
|||
#define P6INTE (*(unsigned char volatile xdata *)0xfd06) |
|||
#define P7INTE (*(unsigned char volatile xdata *)0xfd07) |
|||
#define P0INTF (*(unsigned char volatile xdata *)0xfd10) |
|||
#define P1INTF (*(unsigned char volatile xdata *)0xfd11) |
|||
#define P2INTF (*(unsigned char volatile xdata *)0xfd12) |
|||
#define P3INTF (*(unsigned char volatile xdata *)0xfd13) |
|||
#define P4INTF (*(unsigned char volatile xdata *)0xfd14) |
|||
#define P5INTF (*(unsigned char volatile xdata *)0xfd15) |
|||
#define P6INTF (*(unsigned char volatile xdata *)0xfd16) |
|||
#define P7INTF (*(unsigned char volatile xdata *)0xfd17) |
|||
#define P0IM0 (*(unsigned char volatile xdata *)0xfd20) |
|||
#define P1IM0 (*(unsigned char volatile xdata *)0xfd21) |
|||
#define P2IM0 (*(unsigned char volatile xdata *)0xfd22) |
|||
#define P3IM0 (*(unsigned char volatile xdata *)0xfd23) |
|||
#define P4IM0 (*(unsigned char volatile xdata *)0xfd24) |
|||
#define P5IM0 (*(unsigned char volatile xdata *)0xfd25) |
|||
#define P6IM0 (*(unsigned char volatile xdata *)0xfd26) |
|||
#define P7IM0 (*(unsigned char volatile xdata *)0xfd27) |
|||
#define P0IM1 (*(unsigned char volatile xdata *)0xfd30) |
|||
#define P1IM1 (*(unsigned char volatile xdata *)0xfd31) |
|||
#define P2IM1 (*(unsigned char volatile xdata *)0xfd32) |
|||
#define P3IM1 (*(unsigned char volatile xdata *)0xfd33) |
|||
#define P4IM1 (*(unsigned char volatile xdata *)0xfd34) |
|||
#define P5IM1 (*(unsigned char volatile xdata *)0xfd35) |
|||
#define P6IM1 (*(unsigned char volatile xdata *)0xfd36) |
|||
#define P7IM1 (*(unsigned char volatile xdata *)0xfd37) |
|||
#define P0WKUE (*(unsigned char volatile xdata *)0xfd40) |
|||
#define P1WKUE (*(unsigned char volatile xdata *)0xfd41) |
|||
#define P2WKUE (*(unsigned char volatile xdata *)0xfd42) |
|||
#define P3WKUE (*(unsigned char volatile xdata *)0xfd43) |
|||
#define P4WKUE (*(unsigned char volatile xdata *)0xfd44) |
|||
#define P5WKUE (*(unsigned char volatile xdata *)0xfd45) |
|||
#define P6WKUE (*(unsigned char volatile xdata *)0xfd46) |
|||
#define P7WKUE (*(unsigned char volatile xdata *)0xfd47) |
|||
#define PIN_IP (*(unsigned char volatile xdata *)0xfd60) |
|||
#define PIN_IPH (*(unsigned char volatile xdata *)0xfd61) |
|||
|
|||
/////////////////////////////////////////////////
|
|||
//FC00H-FCFFH
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
#define MD3 (*(unsigned char volatile xdata *)0xfcf0) |
|||
#define MD2 (*(unsigned char volatile xdata *)0xfcf1) |
|||
#define MD1 (*(unsigned char volatile xdata *)0xfcf2) |
|||
#define MD0 (*(unsigned char volatile xdata *)0xfcf3) |
|||
#define MD5 (*(unsigned char volatile xdata *)0xfcf4) |
|||
#define MD4 (*(unsigned char volatile xdata *)0xfcf5) |
|||
#define ARCON (*(unsigned char volatile xdata *)0xfcf6) |
|||
#define OPCON (*(unsigned char volatile xdata *)0xfcf7) |
|||
|
|||
/////////////////////////////////////////////////
|
|||
//FB00H-FBFFH
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
#define COMEN (*(unsigned char volatile xdata *)0xfb00) |
|||
#define SEGENL (*(unsigned char volatile xdata *)0xfb01) |
|||
#define SEGENH (*(unsigned char volatile xdata *)0xfb02) |
|||
#define LEDCTRL (*(unsigned char volatile xdata *)0xfb03) |
|||
#define LEDCKS (*(unsigned char volatile xdata *)0xfb04) |
|||
#define COM0_DA_L (*(unsigned char volatile xdata *)0xfb10) |
|||
#define COM1_DA_L (*(unsigned char volatile xdata *)0xfb11) |
|||
#define COM2_DA_L (*(unsigned char volatile xdata *)0xfb12) |
|||
#define COM3_DA_L (*(unsigned char volatile xdata *)0xfb13) |
|||
#define COM4_DA_L (*(unsigned char volatile xdata *)0xfb14) |
|||
#define COM5_DA_L (*(unsigned char volatile xdata *)0xfb15) |
|||
#define COM6_DA_L (*(unsigned char volatile xdata *)0xfb16) |
|||
#define COM7_DA_L (*(unsigned char volatile xdata *)0xfb17) |
|||
#define COM0_DA_H (*(unsigned char volatile xdata *)0xfb18) |
|||
#define COM1_DA_H (*(unsigned char volatile xdata *)0xfb19) |
|||
#define COM2_DA_H (*(unsigned char volatile xdata *)0xfb1a) |
|||
#define COM3_DA_H (*(unsigned char volatile xdata *)0xfb1b) |
|||
#define COM4_DA_H (*(unsigned char volatile xdata *)0xfb1c) |
|||
#define COM5_DA_H (*(unsigned char volatile xdata *)0xfb1d) |
|||
#define COM6_DA_H (*(unsigned char volatile xdata *)0xfb1e) |
|||
#define COM7_DA_H (*(unsigned char volatile xdata *)0xfb1f) |
|||
#define COM0_DC_L (*(unsigned char volatile xdata *)0xfb20) |
|||
#define COM1_DC_L (*(unsigned char volatile xdata *)0xfb21) |
|||
#define COM2_DC_L (*(unsigned char volatile xdata *)0xfb22) |
|||
#define COM3_DC_L (*(unsigned char volatile xdata *)0xfb23) |
|||
#define COM4_DC_L (*(unsigned char volatile xdata *)0xfb24) |
|||
#define COM5_DC_L (*(unsigned char volatile xdata *)0xfb25) |
|||
#define COM6_DC_L (*(unsigned char volatile xdata *)0xfb26) |
|||
#define COM7_DC_L (*(unsigned char volatile xdata *)0xfb27) |
|||
#define COM0_DC_H (*(unsigned char volatile xdata *)0xfb28) |
|||
#define COM1_DC_H (*(unsigned char volatile xdata *)0xfb29) |
|||
#define COM2_DC_H (*(unsigned char volatile xdata *)0xfb2a) |
|||
#define COM3_DC_H (*(unsigned char volatile xdata *)0xfb2b) |
|||
#define COM4_DC_H (*(unsigned char volatile xdata *)0xfb2c) |
|||
#define COM5_DC_H (*(unsigned char volatile xdata *)0xfb2d) |
|||
#define COM6_DC_H (*(unsigned char volatile xdata *)0xfb2e) |
|||
#define COM7_DC_H (*(unsigned char volatile xdata *)0xfb2f) |
|||
|
|||
#define TSCHEN1 (*(unsigned char volatile xdata *)0xfb40) |
|||
#define TSCHEN2 (*(unsigned char volatile xdata *)0xfb41) |
|||
#define TSCFG1 (*(unsigned char volatile xdata *)0xfb42) |
|||
#define TSCFG2 (*(unsigned char volatile xdata *)0xfb43) |
|||
#define TSWUTC (*(unsigned char volatile xdata *)0xfb44) |
|||
#define TSCTRL (*(unsigned char volatile xdata *)0xfb45) |
|||
#define TSSTA1 (*(unsigned char volatile xdata *)0xfb46) |
|||
#define TSSTA2 (*(unsigned char volatile xdata *)0xfb47) |
|||
#define TSRT (*(unsigned char volatile xdata *)0xfb48) |
|||
#define TSDAT (*(unsigned int volatile xdata *)0xfb49) |
|||
#define TSDATH (*(unsigned char volatile xdata *)0xfb49) |
|||
#define TSDATL (*(unsigned char volatile xdata *)0xfb4A) |
|||
#define TSTH00 (*(unsigned int volatile xdata *)0xfb50) |
|||
#define TSTH00H (*(unsigned char volatile xdata *)0xfb50) |
|||
#define TSTH00L (*(unsigned char volatile xdata *)0xfb51) |
|||
#define TSTH01 (*(unsigned int volatile xdata *)0xfb52) |
|||
#define TSTH01H (*(unsigned char volatile xdata *)0xfb52) |
|||
#define TSTH01L (*(unsigned char volatile xdata *)0xfb53) |
|||
#define TSTH02 (*(unsigned int volatile xdata *)0xfb54) |
|||
#define TSTH02H (*(unsigned char volatile xdata *)0xfb54) |
|||
#define TSTH02L (*(unsigned char volatile xdata *)0xfb55) |
|||
#define TSTH03 (*(unsigned int volatile xdata *)0xfb56) |
|||
#define TSTH03H (*(unsigned char volatile xdata *)0xfb56) |
|||
#define TSTH03L (*(unsigned char volatile xdata *)0xfb57) |
|||
#define TSTH04 (*(unsigned int volatile xdata *)0xfb58) |
|||
#define TSTH04H (*(unsigned char volatile xdata *)0xfb58) |
|||
#define TSTH04L (*(unsigned char volatile xdata *)0xfb59) |
|||
#define TSTH05 (*(unsigned int volatile xdata *)0xfb5a) |
|||
#define TSTH05H (*(unsigned char volatile xdata *)0xfb5a) |
|||
#define TSTH05L (*(unsigned char volatile xdata *)0xfb5b) |
|||
#define TSTH06 (*(unsigned int volatile xdata *)0xfb5c) |
|||
#define TSTH06H (*(unsigned char volatile xdata *)0xfb5c) |
|||
#define TSTH06L (*(unsigned char volatile xdata *)0xfb5d) |
|||
#define TSTH07 (*(unsigned int volatile xdata *)0xfb5e) |
|||
#define TSTH07H (*(unsigned char volatile xdata *)0xfb5e) |
|||
#define TSTH07L (*(unsigned char volatile xdata *)0xfb5f) |
|||
#define TSTH08 (*(unsigned int volatile xdata *)0xfb60) |
|||
#define TSTH08H (*(unsigned char volatile xdata *)0xfb60) |
|||
#define TSTH08L (*(unsigned char volatile xdata *)0xfb61) |
|||
#define TSTH09 (*(unsigned int volatile xdata *)0xfb62) |
|||
#define TSTH09H (*(unsigned char volatile xdata *)0xfb62) |
|||
#define TSTH09L (*(unsigned char volatile xdata *)0xfb63) |
|||
#define TSTH10 (*(unsigned int volatile xdata *)0xfb64) |
|||
#define TSTH10H (*(unsigned char volatile xdata *)0xfb64) |
|||
#define TSTH10L (*(unsigned char volatile xdata *)0xfb65) |
|||
#define TSTH11 (*(unsigned int volatile xdata *)0xfb66) |
|||
#define TSTH11H (*(unsigned char volatile xdata *)0xfb66) |
|||
#define TSTH11L (*(unsigned char volatile xdata *)0xfb67) |
|||
#define TSTH12 (*(unsigned int volatile xdata *)0xfb68) |
|||
#define TSTH12H (*(unsigned char volatile xdata *)0xfb68) |
|||
#define TSTH12L (*(unsigned char volatile xdata *)0xfb69) |
|||
#define TSTH13 (*(unsigned int volatile xdata *)0xfb6a) |
|||
#define TSTH13H (*(unsigned char volatile xdata *)0xfb6a) |
|||
#define TSTH13L (*(unsigned char volatile xdata *)0xfb6b) |
|||
#define TSTH14 (*(unsigned int volatile xdata *)0xfb6c) |
|||
#define TSTH14H (*(unsigned char volatile xdata *)0xfb6c) |
|||
#define TSTH14L (*(unsigned char volatile xdata *)0xfb6d) |
|||
#define TSTH15 (*(unsigned int volatile xdata *)0xfb6e) |
|||
#define TSTH15H (*(unsigned char volatile xdata *)0xfb6e) |
|||
#define TSTH15L (*(unsigned char volatile xdata *)0xfb6f) |
|||
|
|||
/////////////////////////////////////////////////
|
|||
//FA00H-FAFFH
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
|
|||
/////////////////////////////////////////////////
|
|||
|
|||
#endif |
|||
|
Loading…
Reference in new issue