欢迎来到天天文库
浏览记录
ID:36616044
大小:289.75 KB
页数:12页
时间:2019-05-09
《《DSP应用实例》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、方波发生器设计用TMS320VC5402实现方波发生器。假设时钟频率为4MHz,在XF端输出占空比为50%的方波,方波的周期由片上定时器确定,采用中断方法实现。定时器初始化●关闭定时器,TCR中的TSS=1;●加载PRD。设定定时中断周期,每中断一次,输出端电平取反一次;●启动定时器,初始化TDDR,TSS=0,TRB=1中断初始化●中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断;●中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断;●状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断
2、。周期为4ms的方波发生器,定时中断周期为2ms,每中断一次,输出端电平取一次反。初始化定时器0;根据定时长度计算公式:Tt=T*(TDDR+1)*(PRD+1);给定TDDR=9,PRD=79,CLKOUT主频f=4MHz,T=250ns;Tt=250*(9+1)*(79+1)=2,000,000(ns)=2(ms)#include#include#include#include#include#defineIMR*(volatileunsig
3、nedint*)0x00#defineIFR*(volatileunsignedint*)0x01#defineST1*(volatileunsignedint*)0x07#definePRD*(volatileunsignedint*)0x25#defineTCR*(volatileunsignedint*)0x26externintflag=0;当前XF输出电平标志,flag=1,则XF=1;否则,XF=0interruptvoidFB(void);主程序代码主程序代码voidmain(){TCR=TCR
4、0X0010;TS
5、S=1,停止定时器0TIM=79;PRD=79;TCR=0X0269;启动定时器0IFR=IFR
6、0X0008;IFR中TINT=1,清除未处理完的定时中断IMR=IMR
7、0X0008;中断屏蔽寄存器IMR中定时屏蔽位TINT=1,开放定时中断ST1=ST1&0XF7FF;开放全部可屏蔽中断while(1);等中断{}}中断服务程序代码interruptvoidFB()中断服务程序{if(flag==1)当前XF=1{ST1=ST1&0xdfff;输出XF=0flag=0;}else当前XF=0{ST1=ST1
8、0X2000;输
9、出XF=1flag=1;}}中断向量表文件vectors.asm.sect"vectors".ref_main在当前模块中使用但在其他段中定义的符号.ref_FBRESET:;resetvectorBD_main复位之后执行主程序NOPNOPnmi:RETE;enableinterruptsandreturnfromoneNOPNOPNOP;softwareinterruptssint17.space4*16sint18.space4*16sint19.space4*16sint20.space4*16sint21.space4
10、*16sint22.space4*16sint23.space4*16sint24.space4*16sint25.space4*16sint26.space4*16sint27.space4*16sint28.space4*16sint29.space4*16sint30.space4*16int0:RETE;Externaluserinterrupt#0NOPNOPNOPint1:RETE;Externaluserinterrupt#1NOPNOPNOP中断向量表文件vectors.asmint2:RETE;External
11、userinterrupt#2NOPNOPNOPtint:BD_FB;Timerinterrupt中断服务程序入口NOPNOPrint0:RETE;McBSP#0receiveinterrupt(default)NOPNOPNOPxint0:RETE;McBSP#0transmitinterrupt(default)NOPNOPNOPrint2:RETE;McBSP#2receiveinterrupt(default)NOPNOPNOP中断向量表文件vectors.asmxint2:RETE;McBSP#2transmitint
12、errupt(default)NOPNOPNOPint3:RETE;Externaluserinterrupt#3NOPNOPNOPhint:RETE;HPIinterruptNOPNOPNOPrint1:RETE;McBSP#1receiveinterrupt
此文档下载收益归作者所有