📄 r8c2c2d_s002_main.h
字号:
/************************************************************************************
* *
* System file name : r8c2c2d_s002_main.h *
* System name : R8C2C/2D(5.0V/20MHz) *
* *
* Version : 1.00 *
* ROM size : - *
* RAM size : - *
* Contents : Header file of the main program for Sango *
* *
************************************************************************************/
/*************************************************************
* Declaration of function prototype *
*************************************************************/
/*********************** System main ************************/
extern void reset_init(void); /* Initialization program after resets */
extern void sfr_init(void); /* Initial setting of SFR registers */
void ad_exe(unsigned char an); /* Executes A/D conversion */
void delayed_sorce_make(void); /* Delayed LED pulse duty sorce make */
/******************** Application module ********************/
/************************ Module ****************************/
extern void sio_trx5(void); /* ##R8C2C/2D-2009## Trans/Receive of Clock synchronous serial I/O 0 */
extern void uart0_tra_int_func10(void); /* ##R8C2C/2D-2009## UART0 transmit interrupt function of Trans/Receive of Clock synchronous serial I/O 0 */
extern void uart0_rec_int_func14(void); /* ##R8C2C/2D-2009## UART0 receive interrupt function of Trans/Receive of Clock synchronous serial I/O 0 */
/*************************************************************
* Declaration of interrupt *
*************************************************************/
/***************** fixed vector section *********************/
/* Voltage monitor2 interrupt */
#pragma INTERRUPT wa2_int;
extern void wa2_int(void);
/**************** variable vector section *******************/
/* Timer RC interrupt(vector7) */
#pragma INTERRUPT timer_rc_int;
extern void timer_rc_int(void);
/* Timer RD(Channel 0) interrupt(vector8) */
#pragma INTERRUPT timer_rd0_int;
extern void timer_rd0_int(void);
/* Timer RD(Channel 1) interrupt(vector9) */
#pragma INTERRUPT timer_rd1_int;
extern void timer_rd1_int(void);
/* Timer RE interrupt(vector10) */
#pragma INTERRUPT timer_re_int;
extern void timer_re_int(void);
/* UART2 transmit interrupt(vector 11) */
#pragma INTERRUPT uart2_tra_int;
extern void uart2_tra_int(void);
/* UART2 receive interrupt(vector 12) */
#pragma INTERRUPT uart2_rec_int;
extern void uart2_rec_int(void);
/* Key in interrupt(vector 13) */
#pragma INTERRUPT key_in_int;
extern void key_in_int(void);
/* SSU/IIC interrupt(vector 15) */
#pragma INTERRUPT ssu_int;
extern void ssu_int(void);
/* Timer RF Compare1 interrupt(vector 16) */
#pragma INTERRUPT timer_rf_cmp1_int;
extern void timer_rf_cmp1_int(void);
/* UART0 transmit interrupt(vector 17) */
#pragma INTERRUPT uart0_tra_int;
extern void uart0_tra_int(void);
/* UART0 receive interrupt(vector 18) */
#pragma INTERRUPT uart0_rec_int;
extern void uart0_rec_int(void);
/* UART1 transmit interrupt(vector 19) */
#pragma INTERRUPT uart1_tra_int;
extern void uart1_tra_int(void);
/* UART1 receive interrupt(vector 20) */
#pragma INTERRUPT uart1_rec_int;
extern void uart1_rec_int(void);
/* INT2 interrupt(vector 21) */
#pragma INTERRUPT int2_int;
extern void int2_int(void);
/* Timer RA interrupt(vector 22) */
#pragma INTERRUPT timer_ra_int;
extern void timer_ra_int(void);
/* Timer RB interrupt(vector 24) */
#pragma INTERRUPT timer_rb_int;
extern void timer_rb_int(void);
/* INT1 interrupt(vector 25) */
#pragma INTERRUPT int1_int;
extern void int1_int(void);
/* INT3 interrupt(vector 26) */
#pragma INTERRUPT int3_int;
extern void int3_int(void);
/* Timer RF interrupt(vector 27) */
#pragma INTERRUPT timer_rf_int;
extern void timer_rf_int(void);
/* Timer RF Compare0 interrupt(vector 28) */
#pragma INTERRUPT timer_rf_cmp0_int;
extern void timer_rf_cmp0_int(void);
/* INT0 interrupt(vector 29) */
#pragma INTERRUPT int0_int;
extern void int0_int(void);
/* A/D interrupt(vector 30) */
#pragma INTERRUPT ad_int;
extern void ad_int(void);
/* Timer RF Capture interrupt(vector 31) */
#pragma INTERRUPT timer_rf_cap_int;
extern void timer_rf_cap_int(void);
/*************************************************************
* Definition of RAM area *
*************************************************************/
/*********************** System main ************************/
/* A/D conversion */
unsigned short ad_data[20]; /* A/D conversion results data of AN0-AN19 (matched two times) */
unsigned short ad_buf[20]; /* A/D conversion results data buffer of AN0-AN19 */
static unsigned char c_ad_cha; /* A/D conversion channel(analog input pin) select counter */
static unsigned char exe_ad_cha; /* Executes A/D conversion channel(analog input pin) */
/* Timesharing */
static unsigned char c_timesharing = 0x00; /* Timesharing counnter */
static unsigned char c_10ms = 0x00; /* 10msec main timer make counter */
static unsigned char c_100ms = 0x00; /* 100msec main timer make counter */
static unsigned short c_1s = 0x0000; /* 1sec main timer make counter */
static union byte_def timesharing;
#define f_1ms timesharing.bit.b0 /* 1msec elapses flag: "0"=not elapses / "1"=elapsed *Timesharing */
#define f_10ms timesharing.bit.b1 /* 10msec elapses flag: "0"=not elapses / "1"=elapsed *Timesharing */
#define f_100ms timesharing.bit.b2 /* 100msec elapses flag: "0"=not elapses / "1"=elapsed *Timesharing */
#define f_1s timesharing.bit.b3 /* 1sec elapses flag: "0"=not elapses / "1"=elapsed *Timesharing */
/* Delayed LED corce make */
unsigned char c_delay_sorce; /* Sorce counter : free run */
union word_def delay_duty_flag;
#define delay_duty delay_duty_flag.word /* Pulse duty flags for Delayed LED */
#define f_delay_duty1 delay_duty_flag.bit.b0 /* Pulse duty1 = "H"(15):"L"( 1) */
#define f_delay_duty2 delay_duty_flag.bit.b1 /* Pulse duty2 = "H"(14):"L"( 2) */
#define f_delay_duty3 delay_duty_flag.bit.b2 /* Pulse duty3 = "H"(13):"L"( 3) */
#define f_delay_duty4 delay_duty_flag.bit.b3 /* Pulse duty4 = "H"(12):"L"( 4) */
#define f_delay_duty5 delay_duty_flag.bit.b4 /* Pulse duty5 = "H"(11):"L"( 5) */
#define f_delay_duty6 delay_duty_flag.bit.b5 /* Pulse duty6 = "H"(10):"L"( 6) */
#define f_delay_duty7 delay_duty_flag.bit.b6 /* Pulse duty7 = "H"( 9):"L"( 7) */
#define f_delay_duty8 delay_duty_flag.bit.b7 /* Pulse duty8 = "H"( 8):"L"( 8) */
#define f_delay_duty9 delay_duty_flag.bit.b8 /* Pulse duty9 = "H"( 7):"L"( 9) */
#define f_delay_duty10 delay_duty_flag.bit.b9 /* Pulse duty10 = "H"( 6):"L"(10) */
#define f_delay_duty11 delay_duty_flag.bit.b10 /* Pulse duty11 = "H"( 5):"L"(11) */
#define f_delay_duty12 delay_duty_flag.bit.b11 /* Pulse duty12 = "H"( 4):"L"(12) */
#define f_delay_duty13 delay_duty_flag.bit.b12 /* Pulse duty13 = "H"( 3):"L"(13) */
#define f_delay_duty14 delay_duty_flag.bit.b13 /* Pulse duty14 = "H"( 2):"L"(14) */
#define f_delay_duty15 delay_duty_flag.bit.b14 /* Pulse duty15 = "H"( 1):"L"(15) */
#define f_delay_base delay_duty_flag.bit.b15 /* Pulse duty base : "L" output */
/******************** Application module ********************/
/************************ Module ****************************/
/*************************************************************
* Definition of base section *
*************************************************************/
/*********************** System main ************************/
/* Timesharing */
#define timesharing_mask 0x03 /* Timesharing mask(bit0 and bit1 valid) */
/* BCD code to HEX convert table */
#define NONE 0x00 /* None(unuesd) */
/******************** Application module ********************/
/************************ Module ****************************/
/* General port input */
#define bit0 0x01 /* bit0 */
#define bit1 0x02 /* bit1 */
#define bit2 0x04 /* bit2 */
#define bit3 0x08 /* bit3 */
#define bit4 0x10 /* bit4 */
#define bit5 0x20 /* bit5 */
#define bit6 0x40 /* bit6 */
#define bit7 0x80 /* bit7 */
/*************************************************************
* Definition of port *
*************************************************************/
/*************************************************************
* Data table *
*************************************************************/
/*********************** System main ************************/
/* A/D conversion */
/* A/D port select table */
const unsigned char tb_ad_port[20] = {
/* AN0 ,AN1 ,AN2 ,AN3 ,AN4 ,AN5 ,AN6 ,AN7 ,AN8 ,AN9 ,AN10,AN11,AN12,AN13,AN14,AN15,AN16,AN17,AN18,AN19 */
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x84,0x85,0x86,0x87,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87 /* AN , Single mdoe , Port group , Soft trigger , A/D conversion stop , fAD/2 */
};
/******************** Application module ********************/
/************************ Module ****************************/
/* General port input */
/* Bit select data table */
const unsigned char tb_bit[8] = {
/* bit0,bit1,bit2,bit3,bit4,bit5,bit6,bit7 */
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
};
/* Pulse duty select table of delayed LED */
const unsigned short tb_delay_duty_selec[16] = {
0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,
0x0100,0x0200,0x0400,0x0800,0x1000,0x2000,0x4000,0x8000
};
/* Final day table */
const unsigned char tb_calen_final_day[12] = { /* Table : final day of Month */
/* 1 2 3 4 5 6 7 8 9 10 11 12 */ /* Month */
31,28,31,30,31,30,31,31,30,31,30,31
};
/* HEX to BCD code convert table */
const unsigned char tb_hex_bcd[60] = { /* The hexadecimal(00h to 3Bh) is converted to The BCD(Binary Coded Decimal) code(00 to 59) */
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,
};
/* BCD code to HEX convert table */
const unsigned char tb_bcd_hex[96] = { /* The BCD(Binary Coded Decimal) code(00 to 59) is converted to The hexadecimal(00h to 3bh) */
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,NONE,NONE,NONE,NONE,NONE,NONE,
0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,NONE,NONE,NONE,NONE,NONE,NONE,
0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,NONE,NONE,NONE,NONE,NONE,NONE,
0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,NONE,NONE,NONE,NONE,NONE,NONE,
0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,NONE,NONE,NONE,NONE,NONE,NONE,
0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,NONE,NONE,NONE,NONE,NONE,NONE,
};
/*************************************************************
* *
*************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -