1、4、 实验过程中需要记录的实验数据表格二、 实验过程中,要认真观察,仔细记录三、 完成实验后用实验报告纸撰写实验报告,包括以下内容1、 仪器设备型号及编号2、 实验器材或软件环境3、 实验步骤、程序调试方法4、 实验数据处理及结果分析5、 实验中存在的问题6、 体会及思考题四、 报告撰写时,要求格式规范、书写整齐预习报告成绩: 指导教师审核(签名): 年 月 日预习报告1、实验目的(1)学习DSP控制外设的原理(2)掌握DSP编程的基本方法; (3)学习C54xx系列芯片的中断、I/O空间操作。2、实验用仪器设备、器材或软件环境(1)微机一台;(2)CCS软件;(3)DES5402PP-U实验
2、箱。3.预习要求 (1)参照教材学习DSP软件工程项目的基本构成和程序的编译、汇编、链接过程;(2)参照教材学习cmd文件的编制及其作用;(3)参照教材学习C语言编程的方法;(4)C语言编程所需要添加的库文件和头文件4实验内容 (1)CCS驱动程序的安装(2)在CCS下的仿真器驱动程序(3)程序的调试运行5.实验报告要求 (1)绘制程序流程图(要求与代码相对应);(2)实验要求记录的数据以及其他关键信息;(3)程序调试中遇到的问题以及解决过程;(4)实验代码清单。实验报告成绩: 年 月 日实验报告二、实验用仪器设备、器材或软件环境三、实验步骤 交通灯分为红黄绿三色, 东、南、西、北各一组, 用
3、灯光信号实现对交通的控制: 绿灯信号表示通行, 黄灯表示警告, 红灯禁止通行, 灯光闪烁表示信号即将改变。正常的交通控制信号顺序如下:按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(20S)转换状态2,南北方向绿灯闪三次转亮黄灯,共延时5S,东西方向仍然红灯。再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(20S)转换到状态4,东西方向绿灯闪三次转亮黄等,共延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。这些状态,都有软件来设计,前提是在实验箱上已经把交通灯的位置按一定规律设置好。具体来说,把东西南北方向的红绿
4、黄灯编号,然后在软件当中把灯亮时的状态设为“1”,灯灭时的状态设为“0”。第几个灯亮,就在第几位用二进制的1表示,所以以上提的状态都以这个思路来表示。之后把每一个状态的二进制转换为十六进制。因此用十六进制来表示每一个状态。四、具体实验步骤 一、软件安装完成后按照如下的步骤进行驱动程序的安装:1、安装好CCS后运行安装光盘中DRIVER目录下的Setupcc54x.exe,进行驱动程序的安装。选择安装目录的时候要选择与CCS相同的目录。成功安装好CCS的驱动程序后,桌面上就会将SDConfig的配置工具显示出来;2、使用并口电缆将计算机评估板连接到一块,然后接通实验箱的电源,如果连接正确,这时二
5、极管D2会亮起来;3、双击桌面上的SDConfig,按照下图所示对使用的并口进行设置;4、可以使用Configuration下的Ports AvailablePrinter测试所使用的PC机的并口是哪种类型的,这里:IO=Ox378;5、单击菜单栏Emulator下的Test,测试一下上述对端口设置的正确性。如果是正确的,可以检测到1个JTAG设备,如图4-5所示;如果不正确,应该监测一下所设置的端口类型是否与所用的计算机的并口类型一致;6、保存以上的设置后退出SDConfig,然后启动CCS的设置程序,对驱动程序进行安装;7、点击Setup CCS2.0,如下图所示,选择sdgo5xx,点击
6、Import按钮 8、在最右栏单击Install a Device Drive,在CCS的安装目录tidrivers下找到sdgo5xx.drv9、最后将sdgo5xx添加到系统当中。这里需要注意的是:驱动程序所用的IO地址为Ox378,CPU_1选择的是C5402.gel,在“Processor Configuration”应选择“TMS320C5400”,如下图所示:11、将traffic复制到timyprojectstraffic,如下所示:12、分别添加文件,如下图所示:13、程序调试运行截图食物连接五、实验代码清单:1.主程序 #include stdio.hstdlib.hmath
7、.h#define IMR_ADDR 0 #define LED_SIZE 12ioport unsigned portc000; /* for LEDs show */ void mydelay1() int i,j; /* when clkout=10MHz, about 0.2s */ for(i=0;i1000;i+) for(j=0;j0;j-) /*整个过程循环20次*/ portc000=0x2424; /* 南北绿灯亮、东西红灯亮*/ mydelay2(); for(i=0;3;i+) /*南北绿灯闪三次、东西红灯亮*/ portc000=0x2424; /*南北绿灯亮、东西红
8、灯亮*/ mydelay1(); portc000=0x0404; /*东西红灯亮*/ portc000=0x1414; /*南北黄灯亮、东西红灯亮*/ mydelay3(); portc000=0x4242; /*南北红灯亮、东西绿灯亮*/ for(i=0;i+) /*南北红灯亮、东西绿灯闪三次*/ portc000=0x4242; /*南北红灯亮、东西绿灯亮*/ portc000=0x4040; /*南北红灯亮*/ portc000=0x4141; /*南北黄灯亮、东西黄灯亮*/ 2.中断向量文件 .sect .vectors.align 0x80 ; must be aligned on
9、 page boundaryRESET: nop nop ; branch to C entry point ; stack size of 200nmi: RETE NOP NOP NOP sint17 .space 4*16sint18 .space 4*16sint19 .space 4*16sint20 .space 4*16sint21 .space 4*16sint22 .space 4*16sint23 .space 4*16sint24 .space 4*16sint25 .space 4*16sint26 .space 4*16sint27 .space 4*16sint28
10、 .space 4*16sint29 .space 4*16sint30 .space 4*16 NOPrint0: NOPrint1:xint1:int3: RETE NOP .end3.连接命令文件MEMORY PAGE 0: EPROG: origin = 0x1500,len = 0x2a80 VECT: origin = 0x3f80,len = 0x80 PAGE 1: USERREGS: origin = 0x60,len = 0x1c BIOSREGS: origin = 0x7c,len = 0x4 IDATA: origin = 0x80,len = 0x1480 EDAT
11、A: origin = 0x8000,len = 0x8000SECTIONS .vectors: VECT PAGE 0 .sysregs: BIOSREGS PAGE 1 .trcinit: EPROG PAGE 0 .gblinit: frt: .text: .cinit: .pinit: .sysinit: .bss: IDATA PAGE 1 .far: .const: .switch: .sysmem: .cio: .MEM$obj: .sysheap: .stack:六、心得体会通过这次实验让我更加熟悉了CCS下载调试的步骤以及DSP的C语言的编写方法,在实验链接过程中,不能够进行链接,在老师的帮助下,克服了困难,顺利的将实验完成。也让我对于使用锁存器驱动发光二极管的方法有了更深的认识。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2