《dsp实验报告.docx》由会员分享,可在线阅读,更多相关《dsp实验报告.docx(9页珍藏版)》请在第一文库网上搜索。
1、前南科技大学城市学院西南科技大学城市学院课程设计报告题目:基于DSP2407的数字电压表系另!):机电工程系专业:电信班级:HO1指导教师:廖晓波实验人员:张旺第一章系统设计第一节课题目标及整体方案1.1.1 课程目标以DSP2407为核心,设计一个数字电压表。采用中断方式,对2路。5V的模拟电进行循环采集,采集的数据送1ED显示,并存入内存。超过界限时指示灯闪烁。1.1.2 整体方案通过对DSP2407的I/O的运用,实现4个1ED显示O5V的电压。具体实现原理如下表11。1ED电压值012345其它1EDO亮灭灭灭亮灭亮灭闪烁1ED1灭亮灭灭灭亮亮灭闪烁1ED2灭灭亮灭灭亮亮灭闪烁1ED3
2、灭灭灭亮亮灭亮灭闪烁表11第二节硬件平台简介1.2.1 硬件结构引脚说明JTAG接口:本板卡和DSP仿真器连接接口,通过本接口用户可进行在线仿真步进电机接口:接上步进电机可进行步进电机控制实验AD输入接口:2路带运放隔壁的AD输入接口DA输出接口:4路DA输出接口CAN接口:CAN总线接口插座RS232接口:标准的DB9插座2407全功能引出接口,方便用户扩张使用图1一11.2.3I/O模块介绍1、下表为I/O空间分配00000004D/A转换00050007保留区域00084种DIP开关0009OOOB保留区域OOOC指示灯OOOD7FFF保留区域8000FFFF外部空间2、I/O空间介绍2
3、.2.2I/O控制模块介绍数字输入/输出模块是集成在TMS3201F2407A片内的外设之一,它主要对芯片的通用、双向的数字I/O(GPIO)引脚进行控制。这些I/O引脚大多数是基本功能和一般I/O复用的引脚,数字DO模块采用了一种灵活的方法,以控制专用I/O和复用I/O引脚的功能,所有I/O和复用引脚的功能可通过9个16位控制寄存器来设置,这些寄存器可分为两类:I/O口复用控制寄存器(MCRK):用于控制选择I/O口作为基本功能方式或一般I/O引脚功能;数据和方向控制寄存器(PxDATDIR):当I/O用作一般I/O引脚功能时,用数据和方向控制寄存器可控制数据和到双向I/O引脚的数据方向,这
4、些寄存器直接和双向I/O引脚相连。具体控制寄存器的访问地址、定义请参见有关资料。3、I/O管脚及使用方法ICETEK-1F2407-A板使用了一些I/O管脚对DSP进行控制。例如:跳线JP6连接DSP上MP/MC管脚,在DSP复位时,DSP可读回这一管脚的设置,当管脚接高电平时,DSP采用微处理器(MP)方式工作,否则设置成微控制器(MC)方式。ICETEK-1F2407-A板在扩展插头上将未使用的I/O引脚接出,提供给用户连接使用。其定义见ICETEK-1F2407-A板说明。这些管脚支持0-3.3V逻辑电平操作,用户在进行相应设置后可以在I/O管脚上进行输入或输出操作,使用时须注意根据引脚
5、本身的负载能力驱动相关设备。4、ICETEK-1F2407-EDU实验箱及控制模块使用的I/O管脚ICETEK-1F2407-EDU实验箱将引脚ADCIN00-ADCIN03连接到了实验箱底板上“A/D输入”的四个插座上。1CETEK-1F2407-EDU实验箱控制模块使用如下引脚:PwMI2/I0PE6一指示灯PWMII/I0PE5和TDIRB/I0PF4一步进电机CANTX/I0PC6蜂鸣器第三节软件系统设计1.3.1软件流程图13.2试验程序1、实验主程序如下:#inc1udeg1oba1.cvoidSystem1nit();voidTimer11nit();voidKickDog();
6、voidKey1ed();voiddianya_disp1y(intm);unsignedintnum1ed=O;Voidde1ay(inti);main()(intt;SystemInitO;系统初始化MCRC=MCRC&OxFFOO;/IOPEO-7设为IO口模式Pedatdir=OxffOO;所有1ed=ozasm(C1RCINTM);Timer1InitO;定时器初始化t=3;if(0=t&t=5)dianya_disp1y(t);)e1sewhi1e(1)(Key1ed();)2、程序分析主程序主要是通过对各程序的调用驱动硬件实现数字电压表的功能。比如对系统初始化、定时器初始化等。其
7、余被调用程序在附录中,在此不作详解。第二章心得体会1、通过我对ARM芯片运用实现了数字电压的显示;2、让我对DSP的了解更深,更透彻;3、让我对语言的运用更加熟练;4、让我对这门学科有更深切的热爱。附录1系统初始化voidSystemInitOasm(SETCINTM);asm(C1RCSXM);asm(C1RCCNF);asm(C1RCOVM);SCSR1=0x02FC;WDCR=0x006F;KickDog();IFR=OFFFF;IMR=00002;附录2定时器初始化voidTimer1InitO/*关闭总中断*/*禁止符号位扩展*/*BO块映射为On-ChiPDARAM*/*累加器结果
8、正常溢出*/*系统时钟C1KOUT=20*2=40M*/*禁止看门狗,看门狗时钟64分频*/*初始化看门狗*/*清除中断标志*/*打开中断2*/EVAIMRA=0x0080;Evaifra=Oxffff;gptcona=ooooo;T1PR=25OO;T1CNT=O;T1CON=Ox144E;/定时器1周期中断使能/清除中断标志/定时器1初值,定时0,4us*2500=1ms增模式,TPS系数40M16=2.5MzT1使能附录31ED灯亮灭voidKey1ed()Pedatdir=Pedatdir&oxffoo;IOPE1,2,3,4=0;1ED全灭De1ay(IOOO);Pedatdir=P
9、edatdirooff;IOPE3=1;1ed4亮)附录4中断voidinterruptcjnt2()*定时器1中断服务程序*/if(PIVR!=0x27)asm(C1RCINTM);return;T1CNT=O;num1ed+;EVAIFRA=080;asm(C1RCINTM);)附录5看门狗voidKickDog()/*踢除看门狗*/WDKEY=0x5555;WDKEY=OxAAAA;附录6数字电压Voiddianya_disp1y(intm)switch(m)caseo:pedatdir=Pedatdir&offoo;pedatdir=pedatdir00002;break;casei:
10、pedatdir=Pedatdir&oxffoo;Pedatdir=Pedatdir0x4;break;case2:PEDATDIR=PEDATDIR&OxFFOO;pedatdir=pedatdir0x8;break;case3:PEDATDIR=PEDATDIR&OxFFOO;Pedatdir=Pedatdiroxio;break;case4:PEDATDIR=PEDATDIR&OxFFOO;Pedatdir=Pedatdiroxc;break;IOPEI,2,3,4=0;1ED全灭/IOPE=1;1ED1亮IoPEI,2,3,4=0;1ED全灭K)PE2=1;1ED2亮IoPE1,2,3,4=0;1ED全灭K)PE3=1;1ED3亮IoPEI,2,3,4=0;1ED全灭IOPE3=1;1ED4亮IoPE1,2,3,4=0;1ED全灭IoPE3=1;1ED4亮case5:PEDATDIR=PEDATDIR&OxFFOO;IoPE1,2,3,4=0;1ED全灭Pedatdir=Pedatdir012;/iope3=i;1ed4亮break;)附录7延时Voidde1ay(inti)intm,n=0;for(m=0;mi;m+)for(n=0;nj;n+)