傻大方


首页 > 知识库 > >

优质内容|北邮dsp硬件实验[优质内容]( 三 )


按关键词阅读: 内容 优质 实验 硬件 DSP 北邮 优质内容


如果flag为0 , 则将其变为1 , 执行porta();
如果flag为1 , 则将其变为1 , 执行portb()源程序:initial.asm.mmregs.global _initial_initial:stm 300h,ar1 st #00h,*ar1stm 302h,ar1st #00h,*ar1stm200h,ar1st#5555h, 。

17、*ar1stm201h,ar1st#0aaaah,*ar1stm202h,ar1st#400h,*ar1 ssbx1,11 stm 0ffffh,ifrstm 00h,imr stm 410h,tcrstm 4e1fh,prdstm 420h,tcrstm 08h,imrrsbx 1,11 ret;
将300h赋值给ar1;
将00h赋值给内存地址为300h的空间里;
将302h赋值给ar1;
将00h赋值给内存地址为302h的空间里;
为内存200h的内容赋予5555h;
为内存201h的内容赋予aaaah;
为内存202h的内容赋予400h;
设置ST1.INTM=1,停止所有的中断;
清除所有中断的标志位 。

18、 , 中断标志寄存器(IFR)用来指明各个中断的目前状态 。
;
停止所有的中断 中断屏蔽寄存器(IMR)在需要的时候独立地屏蔽特定的中断;
停止定时器;
设置定时器 ,定时器周期计数器;
打开定时器 定时器控制寄存器;
允许定时器中断;
设置ST1.INTM=0,打开所有中断源程序:port.asm注释:.mmregs.global_porta.global_portb_porta:stm304h,ar1 st5555h,*ar1portw*ar1,01hret_portb:stm304h,ar1st0aaaah,*ar1portw*ar1,01hret;
将304h赋给辅助寄存器ar1;
将内存304h的 。

19、内容赋予5555h;
将内存304h的值写入01h端口;
将内存304h的内容赋予0aaaah;
将内存304h的值写入01端口源程序:vectors.asm注释:.sect .vectors.ref _c_int00 .ref _timer .align 0x80 RESET: BD_c_int00 STM #200,SP stack size of 200nmi: RETE NOPNOPNOP sint17 .space 4*16sint18 .space 4*16sint19 .space 4*16sint20 .space 4*16sint21 .space 4*16sint22 .spac 。

20、e 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: RETENOPNOPNOPint1: RETENOP NOPNOPint2: RETENOPNOPNOPtint: b _timerNOPNOPrint0: RETENOPNOPNOPxint0: RETENOPNOPNOPrint1: RETENOPNOPNOPxint1: RETEN 。

21、OPNOPNOPint3: RETENOPNOPNOP.end引用函数c_int00引用了c中的函数页边界排列reset vector , 复位中断响应延迟分支到C主程序默认入口地址 , c_int00是c程序的入口 , 这里即进入main函数中开辟堆栈空间栈的大小设置为200中断屏蔽置为0 , 响应中断 , 不可屏蔽中断产生时 , 使中断屏蔽取消 , 后返回 。
保留出中断向量的地址空间中断寄存器设置RETE返回并允许中断外部中断产生时 , 直接返回 。
定时器产生的时钟中断 , 返回到c中定义的timer程序 , b即是跳转同步串口0(McBSP0)接受的中断 , 直接返回同步串口0(McBSP0)发送的中断 , 直接返回同步串口1(McBSP 。

22、1)接受的中断 , 直接返回同步串口1(McBSP1)发送的中断 , 直接返回(五)INT2中断实验1、实验使用资源本实验是进行C54芯片的INT2中断练习 ,C54芯片中断INT2是低电平单脉冲触发;实验采用导线一端连接D_Exp数字量输入扩展接口I0 , 经PX4的IN3,到PX5的OUT0电平转换,再与另一端连接INT2插孔;拨动开关K0一次 , 就产生一个低电平单脉冲;运行示范程序 , 观察LP1LP7 LED灯的输出变化;可观察到每拨动开关K0一次LP1LP7灯亮灭变化一次;2、实验过程样例程序实验操作说明启动CCS 2.0 , 并加载“exp05.out” , 单击“Run”运行程序 , 反复拨动开关K0 , 观察L 。

23、P1LP7 LED灯亮灭变化 , 单击“Halt”暂停程序运行 , 反复拨动开关K0 , LP1LP7 LED灯亮灭不变化;关闭所有窗口 , 本实验完毕 。
源程序查看:用下拉菜单中Project/Open , 打开“Exp05.pjt” , 双击“Source” , 双击“int2.c”、“initial.asm”、“port.asm”以及“vectors.asm”可查看各源程序 。
源程序:int2.c注释:interrupt void int2c();
extern void initial();
extern voidporta();
extern void portb();
int flag=0;
main()initial( 。

24、);
while(1);
interrupt void int2c() asm(nop);
*(int *)0x300=*(int *)0x300+2if(flag=0)flag=1;
porta();
elseflag=0;
portb();
;
/*break here to show if interrupt happened*/这是一个记录外部中断的标志 , 通过记录0x300h中的值来记录源程序:initial.asm注释:.mmregs.global _initial.text _initial:stm 300h,ar3 st #00h,*ar3stm 302h,ar4st #00h,*ar4 。

25、ssbx1,11 stm 00h,imrstm 0ffffh,ifrstm 04h,imrrsbx 1,11ret .end;
将00h存入地址为300h的内存中;
将00h存入地址为302h的内存中;
设置ST1.INTM=1,停止所有的中断;
停止所有的中断 , 中断屏蔽寄存器(IMR)在需要的时候独立地屏蔽特定的中断;
清除所有中断的标志位 , 中断标志寄存器(IFR)用来指明各个中断的目前状态 。
;
开启int2的外部中断;


来源:(未知)

【学习资料】网址:/a/2021/0318/0021715276.html

标题:优质内容|北邮dsp硬件实验[优质内容]( 三 )


上一篇:2021|2021年送东阳马生序读后感600字范文

下一篇:切割刀调试|《切割刀调试》