版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验3 TMS320C55x定时器的汇编LED实现实验3 TMS320C55x定时器的汇编LED灯实现一、实验目的1 通过实验熟悉TMS320VC5509A的定时器;2 掌握VC5509A定时器的使用方法;3 掌握VC5509A的中断结构和对中断的处理流程;4 学会在汇编条件下编写中断程序,以及运用中断控制程序 流程。二、实验设备计算机,ICETEK-VC5509-A 实验箱(或ICETEK 仿真器+ICETEKVC5509-A 评估板+相关连线及电源)。三、实验内容1 VC5509A的初始设置,包括堆栈设置和时钟设置;2 VC5509A中断向量表的建立;3 定时器中断服务程序的编写。四、实验
2、原理为了实现定时器的正确定时,首先需要设置VC5509A的时钟,以下分别说明“时钟”、“中断”和“定时器”3个部分的原理。4.1 时钟部分VC5509A芯片内的时钟发生器从CLKIN引脚接受输入时钟信号,将其变换为CPU及其外设所需要的工作时钟;工作时钟经过分频通过引脚CLKOUT输出,可供其他器件使用。时钟发生器内有一个数字锁相环DPLL和一个时钟模式寄存器CLKMD。VC5509A的时钟发生器有3种工作模式,即旁路模式、锁定模式和Idle模式。时钟模式寄存器(CLKMD)中的PLL ENABLE为控制旁路模式和锁定模式。可以通过关闭CLKGEN Idle模块使时钟发生器工作在Idle模式。
3、在本实验中设置时钟工作在锁定模式。设置PLL ENABLE=1,PLL工作于锁定模式,则输出的时钟频率由下式确定,即 输出频率=PLL MULTPLL DIV+1输入频率 (1)图 1 锁定模式用到的CLKMD位(参考TMS320C55x DSP Peripherals Reference Guide.pdf)VC5509A系统的晶振时钟振荡频率为12MHz。通过设置DPLL,使系统时钟的时钟频率为144MHz。由图1知具体设置如下:(1) PLL ENABLE = 1b(2) 由公式(1),得144MHz=PLL MULTPLL DIV+112MHz取PLL DIV=0,PLL MULT=1
4、2,即:D6D5(PLL DIV)=00b,D11-D7(PLL MULT)=1100b(3) CLKMD取值为:001011000010011b。汇编语言实现:MOV #001011000010011b ,port(#CLKMD)注: CLKMD .set 1C00H(CLKMD的地址为1C00H)4.2 中断部分中断是由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为终端服务子程序(ISR)的任务。VC5509A支持32个ISR。图2为VC5509A的中断向量表。图 2 VC5509A的中断向量表参考TMS320VC5509A Fixed-Point Digital Sign
5、al Processor (Rev. K).pdf中断向量的初始化可由.ivec命令完成。具体参考图3。图 3 .ivec命令参考TMS320C55x Assembly Language Tools Users Guide (Rev. H).pdf由图2和图3编写汇编文件vectors.asm:.sect .vectors.refstart,tint0_isrrsv.ivecstart,use_retanmi .ivecno_isrint0.ivecno_isrint2.ivecno_isrtint0.ivectint0_isrrint0.ivecno_isrrint1.ivecno_isrx
6、int1.ivecno_isrusb.ivecno_isrdmac1.ivecno_isrdspint.ivecno_isrint3.ivecno_isrrint2.ivecno_isrxint2.ivecno_isrdmac4.ivecno_isrdmac5.ivecno_isrint1.ivecno_isrxint0.ivecno_isrdmac0.ivecno_isrint4.ivecno_isrdmac2.ivecno_isrdmac3.ivecno_isrtint1.ivecno_isriic.ivecno_isrberr.ivecno_isrdlog.ivecno_isrrtos.
7、ivecno_isrsint27.ivecno_isrsint28.ivecno_isrsint29.ivecno_isrsint30.ivecno_isrsint31.ivecno_isr .text .def no_isrno_isr: b #no_isr本实验捡回用到定时器0,其中断服务程序(tint0_isr)如下:tint0_isr:nopnop ADD #1, AR2 BCC L2,AR2 !=#100; MOV *(#LBDS),AR2; XOR #1, AR2 AMAR *(#LBDS),XAR3XOR #1,*AR3nopnop;MOV AR3,*(#LBDS) MOV #0
8、,AR2L2:nopnopnopnopnopnopRETI由以下语句设置中断向量的地址。MOV #00d0h,mmap(IVPH) MOV #00d0h,mmap(IVPD) MOV #0010h,mmap(IER0)MOV #0xffff,mmap(IFR0)MOV #0010h,mmap(DBIER0)4.3 定时器0部分VC5509A芯片内提供了2个20位通用定时器,可向CPU产生周期性中断或向DSP芯片外的器件提供周期信号。每个定时器由2部分组成:一个4位的预定标计数寄存器(PSC)和一个16位主计数器(TIM),如图4。图 4 定时器结构框图TMS320VC5503/5507/550
9、9/5510 DSP Timers Reference Guide.pdf定时器发送中断信号或同步时间的频率信号的频率可用下式计算TINT频率=输入时钟频率(TDDR+1)(PRD+1) (2)汇编语言实现:MOV #0x04f0,PORT(#TCR0) MOV #0x0000,PORT(#TIM0) MOV #0x1fff,PORT(#PRD0) MOV #0x000f,PORT(#PRSC0) MOV #0x00e0,PORT(#TCR0)4.4 程序清单程序主要由3个文件工程:4.4.1vectors.asm中断向量表.sect .vectors.refstart,tint0_isrrs
10、v.ivecstart,use_retanmi .ivecno_isrint0.ivecno_isrint2.ivecno_isrtint0.ivectint0_isrrint0.ivecno_isrrint1.ivecno_isrxint1.ivecno_isrusb.ivecno_isrdmac1.ivecno_isrdspint.ivecno_isrint3.ivecno_isrrint2.ivecno_isrxint2.ivecno_isrdmac4.ivecno_isrdmac5.ivecno_isrint1.ivecno_isrxint0.ivecno_isrdmac0.ivecn
11、o_isrint4.ivecno_isrdmac2.ivecno_isrdmac3.ivecno_isrtint1.ivecno_isriic.ivecno_isrberr.ivecno_isrdlog.ivecno_isrrtos.ivecno_isrsint27.ivecno_isrsint28.ivecno_isrsint29.ivecno_isrsint30.ivecno_isrsint31.ivecno_isr .text .def no_isrno_isr: b #no_isr4.4.2 timer.asm主程序.mmregs.datastack_len.set 200syssta
12、ck_len.set 200stack.usect.stack,stack_lensysstack.usect.sysstack,sysstack_lenTIM0.set0x1000PRD0.set0x1001TCR0.set0x1002PRSC0.set0x1003CLKMD .set 0x1C00LBDS.set 0x400001.text.def start,tint0_isrstart:BSET ARMS.arms_onBCLR C54CM.c54cm_offBCLR AR0LC BCLR AR1LC BCLR AR2LCBCLR AR3LCBSET INTMAMOV #(stack+
13、stack_len),xsp AMOV #(sysstack+sysstack_len),xssp MOV #001011000010011b,port(#CLKMD);AMAR *(#400001h),XAR3MOV#1,*(#LBDS)MOV #0,AR2MOV #00d0h,mmap(IVPH) MOV #00d0h,mmap(IVPD) MOV #0010h,mmap(IER0)MOV #0xffff,mmap(IFR0)MOV #0010h,mmap(DBIER0)MOV #0x04f0,PORT(#TCR0) MOV #0x0000,PORT(#TIM0) MOV #0x1fff,
14、PORT(#PRD0) MOV #0x000f,PORT(#PRSC0) MOV #0x00e0,PORT(#TCR0)BCLR INTML1:nopnopnopnopB L1tint0_isr:nopnop ADD #1, AR2 BCC L2,AR2 !=#100; MOV *(#LBDS),AR2; XOR #1, AR2 AMAR *(#LBDS),XAR3XOR #1,*AR3nopnop;MOV AR3,*(#LBDS) MOV #0,AR2L2:nopnopnopnopnopnopRETI.end4.4.3 .cmd链接命令文件-stack 200-sysstack 200-l rts55x.lib-e startMEMORY DARAM:o=0x100,l=0x07f00 VECT : o=0x0d000,l=0x100 DARAM2: o=0x0d100,l=0x1f00 SARAM: o=0x10000,l=0x30000 SDRAM:o=0x40000,l=0x3e0000SECTIONS.data: SARAM .text: DARAM .vectors: VECT .sysstack: DARAM .stack: DARAM 实验程序流程图如下:五、实验步骤(1) 在CCS下建立
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年仓库管理初级题库及答案
- 2025年国开行考试题及答案机械
- 2026年企业人力资源管理师之二级人力资源管理师考试题库500道及参考答案1套
- 2026年一级造价师之建设工程计价考试题库500道附完整答案【夺冠系列】
- 2026年初级银行从业资格之初级银行业法律法规与综合能力考试题库500道带答案
- 2026年初级银行从业资格之初级个人贷款考试题库及参考答案【夺分金卷】
- 2025年高三化学高考化学前沿知识拓展模拟试题
- 2026年一级注册建筑师之建筑材料与构造考试题库500道含完整答案(各地真题)
- 宝妈高烧护理方法
- Optigo白光测量系统介绍-wls400
- 少数民族趣味知识
- 18《富饶的西沙群岛》说课稿-2024-2025学年三年级语文上册统编版
- 土方开挖基坑支护方案
- 预制板粘贴碳纤维加固计算表格
- 电梯公司培训计划
- 儿童眼保健知识培训课件
- 烟花购销合同2025年
- 初中英语固定搭配大全
- 中国地面气候标准值数据集台站表(全国2160站点)
- 古诗文默写-中考语文专项复习(湖北专版)(带答案)
- 影视部岗位职责
评论
0/150
提交评论