版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验3TMS320C55x定时器的汇编实现一、实验目的1.通过实验熟悉VC5509A的定时器;2.掌握VC5509A定时器的控制方法;3.掌握VC5509A的中断结构和对中断的处理流程;4.学会在汇编条件下编写中断程序设计,以及运用中断程序控制程序流程。二、实验设备计算机,ICETEK-VC5509-A实验箱三、 实验内容1.VC5509A的初始设置,包括堆栈设置和时钟设置;2.VC5509A中断向量表的建立;3.定时器中断服务程序的编写。四、 实验原理1、通用定时器介绍及其控制方法每个通用定时器包括:-一个16位的减计数的计数器TIM;-一个16位的定时器周期寄存器PRD;-一个16位的定时器控制寄存器TCR;-一个16位的定时器预定标寄存器PSCR;*PSCR寄存器说明:15 10 9 6 5 4 3 0ReservedPSCReservedTDDRPSC:4位的预定标值,与TIM共同组成20位的定时计数器.TDDR:预定标周期寄存器(在需要时重装入PSC的值)TCR寄存器定时器的中断:TINT会自动给中断信号寄存器(IFR0和IFR1)其中之一置位。我们可以在中断语序寄存器(IER0和IER1)里面开启或者关闭中断。定时器的开始与停止:定时器寄存器的TSS位来启动和停止定时器。当TSS=1是定时器停止,TSS=0时定时器启动。2.中断响应过程:外设事件要引起CPU中断,必须保证:IER中相应使能位被使能,IFR相应中断也被使能。在软件中,当设置好相应中断标志后,开中断,进入等待中断发生的状态;外设(如定时器)中断发生时,首先跳转到相应中断高级的服务程序中(如:定时器1会引起TINT中断),程序在进行服务操作之后,应将本外设的中断标志位清除以便能继续中断,然后返回。3、时钟部分定时器的工作时钟可以来自DSP内部的CPU时钟,也可以来自引脚TIN/TOUT。利用定时器控制寄存器(TCR)中的字段FUNC可以确定时钟源和TIN/TOUT引脚的功能。VC5509A芯片内的时钟发生器从CLKIN引脚接受输入时钟信号,将其变换为CPU及其外设所需要的工作时钟;工作时钟经过分频通过引脚CLKOUT输出,可供其他器件使用。时钟发生器内有一个数字锁相环DPLL和一个时钟模式寄存器CLKMD。VC5509A的时钟发生器有3种工作模式,即旁路模式、锁定模式和Idle模式。时钟模式寄存器(CLKMD)中的PLLENABLE为控制旁路模式和锁定模式。可以通过关闭CLKGENIdle模块使时钟发生器工作在Idle模式。在本实验中设置时钟工作在锁定模式。设置PLLENABLE=1,PLL工作于锁定模式,则输出的时钟频率由下式确定,即输出频率=pllmult输出频率=pllmultx输入频率⑴PLLDIVTable4.CLKMDBit宮Us«dinth«LockModeCLKMDHitFiield|s)RdIbinthBLockModePLLENABLEPLLMULTandPLLD]VIAIAllowsyouteiswrtchtothelackmade.DeterminehawlheinpulclockFrequencyisnnddiFied(ifataJI}Idproducetheoutputclockfrequency.DetermineswhetherthePLLrestartsthephase-kickingsequencewhenlheclockgenerabarexiisiisidlemod曰.BREAKLNIOBLOCK.1ndicaisswhenthephaselockhasbeehibroken.Determineswhether*thePLLwillreacquireaIds!phaselock.Is1inthelockmode.图1锁定模式用到的CLKMD位VC5509A系统的晶振时钟振荡频率为12MHz。通过设置DPLL,使系统时钟的时钟频率为120MHz。由图1知具体设置如下:(1)PLLENABLE=1b(2)由公式(1),得PLLMULT144MHz- X12MHzPLLDIV+1取PLLDIV=0,PLLMULT=12,即:D6D5(PLLDIV)=00b,D11-D7(PLLMULT)=10(3)CLKMD其他位取0。4、中断部分中断是由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为中断服务子程序(ISR)的任务。VC5509A支持32个ISR。中断向量的初始化可由.ivec命令完成复位中断程序为本实验工程的主程序main(详细代码见程序代码部分);其他中断子程序均设为no_isr:no_isr: Bno_isr.end另外,由以下语句设置中断向量的地址MOV#0a5h,mmap(IVPH)MOV#0a5h,mmap(IVPD)MOV#010h,mmap(IER0)
定时器0部分VC5509A芯片内提供了2个20位通用定时器,可向CPU产生周期性中断或向DSP芯片外的器件提供周期信号。每个定时器由2部分组成:一个4位的预定标计数寄存器(PSC)和一个16位主计数器(TIM),如图4。11b10bTIM/TOU1pinFigure1-1.ConceptualBlockD/apra-moftheGeneral-PurposeTimerCPUclockInLerruptrequest(TINT)sen!toCPU16位主计数器(TIM),如图4。11b10bTIM/TOU1pinFigure1-1.ConceptualBlockD/apra-moftheGeneral-PurposeTimerCPUclockInLerruptrequest(TINT)sen!toCPUPATOUTbitSynchronizationevent(TEVT)均senltoDMAcontrolle「LKtemalclQckHighimpedanDe01bFUNC=QObOutput(TOUT)InputdockV4-bitpreacalcrcounterPSCTIMV16-bitmaineojnterTORTDDR图2定时器结构框图定时器发送中断信号或同步时间的频率信号的频率可用下式计算(2)TINT频率—输入时钟频率(2)(TDDR+l)x(PRD+1)汇编语言实现:;**timerinitialized**MOV0x0430,port(#TCR0)NOPMOV7999,port(#PRSC0)NOPMOV0x61a7,port(#PRD0)NOPMOV0x0020,port(#TCR0)6、实验程序流程图本实验用到tintO.ivectintO_isr;定时器0中断,实验过程中需要编程实现定时器对交通灯的控制,在程序中需要对时钟和定时器进行初始化。并且开启定时器,中断等过程五、实验过程详细代码如下:1、regs.asm,VC5509A的寄存器地址映射.title"regs.asm"*EMIFREGISTER*EGCR.set800HEMI_RST.set801HEMI_BE.set802H
CE0_1.set803HCE0_2.set804HCE0_3.set805HCE1_1.set806HCE1_2.set807HCE1_3.set808HCE2_1.set809HCE2_2.set80AHCE2_3.set80BHCE3_1.set80CHCE3_2.set80DHCE3_3.set80EHSDC1.set80FHSDPER.set810HSDCNT.set811HINIT.set812HSDC2.set813H*CLOCKMODEREGISTERTIMERS**计数寄存器0*TIM0.set1000H*周期寄存器0*PRD0.set1001HCLKMD.set1C00H*EXTERNALBUSSELECTIONREGISTER*EBSR.set6C00H*控制寄存器0*TCR0.set1002H*预定标寄存器0*TOC\o"1-5"\h\zPRSC0.set 1003H*计数寄存器1*TIM1.set 2400H*周期寄存器1*PRD1 .set 2401H*控制寄存器1*TCR1 .set 2402H*周期寄存器1*PRSC1 .set 2403H*GPIO*IODIR .set 3400HIODATA.set 3401H2、 vector.asm中断向量表.title"regs.asm"*EMIFREGISTER*EGCR.set800HEMI_RST.set801HEMI_BE.set802HCE0_1.set803HCE0_2.set804HCE0_3.set805HCE1_1.set806HCE1_2.set807HCE1_3.set808H
CE2_1.set809HCE2_2.set80AHCE2_3.set80BHCE3_1.set80CHCE3_2.set80DHCE3_3.set80EHSDC1.set80FHSDPER.set810HSDCNT.set811HINIT.set812HSDC2.set813H*CLOCKMODEREGISTERTIMERS**计数寄存器0*TIM0.set1000H*周期寄存器0*PRD0 .set 1001H*控制寄存器0*TCR0 .set 1002H*预定标寄存器0*PRSC0 .set 1003H*计数寄存器1*TIM1.set2400HCLKMD.set1C00H*EXTERNALBUSSELECTIONREGISTER*EBSR.set6C00H*周期寄存器1*PRD1.set2401H*控制寄存器1*TCR1.set2402H*周期寄存器1*PRSC1.set2403H*GPIO*IODIR.set3400HIODATA.set3401H3、主程序regs.asm,VC5509A的寄存器地址映射.title"regs.asm"*EMIFREGISTER*EGCR.set800HEMI_RST.set801HEMI_BE.set802HCE01.set803HCE02.set804HCE03.set805HCE11.set806HCE12.set807HCE13.set808HCE21.set809HCE22.set80AHCE23.set80BHCE31.set80CHCE32.set80DH
CE3_3.set80EHSDC1.set80FHSDPER.set810HSDCNT.set811HINIT.set812HSDC2.set813H*CLOCKMO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CADERM 5016-2023骨髓腔输液技术要求
- DB32/T 5067-2025露营地户外运动服务规范
- 2026基层医疗机构二羟丙茶碱片处方行为变迁与渠道下沉策略深度研究报告
- (新)医院感染病例监测及报告制度(2篇)
- 企业HSE检查记录表全套范本
- DB31/T 1667-2025休闲农业和乡村旅游点标识牌设置要求
- 城市园林绿化公司成本会计述职报告
- 2026年部编版新教材语文八年级上全套单元、期中、期末测试题(共8套有答案)
- 2026年秋招:东明石化集团试题及答案
- 2026年秋招:稻花香集团试题及答案
- 《制冷技术基础(第三版)》课件(上)
- 水下混凝土灌注记录(自动计算)
- 航空器全生命周期管理-洞察及研究
- CNC夹具知识培训课件
- 工程质量通病防治手册(2025修订)
- 铁路劳动安全培训课程课件
- 服务心理学(第四版)课件 项目一 任务一 认 识 服 务 行 业
- 2022机电工程安装工艺细部节点做法
- 人格障碍课件
- DB44T 1242-2013 水产饲料添加剂β-1,3-D-葡聚糖
- 企业安全生产风险辨识评估管控指导手册-件杂货码头
评论
0/150
提交评论