欢迎来到天天文库
浏览记录
ID:38224596
大小:112.08 KB
页数:5页
时间:2019-06-01
《实验三 CPU 定时器实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三CPU定时器实验【实验目的】1.通过实验熟悉F28335A的定时器;2.掌握F28335A定时器的控制方法;3.掌握F28335A的中断结构和对中断的处理流程;4.学会C语言中断程序设计,以及运用中断方法的程序流程。【实验设备】计算机,ICETEK-F28335-A实验箱【实验原理】1.通用定时器介绍及其控制方法TMS320F28335A内部有三个32位通用定时器(TIMER0/1/2),定时器1和2被保留给实时操作系统(DSPBIOS)用,只有定时器0可以提供给用户使用。2.中断响应过程a.
2、接收中断请求。必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。b.响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。而对于非可屏蔽中断和软件中断,会立即做出响应。c.准备执行中断服务程序并保存寄存器的值。d.执行中断服务子程序。调用相应的中断服务程序ISR,进入预先规定的向量地址,并且执行已写好的ISR。3.中断类别可屏蔽中断:可以用软件加以屏蔽或解除屏蔽。不可屏蔽中断:这些中断不能够被屏蔽,将立即
3、响应该类中断并转入相应的子程序去执行。4.中断的优先级如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先级是芯片内部已定义好的,不可修改。【实验内容】1.采用中断方式实现指示灯显示十六进制数0-F。2.采用中断方式实现指示灯从左到右间隔一定时间的定时闪烁。3.实验程序参考流程图如图3.3所示。4.改变“CpuTimer0Regs.PRD.all=0xffff;”中的值。重新执行程序,观察实验现象。#include"DSP2833x_Device.h"//DSP2833xHeaderf
4、ileIncludeFile#include"DSP2833x_Examples.h"//DSP2833xExamplesIncludeFile//Prototypestatementsforfunctionsfoundwithinthisfile.interruptvoidcpu_timer0_isr(void);//interruptvoidcpu_timer1_isr(void);//interruptvoidcpu_timer2_isr(void);//#definemem(*(unsign
5、edshortint*)0x200000)#defineLED(*(unsignedshortint*)0x180000)#definestartCpuTimer0()CpuTimer0Regs.TCR.bit.TSS=0inti=0,ncount;unsignedintuLBD;voidmain(void){//Step1.InitializeSystemControl://PLL,WatchDog,enablePeripheralClocks//Thisexamplefunctionisfoun
6、dintheDSP2833x_SysCtrl.cfile.InitSysCtrl();//Step2.InitalizeGPIO://ThisexamplefunctionisfoundintheDSP2833x_Gpio.cfileand//illustrateshowtosettheGPIOtoit'sdefaultstate.//InitGpio();//SkippedforthisexampleInitXintf16Gpio();//zq//Step3.Clearallinterruptsa
7、ndinitializePIEvectortable://DisableCPUinterruptsDINT;//InitializethePIEcontrolregisterstotheirdefaultstate.//ThedefaultstateisallPIEinterruptsdisabledandflags//arecleared.//ThisfunctionisfoundintheDSP2833x_PieCtrl.cfile.InitPieCtrl();//DisableCPUinter
8、ruptsandclearallCPUinterruptflags:IER=0x0000;IFR=0x0000;//InitializethePIEvectortablewithpointerstotheshellInterrupt//ServiceRoutines(ISR).//Thiswillpopulatetheentiretable,eveniftheinterrupt//isnotusedinthisexample.Thisisusefulfordebugp
此文档下载收益归作者所有