(某些题答案,特别是程序并不唯一,只要合理即算正确。)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

………………………………密………………………………封………………………………线………………………………………控制 学院 生物医学工程 专业 级 学号 姓名 (某些题答案,特别是程序并不唯一,只要合理即算正确。

) 一、(共20分)填空题
1. (2分)( DAB 、DB 、EAB 、EB )。

2. (2分) ( 0 ), (1 )。

3. (2分)( 1800h ),( 2900h )。

4. (1分)( FF80h )。

5. (1分)( TINT (定时) )。

6. (3分) ( F F F 912 3304h )。

7. (4分) (AR4)= 0304 h ,(A)=00 18AC 0000 h ,ST0的C= 1 , OV A= 0 。

8. (4分) (60H)= 50H ;(84H )= 50H ;*AR3= 50H ; AR4= 50H 。

9. (1分) ( asm(“NOP ”) )。

二、(共50分)
1. (15分)
答:(1)(4分)变量“x”的存储器地址是0x3000,位于数据存储空间。

(2)(4分)将变量“x”的地址赋给辅助工作寄存器AR3,AR5=3000h 。

(3)(4分)执行了8次,每执行一次辅助工作寄存器AR3和AR4的内容增一。

(4)(3分) 将数组变量“x”的数据传送到数组变量“y”中。

2. (10分)
.mmregs
.bss x , 5 .bss y , 5 .bss z , 1 .def start
table : .word 1,3,5,7,9 .text
start : STM #x , AR1 (有以上程序加2分) RPT #4
MVPD table,*AR1+ ;从程序存储器传送到数据存储器数组X[5] STM # x , AR2
STM # y , AR3
RPT #4
MVDD *AR1,*AR3 ;从数据存储器数组X[5]传送到Y[5]
SSBX FRCT ;准备整数乘法 (有以上程序再加4分) STM # x , AR2
STM # y , AR3
STM # z , AR4
RPTZ #4
MAC *AR2+,*AR3+,A STL A ,*AR4
End1 B End1
.end (有以上程序再加4分) 3. (共25分)
答:(1)(7分)计算定时器0计数初值TDDR 和PRD :
定时为10ms ,主频为40MHz, T=1/40M Hz,=25ns ;
定时长度计算公式:T=CLKOUT* (TDDR+1) * (PRD+1)=10ms 本设置中采用TDDR=9,可计算出PRD=39999。

(不同的TDDR 取值,PRD 的值也会不同,中断计数次数也可能不同,只要正确即得分)
(2)(6分)初始化定时器0程序 ;
定时器0寄存器地址,K_TCR0设置定时器控制寄存器的内容 TIM0 .set 0024H PRD0 .set 0025H TCR0 .set 0026H
K_TCR0 .set #0E69H ;TDDR= PSC=9,TRB=1,装载TIM 及PSC,TSS=0,启动定时器 ;初始化定时器0 STM #0010h ,TCR0 ;TSS=1,关闭定时器0
STM #039999,TIM0
STM #039999,PRD0 STM K_TCR0,TCR0 ;启动定时器0
RET (3)(12分)定时器0的中断服务子程序
t0_flag .usect “vars”,1 ;当前XF 输出电平标志位,
;若t0_flag=1,则XF=1
;若t0_flag=0,则XF=0 t0_counter .set 3E8h ;计数长度1000 t0_counter .usect “vars”,1 ;计数长度变量
STM #t0_flag, AR1 ; AR1中是XF 状态t0_flag 的地址 ST #0, *AR1 ; 复位XF 状态为0
STM #t0_counter, AR2 ; AR2中是计数长度变量t0_counter 的地址 ST #3E8h, *AR2 ; 计数长度1000(03E8h ) (有以上程序加4分)
time0_rev : PSHM TRN PSHM T PSHM ST0 PSHM ST1
………………………………密………………………………封………………………………线………………………………………控制 学院 生物医学工程 专业 级 学号 姓名 ADDM # -1, *AR2
CMPM *AR2 , #0
BC Still_wait ,NTC ;NTC 表示TC 为0 (有以上程序再加4分) ST #1000, *AR2 ; 计数长度1000(03E8h ) BITF *AR1 , #1 BC xf_out, TC SSBX XF ST #1, *AR1 B still_wait xf_ out :
RSBX XF ST #0, t0_flag (有以上程序再加4分) Still_wait :
POPM ST1
POPM ST0 POPM T POPM TRN RETE
三、(15分) 答案: 电路连接图:
(8分)
取R 2=7.5k ,由下面公式可以计算出R 1=8.3k
2.5)7.5R1(1 1.1834)R2R1(1V V ref out =+=+⨯=
(7分)
四、(15分) 答:滤波主程序iir.asm 如下: .title "iir.asm"
.mmregs K_SIZE .set 200
.def _c_int00
WDATA .usect "COEF",8 ;反馈通道中间结果循环缓冲区 COEF .usect "COEF",8 ;a1,a2,b0,b1,b2系数 input .usect "COEF", 256 ;输入缓冲区 output .usect "COEF", 256 ;输出缓冲区 .data iir_table_start .word -1958*32768/10000 ;A2=0.1958 .word 3695*32768/10000 ;A1=-0.3695 .word 2066*32768/10000 ;B2=0.2066 .word 4132*32768/10000 ;B1=0.4134 .word 2066*32768/10000 ;B0=0.2066 (有以上系数即得5分)
.text
_c_int00: SSBX FRCT
STM #input, AR6 STM #output, AR7
STM #WDA TA+3, AR2 STM #COEF, AR1 MVMM AR1,AR3 RPT #4
MVPD #iir_table_start, *AR3+ MVMM AR1, AR3 STM #3, BK
STM #1, AR0 STM #K_SIZE-1,BRC RPTB MAINLOOP-1
LD *AR6+,4,A (以上初始话程序答案不唯一,酌情而定得5分) Feedback:
MAC *AR2+0%, *AR3+, A ;A=输入+w(n-2)*A2
MAC *AR2+0%, *AR3+, A ;;A=输入+w(n-2)*A2+w(n-1)*A1
STH A, *AR2 ;输出w(n)=输入+w(n-2)*A2+w(n-1)*A1/2+w(n-1)*A1/2 Forward: MPY *AR2+0%, *AR3+, A ; A=w(n)*B0
MAC *AR2+0%, *AR3+, A ; A=w(n)*B0+w(n-1)*B1 MAC *AR2, *AR3+, A ; A=w(n)*B0+w(n-1)*B1+w(n-2)*B2 STH A, *AR7+ ; 输出y(n)=w(n)*B0+w(n-1)*B1+w(n-2)*B2 MVMM AR1,AR3
MAINLOOP: B MAINLOOP ;
.end (有以上滤波程序即得5分)
4。

相关文档
最新文档