DSP原理与应用(张卫宁)课后习题答案(3)

2019-08-31 14:31

;定时器0寄存器地址

TIM0 .set 0024H PRD0 .set 0025H TCR0 .set 0026H

;K_TCR0:设置定时器控制寄存器的内容 K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set 1001b ;PSC=9H K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set 1001b ;TDDR=9

K_TCR0 .set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR 周期信号的周期检测

定时器计数器的使用对于周期信号的周期检测,可在信号的每个周期内发出一个脉冲,然后通过程序计算两个脉冲之间的时间来确定信号的周期。

当脉冲来临时触发外部中断INT0外部中断INT0用来记录脉冲定时器0用来记录时间。 为了增加计时长度,可在程序中设置一级计数器。定时器0的寄存器用来记录低位时间,程序中的计数器用来记录高位时间,在外部中断服务程序中读取时间。在定时器0中断服务程序中对计数器加1,实现低位时间的进位。;abc3.asm ;定时器0寄存器地址

TIM0 .set 0024H PRD0 .set 0025H TCR0 .set 0026H TSSSET .set 010H TSSCLR .set 0ffefH

;K_TCR0:设置定时器控制寄存器的内容

K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set 1111b ;PSC=15 K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set 1111b ;TDDR=15

K_TCR0 .set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR

t_counter .usect “vars”,1 t_ptr_counter .uset “vars”,1 tim_ptr_counter .usect “vars”,1

tcr_ptr_counter .usect “vars”,1 ;变量定义 t_array .usect “vars”,15 tim_array .usect “vars”,15 tcr_array .usect “vars”,15 .asg AR7,t_ptr .asg AR6,tim_ptr

.asg AR5,tcr_ptr _inittime:

;初始化定时器0,定时长度为T*393,216

;定时长度=T*(TDDR+1)*(PRD+1),本程序中TDDR=11,PRD=32767, ;主频为f,T=1/f

STM #32767,TIM0 STM #32767,PRD0 STM # K_TCR0,TCR0 ST #0,*(t_counter)

ST #t_array,*( t_ptr_counter)

ST #tim_array,*( tim_ptr_counter) ST #tcr_array,*( tcr_ptr_counter)

RET;外部中断INT0,在脉冲来时被激活并响应服务子程序,从脉冲响应 ;到响应存在延迟 int0isr:PSHM ST0 PSHM ST1 PSHM t_ptr PSHM tim_ptr PSHM tcr_ptr PSHM AL PSHM AH PSHM AG PSHM BL PSHM BH PSHM BG 中断服务程序:;外部中断INT0中断服务子程序:

INT0ISR: PSHM ST0 ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL

PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #01B,B

BC IR2,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳至对IR2的判断 ;扩展中断IR0的服务程序主体 IR2: STL *(hpi_var),B AND #010B,B

BC INT0END,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR1的服务程序主体

INT0ED: POPM BL POPM BH POPM BG POPM ST1 POPM ST0

;外部中断INT1中断服务子程序:

INT1ISR: PSHM ST0 ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL

PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #0100B,B

BC IR4,ANEQ ;首先判别是否是IR3, ;是,则执行服务程序, ;否,则跳至对IR4的判断 RETE

;扩展中断IR3服务程序主体 IR4: STL *(hpi_var),B AND #01000B,B

BC INT0END,ANEQ ;首先判别是否是IR4, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR4的服务程序主体 INT1ED: POPM BL POPM BH POPM BG POPM ST1 POPM ST0 RETE


DSP原理与应用(张卫宁)课后习题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南京市文具办公用品批发企业名录2018版594家 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: