欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第7章TMS320LF2407事件管理器模块24180.pdf

    • 资源ID:84921841       资源大小:222.41KB        全文页数:8页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章TMS320LF2407事件管理器模块24180.pdf

    第 7 章 事件管理器模块(EV)例给出了通用定时器 1 在连续增计数模式下的初始化例程。例连续增计数模式的初始化例程 LDP#DP_EVA ;指向7400h7480h 单元 SPLK#41H,GPTCONA ;TCOMPOE=1 允许定时器比较输出 SPLK#5H,T1PR ;设置周期寄存器 SPLK#3H,T1CMPR ;设置比较寄存器 SPLK#0H,T1CNT ;设置计数寄存器 SPLK#0174EH,T1CON ;TMODE=10 连续增计数模式,TPS=111 预分频为 128 ;TENABLE=1 定时器计数使能,TCLKS=00 内部时钟 ;TECMPR=1 定时器 1 比较使能,SELT1PR=0 3 定向增/减计数模式 例定向增/减计数模式的初始化例程 LDP#DP_EVA ;指向7400h7480h 单元 SPLK#41H,GPTCONA ;TCOMPOE=1 允许定时器比较输出 SPLK#5H,T1PR ;设置周期寄存器 SPLK#3H,T1CMPR ;设置比较寄存器 SPLK#0H,T1CNT ;设置计数寄存器 SPLK#01F4EH,T1CON ;TMODE=11 定向增/减计数模式,TPS=111 ;预分频为128 ;TENABLE=1 定时器计数使能,TCLKS=0 内部时钟 ;TECMPR=1 定时器 1 比较使能,SELT1PR=0 4 连续增/减计数模式 例连续增/减计数模式的初始化例程 LDP#DP_EVA ;指向7400h7480h 单元 SPLK#41H,GPTCONA ;TCOMPOE=1 允许定时器比较输出 SPLK#5H,T1PR ;设置周期寄存器 SPLK#3H,T1CMPR ;设置比较寄存器 SPLK#0H,T1CNT ;设置计数寄存器 SPLK#0F4EH,T1CON ;TMODE=01 连续增/减计数模式,TPS=111 ;预分频为128 ;TENABLE=1 定时器计数使能,TCLKS=00 内部时钟 ;TECMPR=1 定时器 1 比较使能,SELT1PR=0 通用定时器的中断实现 .include ;引用头部文件.def _c_int0(1)建立中断向量表 .sect.vectors ;定义主向量段 RSVECT B _c_int0 ;PM 0 复位向量 1 INT1 B PHANTOM ;PM 2 中断优先级1 4 INT2 B GISR2 ;PM 4 中断优先级2 5 INT3 B PHANTOM ;PM 6 中断优先级3 6 INT4 B PHANTOM ;PM 8 中断优先级4 7 INT5 B PHANTOM ;PM A 中断优先级5 8 INT6 B PHANTOM ;PM C 中断优先级6 9 RESERVED B PHANTOM ;PM E 模拟量输入中断(保留)10 SW_INT8 B PHANTOM ;PM 10 用户定义软件中断 SW_INT31 B PHANTOM ;PM 3E 用户定义软件中断 ;中断子向量入口定义pvecs .sect.pvecs ;定义子向量段 PVECTORS B PHANTOM ;保留向量地址偏移量-0000h B PHANTOM ;保留向量地址偏移量-0001h B PHANTOM ;保留向量地址偏移量-0026h B T1PINT_ISR ;保留向量地址偏移量-0027h T1PINT 中断 B PHANTOM ;保留向量地址偏移量-0028h B PHANTOM ;保留向量地址偏移量-0041h (2)主程序 .text _c_int0 SETC INTM CLRC SXM CLRC OVM CLRC CNF ;B0 区被配置为数据空间 LDP#0E0H ;指向7000h7080h 区 SPLK#81FEH,SCSR1 ;时钟4 倍频,CLKIN=6 M,CLKOUT=24 M SPLK#0E8H,WDCR ;不使能 WDT LDP#0 SPLK#02H,IMR ;使能中断优先级 INT2 SPLK#0FFFFh,IFR ;清中断标志 LDP#DP_EVA ;指向7400h7480h 区 SPLK#80H,EVAIMRA ;使能 T1PINT 中断 SPLK#0FFFFh,EVAIFRA ;清 EVA 中断标志 SPLK#0,GPTCONA SPLK#177H,T1PR ;使定时器每1ms 产生一次中断 SPLK#0,T1CNT SPLK#0164CH,T1CON ;TMODE=10 连续增计数模式,TPS=110 预分频为 64 ;TENABLE=1 定时器计数使能,TCLKS=00 ;内部时钟 ;TECMPR=1 定时器 1 比较使能,SELT1PR=0 CLRC INTM ;开总中断 WAIT:NOP B WAIT(3)中断程序 GISR2:;优先级 INT2 中断入口 保护现场 LDP#0E0H LACC PIVR,1 ;读取外设中断向量寄存器(PIVR),并左移一位 ADD#PVECTORS ;加上外设中断入口地址 BACC ;跳到相应的中断服务子程序 T1PINT_ISR:;通用定时器1 中断入口 LDP#DP_EVA SPLK#0,T1CNT GISR2_RET:;中断返回 恢复现场 CLRC INTM ;开总中断,因为一进中断就自动关闭总中断 RET(3)假中断程序 PHANTOM KICK_DOG ;复位看门狗 RET END PWM 波形产生举例 .include ;引用头部文件.def _c_int0;(1)建立中断向量表 .sect.vectors ;定义主向量段 RSVECT B _c_int0 ;PM 0 复位向量 1 INT1 B PHANTOM ;PM 2 中断优先级1 4 INT2 B GISR2 ;PM 4 中断优先级2 5 INT3 B PHANTOM ;PM 6 中断优先级3 6 INT4 B PHANTOM ;PM 8 中断优先级4 7 INT5 B PHANTOM ;PM A 中断优先级 5 8 INT6 B PHANTOM ;PM C 中断优先级 6 9 RESERVED B PHANTOM ;PM E (保留位)10 SW_INT8 B PHANTOM ;PM 10 用户定义软件中断 SW_INT31 B PHANTOM ;PM 3E 用户定义软件中断 ;中断子向量入口定义pvecs .sect.pvecs ;定义子向量段 PVECTORS B PHANTOM ;保留向量地址偏移量 0000h B PHANTOM ;保留向量地址偏移量 0001h B PHANTOM ;保留向量地址偏移量-002Eh B T3GP_ISR ;保留向量地址偏移量-002Fh T3PINT 中断 B PHANTOM ;保留向量地址偏移量 0030h B PHANTOM ;保留向量地址偏移量 0041h ;(2)主程序.text _c_int0 CALL SYSINIT ;系统初始化程序 CALL PWM_INIT ;EVB 模块 PWM 初始化程序 WAIT NOP B WAIT;(3)系统初始化程序 SYSINIT:SETC INTM CLRC SXM CLRC OVM CLRC CNF ;B0 区被配置为数据空间 LDP#0E0H ;指向7000h7080h 区 SPLK#81FEH,SCSR1 ;时钟4 倍频,CLKIN=6 M,CLKOUT=24 M SPLK#0E8H,WDCR ;不使能 WDT LDP#0 SPLK#0002H,IMR ;使能中断第2 级 INT2 SPLK#0FFFFH,IFR ;清全部中断标志 RET;(4)EVB 模块的PWM 初始化程序 PWM_INIT:LDP#DP_PF2 ;指向7080h7100h 区 LACL MCRC OR#007EH ;IOPE16被配置为基本功能方式:PWM712 SACL MCRC LDP#DP_EVB ;指向7500h7580h 区 SPLK#0FFFFH,EVBIFRA ;清 EVB 全部中断标志 SPLK#0666H,ACTRB ;PWM12,10,8 低有效,PWM11,9,7 高有效 SPLK#00H,DBTCONB ;不使能死区控制 SPLK#10H,CMPR4 ;设置比较初值 PWM7 高电平占 50/60,;低电平占10/60 SPLK#20H,CMPR5 ;设置PWM9,10 的比较寄存器 SPLK#30H,CMPR6 ;设置PWM11,12 的比较寄存器 SPLK#60H,T3PR ;设置定时器3 周期寄存器,;即 PWM 周期为60 个 CPU 时钟周期 SPLK#0A600H,COMCONB;使能比较操作 SPLK#0,T3CNT SPLK#41H,GPTCONB ;TCOMPOE=1,T3PIN=01 SPLK#080H,EVBIMRA ;通用定时器 3 使能 SPLK#0174EH,T3CON ;TMODE=10 连续增计数模式,TPS=111 预分频为 128 ;TENABLE=1 定时器计数使能,TCLKS=00 ;内部时钟 ;TECMPR=1 定时器 3 比较使能,SELT3PR=0 CLRC INTM ;开总中断 RET;(5)定时器3 中断程序 GISR2:;优先级 INT2 中断入口 保护现场 LDP#0E0H LACC PIVR,1 ;读取外设中断向量寄存器(PIVR),并左移一位 ADD#PVECTORS ;加上外设中断入口地址 BACC ;跳到相应的中断服务子程序 T3GP_ISR:;通用定时器3 中断入口 LDP#DP_EVB SPLK#0,T3CNT GISR2_RET:;中断返回 恢复现场 CLRC INTM ;开总中断,因为一进中断就自动关闭总中断 RET;(6)假中断程序 PHANTOM KICK_DOG ;复位看门狗 RET END 捕获单元应用举例 CAP4TEMP.usect .data0,1 ;CAP4 临时寄存器 .include ;引用头部文件.def _c_int0;(1)建立中断向量表 .sect.vectors ;定义主向量段 RSVECT B _c_int0 ;PM 0 复位向量 1 INT1 B PHANTOM ;PM 2 中断优先级 1 4 INT2 B PHANTOM ;PM 4 中断优先级2 5 INT3 B PHANTOM ;PM 6 中断优先级 3 6 INT4 B GISR4 ;PM 8 中断优先级4 7 INT5 B PHANTOM ;PM A 中断优先级 5 8 INT6 B PHANTOM ;PM C 中断优先级 6 9 RESERVED B PHANTOM ;PM E(保留位)10 SW_INT8 B PHANTOM ;PM 10 用户定义软件中断 SW_INT31 B PHANTOM ;PM 3E 用户定义软件中断 ;中断子向量入口定义pvecs .sect.pvecs ;定义子向量段 PVECTORS B PHANTOM ;保留向量地址偏移量-0000h B PHANTOM ;保留向量地址偏移量-0001h B PHANTOM ;保留向量地址偏移量-0035h B CAP4_ISR ;保留向量地址偏移量-0036h CAP4 中断 B PHANTOM ;保留向量地址偏移量-0037h B PHANTOM ;保留向量地址偏移量-0041h ;(2)主程序.text _c_int0 LDP#5 SPLK#00H,CAP4TEMP CALL SYSINIT CALL CAP_INIT ;调 CAP4 初始化程序 WAIT NOP B LOOP;(3)系统初始化程序 SYSINIT:SETC INTM CLRC SXM CLRC OVM CLRC CNF ;B0 区被配置为数据空间 LDP#0E0H ;指向7000h7080h 区 SPLK#81FEH,SCSR1 ;时钟4 倍频,CLKIN=6 M,CLKOUT=24 M SPLK#0E8H,WDCR ;不使能 WDT LDP#0 SPLK#0008H,IMR ;使能中断第4 级 INT4 SPLK#0FFFFH,IFR ;清全部中断标志 RET;(4)捕获单元初始化程序 CAP_INIT:LDP#DP_PF2 ;指向7090h7100h LACL MCRC OR#0380H ;IOPE7,IOPF0,IOPF1 被配置为;特殊功能方式:CAP46 SACL MCRC SETC INTM LDP#DP_EVB SPLK#049H,GPTCONB ;TCOMPOE=1,T4PIN=10,T3PIN=01 SPLK#0,T3CNT SPLK#01742H,T3CON ;TMODE=10 连续向上计数模式,TPS=111 ;预分频为128;TENABLE=1 定时器计数使能,TCLKS=00 ;内部时钟 ;TCLD=00,TECMPR=1 定时器 3比较;使能,SELT3PR=0 SPLK#0FFFFH,T3PR ;定时器周期比较寄存器设为最大 SPLK#00H,EVBIMRA SPLK#00H,EVBIMRB SPLK#22C0H,CAPCONB ;CAP4 捕获允许,捕获上升沿 SPLK#01H,EVBIMRC ;CAP4 中断使能 SPLK#0FFFFh,EVBIFRA ;清 EVB 全部中断标志 SPLK#0FFFFh,EVBIFRB SPLK#0FFFFh,EVBIFRC CLRC INTM ;开总中断 RET ;(5)中断程序程序 GISR4:;优先级 INT4 中断人口 ;保护现场 LDP#0E0H LACC PIVR,1 ;读取外设中断向量寄存器(PIVR),并左移一位 ADD#PVECTORS ;加上外设中断人口地址 BACC ;跳到相应的中断服务子程序 CAP4_ISR:;捕获单元 4 中断程序入口 LDP#DP_EVB LACL CAP4FIFO LDP#5 SACL CAP4TEMP ;读出捕获的值 LDP#DP_EVB SPLK#0,T3CNT ;清 T3 计数值,使其重新计数 GISR2_RET:;中断返回 恢复现场 CLRC INTM ;开总中断,因为一进中断就自动关闭总中断 RET;(6)假中断程序 PHANTOM KICK_DOG ;复位看门狗 RET END

    注意事项

    本文(第7章TMS320LF2407事件管理器模块24180.pdf)为本站会员(得**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开