*SCSR1=0x81fe; /* 设置DSP运行频率40m */
(*MCRB)=0;
port8000=0; // 初始化ICETEK-CTR
port8000=0x80;
port8000=0;
port8007=0; // 关闭东西方向的交通灯
port8007=0x40; // 关闭南北方向的交通灯
哈尔滨工业大学——DSP 原理与应用实验指导书
III-35
port8007=0x0c1;
for ( nCount=0;nCount<8;nCount++ )
{
ledbuf[nCount]=0x0ff; // 显示为空白
ledx[nCount]=(nCount<<4); // 生成显示列控制字
}
RefreshLEDArray();
nCount=0;
for (;;)
{
SetLEDArray(nCount);
Delay(256);
nCount++;
nCount%=10;
}
}
void Delay(unsigned int nDelay)
{
int ii,jj,kk=0;
for ( ii=0;ii<nDelay;ii++ )
{
for ( jj=0;jj<64;jj++ )
{
RefreshLEDArray();
kk++;
}
}
}
哈尔滨工业大学——DSP 原理与应用实验指导书
III-36
void RefreshLEDArray()
{
int i;
for ( i=0;i<8;i++ )
{
port8000=ledx[i];
port8005=ledbuf[i];
}
}
void SetLEDArray(int nNumber)
{
int i;
for ( i=0;i<8;i++ )
ledbuf[i]=~ledkey[nNumber][7-i];
}
五,实验步骤
1,实验准备
⑴.连接设备
① 关闭计算机和实验箱电源;如使用 PP 型则用附带的并口连线连接计算机并口和相应接口;
② 检查 ICETEK-LF2407-A 板上 JP6 的位置,应连接在 1-2 位置(靠近
DSP芯片端),即设置DSP工作在MP方式;
③ 关闭实验箱上三个开关;
⑵.开启设备
① 打开计算机电源;
② 打开实验箱电源开关,ICETEK-CTR板上J2、J3灯亮;
③ 打开 ICETEK-LF2407-A 板上电源开关,注意板上指示灯 DS1 灭、DS2
和DS3亮;
④ 如使用 USB 型用附带的 USB 电缆连接计算机和相应接口,注意上两个指示灯均亮。
⑶.设置Code Composer Studio为Emulator方式
哈尔滨工业大学——DSP 原理与应用实验指导书
III-37
⑷.启动Code Composer Studio
2,打开工程并浏览程序,工程目录为D:\2407EDULab\Lab12-LedArray
3,编译并下载程序
4,运行程序,观察结果
如果显示出现乱码,可退出CCS后关闭实验箱,再打开重新做一次。
5,停止程序运行并退出
六,实验结果与分析
实验结果:可以观察到发光二极管阵列显示从0到9的计数。
分析:本程序使用循环延时的方法,如果想实 现较为精确的定时,可使用通用计时器,在通用计时器中断中取得延时,改变显示内容。另外本程序中 DSP 一直在做刷新显示的工作,如果使用通用计时器定时刷新显示,将能减少 DSP 用于显示的操作。适当更新显示可取得效果。
七,问题与思考
试设计用定时器定时刷新的程序,并显示秒计数的最低位。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-88.html
这恰恰证明了现在太多的人太浮躁
发射DF21D和26