⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.asm

📁 本人调试TMS320C54X产生方波信号的调试程序
💻 ASM
字号:
         .mmregs
         .include "init54x.inc"
         .def MAIN_START
         
;STACK    .usect "STACK",20h
         .data
TIM0   .set 0024h ;定时器0的TIM 寄存器地址
PRD0   .set 0025h ;定时器0的PRD 寄存器地址
TCR0   .set 0026h ;定时器0的TCR 寄存器地址
t0_flag .set 0060h ;定义输出判别标志
SWCR    .set 2BH
         .def timer0_rev  

         
MAIN_START:
          .text
;     STM #K_CLKMD,CLKMD 
     STM #0000h,SWWSR
     STM #0164h,PMST 
     STM #0410h,TCR0  ; TCR TSS=1 ,关断定时器0
     STM #09C3h,TIM0 ;TIM0赋初值
     STM  #09C3h,PRD0 ;PRD0赋初值
     ST   #0,t0_flag   
     STM  #07EFh,TCR0   ;ON TIM0 IN TCR TSS=0 TRB=1 TDDR=1111
     STM  #0008h,IFR    ;TINT0=1 ,清除未处理完的定时器中断
     STM  #0008h,IMR    ; TINT0=1 ,开放(允许)定时器中断
     RSBX INTM         ;开放全部中断
;    RSBX XF
;jj:
;     NOP
;     NOP
;     NOP
;     B    jj  
     
     

; 定时器0中断服务子程序.其功能是:每定时中断一次,改变一次XF的值,使XF高低电平各持续2ms,形成T=4ms.
timer0_rev:
     
     BITF t0_flag,#1   ; if t0_flag=1,then TC=1;else TC=0
     BC  xf_out,NTC    ;TC=0时,执行xf_out程序段
     SSBX XF           ;TC=1时,XF=1
     ST   #0,t0_flag   ;t0_flag=0,为下次XF变低电平作准备
     B  wait

xf_out:
     RSBX  XF          ;TC=0,XF=0
     ST   #1,t0_flag   ;t0_flag=1,为下次XF变高电平作准备

wait:
     RETE
         .end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -