哈尔滨 工业 大 学—— DSP 原 理与应 用实 验 指导书
III- 32
PWM1
PWM2
PWM3
PWM4
1ms
8ms
哈尔滨工业大学——DSP 原理与应用实验指导书
III-33
实验七 外设控制实验—发光二极管阵列显示实验
一,实验目的
通过实验学习使用 2407A DSP 的扩展 I/O 端口控制设备的方法,了解发光二极管阵列的控制编程方法。
二,实验设备
计算机,ICETEK-LF2407-EDU实验箱。
三,实验原理
ICETEK-LF2407-A 是一块以 TMS320LF2407ADSP 为核心的 DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种设备。
发光二极管显示阵列的显示是由I/O扩展端口控制,DSP须将显示的图形按列的顺序存储起来(88 点阵,8 个字节,高位在下方,低位在上方),然后定时刷新控制显示。具体方法是,将以下控制字按先后顺序、每两个为一组发送到端口0x8005,
发送完毕后,隔不太长的时间(以人眼观察不闪烁的时间间隔)再发送一遍。由于位值为“0”时点亮,所以需要将显示的数据取反。
0x01,第8列数据取反,0x02,第7列数据取反,
0x04,第6列数据取反,0x08,第5列数据取反,
0x10,第4列数据取反,0x20,第3列数据取反,
0x40,第2列数据取反,0x80,第1列数据取反,
四,实验程序
#include "2407c.h"
ioport unsigned int port8000;
ioport unsigned int port8005;
ioport unsigned int port8007;
void Delay(unsigned int nTime); // 延时子程序
void RefreshLEDArray(); // 刷新显示
void SetLEDArray(int nNumber); // 修改显示内容
unsigned char ledbuf[8],ledx[8];
unsigned char ledkey[10][8]=
{
哈尔滨工业大学——DSP 原理与应用实验指导书
III-34
{0x00,0x00,0x7C,0x82,0x82,0x82,0x7C,0x00},//0
{0x00,0x00,0x00,0x84,0xFE,0x80,0x00,0x00},//1
{0x00,0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00},//2
{0x00,0x00,0x44,0x92,0x92,0x92,0x6C,0x00},
{0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00},
{0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00},
{0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00},
{0x00,0x00,0x02,0xC2,0x32,0x0A,0x06,0x00},
{0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0x00},
{0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00}
};
main()
{
int nCount;
asm(" setc INTM"); /* 关中断,进行关键设置时不允许发生中断,以免干扰 */
*WDCR=0x6f;
*WDKEY=0x5555;
*WDKEY=0xaaaa; /* 关闭看门狗中断 */
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-87.html
o
全部击溃