过滤噪声 matlab实验报告

上传人:第*** 文档编号:32828052 上传时间:2018-02-12 格式:DOCX 页数:24 大小:29.29KB
返回 下载 相关 举报
过滤噪声 matlab实验报告_第1页
第1页 / 共24页
过滤噪声 matlab实验报告_第2页
第2页 / 共24页
过滤噪声 matlab实验报告_第3页
第3页 / 共24页
过滤噪声 matlab实验报告_第4页
第4页 / 共24页
过滤噪声 matlab实验报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《过滤噪声 matlab实验报告》由会员分享,可在线阅读,更多相关《过滤噪声 matlab实验报告(24页珍藏版)》请在金锄头文库上搜索。

1、DSP 硬件实验报告姓名 刘晓松学号 08210929班内序号 04班级 2008211202专业 电子信息科学与技术一. 简介 DSP 芯片是比较复杂的高速微处理器。要开发基于 DSP 芯片的应用系统,从系统方案设计到具体的工程实现,是一个比较困难的工作,周期长,工作量大,成本高。为了深入学习 DSP 基础理论,掌握采用 DSP 进行系统设计的一般知识,提高开发 DSP 应用系统的能力,对 DSP 有一个深入全面的了解。我们采用理工达盛开发的 EL-DSP-II 实验教学系统。二 ,各部分实验程序代码的注释Exp1;File Name:exp01.asm;the program is com

2、piled at no autoinitialization mode.mmregs.global _main_main: stm #3000h,sp;为 sp 堆栈指针寄存器赋予初值ssbx xf ;重新置位为 xf,灯call delay ;调用延迟函数rsbx xf ;重置call delay ;调用延迟函数b _main nopnop ;delay .5 second 延迟函数delay: stm 270fh,ar3 指定 ar3 寄存器地址loop1: stm 0f9h,ar4 指定矮人寄存器地址loop2:banz loop2,*ar4- 条件转移,每次转移 ar4 地址减一ban

3、z loop1,*ar3- 条件转移,每次转移 ar3 地址减一retnopnop;stm 2 cycles;banz when TRUE 4 cycles; FALSE 2 cycles;0f9h=249d;270fh=9999d.endEXP2*File Name:exp02.asm;get some knowledge of the cmd file;the program is compiled at no autoinitialization mode.mmregs.global _main _main: ;store datastm 1000h,ar1 ;address of in

4、ternal memory 指定内部寄存器 ar1 的地址为 1000h; stm 5000h,ar1 ;address of exterior memory 指定外部寄存器 ar1 的地址为5000hrpt #07h ;循环执行下一条指令,循环次数 07hst 0aaaah,*ar1+ ;将 ar1 所指的内存赋予 0aaaah,然后 ar1 所指地址加 1;read data then re-store stm 7h,ar3 指定 ar3 地址 7h; stm 5000h,ar1 ;address of exterior memory 指定外部存储地址为 5000h; stm 5008h,

5、ar2 ;address of exterior memory 指定外部存储地址为 5008hstm 1000h,ar1 寻址找到要读取的数据地址 1000h1008hstm 1008h,ar2loop:ld *ar1+,t 循环读取 1000h1008hst t,*ar2+ 赋予 5000h5008hbanzloop,*ar3-here:b here.endEXP3;File Name :exp03.asm;learn how to operate the I/O ports;get some knowledge of the rts.lib file;in the I/O space 0x

6、0000=8 switches; 0x0001=8 LEDs.mmregs.global _main.text_main: stm 3100h,sp ; 将 3100h 赋予 spstm 1000h,ar1 ;define the addressportr 00h,*ar1 ;将 0x0000 的值赋予*ar1,即 8 个开关状态nop nopportw *ar1,01h ;将*ar1 的值赋予 0x0001 的值。即 8 个 led 的状态nopnop b _mainnopnop .endEXP4#include interrupt void timer();/*extern void ti

7、me();*/extern void initial();extern void porta();extern void portb();int flag=0;interrupt void timer() 定时器中断函数*(int *)0x300=*(int *)0x300+1; 定时不断加 1if(*(int *)0x300=0x3e8) ;当定时器数值达到 0x3e8,开始定时器中断*(int *)0x300=0; 为定时器重新赋予初值*(int *)0x302=*(int *)0x302+1; if(flag=0) ;如果 flag 为 0,则将其变为 1,执行 porta()flag=

