第8章 TMS320C54x片内外设及应用实例12.ppt
上传人:yy****24 上传时间:2024-09-10 格式:PPT 页数:98 大小:6MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第8章 TMS320C54x片内外设及应用实例12.ppt

第8章TMS320C54x片内外设及应用实例12.ppt

预览

免费试读已结束,剩余 88 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章TMS320C54x片内外设及应用实例8.1定时器图8-1定时器组成框图表8-1定时器的三个寄存器图8-2TCR位结构图表8-2定时器控制寄存器(TCR)的功能定时中断的周期定时器的用法定时器的用法8.2时钟发生器8.2.1硬件配置PLL8.2.2软件可编程PLL8.2.1硬件配置PLL表8-3时钟方式的配置8.2.2软件可编程PLL表8-4复位时的时钟方式(C5402)表8-5时钟方式寄存器CLKMD各位域功能表8-6比例系数与CLKMD的关系图8-3PLL锁定时间和CLKOUT频率的关系返回本节8.3定时器/计数器编程举例1.定时器0的初始化(3)设置定时周期寄存器PRD(地址0025H)。脉冲周期2s,定时中断周期1s2.定时器对C5402的主时钟CLKOUT进行分频3.中断初始化.mmregs.def_c_int00STACK.usect"STACK",100ht0_cout.usect"vars",1;计数器t0_flag.usect"vars",1;当前XF输出电平标志。;t0_flag=1,则XF=1;t0_flag=0,则XF=0TVAL.set1639;16391061=1ms中断程序中计数器初值;t0_cout=1000,定时时间:1ms1000=1sTIM0.set0024H;定时器0寄存器地址PRD0.set0025HTCR0.set0026H.dataTIMES.intTVAL;定时器时间常数.text**********************************;中断矢量表程序段_c_int00bstartnopnopNMIrete;非屏蔽中断nopnopnopSINT17.space4*16;各软件中断SINT18.space4*16SINT19.space4*16SINT20.space4*16SINT21.space4*16SINT22.space4*16SINT23.space4*16SINT24.space4*16SINT25.space4*16SINT26.space4*16SINT27.space4*16SINT28.space4*16SINT29.space4*16SINT30.space4*16INT0rsbxintm;外中断0中断retenopnopINT1rsbxintm;外中断1中断retenopnopINT2rsbxintm;外中断2中断retenopnopTINT:bdtimer;定时器中断向量nopnopnopRINT0:rete;串口0接收中断nopnopnopXINT0:rete;串口0发送中断nopnopnopSINT6.space4*16;软件中断SINT7.space4*16;软件中断INT3:rete;外中断3中断nopnopnopHPINT:rete;主机中断nopnopnopRINT1:rete;串口1接收中断nopnopnopXINT1:rete;串口1发送中断nopnopnop******************************************start:LD#0,DPSTM#STACK+100h,SPSTM#07FFFh,SWWSRSTM#1020h,PMSTST#1000,*(t0_cout);计数器设置为1000(1s)SSBXINTM;关全部中断LD#TIMES,AREADATIM0;初始化TIM,PRDREADAPRD0STM#669h,TCR0;初始化TCR0STM#8,IMR;初始化IMR,使能timer0中断RSBXINTM;开放全部中断WAIT:BWAIT**************************************;定时器0中断服务子程序timer:ADDM#-1,*(t0_cout);计数器减1CMPM*(t0_cout),#0;判断是否为0BCnext,NTC;不是0,退出循环ST#1000,*(t0_cout);为0,设置计数器,并将XF取反BITFt0_flag,#1BC