《2022年DSP交通灯综合控制.pdf》由会员分享,可在线阅读,更多相关《2022年DSP交通灯综合控制.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DSP交通灯综合控制DSP 原理及应用课程设计交通灯综合控制学院电气信息工程专业电子信息工程班级学号分 组 成 员指 导 教 师2013 年 6 月精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制目 录1引言 . 12课程设计的目标. 22、1 课程设计的背景 . 22、2 设计要求 . 22、3 设计思路简介 . 22、4 交通灯控制要求 . 32、5 交通灯模拟 . 32、6 计时 . 42、7 紧急情况 . 42、8
2、程序设计 . 43DSP定时器的算法原理 . . 63、1 CPU 定时器的原理 . 63、2 CPU 定时寄存器原理 . 64系统程序设计 . 74、1 流程图 . 74、2 试验程序 . 75心得体会 . 18精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制1引言随着计算机与信息技术的飞速发展数字信号处理技术得到迅速的发展。DSP (Digital Signal Processing) 就是一门涉及许多学科与领域的新兴学
3、科。数字信号处理就是一种通过数字信号处理器来处理现实信号的方法这些信号由数字序列表示。在过去的二十多年时间里数字信号处理已经在通信等领域得到极为广泛的应用。本次设计就是基于DSP 来实现交通灯的控制利用发光二级管来模拟交通信号利用数码管显示倒计时时间利用 TMS320VC5416DSP 片上定时器定时产生时钟计数来模拟实际生活中十字路口交通灯。关键词 :DSPTMS320VC5416;交通灯 ;发光二极管精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 20 页 - - - - - - - -
4、- - DSP交通灯综合控制2课程设计的目标2.1课程设计的背景DSP 就是一种将处理器的计算核心与一定的外部设备集成在一个单片芯片上而构成的类似于单片机的一种处理器芯片。不同于一般单片机的就是由于DSP 采用了特殊的总线结构与体系因此它在执行数字信号处理计算方面具有更高的性能。数字信号处理已经在通信、信号处理等领域得到极为广泛的应用。十字路口交通灯在我们的日常生活中随处可见它为繁忙的道路交通及人们的安全提供了较好的保障。 然而我们只知道交通灯在红、 黄、绿三色之间交替更换来控制人车流量去对其内部的工作原理及软硬件的设计了解很少因此要通过此次简单道路交通灯控制系统软硬件设计来进一步研究交通灯的
5、内部结构。最重要的就是将学习到的DSP 系统的组成与原理应用到交通灯的设计当中。通过DSP 技术及应用课程设计 ,就是学生能够将学到的DSP 系统的组成与原理用到具体的实际系统中,加深对 DSP系统的理解 ,就是将该门课程与实际问题相连接的关键步骤。 通过课程设计 ,能够提高学生分析问题 ,解决问题 ,从而运用所学知识解决实际问题的能力,并培养基本的、良好的软硬件射进能力。2.2设计要求利用 C 语言在 CCS环境中编写一个交通灯综合控制程序,并能通过硬件仿真对所编写的程序及其应用性、可行性进行验证。2.3设计思路简介在 TMS320C54x 系统开发环境 CCS(Code Composer
6、Studio)下对交通灯综合控制的实现原理进行讨论。通过实验仿真,可以在硬件实验箱上瞧到对交通灯的模拟控制。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制交通等综合控制的控制原理2.4交通灯控制要求利用 ICETEK-S60 实验箱提供的设备 ,设计模拟实际生活中十字路口交通灯控制的程序。要求如下 : - 交通灯分红黄绿三色 ,东、南、西、北各一组 ,用灯光信号实现对交通的控制:绿灯信号表示通行 ,黄灯表示警告 ,红灯禁止
7、通行 ,灯光闪烁表示信号即将改变。- 计时显示 :液晶屏幕上 88 点阵显示 0-9 计数。- 正常交通控制信号顺序 :正常交通灯信号自动变换 : 南北方向绿灯 ,东西红灯 (20 秒)。 南北方向绿灯闪烁。 南北方向黄灯。 南北方向红灯 ,东西方向黄灯。 东西方向绿灯 (20 秒)。 东西方向绿灯闪烁。 东西方向黄灯。 返回循环控制。- 紧急情况处理 :模仿紧急情况 (重要车队通过、急救车通过等 )发生时 ,交通警察手动控制 当任意方向通行剩余时间多于10 秒,将时间改成 10 秒。 正常变换到四面红灯 (20 秒)。 直接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态 )。2.5
8、交通灯模拟利用 ICETEK-CTR 上的一组发光二极管 (共 12 只,分为东西南北四组、 红黄绿三色 )的亮灭实现交通信号的模拟。发光二极管的控制方法可参见第二部分、第二章、二、2。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制2.6计时使用 TMS320VC5416DSP 片上定时器 ,定时产生时钟计数 ,再利用此计数对应具体时间。定时器控制及中断编程可参考实验3、3 程序。2.7紧急情况利用 ICETEK-CTR
9、上键盘产生外中断 ,中断正常信号顺序 ,模拟突发情况。外中断编程控制可参考实验3、4 程序。2.8程序设计根据设计要求 ,由于控制就是由不同的各种状态按顺序发生的,我们可以采用状态机制控制方法来解决此问题。这种方法就是:首先列举所有可能发生的状态;然后将这些状态编号 ,按顺序产生这些状态 ;状态延续的时间用程序控制。对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。时钟计数 :采用 250ms 一次中断进行累加计数。表格1 状态编号信号灯状态状态定义保持时间 (计数值 ,起始时间,结束时间 ) 计数显示1 南北绿灯 ,东西红灯statusNSGreenEWRed 20 秒(16
10、0,0,159) 20-0 2 南北绿灯闪烁 ,东西红灯statusNSFlashEWRed 6 秒(24,160,183) 0 3 南北黄灯 ,东西红灯statusNSYellowEWRed 4 秒(16,184,199) 20 4 南北红灯 ,东西黄灯statusNSRedEWYellow 4 秒(16,200,215) 20 5 南北红灯 ,东西绿灯statusNSRedEWGreen 20 秒(160,216,375) 20-1 6 南北红灯 ,东西绿灯闪烁statusNSRedEWFlash 6 秒(24,376,399) 0 7 南北红灯 ,东西黄灯statusNSRedEWYel
11、low 4 秒(16,400,415) 20 8 南北黄灯 ,东西红灯statusNSYellowEWRed 4 秒(16,416,431) 20 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制* 南北红灯 ,东西红灯StatusHold 20 秒(160,0,159) 20-1 其中,正常顺序每 112 秒(计数值 448)为一个循环 ,状态“ *”为非顺序状态。这样,只要根据计数值就可确定当前状态,根据状态再分情况处理
12、。对于计数显示 ,当处于状态1、5、*中时需要进行倒计时 ,需要计算在此状态中的计数值增量,根据增量判断就是否更新计数显示。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制3DSP 定时器的算法原理3.1CPU 定时器的原理本次设计主要用的就是F2812 器件上的3 个 32 位 CPU 定时器(TIMER0/1/2) 。 其中定时器 1与定时器 2预留给实时操作系统使用 (如 DSP-BIOS),只有定时器 0 用户可以在
13、应用程序中使用。定时器功能框图如下: 3.2CPU 定时寄存器原理定时器在工作过程中 ,首先把周期寄存器 (PRDH:PRD)的值装入 32 位计数寄存器。计数寄存器根据SYSCLKOUT 时钟递减计数。当计数寄存器等于0 时,定时器中断输出产生一个中断脉冲。(1)定时器计数寄存器 (TIMERxTIM 与 TIMERxTIMH) (2)定时器控制寄存器 (TIMERxTCR): 使能中断 ,定时功能 ; (3)定时器周期寄存器(TIMERxPRD): 符合条件则周期性重新装载并保存周期值(4)定时器预定标寄存器 (TIMERxTPR 与 TIMERxTPRH): 控制多久减 1。精品资料 -
14、 - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制4系统程序设计4.1流程图图 4-1 实验程序流程图设计总流程图4.2试验程序#include scancode 、h #define SPSA0 *(unsigned int *)0 x38 #define SPSD0 *(unsigned int *)0 x39 #define REGISTERCLKMD (*(unsigned int *)0 x58) #define TIM *(i
15、nt *)0 x24 #define PRD *(int *)0 x25 #define TCR *(int *)0 x26 #define IMR *(int *)0 x0 /IM R 中断屏蔽寄存器#define IFR *(int *)0 x1 /IFR 中断标志寄存器#define PMST *(int *)0 x1d /PMST 处理器模式状态寄存器 (地址 1dh) #define nStatusNSGreenEWRed 160 /状态 1 计数结束时间#define nStatusNSFlashEWRed 184 图 4-2 设计总流程图精品资料 - - - 欢迎下载 - - -
16、 - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制#define nStatusNSYellowEWRed 200 #define nStatusNSRedEWYellow 216 #define nStatusNSRedEWGreen 376 #define nStatusNSRedEWFlash 400 #define nStatusNSRedEWYellow1 416 #define nStatusNSYellowEWRed1 432 #define nTota
17、lTime 448 #define nStatusHold 160 #define statusNSGreenEWRed 0 #define statusNSFlashEWRed 1 #define statusNSYellowEWRed 2 #define statusNSRedEWYellow 3 #define statusNSRedEWGreen 4 #define statusNSRedEWFlash 5 #define statusHold 6 #define LCDDELAY 1 #define LCDCMDTURNON 0 x3f #define LCDCMDTURNOFF 0
18、 x3e #define LCDCMDSTARTLINE 0 xc0 #define LCDCMDPAGE 0 xb8 #define LCDCMDVERADDRESS 0 x40 ioport unsigned int port3004; / CTR 扩展寄存器定义ioport unsigned int port8000; ioport unsigned int port8001; /8001:读键盘扫描值 ,写液晶控制寄存器地址ioport unsigned int port8002; /8002:液晶控制寄存器地址ioport unsigned int port8003; /8003,8
19、004:液晶显示数据寄存器地址ioport unsigned int port8004; / ioport unsigned int port8005; /8005:发光二极管显示阵列控制寄存器地址ioport unsigned int port8007; /8007:发光二极管显示阵列控制寄存器地址#define CTRGR port8000 #define CTRLCDCMDR port8001 #define CTRKEY port8001 #define CTRCLKEY port8002 #define CTRLCDCR port8002 #define CTRLCDLCR port
20、8003 #define CTRLCDRCR port8004 #define CTRLA port8005 #define CTRLR port8007 void InitDSP(); /void 表示此函数为空类型 ,执行此函数后不产生函数值void InitTimer(); void InitICETEKCTR(); void interrupt time(void); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 20 页 - - - - - - - - - - DSP交通灯综合控
21、制void interrupt xint2(void); / XINT2 中断服务程序void SetLEDArray(int nNumber); / 修改显示内容void RefreshLEDArray(); / 刷新显示void EndICETEKCTR(); void TurnOnLCD(); void LCDCLS(); void Delay(unsigned int nDelay); unsigned int uWork,nTimeCount; unsigned int uLightStatusEW,uLightStatusSN; unsigned int bHold; unsign
22、ed char ledbuf8,ledx8; unsigned char led40= 0 x7E,0 x81,0 x81,0 x7E,0 x00,0 x02,0 xFF,0 x00, 0 xE2,0 x91,0 x91,0 x8E,0 x42,0 x89,0 x89,0 x76, 0 x38,0 x24,0 x22,0 xFF,0 x4F,0 x89,0 x89,0 x71, 0 x7E,0 x89,0 x89,0 x72,0 x01,0 xF1,0 x09,0 x07, 0 x76,0 x89,0 x89,0 x76,0 x4E,0 x91,0 x91,0 x7E ; unsigned c
23、har ledkey108= 0 x00,0 x00,0 x7C,0 x82,0 x82,0 x82,0 x7C,0 x00, /0 0 x00,0 x00,0 x00,0 x84,0 xFE,0 x80,0 x00,0 x00, /1 0 x00,0 x00,0 x84,0 xC2,0 xA2,0 x92,0 x8C,0 x00, /2 0 x00,0 x00,0 x44,0 x92,0 x92,0 x92,0 x6C,0 x00, 0 x00,0 x00,0 x30,0 x28,0 x24,0 xFE,0 x20,0 x00, 0 x00,0 x00,0 x4E,0 x92,0 x92,0
24、 x92,0 x62,0 x00, 0 x00,0 x00,0 x7C,0 x92,0 x92,0 x92,0 x64,0 x00, 0 x00,0 x00,0 x02,0 xC2,0 x32,0 x0A,0 x06,0 x00, 0 x00,0 x00,0 x6C,0 x92,0 x92,0 x92,0 x6C,0 x00, 0 x00,0 x00,0 x4C,0 x92,0 x92,0 x92,0 x7C,0 x00 ; main() int nWork1,nWork2,nWork3,nWork4,tKey; int nNowStatus,nOldStatus,nOldTimeCount,
25、nSaveTimeCount,nSaveStatus; unsigned int nScanCode; nTimeCount=0; bHold=0; uLightStatusEW=uLightStatusSN=0; nNowStatus=0; nOldStatus=1; nOldTimeCount=0; InitDSP(); / 初始化 DSP, 设置运行速度InitICETEKCTR(); / 初始化显示 /控制模块InitTimer(); / 设置定时器中断精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -
26、第 11 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制/ 根据计时器计数切换状态/ 根据状态设置计数与交通灯状态while ( 1 ) if ( bHold & nNowStatus=statusHold ) if ( nTimeCount=nStatusHold ) nNowStatus=nSaveStatus; nTimeCount=nSaveTimeCount; bHold=0; else if ( nTimeCountnStatusNSGreenEWRed ) nNowStatus=statusNSGreenEWRed; else if ( nTime
27、CountnStatusNSFlashEWRed ) nNowStatus=statusNSFlashEWRed; else if ( nTimeCountnStatusNSYellowEWRed ) nNowStatus=statusNSYellowEWRed; else if ( nTimeCountnStatusNSRedEWYellow ) nNowStatus=statusNSRedEWYellow; else if ( nTimeCountnStatusNSRedEWGreen ) nNowStatus=statusNSRedEWGreen; else if ( nTimeCoun
28、tnStatusNSRedEWFlash ) nNowStatus=statusNSRedEWFlash; else if ( nTimeCountnStatusNSRedEWYellow1 ) nNowStatus=statusNSRedEWYellow; else if ( nTimeCount=0 & nWork20 & nWork30 & nWork40 ) uLightStatusSN=( (nWork1%nWork3)=0 & nWork20 & nWork30 & nWork40 ) uLightStatusEW=( (nWork1%nWork3)0 ) nWork2=20-nT
29、imeCount/nWork1; if ( bHold ) if ( nWork210 ) nTimeCount=nWork1*10; nWork2=10; if ( nOldTimeCount!=nWork2 ) nOldTimeCount=nWork2; SetLEDArray(nWork2); break; case statusNSRedEWGreen: nWork1=(nStatusNSRedEWGreen-nStatusNSRedEWYellow)/20; if ( nWork10 ) nWork2=20-(nTimeCount-nStatusNSRedEWYellow)/nWor
30、k1; if ( bHold ) if ( nWork210 ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制 nTimeCount=nStatusNSRedEWYellow+nWork1*10; nWork2=10; if ( nOldTimeCount!=nWork2 ) nOldTimeCount=nWork2; SetLEDArray(nWork2); break; case statusHold: nWork
31、1=nStatusHold/20; if ( nWork10 ) nWork2=20-nTimeCount/nWork1; if ( nOldTimeCount!=nWork2 ) nOldTimeCount=nWork2; SetLEDArray(nWork2); break; else if ( bHold ) nSaveStatus=nNowStatus; nSaveTimeCount=nTimeCount; nNowStatus=statusHold; nTimeCount=0; if ( nSaveStatus=statusNSFlashEWRed | nSaveStatus=sta
32、tusNSYellowEWRed ) nSaveStatus=statusNSRedEWGreen; nSaveTimeCount=nStatusNSRedEWYellow; else if ( nSaveStatus=statusNSRedEWFlash | nSaveStatus=statusNSRedEWYellow ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制 nSaveStatus=statusNSGre
33、enEWRed; nSaveTimeCount=0; nOldStatus=nNowStatus; switch ( nNowStatus ) case statusNSGreenEWRed: uLightStatusEW=0 x24; uLightStatusSN=0 x49; SetLEDArray(20); break; case statusNSFlashEWRed: uLightStatusEW=0 x24; uLightStatusSN=0 x49; SetLEDArray(0); break; case statusNSYellowEWRed: uLightStatusEW=0
34、x24; uLightStatusSN=0 x52; SetLEDArray(20); break; case statusNSRedEWYellow: uLightStatusEW=0 x12; uLightStatusSN=0 x64; SetLEDArray(20); break; case statusNSRedEWGreen: uLightStatusEW=0 x09; uLightStatusSN=0 x64; SetLEDArray(20); break; case statusNSRedEWFlash: uLightStatusEW=0 x09; uLightStatusSN=
35、0 x64; SetLEDArray(0); break; case statusHold: uLightStatusEW=0 x24; uLightStatusSN=0 x64; SetLEDArray(20); break; CTRLR=uLightStatusEW; CTRLR=uLightStatusSN; / 设置交通灯状态RefreshLEDArray(); / 刷新发光二极管显示nScanCode=port8001; / 读键盘扫描码nScanCode&=0 x0ff; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - -
36、 - - - - - -第 15 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制tKey=CTRCLKEY; if ( nScanCode=SCANCODE_9 ) break; EndICETEKCTR(); exit(0); / 定时器中断服务程序 ,进行时钟计数void interrupt time(void) nTimeCount+; nTimeCount%=nTotalTime; / 设置发光二极管显示内容void SetLEDArray(int nNumber) int i,ShowNumber; ShowNumber=nNumber/2; if(S
37、howNumber9) ShowNumber=0; CTRLCDCMDR=LCDCMDPAGE; / 设置操作页 =0 Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDVERADDRESS; / 起始列 =0 Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); for ( i=0;i8;i+ ) CTRLCDLCR=ledkeyShowNumberi; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); / 将缓存中点阵送发光二极管显示v
38、oid RefreshLEDArray() int i; for ( i=0;i8;i+ ) CTRGR=ledxi; CTRLA=ledbufi; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制 / 初始化 DSP, 设置运行速度 =8MHz void InitDSP() REGISTERCLKMD=0; / 复位 PLL REGISTERCLKMD=0 x1007; / 速度设置 =16MHz / 设置定时器参数、允
39、许中断void InitTimer() unsigned int k; asm( ssbx INTM); / 关中断 ,进行关键设置时不许打扰/ 设置通用定时器k=PMST; / 设置 PMST 寄存器PMST =k&0 xff; / 中断向量表起始地址 =80H IMR = 0 x0c; / 使能 TINT TCR = 0 x41f; / 预分频系数为 16 TIM = 0; / 时钟计数器清 0 PRD = 0 x0f423; / 周期寄存器为 0ffH TCR = 0 x42f; / 复位、启动IFR = 0 x0c; / 清中断标志位port3004=0; / 使能 XINT2 asm
40、( rsbx INTM); / 开中断 / 初始化 ICETEK-CTR 板上设备void InitICETEKCTR() int k; CTRGR=0; / 初始化 ICETEK-CTR CTRGR=0 x80; CTRGR=0; CTRLR=0; / 关闭东西方向的交通灯CTRLR=0 x40; / 关闭南北方向的交通灯CTRLR=0 x0c1; / 开启发光二极管显示阵列CTRLR=0 xc8; /使能外部中断for ( k=0;k8;k+ ) ledbufk=0 x0ff; / 显示为空白ledxk=(k4); / 生成显示列控制字 k=CTRCLKEY; / 清除键盘缓冲区TurnO
41、nLCD(); / 打开显示LCDCLS(); / 清除显示内存精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制CTRLCDCMDR=LCDCMDSTARTLINE; / 设置显示起始行CTRLCDCR=0; void interrupt xint2(void) / XINT2 中断服务程序 bHold=1; void EndICETEKCTR() int k; CTRLR=0; / 关闭东西方向的交通灯CTRLR=0 x
42、40; / 关闭南北方向的交通灯CTRLR=0 x0c0; / 关闭发光二极管显示阵列k=CTRCLKEY; / 清除键盘缓冲区 void TurnOnLCD() CTRLCDCMDR=LCDCMDTURNON; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDSTARTLINE; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); void LCDCLS() int i,j; CTRLCDCMDR=LCDCMDSTARTLINE; Delay(LCDDELAY); CTRLC
43、DCR=0; Delay(LCDDELAY); for ( i=0;i8;i+ ) CTRLCDCMDR=LCDCMDPAGE+i; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDVERADDRESS; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制f
44、or ( j=0;j64;j+ ) CTRLCDLCR=0; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDPAGE+i; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDVERADDRESS; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY); for ( j=0;j64;j+ ) CTRLCDRCR=0; Delay(LCDDELAY); CTRLCDCR=0; Delay(LCDDELAY);
45、 void Delay(unsigned int nDelay) int ii,jj,kk=0; for ( ii=0;iinDelay;ii+ ) for ( jj=0;jj1024;jj+ ) kk+; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 20 页 - - - - - - - - - - DSP交通灯综合控制5心得体会这次 DSP 课程设计前前后后一共用了一周左右的时间,期间也遇到了很多的困难,主要就是对 DSP的中断不够熟悉 ,以及对课上老师讲过的知识点的掌握还不够深刻 ,所幸通过查阅大量的资料,以及同老师同学的讨论,最终问题得以顺利解决,收获颇丰 ,有一种柳暗花明的感觉。 同时,通过这次仿真 ,更加深刻的了解了DSP开发的软硬件平台 :CCS 及其硬件试验箱 ,使我基本上了解了DSP 系统软件开发的基本过程 ,这也就是本次课程设计收获最大的地方。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 20 页 - - - - - - - - - -
限制150内