dsp交通灯综合控制程序代码

上传人:小** 文档编号:91136825 上传时间:2019-06-26 格式:DOC 页数:9 大小:167.50KB
返回 下载 相关 举报
dsp交通灯综合控制程序代码_第1页
第1页 / 共9页
dsp交通灯综合控制程序代码_第2页
第2页 / 共9页
dsp交通灯综合控制程序代码_第3页
第3页 / 共9页
dsp交通灯综合控制程序代码_第4页
第4页 / 共9页
dsp交通灯综合控制程序代码_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《dsp交通灯综合控制程序代码》由会员分享,可在线阅读,更多相关《dsp交通灯综合控制程序代码(9页珍藏版)》请在金锄头文库上搜索。

1、 DSP原理及C程序开发 交通灯综合控制实验及程序代码 一、实验目的 熟悉使用ICETECK-F2812-A评估板控制ICETECK-CTR上交通灯的方法 掌握TMS320F2812DSP定时器的使用和编程 掌握TMS320F2812DSP外中断的使用和编程二、实验要求1、交通灯控制要求 交通灯分红黄绿三色,东、南、西、北各一组 计时显示:8*8点阵显示两位计数 正常交通控制信号顺序 南北绿灯:东西红灯(20s) 南北绿灯闪烁 南北黄灯 南北红灯,东西黄灯 东西绿灯(20s) 东西绿灯闪烁 东西黄灯 返回1循环控制 紧急情况处理 当任意方向通行剩余时间多于10s,将时间给为10s 正常变换到四

2、面红灯(20s) 直接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态)2、交通灯模拟利用ICETECK-CTR上的一组发光二极管(共12只,分为东西南北四组、红黄绿三色)的亮灭实现交通信号的模拟;3、计时显示利用ICETEK-CTR上的发光二极管显示阵列模拟显示4、计时利用TMS320F2812DSP片上定时器,定时产生时钟计数,再利用此计数对应具体时间5、紧急情况利用ICETECK-CTR上键盘产生外中断,中断正常信号顺序,模拟突发情况6、程序设计由于控制是由不同的各种状态按顺序发生的,可采用状态机控制方法来实现、 首先列举所有可能发生的状态 然后将这些状态编号,按顺序产生这些状态

3、;状态延续的时间用程序控制 对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成三、实验步骤1实验准备(1)连接实验设备: (2)连接实验箱附带的键盘的PS2插头到ICETEK-CTR的“键盘接口”P8。(3)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。2设置Code Composer Studio3.3在硬件仿真(Emulator)方式下运行。3启动Code Composer Studio 3.3,选择菜单DebugConnect ; DebugReset CPU。 4打开工程文件,工程目录为:C:ICETEKF2812AES60F2812AES60DSP281x_

4、exampleslab0601-TrafficLight。5编译并下载程序。6运行程序观察结果。观察交通灯信号是否正常工作。7突发事件控制在ICETEK-CTR附带的小键盘上按下除“Enter”键外的按键,观察信号是否满足要求。8结束程序运行退出。在ICETEK-CTR附带的小键盘上按下“Enter”键。9退出CCS。 四、实验程序#include DSP281x_Device.h / DSP281x Headerfile Include File#include DSP281x_Examples.h / DSP281x Examples Include FileUint16 var1 = 0

5、;Uint16 var2 = 0;Uint16 var3 = 0;Uint16 test_count = 0;Uint16 Test_flag = 0;Uint16 Test_var = 0;Uint16 Test_status32;#define nStatusNSGreenEWRed 160 /用数字来区分每一个状态 南北绿灯,东西红灯#define nStatusNSFlashEWRed 184 /南北绿灯闪烁,东西红灯#define nStatusNSYellowEWRed 200 /南北黄灯,东西红灯#define nStatusNSRedEWYellow 216 /南北红灯,东西黄

