资源描述:
《dsp定时器及硬件中断实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《DSP原理及应用》课程实验报告《DSP原理及应用》课程实验报告学生姓名:所在班级:指导教师:记分及评价:项目满分5分得分一、实验名称实验6:定时器及硬件中断实验二、任务及要求■了解C55xDSP定时器结构。 ■学习C5509定时器初始化。 ■了解C55xDSP中断。 ■学习中断处理。三、实验程序(原理图)1.定时器汇编源程序 .mmregs .def_c_int00 .refsdram_init ;引用外部变量,SDRAM初始化子程序入口 led .seth ;led数据地址 tim0 .set0x1000 ;定
2、时器寄存器TIM0prd0 .set0x1001 ;定时器周期寄存器PRD0tcr0 .set0x1002 ;定时器控制寄存器TCR0prsc0 .set0x1003 ;定时器预定标寄存器sysr .set0x07fdclkmd .set0x1c00 ;时钟模块寄存器地址pdp_timer0.settim0/128STACK.usect".stack",200hSYSSTACK.usect".sysstack",200h.dataled_i .word1,2,4,8,4,2 .sect4第页《DSP原理及应用》课程实验报告“.vectors”rs
3、v:;resetvector b_c_int00;branchtoCentrypoint NOP .align8nmi: .loop8 nop .endloopint0:.loop8nop.endloopint2:.loop8nop.endlooptint0:b_Timer0nop.align8.textc_int00:amov#0,xdpamov#STACK+200h,xspamov#SYSSTACK+200h,xssp;initinterupt(中断初始化)bsetintm;禁止全局中断mov#1,@ivpd;初始化DSP中断矢量指
4、针ivpd=1mov#1,@ivph;初始化DSP中断矢量指 针ivph=1mov #10h,@ier0 ;初始化中断屏蔽寄存器ier0, tint0=1mov #10h,@dbier0 ;调试中断使能寄存器dbier0=10hmov #0,@ier1 ;清中断使能寄存器ier0mov #0ffffh,@ifr0 ;清中断标志寄存器ifr0mov #0ffffh,@ifr1 ;清中断标志寄存器ifr1callsdram_init;调用初始化SDRAM子程序;定时器初始化 mov#pdp_timer0,pdp
5、 ;置外围I/O数据页指针mov#04f0h,port(tcr0) ;*tcr0=0x04f0mov#0h,port(tim0) ;*tim0=0mov#0ffffh,port(prd0) ;*prd0=0x0ffffmov#15h,port(prsc0) ;*prsc0=0x15=21mov#0e0h,port(tcr0);*tcr0=0x00e0bclrintm;全局中断使能4第页《DSP原理及应用》课程实验报告bsetAR3LC;置位AR3LC,A
6、R3循环寻址amov#led,xar2;xar2指向ledmov#6,bk03;循环寻址长度为6amov#led_i,xar3;初始化xar3mov#led_i,bsa23;初始化bsa23,循环寻址首地址 为led_imov #0,ar3 ;清ar3loop: NOP b loop;等待中断_Timer0: mov *ar3+,*ar2;定时器Timer0中断服务程序reti;中断返回.end2.命令文件 -stack200h -sysstack200h MEMORY { PAGE0: MMR:origin=h,length
7、=00000c0h SPRAM:origin=00000c0h,length=h VECS:origin=h,length=h DARAM0:origin=h,length=0001E00h DARAM1:origin=h,length=h DARAM2:origin=h,length=h DARAM3:origin=h,length=h} SECTIONS{.vectors:>VECSPAGE0.bss:>DARAM0PAGE0.stack:>DARAM1PAGE0.sysstack:>DARAM1PAGE0.text:>DARAM2PAGE0.