#ifndef HC89S_CONFIG_H_ #define HC89S_CONFIG_H_ #include "HC89S003AF4.h" //<<< Use Configuration Wizard in Context Menu >>> /* ********************************************************************************************************* * 时钟相关配置 ********************************************************************************************************* */ /*************************************** 系统时钟配置 ************************************************/ // 系统时钟配置 // 产生 BOR 复位时 // <0=> 不关闭高频内部 RC // <1=> 关闭高频内部 RC #define CLOCK_RC_EN_PD_INIT 2 // 内部高频RC使能 // 配置系统时钟源为内部高频 RC 32MHZ #define CLOCK_IN_HIGH_ENABLE 1 // OSC时钟频率 // OSC时钟为内部高频RC分频 // <0x50=> 32 MHZ // <0x51=> 16 MHZ // <0x52=> 08 MHZ // <0x53=> 04 MHZ #define CLOCK_IN_HIGH_CLKSWR_INIT 0x51 // CPU时钟(OSC时钟分频比) <1-255> // CPU时钟为OSC时钟分频 #define CLOCK_IN_HIGH_CLKDIV_INIT 1 // // 内部低频RC使能 // 配置系统时钟源为内部低频 RC 44KHZ #define CLOCK_IN_LOW_ENABLE 0 // CPU时钟(OSC时钟分频比) <1-255> // CPU时钟为OSC时钟分频 #define CLOCK_IN_LOW_CLKDIV_INIT 0 // // 外部高频晶振使能 // 配置系统时钟源为外部高频 #define CLOCK_OUT_HIGH_ENABLE 0 // 外部高频晶振选择信号 // 外部高频晶振频率 // <0=> 4M/8M 晶振 // <1=> 4M/8M 晶振大驱动能力 // <3=> 选择 16M/20M 晶振 #define CLOCK_OUT_HIGH_HXTAL_MODE_SEL_INIT 0 // warmup 计数值 // 外部高频晶振 warmup 计数值选择,计数时钟源为所选外部高频晶振 // <0=> 2048 // <1=> 256 // <2=> 16384 // <3=> 65536 #define CLOCK_OUT_HIGH_HXTAL_CFG_INIT 0 // // 外部低频晶振使能 // 配置系统时钟源为外部低频 #define CLOCK_OUT_LOW_ENABLE 0 // warmup 计数值 // 外部低频晶振 warmup 计数值选择,计数时钟源为所选外部低频晶振 // <0=> 16384 // <1=> 4096 // <2=> 1024 // <3=> 65536 #define CLOCK_OUT_HIGH_LXTAL_CFG_INIT 0 // // 声明CPU时钟频率 // 在进行 FLASH 的 IAP 擦写或者系统进入掉电模式之前,指明目前 CPU 时钟的频率 #define CLOCK_FREQ_CLK_ENABLE 0 // 频率 // <16=> 16MHz // <8=> 08MHz // <4=> 04MHz // <2=> 02MHz // <1=> 小于等于 1MHz #define CLOCK_FREQ_CLK_INIT 16 // // 时钟输出 // 使能/失能时钟输出 #define CLOCK_OUTPUT_ENABLE 0 // 输出时钟选择 // <0=> CPU时钟 // <1=> OSC时钟 // <2=> WDT时钟 // <3=> 外部晶振时钟 // <4=> 内部高频 RC32M 输出 // <5=> 内部高频 RC32M 2分频输出 // <6=> 内部高频 RC32M 4分频输出 // <7=> 内部高频 RC32M 8分频输出 #define CLOCK_CLK_OUT_SEL_INIT 0 // 时钟输出引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define CLOCK_CLOCKMAP_INIT 0 // // /* ********************************************************************************************************* * 系统总中断配置 ********************************************************************************************************* */ // 系统总中断配置 #define SYSTEM_EA_INIT_ENABLE 1 // 总中断开关 // <0=> 关闭 // <1=> 打开 #define SYSTEM_EA_INIT 1 // /* ********************************************************************************************************* * GPIO相关配置 ********************************************************************************************************* */ // GPIO配置 // 芯片端口初始化 #define GPIO_INIT_ENABLE 1 // P0 端口模式配置 // P00 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P01 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P0M0 163 // P02 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P03 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P0M1 56 // P04 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P05 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P0M2 131 // P06 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P07 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P0M3 51 // // P1 端口模式配置 // P10 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P11 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P1M0 63 // // P2 端口模式配置 // P20 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P21 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P2M0 130 // P22 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P23 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P2M1 136 // P24 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P25 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P2M2 51 // P26 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 // P27 // <3=> Not Used // <0=> 输入(非施密特) // <1=> 带下拉输入(非施密特) // <2=> 带上拉输入(非施密特) // <3=> 模拟输入 // <4=> 输入(施密特) // <5=> 带下拉输入(施密特) // <6=> 带上拉输入(施密特) // <8=> 推挽输出 // <9=> 开漏输出 // <10=> 开漏带上拉输出 #define GPIO_MODE_P2M3 168 // // P02 端口上拉电阻 // 配置 P02 端口上拉电阻 #define GPIO_INIT_PULLRES_ENABLE 0 // 阻值 // <0=> 50 KΩ // <16=> 100 KΩ // <32=> 150KΩ // <48=> 300 KΩ #define GPIO_PULLRESVALUE_P02 0 // // P00 端口消抖 // 配置 P00 端口消抖 #define GPIO_INIT_DBC_P00_ENABLE 0 // 端口消抖时钟 // <0=> Fosc /1 // <1=> Fosc /4 // <2=> Fosc /16 // <3=> Fosc /64 // 消抖时钟个数 <0-63> #define GPIO_DBC_INIT_P00 0 // // P01 端口消抖 // 配置 P01 端口消抖 #define GPIO_INIT_DBC_P01_ENABLE 0 // 端口消抖时钟 // <0=> Fosc /1 // <1=> Fosc /4 // <2=> Fosc /16 // <3=> Fosc /64 // 消抖时钟个数 <0-63> #define GPIO_DBC_INIT_P01 0 // // P02 端口消抖 // 配置 P02 端口消抖 #define GPIO_INIT_DBC_P02_ENABLE 0 // 端口消抖时钟 // <0=> Fosc /1 // <1=> Fosc /4 // <2=> Fosc /16 // <3=> Fosc /64 // 消抖时钟个数 <0-63> #define GPIO_DBC_INIT_P02 127 // // /* ********************************************************************************************************* * 复位相关配置 ********************************************************************************************************* */ // 复位配置 // 配置多种方式复位 #define RESET_INIT_ENABLE 0 // BOR 检测配置 #define RESET_BORVS_INIT_ENABLE 0 // BOR 检测电压 // <0=> 1.8 V // <1=> 2.0 V // <2=> 2.4 V // <3=> 2.6 V // <4=> 3.0 V // <5=> 3.6 V // <6=> 3.9 V // <7=> 4.2 V // BOR 状态 // <0=> 关闭 // <1=> 打开 // BOR 消抖 // <0=> 关闭 // <1=> 打开 #define RESET_BORVS_INIT 129 // 消抖时钟个数 <0-255> // 输入范围:0~255 // 消抖时间 = BORDBC[7:0] * 8T CPU +2 T CPU // 注意:需要使能 BOR_DBC_EN,否则 BOR 不消抖。 #define RESET_BORDBC_INIT 255 // // 外部 RST 去抖配置 #define RESET_RSTDBC_INIT_ENABLE 0 // 消抖时钟个数 <0-65535> // 输入范围:0~65535 // 消抖时间 = RSTDBC[7:0] * 8T CPU +2 T CPU #define RESET_RSTDBC_INIT 255 // // 堆栈溢出复位配置 #define RESET_SPOV_INIT_ENABLE 0 // 堆栈溢出复位 // <0=> 关闭 // <1=> 打开 #define RESET_SPOV_INIT 0 // // /* ********************************************************************************************************* * 低电压检测LVD相关配置 ********************************************************************************************************* */ // 低电压检测LVD配置 #define LVD_INIT_ENABLE 0 // LVD 使能 // LVD 检测 P0.2端口电压 // LVD 检测电压 // <0=> 1.9 V // <1=> 2.0 V // <2=> 2.4 V // <3=> 2.6 V // <4=> 3.0 V // <5=> 3.6 V // <6=> 3.9 V // <7=> 4.2 V #define LVD_LVDCC_INIT 0 // LVD 中断允许 #define LVD_LVDIE_INIT 0 // 中断优先级 // 外部中断0 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define LVD_IP1_INIT 0 // #define LVD_LVDC_INIT LVD_LVDIE_INIT+LVD_LVDIE_INIT // 外部 RST 去抖配置 #define LVD_LVDDBC_INIT_ENABLE 0 // 消抖时钟个数 <0-65535> // 输入范围:0~65535 // 消抖时间 = RSTDBC[7:0] * 8T CPU +2 T CPU #define LVD_LVDDBC_INIT 255 // // /* ********************************************************************************************************* * 看门狗相关配置 ********************************************************************************************************* */ // 看门狗配置 #define WDT_INIT_ENABLE 0 /**************************************** 使能WDT *************************************/ #if WDT_INIT_ENABLE /**************************************** 使能WDT中断 *************************************/ // 看门狗中断 #define WDT_INT_ENABLE 0 #if WDT_INT_ENABLE // 中断开关 // <0=> 关闭 // <1=> 打开 #define WDT_EWT_INIT 0 // 中断优先级 // 外部中断0 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define WDT_IP1_INIT 0 // /**************************************** 失能WDT中断 *************************************/ #else #define WDT_IP1_INIT 0 #define WDT_EWT_INIT 0 #endif // 看门狗复位 // <0=> 关闭 // <1=> 打开 // 看门狗低功耗模式下运行 // <0=> 关闭 // <1=> 打开 // 看门狗定时器时钟源分频 // <0=> 内部低频 RC(44K)8 分频 // <1=> 内部低频 RC(44K)16 分频 // <2=> 内部低频 RC(44K)32 分频 // <3=> 内部低频 RC(44K)64 分频 // <4=> 内部低频 RC(44K)128 分频 // <5=> 内部低频 RC(44K)256 分频 // <6=> 内部低频 RC(44K)512 分频 // <7=> 内部低频 RC(44K)1024 分频 #define WDT_WDTC_INIT 17 // 看门狗定时配置<0-255> // 注意: // 在使用 WDT 进行掉电模式唤醒时请注意,清狗动作和进入掉电指令之间间隔大于等于 3 个 // wdt_clk(约 70us); // 下面以 44KHz 为例进行计算,真实的内部低频 RC 频率可通过定时器 5 进行捕获测量得到。 // 溢出时间 =( WDT分频系数 * (WDTCCR[7:0]+1))/实际内部低频RC频率。 #define WDT_WDTCCR_INIT 255 // /**************************************** 失能WDT *************************************/ #else #define WDT_INT_ENABLE 0 #define WDT_IP1_INIT 0 #define WDT_WDTC_INIT 0x4F #define WDT_EWT_INIT 0 #define WDT_WDTCCR_INIT 0x00 #endif /* ********************************************************************************************************* * 外部中断相关配置 ********************************************************************************************************* */ // 外部中断配置 // 配置 外部中断 #define EXIT_INIT_ENABLE 0 #if EXIT_INIT_ENABLE /**************************************** 配置外部中断0 *****************************************/ // 外部中断0 // 配置 外部中断 0 #define EXIT0_INIT_ENABLE 0 /**************************************** 使能配置外部中断0 *************************************/ #if EXIT0_INIT_ENABLE // 管脚选择 // 外部中断0 管脚选择位 // <0=> P00 // <1=> P10 #define EXIT0_INT0_PINS_INIT 0 // 中断触发沿 // 外部中断0 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT0_IT0_INIT 0 // 中断优先级 // 外部中断0 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define EXIT0_IP0_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT0_EX0_INIT 0 /**************************************** 失能配置外部中断0 *************************************/ #else #define EXIT0_INT0_PINS_INIT 0 #define EXIT0_IT0_INIT 0 #define EXIT0_EX0_INIT 0 #define EXIT0_IP0_INIT 0 #endif // /**************************************** 配置外部中断1 *****************************************/ // 外部中断1 // 配置 外部中断 1 #define EXIT1_INIT_ENABLE 0 /**************************************** 使能配置外部中断1 *************************************/ #if EXIT1_INIT_ENABLE // 管脚选择 // 外部中断1 管脚选择位 // <0=> P01 // <1=> P11 #define EXIT1_INT1_PINS_INIT 2 // 中断触发沿 // 外部中断1 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT1_IT1_INIT 4 // 中断优先级 // 外部中断1 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define EXIT1_IP0_INIT 48 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT1_EX1_INIT 4 /**************************************** 失能配置外部中断1 *************************************/ #else #define EXIT1_INT1_PINS_INIT 0 #define EXIT1_IT1_INIT 0 #define EXIT1_EX1_INIT 0 #define EXIT1_IP0_INIT 0 #endif // /**************************************** 配置外部中断2-7 *****************************************/ // 外部中断2-7 // 配置 外部中断 2-7 #define EXIT2_7_INIT_ENABLE 0 /**************************************** 使能配置外部中断2-7 *************************************/ #if EXIT2_7_INIT_ENABLE /**************************************** 配置外部中断2 *****************************************/ // 外部中断2 // 配置 外部中断 2 #define EXIT2_INIT_ENABLE 1 /**************************************** 使能配置外部中断2 *************************************/ #if EXIT2_INIT_ENABLE // 中断触发沿 // 外部中断2 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT2_IT2_INIT 16 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT2_EINT2_INIT 4 /**************************************** 失能配置外部中断2 *************************************/ #else #define EXIT2_IT2_INIT 0 #define EXIT2_EINT2_INIT 0 #endif // /**************************************** 配置外部中断3 *****************************************/ // 外部中断3 // 配置 外部中断 3 #define EXIT3_INIT_ENABLE 0 /**************************************** 使能配置外部中断3 *************************************/ #if EXIT3_INIT_ENABLE // 中断触发沿 // 外部中断3 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT3_IT3_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT3_EINT3_INIT 0 /**************************************** 失能配置外部中断3 *************************************/ #else #define EXIT3_IT3_INIT 0 #define EXIT3_EINT3_INIT 0 #endif // /**************************************** 配置外部中断4 *****************************************/ // 外部中断4 // 配置 外部中断 4 #define EXIT4_INIT_ENABLE 0 /**************************************** 使能配置外部中断4 *************************************/ #if EXIT4_INIT_ENABLE // 中断触发沿 // 外部中断4 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT4_IT4_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT4_EINT4_INIT 0 /**************************************** 失能配置外部中断4 *************************************/ #else #define EXIT4_IT4_INIT 0 #define EXIT4_EINT4_INIT 0 #endif // /**************************************** 配置外部中断5 *****************************************/ // 外部中断5 // 配置 外部中断 5 #define EXIT5_INIT_ENABLE 0 /**************************************** 使能配置外部中断5 *************************************/ #if EXIT5_INIT_ENABLE // 中断触发沿 // 外部中断5 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT5_IT5_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT5_EINT5_INIT 0 /**************************************** 失能配置外部中断5 *************************************/ #else #define EXIT5_IT5_INIT 0 #define EXIT5_EINT5_INIT 0 #endif // /**************************************** 配置外部中断6 *****************************************/ // 外部中断6 // 配置 外部中断 6 #define EXIT6_INIT_ENABLE 0 /**************************************** 使能配置外部中断6 *************************************/ #if EXIT6_INIT_ENABLE // 中断触发沿 // 外部中断6 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT6_IT6_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT6_EINT6_INIT 0 /**************************************** 失能配置外部中断6 *************************************/ #else #define EXIT6_IT6_INIT 0 #define EXIT6_EINT6_INIT 0 #endif // /**************************************** 配置外部中断7 *****************************************/ // 外部中断7 // 配置 外部中断 7 #define EXIT7_INIT_ENABLE 0 /**************************************** 使能配置外部中断7 *************************************/ #if EXIT7_INIT_ENABLE // 中断触发沿 // 外部中断7 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT7_IT7_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT7_EINT7_INIT 0 /**************************************** 失能配置外部中断7 *************************************/ #else #define EXIT7_IT7_INIT 0 #define EXIT7_EINT7_INIT 0 #endif // /**************************************** 配置外部中断2-7优先级 *************************************/ // 中断优先级 // 外部中断1 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define EXIT2_7_IP3_INIT 0 /**************************************** 配置外部中断使能 *************************************/ // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT2_7_EX2_7_INIT 64 /**************************************** 失能配置外部中断2-7 *************************************/ #else #define EXIT2_INIT_ENABLE 0 #define EXIT3_INIT_ENABLE 0 #define EXIT4_INIT_ENABLE 0 #define EXIT5_INIT_ENABLE 0 #define EXIT6_INIT_ENABLE 0 #define EXIT7_INIT_ENABLE 0 #define EXIT2_IT2_INIT 0 #define EXIT2_EINT2_INIT 0 #define EXIT3_IT3_INIT 0 #define EXIT3_EINT3_INIT 0 #define EXIT4_IT4_INIT 0 #define EXIT4_EINT4_INIT 0 #define EXIT5_IT5_INIT 0 #define EXIT5_EINT5_INIT 0 #define EXIT6_IT6_INIT 0 #define EXIT6_EINT6_INIT 0 #define EXIT7_IT7_INIT 0 #define EXIT7_EINT7_INIT 0 #define EXIT2_7_EX2_7_INIT 0 #define EXIT2_7_IP3_INIT 0 #endif // /**************************************** 配置外部中断8-15 *****************************************/ // 外部中断8-15 // 配置 外部中断 8-15 #define EXIT8_15_INIT_ENABLE 0 /**************************************** 使能配置外部中断8-15 *************************************/ #if EXIT8_15_INIT_ENABLE /**************************************** 配置外部中断8 *****************************************/ // 外部中断8 // 配置 外部中断 8 #define EXIT8_INIT_ENABLE 0 /**************************************** 使能配置外部中断8 *************************************/ #if EXIT8_INIT_ENABLE // 中断触发沿 // 外部中断8 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT8_IT8_INIT 2 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT8_EINT8_INIT 0 /**************************************** 失能配置外部中断8 *************************************/ #else #define EXIT8_IT8_INIT 0 #define EXIT8_EINT8_INIT 0 #endif // /**************************************** 配置外部中断9 *****************************************/ // 外部中断9 // 配置 外部中断 9 #define EXIT9_INIT_ENABLE 0 /**************************************** 使能配置外部中断9 *************************************/ #if EXIT9_INIT_ENABLE // 中断触发沿 // 外部中断9 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT9_IT9_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT9_EINT9_INIT 0 /**************************************** 失能配置外部中断9 *************************************/ #else #define EXIT9_IT9_INIT 0 #define EXIT9_EINT9_INIT 0 #endif // /**************************************** 配置外部中断10 *****************************************/ // 外部中断10 // 配置 外部中断 10 #define EXIT10_INIT_ENABLE 0 /**************************************** 使能配置外部中断10 *************************************/ #if EXIT10_INIT_ENABLE // 中断触发沿 // 外部中断10 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT10_IT10_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT10_EINT10_INIT 0 /**************************************** 失能配置外部中断10 *************************************/ #else #define EXIT10_IT10_INIT 0 #define EXIT10_EINT10_INIT 0 #endif // /**************************************** 配置外部中断11 *****************************************/ // 外部中断11 // 配置 外部中断 11 #define EXIT11_INIT_ENABLE 0 /**************************************** 使能配置外部中断11 *************************************/ #if EXIT11_INIT_ENABLE // 中断触发沿 // 外部中断11 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT11_IT11_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT11_EINT11_INIT 0 /**************************************** 失能配置外部中断11 *************************************/ #else #define EXIT11_IT11_INIT 0 #define EXIT11_EINT11_INIT 0 #endif // /**************************************** 配置外部中断12 *****************************************/ // 外部中断12 // 配置 外部中断 12 #define EXIT12_INIT_ENABLE 0 /**************************************** 使能配置外部中断12 *************************************/ #if EXIT12_INIT_ENABLE // 中断触发沿 // 外部中断12 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT12_IT12_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT12_EINT12_INIT 0 /**************************************** 失能配置外部中断12 *************************************/ #else #define EXIT12_IT12_INIT 0 #define EXIT12_EINT12_INIT 0 #endif // /**************************************** 配置外部中断13 *****************************************/ // 外部中断13 // 配置 外部中断 13 #define EXIT13_INIT_ENABLE 0 /**************************************** 使能配置外部中断13 *************************************/ #if EXIT13_INIT_ENABLE // 中断触发沿 // 外部中断13 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT13_IT13_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT13_EINT13_INIT 0 /**************************************** 失能配置外部中断13 *************************************/ #else #define EXIT13_IT13_INIT 0 #define EXIT13_EINT13_INIT 0 #endif // /**************************************** 配置外部中断14 *****************************************/ // 外部中断14 // 配置 外部中断 14 #define EXIT14_INIT_ENABLE 0 /**************************************** 使能配置外部中断14 *************************************/ #if EXIT14_INIT_ENABLE // 中断触发沿 // 外部中断14 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT14_IT14_INIT 0 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT14_EINT14_INIT 0 /**************************************** 失能配置外部中断14 *************************************/ #else #define EXIT14_IT14_INIT 0 #define EXIT14_EINT14_INIT 0 #endif // /**************************************** 配置外部中断15 *****************************************/ // 外部中断15 // 配置 外部中断 15 #define EXIT15_INIT_ENABLE 0 /**************************************** 使能配置外部中断15 *************************************/ #if EXIT15_INIT_ENABLE // 中断触发沿 // 外部中断15 触发沿选择位 // <0=> 低电平中断 // <1=> 下降沿中断 // <2=> 上升沿中断 // <3=> 双沿中断 #define EXIT15_IT15_INIT 64 // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT15_EINT15_INIT 128 /**************************************** 失能配置外部中断15 *************************************/ #else #define EXIT15_IT15_INIT 0 #define EXIT15_EINT15_INIT 0 #endif // /**************************************** 配置外部中断8-15优先级 *************************************/ // 中断优先级 // 外部中断1 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define EXIT8_15_IP3_INIT 192 /**************************************** 配置外部中断使能 *************************************/ // 中断开关 // <0=> 关闭 // <1=> 打开 #define EXIT8_15_EX8_15_INIT 0 /**************************************** 失能配置外部中断8-15 *************************************/ #else #define EXIT8_INIT_ENABLE 0 #define EXIT9_INIT_ENABLE 0 #define EXIT10_INIT_ENABLE 0 #define EXIT11_INIT_ENABLE 0 #define EXIT12_INIT_ENABLE 0 #define EXIT13_INIT_ENABLE 0 #define EXIT14_INIT_ENABLE 0 #define EXIT15_INIT_ENABLE 0 #define EXIT8_IT8_INIT 0 #define EXIT8_EINT8_INIT 0 #define EXIT9_IT9_INIT 0 #define EXIT9_EINT9_INIT 0 #define EXIT10_IT10_INIT 0 #define EXIT10_EINT10_INIT 0 #define EXIT11_IT11_INIT 0 #define EXIT11_EINT11_INIT 0 #define EXIT12_IT12_INIT 0 #define EXIT12_EINT12_INIT 0 #define EXIT13_IT13_INIT 0 #define EXIT13_EINT13_INIT 0 #define EXIT14_IT14_INIT 0 #define EXIT14_EINT14_INIT 0 #define EXIT15_IT15_INIT 0 #define EXIT15_EINT15_INIT 0 #define EXIT8_15_IP3_INIT 0 #define EXIT8_15_EX8_15_INIT 0 #endif // #else #define EXIT0_INIT_ENABLE 0 #define EXIT0_INT0_PINS_INIT 0 #define EXIT0_IT0_INIT 0 #define EXIT0_EX0_INIT 0 #define EXIT0_IP0_INIT 0 #define EXIT1_INIT_ENABLE 0 #define EXIT1_INT1_PINS_INIT 0 #define EXIT1_IT1_INIT 0 #define EXIT1_EX1_INIT 0 #define EXIT1_IP0_INIT 0 #define EXIT2_7_INIT_ENABLE 0 #define EXIT2_INIT_ENABLE 0 #define EXIT3_INIT_ENABLE 0 #define EXIT4_INIT_ENABLE 0 #define EXIT5_INIT_ENABLE 0 #define EXIT6_INIT_ENABLE 0 #define EXIT7_INIT_ENABLE 0 #define EXIT2_IT2_INIT 0 #define EXIT2_EINT2_INIT 0 #define EXIT3_IT3_INIT 0 #define EXIT3_EINT3_INIT 0 #define EXIT4_IT4_INIT 0 #define EXIT4_EINT4_INIT 0 #define EXIT5_IT5_INIT 0 #define EXIT5_EINT5_INIT 0 #define EXIT6_IT6_INIT 0 #define EXIT6_EINT6_INIT 0 #define EXIT7_IT7_INIT 0 #define EXIT7_EINT7_INIT 0 #define EXIT2_7_EX2_7_INIT 0 #define EXIT2_7_IP3_INIT 0 #define EXIT8_15_INIT_ENABLE 0 #define EXIT8_INIT_ENABLE 0 #define EXIT9_INIT_ENABLE 0 #define EXIT10_INIT_ENABLE 0 #define EXIT11_INIT_ENABLE 0 #define EXIT12_INIT_ENABLE 0 #define EXIT13_INIT_ENABLE 0 #define EXIT14_INIT_ENABLE 0 #define EXIT15_INIT_ENABLE 0 #define EXIT8_IT8_INIT 0 #define EXIT8_EINT8_INIT 0 #define EXIT9_IT9_INIT 0 #define EXIT9_EINT9_INIT 0 #define EXIT10_IT10_INIT 0 #define EXIT10_EINT10_INIT 0 #define EXIT11_IT11_INIT 0 #define EXIT11_EINT11_INIT 0 #define EXIT12_IT12_INIT 0 #define EXIT12_EINT12_INIT 0 #define EXIT13_IT13_INIT 0 #define EXIT13_EINT13_INIT 0 #define EXIT14_IT14_INIT 0 #define EXIT14_EINT14_INIT 0 #define EXIT15_IT15_INIT 0 #define EXIT15_EINT15_INIT 0 #define EXIT8_15_IP3_INIT 0 #define EXIT8_15_EX8_15_INIT 0 #endif // /*************************************** 定时器0 配置 ************************************************/ // 定时器0配置 // 配置 定时器0 #define TIMER0_INIT_ENABLE 0 /**************************************** 定时器0使能 *************************************/ #if TIMER0_INIT_ENABLE // 定时器0功能 // <0=> 内部定时 // <1=> 外部计数 #define TIMER0_CT0_INIT 0 // 定时器0 中断开关 // <0=> 关闭 // <1=> 打开 #define TIMER0_ET0_INIT 2 // 定时器0 中断优先级 // 定时器0 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define TIMER0_IP0_INIT 12 // 定时器0方式 // 注意:方式 3 时 T0 占用 T1 的 TR1、TF1 及中断源,由于 TR1 被 T0 占用,此时需要关闭 T1,可将 T1 设为工作方式 3。 // <0=> 方式0 16 位重装载定时器/计数器 // <1=> 方式1 16 位定时器/计数器 // <2=> 方式2 8 位自动重装初值定时器/计数器 // <3=> 方式3 T0 分成两个(TL0/TH0)独立的 8 位定时器/计数器;T1停止计数 #define TIMER0_M0_INIT 0 // 定时器0时钟源 // 定时器系统时钟源分频选择位 // <0=> 定时器0 时钟为 Fosc /12 // <1=> 定时器0 时钟为 Fosc #define TIMER0_T0X12_INIT 1 // 定时器0门控 // 定时器0运行控制 // <0=> 停止 定时器0 工作 // <1=> 启动 定时器0 工作 #define TIMER0_TR0_INIT 16 // 定时器0门控位 // <0=> 只需软件置 TR0 即可启动 Tx // <1=> 只有在 INT0 端口电平为高电平时 TR0 置 1,定时器0 才工作 #define TIMER0_GATE0_INIT 0 // // 定时器0比较输出 #define TIMER0_T0OUT_INIT 0 // 定时器0引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define TIMER0_T0MAP_INIT 0x00 // // 定时器0定时 // 高八位<0-255> #define TIMER0_TH0_INIT 0xFA // 低八位<0-255> #define TIMER0_TL0_INIT 0xCB // #else #define TIMER0_CT0_INIT 0 #define TIMER0_ET0_INIT 0 #define TIMER0_M0_INIT 0 #define TIMER0_IP0_INIT 0 #define TIMER0_T0X12_INIT 0 #define TIMER0_TR0_INIT 0 #define TIMER0_GATE0_INIT 0 #define TIMER0_T0OUT_INIT 0 #define TIMER0_T0MAP_INIT 0 #define TIMER0_TL0_INIT 0x00 #define TIMER0_TH0_INIT 0x00 #endif // /****************************************** 定时器1 配置 *********************************************/ // 定时器1配置 // 配置 定时器1 #define TIMER1_INIT_ENABLE 0 /******************************************* 定时器1使能 *********************************************/ #if TIMER1_INIT_ENABLE // 定时器1功能 // <0=> 内部定时 // <1=> 外部计数 #define TIMER1_CT1_INIT 0 // 定时器1 中断开关 // <0=> 关闭 // <1=> 打开 #define TIMER1_ET1_INIT 8 // 定时器1 中断优先级 // 定时器1 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define TIMER1_IP0_INIT 0 // 定时器1方式 // 注意:方式 3 时 T0 占用 T1 的 TR1、TF1 及中断源,由于 TR1 被 T0 占用,此时需要关闭 T1,可将 T1 设为工作方式 3。 // <0=> 方式0 16 位重装载定时器/计数器 // <1=> 方式1 16 位定时器/计数器 // <2=> 方式2 8 位自动重装初值定时器/计数器 #define TIMER1_M1_INIT 0 // 定时器1时钟源 // 定时器系统时钟源分频选择位 // <0=> 定时器1 时钟为 Fosc /12 // <1=> 定时器1 时钟为 Fosc #define TIMER1_T1X12_INIT 0 // 定时器1门控 // 定时器1运行控制 // <0=> 停止 定时器1 工作 // <1=> 启动 定时器1 工作 #define TIMER1_TR1_INIT 64 // 定时器1门控位 // <0=> 只需软件置 TR1 即可启动 Tx // <1=> 只有在 INT1 端口电平为高电平时 TR0 置 1,定时器1 才工作 #define TIMER1_GATE1_INIT 0 // // 定时器1比较输出 #define TIMER1_T1OUT_INIT 0 // 定时器1引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define TIMER1_T1MAP_INIT 0x00 // // 定时器1定时 // 高八位<0-255> #define TIMER1_TH1_INIT 0xFA // 低八位<0-255> #define TIMER1_TL1_INIT 0xCB // /******************************************* 定时器1 失能 ******************************************/ #else #define TIMER1_CT1_INIT 0 #define TIMER1_ET1_INIT 0 #define TIMER1_M1_INIT 0 #define TIMER1_IP0_INIT 0 #define TIMER1_T1X12_INIT 0 #define TIMER1_TR1_INIT 0 #define TIMER1_GATE1_INIT 0 #define TIMER1_T1OUT_INIT 0 #define TIMER1_T1MAP_INIT 0 #define TIMER1_TL1_INIT 0x00 #define TIMER1_TH1_INIT 0x00 #endif // /*************************************** 定时器3 配置 ************************************************/ // 定时器3配置 // 配置 定时器3 #define TIMER3_INIT_ENABLE 0 /*************************************** 定时器3使能 ***********************************************/ #if TIMER3_INIT_ENABLE // 定时器3 中断开关 // <0=> 关闭 // <1=> 打开 #define TIMER3_ET3_INIT 2 // 定时器3掉电运行 // <0=> 禁止 // <1=> 允许 #define TIMER3_T3PD_INIT 64 // 定时器3时钟源 // 定时器时钟源选择 // <0=> 系统时钟 Fosc // <1=> T3 端口输入外部时钟 // <2=> 外部低频晶振 32.768KHz // <3=> 保留(系统时钟 Fosc ) #define TIMER3_T3CLKS_INIT 0 // 定时器3时钟预分频 // 定时器 3 预分频比选择位 // <0=> 1分频 // <1=> 8分频 // <2=> 64分频 // <3=> 256分频 #define TIMER3_T3PS_INIT 0 // 定时器3运行控制 // <0=> 停止 定时器3 工作 // <1=> 启动 定时器3 工作 #define TIMER3_TR3_INIT 0 // 定时器3 中断优先级 // 定时器3 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define TIMER3_IP2_INIT 0 // 定时器3定时 // 高八位<0-255> #define TIMER3_TH3_INIT 255 // 低八位<0-255> #define TIMER3_TL3_INIT 255 // // 定时器3 引脚映射 #define TIMER3_T3MAP_ENABLE 0 // 引脚 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define TIMER3_T3MAP_INIT 0x10 // /*************************************** 定时器3 失能 ***********************************************/ #else #define TIMER3_ET3_INIT 0 #define TIMER3_IP2_INIT 0 #define TIMER3_T3PD_INIT 0 #define TIMER3_T3CLKS_INIT 0 #define TIMER3_T3PS_INIT 0 #define TIMER3_TR3_INIT 0 #define TIMER3_TH3_INIT 0 #define TIMER3_TL3_INIT 0 #define TIMER3_T3CLKSIN_INIT 0 #define TIMER3_T3MAP_INIT 0 #endif // /*************************************** 定时器4 配置 ************************************************/ // 定时器4配置 // 配置 定时器4 #define TIMER4_INIT_ENABLE 0 /*************************************** 定时器4 使能 ***********************************************/ #if TIMER4_INIT_ENABLE // 定时器4 中断开关 // <0=> 关闭 // <1=> 打开 #define TIMER4_ET4_INIT 4 // 定时器4方式 // <0=> 方式0 16 位重装载定时器 // <1=> 方式1 UART1 波特率发生器 // <2=> 方式2 T4 端口上升沿触发(只用系统时钟,T4CLKS 无效 // <3=> 方式3 T4 端口下降沿触发(只用系统时钟,T4CLKS 无效) #define TIMER4_T4M_INIT 12 // 定时器4比较功能 // <0=> 禁止 // <1=> 允许 #define TIMER4_TC4_INIT 64 // 定时器4时钟预分频 // 定时器 4 预分频比选择位 // <0=> 1分频 // <1=> 8分频 // <2=> 64分频 // <3=> 256分频 #define TIMER4_T4PS_INIT 48 // 定时器4时钟源 // 定时器时钟源选择 // <0=> 系统时钟 Fosc // <1=> T4 端口输入外部时钟 #define TIMER4_T4CLKS_INIT 0 // 定时器4运行控制 // <0=> 停止 定时器4 工作 // <1=> 启动 定时器4 工作 #define TIMER4_TR4_INIT 2 // 定时器4 中断优先级 // 定时器4 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define TIMER4_IP2_INIT 48 // 定时器4定时 // 高八位<0-255> #define TIMER4_TH4_INIT 11 // 低八位<0-255> #define TIMER4_TL4_INIT 220 // // T4 外部端口映射 #define TIMER4_T4CLKSIN_INIT 1 // 定时器4引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define TIMER4_T4MAP_INIT 0x11 // /*************************************** 定时器4 失能 ***********************************************/ #else #define TIMER4_ET4_INIT 0 #define TIMER4_IP2_INIT 0 #define TIMER4_T4PD_INIT 0 #define TIMER4_T4CLKS_INIT 0 #define TIMER4_T4PS_INIT 0 #define TIMER4_TR4_INIT 0 #define TIMER4_TH4_INIT 0 #define TIMER4_TL4_INIT 0 #define TIMER4_T4CLKSIN_INIT 0 #define TIMER4_T4MAP_INIT 0 #define TIMER4_T4M_INIT 0 #define TIMER4_TC4_INIT 0 #endif // /*************************************** 定时器5 配置 ************************************************/ // 定时器5配置 // 配置 定时器5 #define TIMER5_INIT_ENABLE 0 /*************************************** 定时器5 使能 ***********************************************/ #if TIMER5_INIT_ENABLE // 定时器5方式 // <0=> 方式0 16 位重装载定时器 // <1=> 方式1 UART2 波特率发生器 // <2=> 方式2 16 位上升沿捕获 // <3=> 方式3 16 位下降沿捕获 #define TIMER5_T5M_INIT 0 // T5 引脚上的外部事件输入用作重载/捕获触发器 // <0=> 禁止 // <1=> 允许 #define TIMER5_EXEN5_INIT 0 // 定时器5 中断开关 // <0=> 关闭 // <1=> 打开 #define TIMER5_ET5_INIT 0 // 定时器5 中断优先级 // 定时器5 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define TIMER5_IP3_INIT 0 // 定时器5时钟预分频 // 定时器 5 预分频比选择位 // <0=> 1分频 // <1=> 8分频 // <2=> 64分频 // <3=> 256分频 #define TIMER5_T5PS_INIT 0 // 定时器5运行控制 // <0=> 停止 定时器5 工作 // <1=> 启动 定时器5 工作 #define TIMER5_TR5_INIT 0 // 定时器5捕获类型 // 定时器 5 预分频比选择位 // <0=> T5 脚的变化沿 // <1=> 内部低频 RC,即看门狗的计数时钟 // <2=> UART1 的 RXD1 脚 // <3=> UART2 的 RXD2 脚 #define TIMER5_CAPM_INIT 0 // 定时器5定时 // 高八位<0-255> #define TIMER5_TH5_INIT 255 // 低八位<0-255> #define TIMER5_TL5_INIT 255 // // 定时器5引脚映射 #define TIMER5_T5MAP_ENABLE 0 // 引脚 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define TIMER5_T5MAP_INIT 0x00 // /*************************************** 定时器5 失能 ***********************************************/ #else #define TIMER5_T5M_INIT 0 #define TIMER5_EXEN5_INIT 0 #define TIMER5_ET5_INIT 0 #define TIMER5_IP3_INIT 0 #define TIMER5_T5PS_INIT 0 #define TIMER5_TR5_INIT 0 #define TIMER5_CAPM_INIT 0 #define TIMER5_TH5_INIT 0 #define TIMER5_TL5_INIT 0 #define TIMER5_T5MAP_INIT 0 #endif // /*************************************** PWM 模块配置 ************************************************/ // PWM 模块配置 // 配置 PWM #define PWM_INIT_ENABLE 0 /*************************************** PWM 模块使能 ************************************************/ #if PWM_INIT_ENABLE /*************************************** PWM0 模块配置 ************************************************/ // PWM0 模块配置 // 配置 PWM0 #define PWM0_INIT_ENABLE 1 /*************************************** PWM0 模块使能 ***********************************************/ #if PWM0_INIT_ENABLE // PWM0 模块故障检测 #define PWM0EN_EFLT0_INIT 16 /*************************************** PWM0 模块故障检测使能 ***********************************************/ #if PWM0EN_EFLT0_INIT // 故障检测引脚配置 // <0=> FLT0 为低电平时,PWM 输出关闭 // <1=> FLT0 为高电平时,PWM 输出关闭 #define PWM0C_FLT0C_INIT 16 // 故障输出预定状态选择 // <0=> PWM0&PWM01故障期间均为低电平 // <1=> PWM0故障期间低电平, PWM01故障期间高电平 // <2=> PWM0故障期间高电平, PWM01故障期间低电平 // <3=> PWM0&PWM01故障期间均为高电平 #define PWM0EN_FLT0_MODE_INIT 96 // /*************************************** PWM0 模块故障检测失能 ***********************************************/ #else #define PWM0C_FLT0C_INIT 0 #define PWM0EN_FLT0_MODE_INIT 0 #endif // PWM0 模块工作模式 // 注意:修改 PWM0 模块工作模式时建议先关闭 PWM0 模块。 // <0=> PWM0&PWM01 工作于互补输出模式 // <1=> PWM0&PWM01 工作于独立输出模式 #define PWM0EN_PWM0M_INIT 8 // PWM0 模块输出模式 // <0=> PWM0和PWM01均为高有效 // <1=> PWM0为高有效,PWM01为低有效 // <2=> PWM0为低有效,PWM01为高有效 // <3=> PWM0 和 PWM01 均为低有效 #define PWM0C_PWM0S_INIT 0 // PWM0 模块时钟源 // <0=> Fosc /1 // <1=> Fosc /8 // <2=> Fosc /32 // <3=> Fosc /128 #define PWM0C_CK0_INIT 1 // PWM0 模块周期配置 // 高八位<0-255> #define PWM0PH_INIT 3 // 低八位<0-255> #define PWM0PL_INIT 255 // /*************************************** PWM0 输出配置 ***********************************************/ // PWM0 输出配置 // 配置 PWM0 #define PWM0OUT_INIT_ENABLE 1 /*************************************** PWM0 输出配置使能 ***********************************************/ #if PWM0OUT_INIT_ENABLE // PWM0 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM0_PWM0MAP_INIT 0x22 // PWM0 占空比配置 // 高八位<0-255> #define PWM0DH_INIT 15 // 低八位<0-255> #define PWM0DL_INIT 155 // // PWM0 输出 // <0=> 禁止 PWM0 输出 // <1=> 允许 PWM0 输出 #define PWM0EN_PWM0_OEN_INIT 0 // /*************************************** PWM0 输出配置失能 ***********************************************/ #else #define PWM0_PWM0MAP_INIT 0x37 #define PWM0DH_INIT 0 #define PWM0DL_INIT 0 #define PWM0EN_PWM0_OEN_INIT 0 #endif // PWM01 输出配置 // 配置 PWM01 #define PWM01OUT_INIT_ENABLE 1 #if PWM01OUT_INIT_ENABLE /*************************************** PWM01 输出配置使能 ***********************************************/ // PWM01 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM0_PWM01MAP_INIT 0x23 // PWM01 占空比配置 // 高八位<0-255> #define PWM01DH_INIT 1 // 低八位<0-255> #define PWM01DL_INIT 55 // // PWM01 输出 // <0=> 禁止 PWM01 输出 // <1=> 允许 PWM01 输出 #define PWM0EN_PWM01_OEN_INIT 4 // /*************************************** PWM01 输出配置失能 ***********************************************/ #else #define PWM0_PWM01MAP_INIT 0x37 #define PWM01DH_INIT 0 #define PWM01DL_INIT 0 #define PWM0EN_PWM01_OEN_INIT 0 #endif /*************************************** PWM0 模块死区配置 ***********************************************/ // PWM0 模块死区配置 #define PWM0_DTHL_ENABLE 0 /*************************************** PWM0 模块死区配置使能 ***********************************************/ #if PWM0_DTHL_ENABLE // 高八位<0-255> #define PWM0DTH_INIT 0 // 低八位<0-255> #define PWM0DTL_INIT 0 // /*************************************** PWM0 模块死区配置失能 ***********************************************/ #else #define PWM0DTH_INIT 0 #define PWM0DTL_INIT 0 #endif // PWM0 模块使能 // <0=> 关闭 PWM0 模块 // <1=> 打开 PWM0 模块(重新计数) #define PWM0EN_PWM0_EN_INIT 1 // PWM0 中断开关 // <0=> 禁止 PWM0 中断 // <1=> 允许 PWM0 中断 #define PWM0C_PWM0IE_INIT 0 /*************************************** PWM0 失能 ***********************************************/ #else #define PWM0EN_EFLT0_INIT 0 #define PWM0C_FLT0C_INIT 0 #define PWM0EN_FLT0_MODE_INIT 0 #define PWM0EN_PWM0M_INIT 0 #define PWM0C_PWM0S_INIT 0 #define PWM0C_CK0_INIT 0 #define PWM0PH_INIT 255 #define PWM0PL_INIT 255 #define PWM0OUT_INIT_ENABLE 0 #define PWM0_PWM0MAP_INIT 0x37 #define PWM0DH_INIT 0 #define PWM0DL_INIT 0 #define PWM0EN_PWM0_OEN_INIT 0 #define PWM01OUT_INIT_ENABLE 0 #define PWM0_PWM01MAP_INIT 0x37 #define PWM01DH_INIT 0 #define PWM01DL_INIT 0 #define PWM0EN_PWM01_OEN_INIT 0 #define PWM0_DTHL_ENABLE 0 #define PWM0DTH_INIT 0 #define PWM0DTL_INIT 0 #define PWM0EN_PWM0_EN_INIT 0 #define PWM0C_PWM0IE_INIT 0 #endif // /*************************************** PWM1 模块配置 ************************************************/ // PWM1 模块配置 // 配置 PWM1 #define PWM1_INIT_ENABLE 0 /*************************************** PWM1 模块使能 ***********************************************/ #if PWM1_INIT_ENABLE // PWM1 模块故障检测 #define PWM1EN_EFLT0_INIT 16 /*************************************** PWM1 模块故障检测使能 ***********************************************/ #if PWM1EN_EFLT0_INIT // 故障检测引脚配置 // <0=> FLT0 为低电平时,PWM 输出关闭 // <1=> FLT0 为高电平时,PWM 输出关闭 #define PWM1C_FLT0C_INIT 16 // 故障输出预定状态选择 // <0=> PWM1&PWM11故障期间均为低电平 // <1=> PWM1故障期间低电平, PWM11故障期间高电平 // <2=> PWM1故障期间高电平, PWM11故障期间低电平 // <3=> PWM1&PWM11故障期间均为高电平 #define PWM1EN_FLT0_MODE_INIT 0 // /*************************************** PWM1 模块故障检 测失能 ***********************************************/ #else #define PWM1C_FLT0C_INIT 0 #define PWM1EN_FLT0_MODE_INIT 0 #endif // PWM1 模块工作模式 // 注意:修改 PWM1 模块工作模式时建议先关闭 PWM1 模块。 // <0=> PWM1&PWM11 工作于互补输出模式 // <1=> PWM1&PWM11 工作于独立输出模式 #define PWM1EN_PWM1M_INIT 8 // PWM1 模块输出模式 // <0=> PWM1和PWM11均为高有效 // <1=> PWM1为高有效,PWM11为低有效 // <2=> PWM1为低有效,PWM11为高有效 // <3=> PWM1 和 PWM11 均为低有效 #define PWM1C_PWM1S_INIT 0 // PWM1 模块时钟源 // <0=> Fosc /1 // <1=> Fosc /8 // <2=> Fosc /32 // <3=> Fosc /128 #define PWM1C_CK0_INIT 1 // PWM1 模块周期配置 // 高八位<0-255> #define PWM1PH_INIT 3 // 低八位<0-255> #define PWM1PL_INIT 255 // /*************************************** PWM1 输出配置 ***********************************************/ // PWM1 输出配置 // 配置 PWM1 #define PWM1OUT_INIT_ENABLE 1 /*************************************** PWM1 输出配置使能 ***********************************************/ #if PWM1OUT_INIT_ENABLE // PWM1 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM1_PWM1MAP_INIT 0x22 // PWM1 占空比配置 // 高八位<0-255> #define PWM1DH_INIT 128 // 低八位<0-255> #define PWM1DL_INIT 255 // // PWM1 输出 // <0=> 禁止 PWM1 输出 // <1=> 允许 PWM1 输出 #define PWM1EN_PWM1_OEN_INIT 2 // /*************************************** PWM1 输出配置失能 ***********************************************/ #else #define PWM1_PWM1MAP_INIT 0x37 #define PWM1DH_INIT 0 #define PWM1DL_INIT 0 #define PWM1EN_PWM1_OEN_INIT 0 #endif // PWM11 输出配置 // 配置 PWM11 #define PWM11OUT_INIT_ENABLE 1 #if PWM11OUT_INIT_ENABLE /*************************************** PWM11 输出配置使能 ***********************************************/ // PWM11 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM1_PWM11MAP_INIT 0x23 // PWM11 占空比配置 // 高八位<0-255> #define PWM11DH_INIT 1 // 低八位<0-255> #define PWM11DL_INIT 85 // // PWM11 输出 // <0=> 禁止 PWM11 输出 // <1=> 允许 PWM11 输出 #define PWM1EN_PWM11_OEN_INIT 4 // /*************************************** PWM11 输出配置失能 ***********************************************/ #else #define PWM1_PWM11MAP_INIT 0x37 #define PWM11DH_INIT 0 #define PWM11DL_INIT 0 #define PWM1EN_PWM11_OEN_INIT 0 #endif /*************************************** PWM1 模块死区配置 ***********************************************/ // PWM1 模块死区配置 #define PWM1_DTHL_ENABLE 0 /*************************************** PWM1 模块死区配置使能 ***********************************************/ #if PWM1_DTHL_ENABLE // 高八位<0-255> #define PWM1DTH_INIT 0 // 低八位<0-255> #define PWM1DTL_INIT 0 // /*************************************** PWM1 模块死区配置失能 ***********************************************/ #else #define PWM1DTH_INIT 0 #define PWM1DTL_INIT 0 #endif // PWM1 模块使能 // <0=> 关闭 PWM1 模块 // <1=> 打开 PWM1 模块(重新计数) #define PWM1EN_PWM1_EN_INIT 1 // PWM1 中断开关 // <0=> 禁止 PWM1 中断 // <1=> 允许 PWM1 中断 #define PWM1C_PWM1IE_INIT 0 /*************************************** PWM1 失能 ***********************************************/ #else #define PWM1EN_EFLT0_INIT 0 #define PWM1C_FLT0C_INIT 0 #define PWM1EN_FLT0_MODE_INIT 0 #define PWM1EN_PWM1M_INIT 0 #define PWM1C_PWM1S_INIT 0 #define PWM1C_CK0_INIT 0 #define PWM1PH_INIT 255 #define PWM1PL_INIT 255 #define PWM1OUT_INIT_ENABLE 0 #define PWM1_PWM1MAP_INIT 0x37 #define PWM1DH_INIT 0 #define PWM1DL_INIT 0 #define PWM1EN_PWM1_OEN_INIT 0 #define PWM11OUT_INIT_ENABLE 0 #define PWM1_PWM11MAP_INIT 0x37 #define PWM11DH_INIT 0 #define PWM11DL_INIT 0 #define PWM1EN_PWM11_OEN_INIT 0 #define PWM1_DTHL_ENABLE 0 #define PWM1DTH_INIT 0 #define PWM1DTL_INIT 0 #define PWM1EN_PWM1_EN_INIT 0 #define PWM1C_PWM1IE_INIT 0 #endif // /*************************************** PWM2 模块配置 ************************************************/ // PWM2 模块配置 // 配置 PWM2 #define PWM2_INIT_ENABLE 0 /*************************************** PWM2 模块使能 ***********************************************/ #if PWM2_INIT_ENABLE // PWM2 模块故障检测 #define PWM2EN_EFLT0_INIT 0 /*************************************** PWM2 模块故障检测使能 ***********************************************/ #if PWM2EN_EFLT0_INIT // 故障检测引脚配置 // <0=> FLT0 为低电平时,PWM 输出关闭 // <1=> FLT0 为高电平时,PWM 输出关闭 #define PWM2C_FLT0C_INIT 16 // 故障输出预定状态选择 // <0=> PWM2&PWM21故障期间均为低电平 // <1=> PWM2故障期间低电平, PWM21故障期间高电平 // <2=> PWM2故障期间高电平, PWM21故障期间低电平 // <3=> PWM2&PWM21故障期间均为高电平 #define PWM2EN_FLT0_MODE_INIT 0 // /*************************************** PWM2 模块故障检测失能 ***********************************************/ #else #define PWM2C_FLT0C_INIT 0 #define PWM2EN_FLT0_MODE_INIT 0 #endif // PWM2 模块工作模式 // 注意:修改 PWM2 模块工作模式时建议先关闭 PWM2 模块。 // <0=> PWM2&PWM21 工作于互补输出模式 // <1=> PWM2&PWM21 工作于独立输出模式 #define PWM2EN_PWM2M_INIT 8 // PWM2 模块输出模式 // <0=> PWM2和PWM21均为高有效 // <1=> PWM2为高有效,PWM21为低有效 // <2=> PWM2为低有效,PWM21为高有效 // <3=> PWM2 和 PWM21 均为低有效 #define PWM2C_PWM2S_INIT 0 // PWM2 模块时钟源 // <0=> Fosc /1 // <1=> Fosc /8 // <2=> Fosc /32 // <3=> Fosc /128 #define PWM2C_CK0_INIT 1 // PWM2 模块周期配置 // 高八位<0-255> #define PWM2PH_INIT 3 // 低八位<0-255> #define PWM2PL_INIT 255 // /*************************************** PWM2 输出配置 ***********************************************/ // PWM2 输出配置 // 配置 PWM2 #define PWM2OUT_INIT_ENABLE 1 /*************************************** PWM2 输出配置使能 ***********************************************/ #if PWM2OUT_INIT_ENABLE // PWM2 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM2_PWM2MAP_INIT 0x00 // PWM2 占空比配置 // 高八位<0-255> #define PWM2DH_INIT 1 // 低八位<0-255> #define PWM2DL_INIT 85 // // PWM2 输出 // <0=> 禁止 PWM2 输出 // <1=> 允许 PWM2 输出 #define PWM2EN_PWM2_OEN_INIT 2 // /*************************************** PWM2 输出配置失能 ***********************************************/ #else #define PWM2_PWM2MAP_INIT 0x37 #define PWM2DH_INIT 0 #define PWM2DL_INIT 0 #define PWM2EN_PWM2_OEN_INIT 0 #endif // PWM21 输出配置 // 配置 PWM21 #define PWM21OUT_INIT_ENABLE 1 #if PWM21OUT_INIT_ENABLE /*************************************** PWM21 输出配置使能 ***********************************************/ // PWM21 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM2_PWM21MAP_INIT 0x01 // PWM21 占空比配置 // 高八位<0-255> #define PWM21DH_INIT 1 // 低八位<0-255> #define PWM21DL_INIT 85 // // PWM21 输出 // <0=> 禁止 PWM21 输出 // <1=> 允许 PWM21 输出 #define PWM2EN_PWM21_OEN_INIT 4 // /*************************************** PWM21 输出配置失能 ***********************************************/ #else #define PWM2_PWM21MAP_INIT 0x37 #define PWM21DH_INIT 0 #define PWM21DL_INIT 0 #define PWM2EN_PWM21_OEN_INIT 0 #endif /*************************************** PWM2 模块死区配置 ***********************************************/ // PWM2 模块死区配置 #define PWM2_DTHL_ENABLE 0 /*************************************** PWM2 模块死区配置使能 ***********************************************/ #if PWM2_DTHL_ENABLE // 高八位<0-255> #define PWM2DTH_INIT 0 // 低八位<0-255> #define PWM2DTL_INIT 0 // /*************************************** PWM2 模块死区配置失能 ***********************************************/ #else #define PWM2DTH_INIT 0 #define PWM2DTL_INIT 0 #endif // PWM2 模块使能 // <0=> 关闭 PWM2 模块 // <1=> 打开 PWM2 模块(重新计数) #define PWM2EN_PWM2_EN_INIT 1 // PWM2 中断开关 // <0=> 禁止 PWM2 中断 // <1=> 允许 PWM2 中断 #define PWM2C_PWM2IE_INIT 0 /*************************************** PWM2 失能 ***********************************************/ #else #define PWM2EN_EFLT0_INIT 0 #define PWM2C_FLT0C_INIT 0 #define PWM2EN_FLT0_MODE_INIT 0 #define PWM2EN_PWM2M_INIT 0 #define PWM2C_PWM2S_INIT 0 #define PWM2C_CK0_INIT 0 #define PWM2PH_INIT 255 #define PWM2PL_INIT 255 #define PWM2OUT_INIT_ENABLE 0 #define PWM2_PWM2MAP_INIT 0x37 #define PWM2DH_INIT 0 #define PWM2DL_INIT 0 #define PWM2EN_PWM2_OEN_INIT 0 #define PWM21OUT_INIT_ENABLE 0 #define PWM2_PWM21MAP_INIT 0x37 #define PWM21DH_INIT 0 #define PWM21DL_INIT 0 #define PWM2EN_PWM21_OEN_INIT 0 #define PWM2_DTHL_ENABLE 0 #define PWM2DTH_INIT 0 #define PWM2DTL_INIT 0 #define PWM2EN_PWM2_EN_INIT 0 #define PWM2C_PWM2IE_INIT 0 // #endif /*************************************** PWM3 模块配置 ************************************************/ // PWM3 模块配置 // 配置 PWM3 #define PWM3_INIT_ENABLE 0 #if PWM3_INIT_ENABLE // PWM3 模块输出模式 // <0=> PWM3 有效期间为高电平 // <3=> PWM3 有效期间为低电平 #define PWM3C_PWM3S_INIT 0 // PWM3 模块时钟源 // <0=> Fosc /1 // <1=> Fosc /2 // <2=> Fosc /4 // <3=> Fosc /8 // <4=> Fosc /16 // <5=> Fosc /32 // <6=> Fosc /64 // <7=> Fosc /128 #define PWM3C_PTCK3_INIT 2 // PWM3 中断开关 // <0=> 禁止 PWM3 中断 // <1=> 允许 PWM3 中断 #define PWM3C_PWM3IE_INIT 0 // PWM3 输出 // <0=> 禁止输出 // <1=> 允许输出 #define PWM3C_PWM3OEN_INIT 16 // PWM3 引脚映射 // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define PWM3_PWM3MAP_INIT 0 // PWM3 模块使能 // <0=> 关闭 PWM3 模块 // <1=> 打开 PWM3 模块(重新计数) #define PWM3C_PWM3EN_INIT 128 // PWM3 模块周期<0-255> #define PWM3P_INIT 255 // PWM3 模块占空比<0-255> #define PWM3D_INIT 85 /*************************************** PWM3 失能 ***********************************************/ #else #define PWM3C_PWM3S_INIT 0 #define PWM3C_PTCK3_INIT 0 #define PWM3C_PWM3OEN_INIT 0 #define PWM3C_PWM3IE_INIT 0 #define PWM3C_PWM3EN_INIT 0 #define PWM3P_INIT 0 #define PWM3D_INIT 0 // #endif // PWM 中断优先级 // PWM 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define PWM_IP2_INIT 0 /*************************************** PWM 模块失能 ************************************************/ #else #define PWM0_INIT_ENABLE 0 #define PWM0EN_EFLT0_INIT 0 #define PWM0C_FLT0C_INIT 0 #define PWM0EN_FLT0_MODE_INIT 0 #define PWM0EN_PWM0M_INIT 0 #define PWM0C_PWM0S_INIT 0 #define PWM0C_CK0_INIT 0 #define PWM0PH_INIT 255 #define PWM0PL_INIT 255 #define PWM0OUT_INIT_ENABLE 0 #define PWM0_PWM0MAP_INIT 0x37 #define PWM0DH_INIT 0 #define PWM0DL_INIT 0 #define PWM0EN_PWM0_OEN_INIT 0 #define PWM01OUT_INIT_ENABLE 0 #define PWM0_PWM01MAP_INIT 0x37 #define PWM01DH_INIT 0 #define PWM01DL_INIT 0 #define PWM0EN_PWM01_OEN_INIT 0 #define PWM0_DTHL_ENABLE 0 #define PWM0DTH_INIT 0 #define PWM0DTL_INIT 0 #define PWM0EN_PWM0_EN_INIT 0 #define PWM0C_PWM0IE_INIT 0 #define PWM1_INIT_ENABLE 0 #define PWM1EN_EFLT0_INIT 0 #define PWM1C_FLT0C_INIT 0 #define PWM1EN_FLT0_MODE_INIT 0 #define PWM1EN_PWM1M_INIT 0 #define PWM1C_PWM1S_INIT 0 #define PWM1C_CK0_INIT 0 #define PWM1PH_INIT 255 #define PWM1PL_INIT 255 #define PWM1OUT_INIT_ENABLE 0 #define PWM1_PWM1MAP_INIT 0x37 #define PWM1DH_INIT 0 #define PWM1DL_INIT 0 #define PWM1EN_PWM1_OEN_INIT 0 #define PWM11OUT_INIT_ENABLE 0 #define PWM1_PWM11MAP_INIT 0x37 #define PWM11DH_INIT 0 #define PWM11DL_INIT 0 #define PWM1EN_PWM11_OEN_INIT 0 #define PWM1_DTHL_ENABLE 0 #define PWM1DTH_INIT 0 #define PWM1DTL_INIT 0 #define PWM1EN_PWM1_EN_INIT 0 #define PWM1C_PWM1IE_INIT 0 #define PWM2_INIT_ENABLE 0 #define PWM2EN_EFLT0_INIT 0 #define PWM2C_FLT0C_INIT 0 #define PWM2EN_FLT0_MODE_INIT 0 #define PWM2EN_PWM2M_INIT 0 #define PWM2C_PWM2S_INIT 0 #define PWM2C_CK0_INIT 0 #define PWM2PH_INIT 255 #define PWM2PL_INIT 255 #define PWM2OUT_INIT_ENABLE 0 #define PWM2_PWM2MAP_INIT 0x37 #define PWM2DH_INIT 0 #define PWM2DL_INIT 0 #define PWM2EN_PWM2_OEN_INIT 0 #define PWM21OUT_INIT_ENABLE 0 #define PWM2_PWM21MAP_INIT 0x37 #define PWM21DH_INIT 0 #define PWM21DL_INIT 0 #define PWM2EN_PWM21_OEN_INIT 0 #define PWM2_DTHL_ENABLE 0 #define PWM2DTH_INIT 0 #define PWM2DTL_INIT 0 #define PWM2EN_PWM2_EN_INIT 0 #define PWM2C_PWM2IE_INIT 0 #define PWM3_INIT_ENABLE 0 #define PWM3C_PWM3S_INIT 0 #define PWM3C_PTCK3_INIT 0 #define PWM3C_PWM3OEN_INIT 0 #define PWM3C_PWM3IE_INIT 0 #define PWM3C_PWM3EN_INIT 0 #define PWM3P_INIT 0 #define PWM3D_INIT 0 #define PWM_IP2_INIT 0 #endif // /*************************************** ADC 配置 ************************************************/ //ADC配置 // 配置 ADC #define ADC_INIT_ENABLE 0 #if ADC_INIT_ENABLE // ADC 模块电源使能 #define ADCC0_ADCEN_INIT 128 // ADC 中断配置 #define ADC_INT_ENABLE 0 #if ADC_INT_ENABLE // ADC 中断开关 // <0=> 关闭 // <1=> 打开 #define ADC_EADC_INIT 32 // ADC 中断优先级 // ADC 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define ADC_IP3_INIT 4 // #else #define ADC_EADC_INIT 0 #define ADC_IP3_INIT 0 #endif // ADC 启动转换 #define ADCC0_ADCST_INIT 64 // 内部 VREF 配置 #define ADCC0_VREFS_INIT 4 // 内部基准电压源选择 // 内部参考电压选择为2V 时, VDD 电压须高于 2.7V;内部参考电压选择 3/4V 时, VDD 须高于内部参考电压 0.5V 以上。 // 系统进入掉电模式前,建议将 ADC 参考电压选择非 VDD,可以进一步降低系统功耗。 // <0=> VDD信号 // <1=> 内部4V // <2=> 内部3V // <3=> 内部2V #define ADCC0_INREF_S_INIT 2 // Vref 输出 #define ADCC0_VREFO_INIT 0 // // ADC测量通道选择 // <0x4F=> 内部VDD/4信号 // <0xCF=> 内部GND信号 // <0=> 外部输入通道0 // <1=> 外部输入通道1 // <2=> 外部输入通道2 // <3=> 外部输入通道3 // <4=> 外部输入通道4 // <5=> 外部输入通道5 // <6=> 外部输入通道6 // <7=> 外部输入通道7 // <8=> 外部输入通道8 // <9=> 外部输入通道9 // <10=> 外部输入通道10 #define ADCC1_INIT 0 // ADC转换数据长度 // <0=> 12 位数据(高八位,低四位) // <1=> 12 位数据(高四位,低八位) // <2=> 10 位数据(高八位,低二位) // <3=> 10 位数据(高二位,低八位) #define ADCC2_ADCL_ALIGN_INIT 64 // ADC转换时钟 // 为了保证精度,ADC转换设置要在 // <0=> ADC时钟频率4MHZ // <1=> ADC时钟频率1MHZ/2MHZ // <3=> ADC时钟频率小于1MHZ #define ADCC2_ADCTS_INIT 0 // ADC 时钟 // <0=> Fosc /2 // <1=> Fosc /4 // <2=> Fosc /6 // <3=> Fosc /8 // <4=> Fosc /12 // <5=> Fosc /16 // <6=> Fosc /24 // <7=> Fosc /32 #define ADCC2_ADCS_INIT 0 // 允许ADC唤醒 #define ADCWC_AMWEN_INIT 0 // #else #define ADC_INT_ENABLE 0 #define ADC_EADC_INIT 0 #define ADC_IP3_INIT 0 #define ADCC0_ADCEN_INIT 0 #define ADCC0_ADCST_INIT 0 #define ADCC0_VREFS_INIT 0 #define ADCC0_INREF_S_INIT 0 #define ADCC0_VREFO_INIT 0 #define ADCC1_INIT 0 #define ADCC2_ADCL_ALIGN_INIT 0 #define ADCC2_ADCTS_INIT 0 #define ADCC2_ADCS_INIT 0 #define ADCWC_AMWEN_INIT 0 #endif /*************************************** UART1 配置 ************************************************/ //UART1 配置 // 配置 UART1 #define UART1_INIT_ENABLE 0 /*************************************** UART1 模块使能 ************************************************/ #if UART1_INIT_ENABLE // 串行接收使能控制位 #define UART1_REN_INIT 0x00 // UART1 中断配置 #define UART1_INT_ENABLE 0 /*************************************** UART1中断 使能 ************************************************/ #if UART1_INT_ENABLE // UART1 中断开关 // <0=> 关闭 // <1=> 打开 #define UART1_ES1_INIT 0 // UART1 中断优先级 // UART1 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define UART1_IP1_INIT 0 // #else #define UART1_ES1_INIT 0 #define UART1_IP1_INIT 0 #endif // TXD 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define UART1_TXDMAP_INIT 1 // RXD 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define UART1_RXDMAP_INIT 0 /*************************************** UART 方式0 配置 ************************************************/ // 方式0 #define UART1_MODEL0_ENABLE 0x00 /*************************************** 方式0 使能 ************************************************/ #if UART1_MODEL0_ENABLE // 串口模式0 的通信速度 // <0=> 串口模式0 时钟为 Fosc /12 // <1=> 串口模式0 时钟为 Fosc /2 #define UART1_MODEL0_UX6_INIT 0x00 /*************************************** 方式0 失能 ************************************************/ #else #define UART1_MODEL0_UX6_INIT 0x00 #endif // /*************************************** UART 方式1 配置 ************************************************/ // 方式1 #define UART1_MODEL1_ENABLE 0x00 /*************************************** 方式1 使能 ************************************************/ #if UART1_MODEL1_ENABLE // 检测停止位使能 // <0=> 不检测停止位,停止位无论是 0 还是 1 都会置位 RI // <1=> 允许停止位确认检验,只有有效的停止位“1”才能置位 RI #define UART1_MODEL1_SM2_INIT 0x00 /*************************************** 方式1 失能 ************************************************/ #else #define UART1_MODEL1_SM2_INIT 0x00 #endif // /*************************************** UART 方式2 配置 ************************************************/ // 方式2 #define UART1_MODEL2_ENABLE 0x00 /*************************************** 方式2 使能 ************************************************/ #if UART1_MODEL2_ENABLE // 波特率加倍 // <0=> 波特率为系统时钟 Fosc 的 1/64 // <1=> 波特率为系统时钟 Fosc 的 1/32 #define UART1_MODEL2_SMOD_INIT 0x00 // 多机通信使能 #define UART1_MODEL2_SM2_INIT 0x00 /*************************************** 方式2 多机通讯使能 ************************************************/ #if UART1_MODEL2_SM2_INIT // 从机地址<0-255> #define UART1_MODEL2_SADDR_INIT 0 // 从机掩码<0-255> #define UART1_MODEL2_SADEN_INIT 0 /*************************************** 方式2 多机通讯失能 ************************************************/ #else #define UART1_MODEL2_SADDR_INIT 0 #define UART1_MODEL2_SADEN_INIT 0 #endif // /*************************************** 方式2 失能 ************************************************/ #else #define UART1_MODEL2_SMOD_INIT 0x00 #define UART1_MODEL2_SM2_INIT 0x00 #define UART1_MODEL2_SADDR_INIT 0 #define UART1_MODEL2_SADEN_INIT 0 #endif // /*************************************** UART 方式3 配置 ************************************************/ // 方式3 #define UART1_MODEL3_ENABLE 0x00 /*************************************** 方式3 使能 ************************************************/ #if UART1_MODEL3_ENABLE // 多机通信使能 #define UART1_MODEL3_SM2_INIT 0x00 /*************************************** 方式3 多机通讯使能 ************************************************/ #if UART1_MODEL3_SM2_INIT // 从机地址<0-255> #define UART1_MODEL3_SADDR_INIT 0 // 从机掩码<0-255> #define UART1_MODEL3_SADEN_INIT 0 /*************************************** 方式3 多机通讯失能 ************************************************/ #else #define UART1_MODEL3_SADDR_INIT 0 #define UART1_MODEL3_SADEN_INIT 0 #endif // /*************************************** 方式3 失能 ************************************************/ #else #define UART1_MODEL3_SM2_INIT 0x00 #define UART1_MODEL3_SADDR_INIT 0 #define UART1_MODEL3_SADEN_INIT 0 #endif // /*************************************** UART1 模块失能 ************************************************/ #else #define UART1_MODEL0_ENABLE 0x00 #define UART1_MODEL1_ENABLE 0x00 #define UART1_MODEL2_ENABLE 0x00 #define UART1_MODEL3_ENABLE 0x00 #define UART1_INT_ENABLE 0 #define UART1_ES1_INIT 0 #define UART1_IP1_INIT 0 #define UART1_TXDMAP_INIT 0 #define UART1_RXDMAP_INIT 0 #define UART1_MODEL0_UX6_INIT 0x00 #define UART1_MODEL1_SM2_INIT 0x00 #define UART1_MODEL2_SMOD_INIT 0x00 #define UART1_MODEL2_SM2_INIT 0x00 #define UART1_MODEL2_SADDR_INIT 0 #define UART1_MODEL2_SADEN_INIT 0 #define UART1_MODEL3_SM2_INIT 0x00 #define UART1_MODEL3_SADDR_INIT 0 #define UART1_MODEL3_SADEN_INIT 0 #endif // /*************************************** UART2 配置 ************************************************/ //UART2 配置 // 配置 UART2 #define UART2_INIT_ENABLE 0 /*************************************** UART2 模块使能 ************************************************/ #if UART2_INIT_ENABLE // 串行接收使能控制位 #define UART2_REN_INIT 0x00 // UART2 中断配置 #define UART2_INT_ENABLE 0 /*************************************** UART2中断 使能 ************************************************/ #if UART2_INT_ENABLE // UART2 中断开关 // <0=> 关闭 // <1=> 打开 #define UART2_ES2_INIT 0 // UART2 中断优先级 // UART2 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define UART2_IP1_INIT 0 // #else #define UART2_ES2_INIT 0 #define UART2_IP1_INIT 0 #endif // TXD 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define UART2_TXD2MAP_INIT 1 // RXD 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define UART2_RXD2MAP_INIT 0 // 工作方式选择 // <0x00=> 8 位 UART,定时器 5 的溢出率/16 // <0x01=> 9 位 UART,定时器 5 的溢出率/16 // 第九位检测使能 // <0x00=> 不检测 // <0x01=> 检测 #define UART2_S2CON2_INIT 0 /*************************************** UART2 模块失能 ************************************************/ #else #define UART2_INT_ENABLE 0 #define UART2_ES2_INIT 0 #define UART2_IP1_INIT 0 #define UART2_TXD2MAP_INIT 0x37 #define UART2_RXD2MAP_INIT 0x37 #define UART2_S2CON2_INIT 0 #endif // /*************************************** SPI 配置 ************************************************/ //SPI 配置 // 配置 SPI #define SPI_INIT_ENABLE 0 /*************************************** SPI 模块使能 ************************************************/ #if SPI_INIT_ENABLE // SS 引脚使能位 // SPI 引脚使能位 // 传送方向选择 // <0x00=> MSB先发送 // <0x01=> LSB先发送 // 主/从机模式选择 // <0x00=> 从机模式 // <0x01=> 主机模式 // SPI 时钟极性选择 // <0x00=> SCK 空闲时为低电平 // <0x01=> SCK 空闲时为高电平 // SPI 时钟相位选择 // <0x00=> 数据在 SPI 时钟的第一个边沿采样 // <0x01=> 数据在 SPI 时钟的第二个边沿采样 // SPI 时钟速率选择 // <0x00=> Fosc /4 // <0x01=> Fosc /16 // <0x02=> Fosc /64 // <0x03=> Fosc /128 #define SPI_SPCTL_INIT 0x00 // MOSI 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define SPI_MOSIMAP_INIT 0 // MISO 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define SPI_MISOMAP_INIT 0 // SCK 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define SPI_SCKMAP_INIT 0x37 // SS 引脚映射 // <0x37=> Not Used // <0x00=> P00 // <0x01=> P01 // <0x02=> P02 // <0x03=> P03 // <0x04=> P04 // <0x05=> P05 // <0x06=> P06 // <0x07=> P07 // <0x10=> P10 // <0x11=> P11 // <0x20=> P20 // <0x21=> P21 // <0x22=> P22 // <0x23=> P23 // <0x24=> P24 // <0x25=> P25 // <0x26=> P26 // <0x27=> P27 #define SPI_SSMAP_INIT 0x37 // SPI 中断配置 #define SPI_INT_ENABLE 0 /*************************************** SPI中断 使能 ************************************************/ #if SPI_INT_ENABLE // SPI 中断开关 // <0=> 关闭 // <1=> 打开 #define SPI_ESPI_INIT 0 // SPI 中断优先级 // SPI 中断优先级 // <0=> 优先级 0(最低) // <1=> 优先级 1 // <2=> 优先级 2 // <3=> 优先级 3(最高) #define SPI_IP2_INIT 0 // #else #define SPI_ESPI_INIT 0 #define SPI_IP2_INIT 0 #endif // #else #define SPI_SPCTL_INIT 0x00 #define SPI_INT_ENABLE 0 #define SPI_ESPI_INIT 0 #define SPI_IP2_INIT 0 #endif //------------- <<< end of configuration section >>> --------------------------- #define EXIT_INT01_PINS_INIT (EXIT1_INT1_PINS_INIT + EXIT0_INT0_PINS_INIT) #define EXIT_PITS0_INIT (EXIT0_IT0_INIT + EXIT1_IT1_INIT + EXIT2_IT2_INIT + EXIT3_IT3_INIT) #define EXIT_PITS1_INIT (EXIT4_IT4_INIT + EXIT5_IT5_INIT + EXIT6_IT6_INIT + EXIT7_IT7_INIT) #define EXIT_PITS2_INIT (EXIT8_IT8_INIT + EXIT9_IT9_INIT + EXIT10_IT10_INIT + EXIT11_IT11_INIT) #define EXIT_PITS3_INIT (EXIT12_IT12_INIT + EXIT13_IT13_INIT + EXIT14_IT14_INIT + EXIT15_IT15_INIT) #define EXIT_PINTE0_INIT (EXIT2_EINT2_INIT + EXIT3_EINT3_INIT + EXIT4_EINT4_INIT + EXIT5_EINT5_INIT \ + EXIT6_EINT6_INIT + EXIT7_EINT7_INIT) #define EXIT_PINTE1_INIT (EXIT8_EINT8_INIT + EXIT9_EINT9_INIT + EXIT10_EINT10_INIT + EXIT11_EINT11_INIT \ + EXIT12_EINT12_INIT + EXIT13_EINT13_INIT + EXIT14_EINT14_INIT + EXIT15_EINT15_INIT) #define INT_IE_INIT (WDT_EWT_INIT + EXIT0_EX0_INIT + EXIT1_EX1_INIT + TIMER0_ET0_INIT + TIMER1_ET1_INIT + \ UART1_ES1_INIT + UART2_ES2_INIT) #define INT_IE1_INIT (EXIT2_7_EX2_7_INIT + EXIT8_15_EX8_15_INIT + TIMER3_ET3_INIT + TIMER4_ET4_INIT \ + TIMER5_ET5_INIT + ADC_EADC_INIT + UART1_ES1_INIT+ SPI_ESPI_INIT) #define INT_IP0_INIT (EXIT1_IP0_INIT + EXIT0_IP0_INIT + TIMER0_IP0_INIT + TIMER1_IP0_INIT) #define INT_IP1_INIT (WDT_IP1_INIT + UART1_IP1_INIT +UART2_IP1_INIT + LVD_IP1_INIT) #define INT_IP2_INIT (TIMER3_IP2_INIT + TIMER4_IP2_INIT + PWM_IP2_INIT + SPI_IP2_INIT) #define INT_IP3_INIT (EXIT8_15_IP3_INIT + EXIT2_7_IP3_INIT + TIMER5_IP3_INIT + ADC_IP3_INIT) #define TIMER01_TCON_INIT (TIMER0_TR0_INIT + TIMER1_TR1_INIT) #define TIMER01_TCON1_INIT (TIMER0_T0OUT_INIT + TIMER0_T0X12_INIT + TIMER1_T1OUT_INIT + TIMER1_T1X12_INIT) #define TIMER01_TMOD_INIT (TIMER0_GATE0_INIT + TIMER0_CT0_INIT + TIMER0_M0_INIT \ + TIMER1_GATE1_INIT + TIMER1_CT1_INIT + TIMER1_M1_INIT ) #define TIMER3_TCON_INIT (TIMER3_TR3_INIT + TIMER3_T3PD_INIT + TIMER3_T3PS_INIT + TIMER3_T3CLKS_INIT) #define TIMER4_TCON_INIT (TIMER4_TC4_INIT + TIMER4_T4PS_INIT + TIMER4_T4M_INIT + TIMER4_TR4_INIT + TIMER4_T4CLKS_INIT) #define TIMER5_TCON_INIT (TIMER5_T5PS_INIT + TIMER5_T5M_INIT + TIMER5_TR5_INIT + TIMER5_EXEN5_INIT) #define TIMER5_TCON1_INIT (TIMER5_CAPM_INIT) #define PWM0_PWM0EN_INIT (PWM0EN_FLT0_MODE_INIT + PWM0EN_EFLT0_INIT + PWM0EN_PWM0M_INIT + PWM0EN_PWM01_OEN_INIT \ + PWM0EN_PWM0_OEN_INIT+ PWM0EN_PWM0_EN_INIT ) #define PWM0_PWM0C_INIT (PWM0C_PWM0IE_INIT + PWM0C_FLT0C_INIT + PWM0C_PWM0S_INIT + PWM0C_CK0_INIT ) #define PWM1_PWM1EN_INIT (PWM1EN_FLT0_MODE_INIT + PWM1EN_EFLT0_INIT + PWM1EN_PWM1M_INIT + PWM1EN_PWM11_OEN_INIT \ + PWM1EN_PWM1_OEN_INIT+ PWM1EN_PWM1_EN_INIT ) #define PWM1_PWM1C_INIT (PWM1C_PWM1IE_INIT + PWM1C_FLT0C_INIT + PWM1C_PWM1S_INIT + PWM1C_CK0_INIT ) #define PWM2_PWM2EN_INIT (PWM2EN_FLT0_MODE_INIT + PWM2EN_EFLT0_INIT + PWM2EN_PWM2M_INIT + PWM2EN_PWM21_OEN_INIT \ + PWM2EN_PWM2_OEN_INIT+ PWM2EN_PWM2_EN_INIT ) #define PWM2_PWM2C_INIT (PWM2C_PWM2IE_INIT + PWM2C_FLT0C_INIT + PWM2C_PWM2S_INIT + PWM2C_CK0_INIT ) #define PWM3_PWM3C_INIT (PWM3C_PWM3IE_INIT + PWM3C_PWM3EN_INIT + PWM3C_PWM3OEN_INIT + PWM3C_PWM3S_INIT + PWM3C_PTCK3_INIT) #define ADC_ADCC0_INIT (ADCC0_ADCEN_INIT + ADCC0_ADCST_INIT + ADCC0_VREFO_INIT + ADCC0_VREFS_INIT + ADCC0_INREF_S_INIT) #define ADC_ADCC1_INIT (ADCC1_INIT) #define ADC_ADCC2_INIT (ADCC2_ADCL_ALIGN_INIT + ADCC2_ADCTS_INIT + ADCC2_ADCS_INIT) #define ADC_ADCWC_INIT (ADCWC_AMWEN_INIT) #define UART1_SCON_INIT (UART1_REN_INIT) #if UART1_MODEL0_ENABLE #define UART1_MODEL0_SCON2_INIT (UART1_MODEL0_UX6_INIT) #elif UART1_MODEL1_ENABLE #define UART1_MODEL1_SCON2_INIT (UART1_MODEL1_SM2_INIT + 0X02) #elif UART1_MODEL2_ENABLE #define UART1_MODEL2_SCON2_INIT (UART1_MODEL2_SMOD_INIT + UART1_MODEL2_SM2_INIT +0X04 ) #elif UART1_MODEL3_ENABLE #define UART1_MODEL3_SCON2_INIT (UART1_MODEL3_SM2_INIT + 0X06 ) #endif /* ********************************************************************************************************* * 函数声明 ********************************************************************************************************* */ void System_Init(void); #endif // HC89S_CONFIG_H_