定点DSP的准确计时
时间:09-18
来源:互联网
点击:
4 DSP程序实现
splk #0412h,64h
out 64h,0fff8h ;停止DSP定时器
in 65h,tim ;读tim寄存器的数值
in 67h,tcr ;计算tcr中psc的值
lacl 67h
and #03c0h ;与03c0h获得psc的值
sacl 67h ;左移10位
lacc 67h,10
sach 67h
lacl #9
sub 67h
sacl 67h ;存psc中剩下的值(即使用了的)
lacl #07cfh
sub 65h
sacl 68h ;存prd-tim的值
lt 68h
mpy #10 ;TDDR+1
pac
sacl 68h
lacl 68h
add 67h
sacl 68h
lt 68h ;*0.1
lar ar1;#temptddr ;temptddr=0.1
mar *,ar1
mpy *
pac
add #1,14
sach 68h,1
lacl 68h
sfr
sacl 68h ;存定时器最后一次的时间单位为μs
lt 69h
lar ar2;#temptddr1 ;temptddr1=定时器的周期
mar *,ar2
mpy *
pac
add 68h ;加定时器最后一次的时间
sacl 68h ;存定时器总的所耗时间(占时间的多数)
lt 69h
lar ar2,#temptddr2 ;temptddr2=0.5*32767
mar *,ar2
mpy * ;计算定时器中断服务程序执行时间
pac
add #1,14
sach 67h,1
lacl 68h
add 67h ;加定时器中断服务程序执行时间
sacl 68h ;存总的时间
splk #0412h,64h
out 64h,0fff8h ;停止DSP定时器
in 65h,tim ;读tim寄存器的数值
in 67h,tcr ;计算tcr中psc的值
lacl 67h
and #03c0h ;与03c0h获得psc的值
sacl 67h ;左移10位
lacc 67h,10
sach 67h
lacl #9
sub 67h
sacl 67h ;存psc中剩下的值(即使用了的)
lacl #07cfh
sub 65h
sacl 68h ;存prd-tim的值
lt 68h
mpy #10 ;TDDR+1
pac
sacl 68h
lacl 68h
add 67h
sacl 68h
lt 68h ;*0.1
lar ar1;#temptddr ;temptddr=0.1
mar *,ar1
mpy *
pac
add #1,14
sach 68h,1
lacl 68h
sfr
sacl 68h ;存定时器最后一次的时间单位为μs
lt 69h
lar ar2;#temptddr1 ;temptddr1=定时器的周期
mar *,ar2
mpy *
pac
add 68h ;加定时器最后一次的时间
sacl 68h ;存定时器总的所耗时间(占时间的多数)
lt 69h
lar ar2,#temptddr2 ;temptddr2=0.5*32767
mar *,ar2
mpy * ;计算定时器中断服务程序执行时间
pac
add #1,14
sach 67h,1
lacl 68h
add 67h ;加定时器中断服务程序执行时间
sacl 68h ;存总的时间
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- DSP与单片机通信的多种方案设计(03-08)