📄 em78p458.h
字号:
;================================================================================================================
; EM78P458寄存器定义
;================================================================================================================
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;操作寄存器定义
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;以 “ register_功能缩写” 形式定义0x00-0x0f的操作寄存器
register_IAR equ 0x00 ;间接寻址指针
register_TCC equ 0x01 ;定时器/计数器控制寄存器
register_PC equ 0x02 ;程序指针和堆栈
register_SR equ 0x03 ;状态寄存器
register_RSR equ 0x04 ;RAM选择寄存器
register_PORT5 equ 0x05 ;PORT5端口I/O寄存器
register_PORT6 equ 0x06 ;PORT6端口I/O寄存器
register_AD_CON equ 0x09 ;AD控制寄存器
register_AD_DATA equ 0x0a ;ADC转换结果寄存器
register_TMR1L equ 0x0b ;8位通用寄存器
register_TMR1H equ 0x0c ;两位寄存器,bit0 与 bit1 可用
register_TMR2L equ 0x0d ;8位通用寄存器
register_TMR2H equ 0x0e ;两位寄存器,bit0 与 bit1 可用
register_INT_ISR equ 0x0f ;中断状态寄存器
;以 “register_Rx” 形式定义0x00-0x0f的操作寄存器
register_R0 equ 0x00
register_R1 equ 0x01
register_R2 equ 0x02
register_R3 equ 0x03
register_R4 equ 0x04
register_R5 equ 0x05
register_R6 equ 0x06
register_R7 equ 0x07
register_R8 equ 0x08
register_R9 equ 0x09
register_RA equ 0x0a
register_RB equ 0x0b
register_RC equ 0x0c
register_RD equ 0x0d
register_RE equ 0x0e
register_RF equ 0x0f
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;操作寄存器位定义
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;register_SR 状态寄存器的各位
bit_C equ 0 ;进位标志位
bit_DC equ 1 ;辅助进位标志
bit_Z equ 2 ;零标志位
bit_P equ 3 ;低功耗标志位
bit_T equ 4 ;溢出标志位
bit_PS0 equ 5 ;程序页面选择位0
bit_PS1 equ 6 ;程序页面选择位1
bit_CMPOUT equ 7 ;比较器结果标志位
;register_AD_CON AD控制寄存器
bit_ADIS0 equ 0 ;模拟信号输入选择0
bit_ADIS1 equ 1 ;模拟信号输入选择1
bit_ADIS2 equ 2 ;模拟信号输入选择2
bit_ADPD equ 3 ;AD低功耗模式位:1正常模式 0进入低功耗模式
bit_ADRUN equ 4 ;AD开始运行位:置1开始 转换结束硬件自动清0
bit_IOCS equ 5 ;输出寄存器段选择位:为0选择段0(IOC50-IOCF0),为1选择段1(IOC51-IOCF1)
;register_INT_ISR 中断状态寄存器
bit_TCIF equ 0 ;TCC溢出中断标志位
bit_ICIF equ 1 ;PORT6 输入变化中断标志位
bit_EXIF equ 2 ;外部中断标志位,/INT下降沿有效
bit_ADIF equ 3 ;AD转换结束标志位
bit_PWM1IF equ 4 ;PWM1中断标志位
bit_PWM2IF equ 5 ;PWM2中断标志位
bit_CMPIF equ 6 ;比较器中断标志位
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;特殊功能寄存器定义
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;以 “ sfr_功能缩写” 形式定义特殊功能寄存器
sfr_PORT5_CON equ 0x05 ;PORT5 I/O 控制寄存器
sfr_PORT6_CON equ 0x06 ;PORT6 I/O 控制寄存器
sfr_G_CON equ 0x09 ;增益控制寄存器
sfr_AD_CMP_CON equ 0x0a ;AD与比较器控制寄存器
sfr_PULLDOWN_CON equ 0x0b ;下拉输出控制寄存器
sfr_OPENDRAIN_CON equ 0x0c ;开漏输出控制寄存器
sfr_PULLHIGH_CON equ 0x0d ;上拉输出控制寄存器
sfr_WDT_CON equ 0x0e ;看门狗控制寄存器
sfr_INT_IER equ 0x0f ;中断使能控制寄存器
sfr_PWM_CON equ 0x05 ;PWM控制寄存器
sfr_DT1L equ 0x06 ;PWM1占空比低8位
sfr_DT1H equ 0x07 ;PWM1占空比高8位
sfr_PRD1 equ 0x08 ;PWM1周期
sfr_DT2L equ 0x09 ;PWM2占空比低8位
sfr_DT2H equ 0x0a ;PWM2占空比高8位
sfr_PRD2 equ 0x0b ;PWM2周期
sfr_DL1L equ 0x0c ;PWM1占空比锁存器低8位,read only
sfr_DL1H equ 0x0d ;PWM1占空比锁存器高2位,read only
sfr_DL2L equ 0x0e ;PWM2占空比锁存器低8位,read only
sfr_DL2H equ 0x0f ;PWM2占空比锁存器高2位,read only
;以 “ sfr_IOCx0/1” 形式定义特殊功能寄存器
sfr_IOC50 equ 0x05 ;PORT5 I/O 控制寄存器
sfr_IOC60 equ 0x06 ;PORT6 I/O 控制寄存器
sfr_IOC90 equ 0x09 ;增益控制寄存器
sfr_IOCA0 equ 0x0a ;AD与比较器控制寄存器
sfr_IOCB0 equ 0x0b ;下拉输出控制寄存器
sfr_IOCC0 equ 0x0c ;开漏输出控制寄存器
sfr_IOCD0 equ 0x0d ;上拉输出控制寄存器
sfr_IOCE0 equ 0x0e ;看门狗控制寄存器
sfr_IOCF0 equ 0x0f ;中断使能控制寄存器
sfr_IOC51 equ 0x05 ;PWM控制寄存器
sfr_IOC61 equ 0x06 ;PWM1占空比低8位
sfr_IOC71 equ 0x07 ;PWM1占空比高8位
sfr_IOC81 equ 0x08 ;PWM1周期
sfr_IOC91 equ 0x09 ;PWM2占空比低8位
sfr_IOCA1 equ 0x0a ;PWM2占空比高8位
sfr_IOCB1 equ 0x0b ;PWM2周期
sfr_IOCC1 equ 0x0c ;PWM1占空比锁存器低8位,read only
sfr_IOCD1 equ 0x0d ;PWM1占空比锁存器高2位,read only
sfr_IOCE1 equ 0x0e ;PWM2占空比锁存器低8位,read only
sfr_IOCF1 equ 0x0f ;PWM2占空比锁存器高2位,read only
;特殊功能寄存器A、CONT的地址不知道,所以未列出
; sfr_A equ A ;累加器
; sfr_CONT equ CONT ;控制寄存器
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;特殊功能寄存器位定义
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;sfr_CONT 控制寄存器
bit_PSR0 equ 0 ;TCC/WDT预分频选择位0
bit_PSR1 equ 1 ;TCC/WDT预分频选择位1
bit_PSR2 equ 2 ;TCC/WDT预分频选择位2
bit_PAB equ 3 ;预分频选择位0器分配位:0分配到TCC 1分配到WDT
bit_TE equ 4 ;TCC信号边沿选择位: 0上升沿TCC加1 1下降沿TCC加1
bit_TS equ 5 ;TCC信号源选择位: 0内部指令周期时钟 1外部输入时钟
bit_INT equ 6 ;中断允许标志位: 0已由DISI或硬件中断屏蔽中断 1已由ENI或RETI允许中断
bit_INTE equ 7 ;外部中断信号边沿选择位: 0上升沿 1下降沿
;sfr_G_CON 增益控制寄存器
bit_G10 equ 0 ;增益放大器OP1增益选择位0
bit_G11 equ 1 ;增益放大器OP1增益选择位1
bit_G12 equ 2 ;增益放大器OP1增益选择位2
bit_G40 equ 3 ;增益放大器OP2增益选择位0
bit_G41 equ 4 ;增益放大器OP2增益选择位1
bit_G42 equ 5 ;增益放大器OP2增益选择位2
bit_OPIE equ 6 ;增益放大器OP1控制位: 0 OP1关闭 1 OP1打开
bit_OP2E equ 7 ;增益放大器OP2控制位: 0 OP2关闭 1 OP2打开
;sfr_AD_CMP_CON AD与比较器控制寄存器
bit_CKR0 equ 0 ;AD时钟分频数选择0 00=1:4 01=1:16 10=1:64 11=1:128内部RC振荡频率
bit_CKR1 equ 1 ;AD时钟分频数选择1
bit_IMS0 equ 2 ;PORT6输入模式选择位0
bit_IMS1 equ 3 ;PORT6输入模式选择位1
bit_IMS2 equ 4 ;PORT6输入模式选择位2
bit_COE equ 5 ;比较器功能选择位 0用作运放 1用作比较器
bit_CE equ 6 ;比较器使能位 0关闭比较器 1打开比较器
bit_VREFS equ 7 ;AD参考电压选择位 0工作电压Vdd 1由P53脚输入参考电压
;sfr_WDT_CON 看门狗控制寄存器
bit_EIS equ 6 ;P50脚功能定义位 0 P50只能为输入 1 外部中断输入引脚/INT
bit_WDTE equ 7 ;WDT使能位 0禁止 1使能
;sfr_INT_IER 中断使能控制寄存器
bit_TCIE equ 0 ;TCC中断使能控制位 0禁止 1使能
bit_ICIE equ 1 ;TCC中断使能控制位 0禁止 1使能
bit_EXIE equ 2 ;外部中断中断使能控制位 0禁止 1使能
bit_ADIE equ 3 ;AD中断使能控制位 0禁止 1使能
bit_PWM1IE equ 4 ;PWM1中断使能控制位 0禁止 1使能
bit_PWM2IE equ 5 ;PWM2中断使能控制位 0禁止 1使能
bit_CMPIE equ 6 ;比较器中断使能控制位 0禁止 1使能
;sfr_PWM_CON PWM控制寄存器
bit_T1P0 equ 0 ;TMR1分频系数选择位0 00=1:2 01=1:8 10=1:32 11=1:64
bit_T1P1 equ 1 ;TMR1分频系数选择位1
bit_T2P0 equ 2 ;TMR2分频系数选择位0 00=1:2 01=1:8 10=1:32 11=1:64
bit_T2P1 equ 3 ;TMR2分频系数选择位1
bit_T1EN equ 4 ;TMR1使能 0关闭 1打开
bit_T2EN equ 5 ;TMR2使能 0关闭 1打开
bit_PWM1E equ 6 ;PWM1 使能 0 关闭 1打开
bit_PWM2E equ 7 ;PWM2 使能 0 关闭 1打开
;sfr_DT1H PWM1占空比高8位
bit_PWM18 equ 0 ;PWM1占空比第8位
bit_PWM19 equ 1 ;PWM1占空比第9位
bit_VOF10 equ 3 ;补偿电压位0
bit_VOF11 equ 4 ;补偿电压位1
bit_VOF12 equ 5 ;补偿电压位2
bit_SIGN1 equ 6 ;补偿电压极性选择位 0负 1正
bit_CALI1 equ 7 ;标准使能位 0禁止 1使能
;sfr_DT2H PWM2占空比高8位
bit_PWM28 equ 0 ;PWM2占空比第8位
bit_PWM29 equ 1 ;PWM2占空比第9位
bit_VOF20 equ 3 ;补偿电压位0
bit_VOF21 equ 4 ;补偿电压位1
bit_VOF22 equ 5 ;补偿电压位2
bit_SIGN2 equ 6 ;补偿电压极性选择位 0负 1正
bit_CALI2 equ 7 ;标准使能位 0禁止 1使能
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;用户寄存器定义
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
register_START equ 0x10 ;通用寄存器开始地址
register_END equ 0x3f ;通用寄存器结束地址
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -