实验三 CPU 定时器实验

实验三 CPU 定时器实验

ID:38224596

大小:112.08 KB

页数:5页

时间:2019-06-01

实验三 CPU 定时器实验_第1页
实验三 CPU 定时器实验_第2页
实验三 CPU 定时器实验_第3页
实验三 CPU 定时器实验_第4页
实验三 CPU 定时器实验_第5页
资源描述:

《实验三 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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。