level 2
.include "reg2812asm.h"
.include "PIEVECTOR.H"
; .include "codestart.asm"
.def _c_int00
STACK .usect".stack",400;定义堆栈
.text
;系统全局初始化
_c_int00
;ST0/ST1配置
SYSTEM_INIT:
C28OBJ ;OBJMODE位置1
CLRC C ;清除进位
CLRC OVM ;清除溢出位
SETCSXM ; 符号位扩展有效
SETC M0M1MAP ;C28X模式默认
SETCVMAP; CPU中断向量映射到存储器顶部
CLRCDBGM; 调试使能
SETCINTM; 全局中断屏蔽
;仿真读取使能位
;/////////////////////配置时钟、晶振、锁相环、看门狗等////////////////////////////
SET_SYSTEM:
EALLOW
MOVZ DP,#SCSR>>6
MOV @7022H,#0003H;允许用户改变看门狗控制寄存器(WDCR)的看门狗屏蔽位(WDDIS)
MOVZ DP,#WDKEY>>6
MOV @WDKEY,#0055H
MOV @WDKEY,#00AAH
MOVZ DP,#WDCR>>6;看门狗控制寄存器
MOV @7029H,#0068H;屏蔽看门狗模块
MOVZ DP,#PCLKCR>>6;
MOV @701CH,#0001H;使能EV-A外设内部的高速时钟(HSPCLK)
MOVZ DP,#PLLCR>>6
MOV @7021H,#000AH;PLL比例为x10/2
MOVZ DP,#HISPCP>>6
MOV @701AH,#0000H;高速时钟=SYSCLKOUT
MOVZ DP,#LOSPCP>>6
MOV @701BH,#0005H;低速时钟=SYSCLKOUT/10
EDIS
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;GPIO多路复用器配置
EALLOW
SET_GPIO: MOVZ DP,#GPAMUX>>6
MOV @70C0H,#0707H;配置GPBMUX的8-10位为捕捉端口,1、2、3位控制上桥臂并为
;PWM产生端口,3、4、5位控制下桥臂,作为普通I/O口
MOVZ DP,#GPADIR>>6
MOV @70C1H,#003FH;GPB的0-5设置为数字输出,其余为输入
MOVZ DP,#GPAQUAL>>6
MOV @70C2H,#00FFH;设定捕捉单元的采样周期为CLKOUT/510
MOVZ DP,#GPGUX>>6
MOV @70D8H,#0030H;GPGMU.4,GPGMU.5为通讯端口
MOVZ DP,#GPGDIR>>6
MOV @70D9H,#0010H;TX端口配置为数字输出,RX为数字输入
EDIS
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!I
2013年10月30日 15点10分