6、灯#define nStatusNSRedEWGreen 376 /南北红灯,东西绿灯#define nStatusNSRedEWFlash 400 /南北红灯,东西绿灯闪烁#define nStatusNSRedEWYellow1 416 /南北红灯,东西黄灯#define nStatusNSYellowEWRed1 432 /南北黄灯,东西红灯#define nTotalTime 448 /正常顺序一个循环#define nStatusHold 160 /突发情况#define statusNSGreenEWRed 0 /一共7个状态#define statusNSFlashEWRed 1

7、#define statusNSYellowEWRed 2#define statusNSRedEWYellow 3#define statusNSRedEWGreen 4#define statusNSRedEWFlash 5#define statusHold 6int a=0;unsigned int uWork,nTimeCount,nTimeMS; /计数时使用的变量unsigned int uLightStatusEW,uLightStatusSN; /东西、南北红黄绿二极管的亮灭情况unsigned int bHold; /用来表明是否处于突发情况unsigned char le

8、dbuf8,ledx8; /二极管点阵显示用到unsigned char led40=0x7E,0x81,0x81,0x7E,0x00,0x02,0xFF,0x00,0xE2,0x91,0x91,0x8E,0x42,0x89,0x89,0x76,0x38,0x24,0x22,0xFF,0x4F,0x89,0x89,0x71,0x7E,0x89,0x89,0x72,0x01,0xF1,0x09,0x07,0x76,0x89,0x89,0x76,0x4E,0x91,0x91,0x7E;void main(void) int nWork1,nWork2,nWork3,nWork4,k; int nN

9、owStatus,nOldStatus,nOldTimeCount,nSaveTimeCount,nSaveStatus; unsigned int nScanCode; nTimeCount=0; bHold=0; /给各变量赋初值 uLightStatusEW=uLightStatusSN=0; nNowStatus=0; nOldStatus=1; nOldTimeCount=0; /InitSysCtrl();/初始化cpu InitPll(0x0); /SYSCLKOUT=30 MHz /2=15MHz DINT;/关中断 InitPieCtrl();/初始化pie寄存器 CTRGR

10、=0;/ 初始化ICETEK-CTR 具体说明见实验箱硬件编程CTRGR=0x80;CTRGR=0;CTRLR=0;/ 关闭东西方向的交通灯CTRLR=0x40;/ 关闭南北方向的交通灯CTRLR=0x0c1;/ 开启发光二极管显示阵列 for ( k=0;k8;k+ )ledbufk=0x0ff;/ 显示为空白 值为“1”时灭;值为“0”时点亮ledxk=(k=nStatusHold ) nNowStatus=nSaveStatus;nTimeCount=nSaveTimeCount;bHold=0;/根据计数值来确定状态else if ( nTimeCountnStatusNSGreenE

11、WRed )nNowStatus=statusNSGreenEWRed;else if ( nTimeCountnStatusNSFlashEWRed )nNowStatus=statusNSFlashEWRed;else if ( nTimeCountnStatusNSYellowEWRed )nNowStatus=statusNSYellowEWRed;else if ( nTimeCountnStatusNSRedEWYellow )nNowStatus=statusNSRedEWYellow;else if ( nTimeCountnStatusNSRedEWGreen )nNowSt

12、atus=statusNSRedEWGreen;else if ( nTimeCountnStatusNSRedEWFlash )nNowStatus=statusNSRedEWFlash;else if ( nTimeCountnStatusNSRedEWYellow1 )nNowStatus=statusNSRedEWYellow;else if ( nTimeCount=0 & nWork20 & nWork30 & nWork40 ) /if和条件语句用来 uLightStatusSN=( (nWork1%nWork3)=nWork4 )?(0x49):(0x40); /实现绿灯的闪烁break;case statusNSRedEWFlash:nWork1=nTimeCount-nStatusNSRedEWGreen;nWork2=nStatusNSRedEWYellow1-nStatusNSRedEW

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号