8、1;porta();else ;如果 flag 为 1,则将其变为 1,执行 portb()flag=0;portb(); return; main() 主函数initial(); 初始化while(1); ; 无限循环INITIAL.ASM.mmregs.global _initial_initial:stm 300h,ar1 ;initial 300h data addressst #00h,*ar1 ;为内存 300h 的内容赋予 00hstm 302h,ar1 ;initial 302h data addressst #00h,*ar1 ;为内存 302h 的内容赋予 00hstm 2

9、00h,ar1st #5555h,*ar1 ;为内存 200h 的内容赋予 5555h(0101010101010101)stm 201h,ar1st #0aaaah,*ar1 为内存 201h 的内容赋予 0aaaah(1010101010101010)stm 202h,ar1st #400h,*ar1 为内存 202h 的内容赋予 400h(0000010000000000)ssbx 1,11 ;set ST1.INTM=1,stop all interrrupt 停止所有的中断stm 0ffffh,ifr;clear all interrupt indicate 清除所有中断的标志位 ,

10、中断标志寄存器(IFR)用来指明各个中断的目前状态。stm 00h,imr ;set imr=0,stop all interrrupt 停止所有的中断 中断屏蔽寄存器(IMR)在需要的时候独立地屏蔽特定的中断stm 410h,tcr;stop timer 停止定时器stm 4e1fh,prd;set prd=4e1fh 设置定时器, 定时器周期计数器stm 420h,tcr;start timer 打开定时器 定时器控制寄存器stm 08h,imr ;allow timer interrupt 允许定时器中断rsbx 1,11 ;set ST1.INTM=0,start all interr

11、rupt 打开所有中断retPORT.ASM.mmregs.global _porta.global _portb_porta:stm 304h,ar1 st 5555h,*ar1 ; 将内存 304h 的内容赋予 5555h(0101010101010101 )portw *ar1,01h ;将内存 304h 的值写入 01h 端口ret_portb:stm 304h,ar1st 0aaaah,*ar1;将内存 304h 的内容赋予 0aaaah(1010101010101010 )portw *ar1,01h;将内存 304h 的值写入 01 端口retVECTOR.ASM 中断向量函数.

12、sect .vectors.ref _c_int00 ; C entry point .ref _timer ;time interrupt point.align 0x80 ; must be aligned on page boundaryRESET: ; reset vectorBD _c_int00 ; branch to C entry pointSTM #200,SP ; stack size of 200nmi: RETE ; enable interrupts and return from oneNOPNOPNOP ;NMI; software interruptssint1

13、7 .space 4*16sint18 .space 4*16 中断向量表sint19 .space 4*16sint20 .space 4*16sint21 .space 4*16sint22 .space 4*16sint23 .space 4*16sint24 .space 4*16sint25 .space 4*16sint26 .space 4*16sint27 .space 4*16sint28 .space 4*16sint29 .space 4*16sint30 .space 4*16int0: RETENOPNOP NOPint1: RETENOP NOPNOPint2: R

14、ETENOPNOPNOPtint: b _timer 启动定时器中断NOPNOPrint0: RETENOPNOPNOPxint0: RETENOPNOPNOPrint1: RETENOPNOPNOPxint1: RETENOPNOPNOPint3: RETENOPNOPNOP.endEXP5interrupt void int2c(); extern void initial();extern void porta();extern void portb();int flag=0;main()initial(); 初始化while(1); 无限循环 interrupt void int2c() 外部中断函数 asm(nop); 不采取任何函数*(int *)0x300=*(int *)0x300+2; /*break here to show if interrupt happened*/这是一个记录外部中断的标志,通过记录 0x300h 中的值来记录if(flag=0)flag=1; 如果 flag 为 0,则将其变为 1,执行 porta()porta();elseflag=0; 如果 flag 为 1,则将其变为 1,执行 portb()portb();INITIAL.ASM.mmregs.global _initial.text _initial:stm 300h,ar

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号