第4章_TMS320F2812系统控制与中断.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320F2812内部有三个32位CPU定时器(TIMER0/1/2)。其中保留CPU定时器1和CPU定 时器2用于DSP BIOS及实时操作系统(RTOS)。 主要特点: (1)定时器是一个减法计数器。 (2)由16位计数器和4位预分频计数器组成。16位计数器的触发脉冲由预分频计数器提供,预分频计数器由CPU工作时钟决定。 (3) 有复位功能。 (4) 可以选择调试断点时定时器的工作方式。 ——可编程定时器 定时器相关寄存器: 1、定时器计数寄存器(TIMERxTIM) 每隔(TDDRH:TDDR+1)个时钟周期,其减1; 2、定时器周期寄存器(TIMERxPRD) 当定时器计数寄存器清零后自动装入周期寄存器的值; 3、定时器的控制寄存器TCR 控制定时器的工作过程; 4、定时器预定标寄存器(TIMERxTRP) 设置定时器计数寄存器的预定标时钟; ——可编程定时器 5、定时器的操作过程 PSC由CPU提供时钟,每个CPU时钟信号将使PSC减1 。 TDDR的内容重新加载到PSC。 TIM由预定标器PSC提供时钟,每个来自预定标块的输出时钟使TIM减l。 PRD中的内容重新加载到TIM。 定时器的中断周期 ——可编程定时器 初始化定时器: (1) 将TCR中的TSS位置1,停止定时器。 (2) 加载PRD。 (3) 重新加载TCR以初始化TDDR。 (4) 重新启动定时器。TSS位为0,TRB位为l, 以重载定时器周期值,使能定时器。 使能定时器中断(假定INTM=1): (1) 将IFR中的TINT位置1,清除尚未处理完(挂起)的定时器中断。 (2) 将IMR中的TINT位置l,使能定时器中断。 (3) 可以将ST1中的INTM位清0,使能全局中断。 定时器程序设计,参见CPUTIMER源程序 4.9 通用输入输出口(GPIO) GPIO:通用输入输出; GPIO引脚是多功能复用的,即可作为数字I/O口,也可作为特殊功能接口(如SCI、SPI)。 GPIO分A、B、D、E、G五组,通过GPIO Mux寄存器进行控制。 如果GPIO配置为数字I/O:则可通过GPxSET、GPxCLEAR或GPxTOGGLE寄存器对其引脚进行操作。 GPIO的重要寄存器 GPxDAT:GPIO数据寄存器; GPxSET:GPIO 置位寄存器; GPxCLEAR:GPIO清楚寄存器; GPxTOGGLE:GPIO取反寄存器; GPxMux:GPIOx功能选择控制寄存器 每各I/O口都有一个对应的功能选择寄存器位,控制该口位特殊功能口或通用数字I/O口; 如: GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0; //设置GPIO A0口为数字I/O口 GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1; //设置GPIO A0口为特殊功能口(PWM1输出口) GPxDIR:GPIOx方向控制寄存器 每各I/O口都有一个对应的方向控制寄存器位,控制该口输入输出方向; 如: GpioMuxRegs.GPADIR.bit.GPIOA0=0; //设置GPIO A0口为数字输入口 GpioMuxRegs.GPADIR.bit.GPIOA0=1; //设置GPIO A0口为数字输出口 GPxQUAL:GPIOx输入限制寄存器 控制GPIO引脚输入信号的采样周期,目的是消除输入信号的噪声。 如: GpioMuxRegs.GPAQUAL.BIT.QUALPRD=5; //设置GPIO A组全部引脚输入信号采用周期为5 GPxDAT:GPIO数据寄存器 每各I/O口都有一个对应的数据寄存器位,控制该口状态; 如: GpioDataRegs.GPADAT.bit.GPIOA0=0;//设置GPIO A0口为低电平 GpioDataRegs.GPADAT.bit.GPIOA0=0;//设置GPIO A0口为高电平 GPxSET:GPIO置位寄存器 每各I/O口都有一个对应的置位寄存器位,控制该口状态; GpioDataRegs.GPASET.bit.GPIOA0=0;//没影响 GpioDataRegs.GPASET.bit.GPIOA0=1;//将A0引脚置位高电平 GPxCLEAR:GPIO清除寄存器 每各I/O口都有一个对应的清除寄存器位,将该口清楚位低电平; GpioDataRegs.GPACLEAR.bit.GPIOA0=0;//没影响 GpioDataRegs.GPACLEAR.bit.GPIOA0=1;//将A0引脚置位低电平 GPxTOGGLE:GPIO取反寄存器 每各I/O口都有一个对应的取反·寄存器位,将该口

文档评论(0)

zxiangd + 关注
实名认证
内容提供者

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档