我的DSP程序是这样编的 与单片机的差不多
#include"DSP28x_project.h"
#define en GpioDataRegs.GPADAT.bit.GPIO4
#define wr GpioDataRegs.GPADAT.bit.GPIO3
#define rs GpioDataRegs.GPADAT.bit.GPIO0
#define D0 GpioDataRegs.GPADAT.bit.GPIO6
#define D1 GpioDataRegs.GPADAT.bit.GPIO7
#define D2 GpioDataRegs.GPADAT.bit.GPIO8
#define D3 GpioDataRegs.GPADAT.bit.GPIO9
#define D4 GpioDataRegs.GPADAT.bit.GPIO10
#define D5 GpioDataRegs.GPADAT.bit.GPIO11
#define D6 GpioDataRegs.GPADAT.bit.GPIO12
#define D7 GpioDataRegs.GPADAT.bit.GPIO13
// void InitGpio(void);
void dely(Uint16 m);
//void Data_to_DB8(unsigned int data);
void write_kong(unsigned char com);
void write_shu(unsigned char shu);
unsigned char table[]="I Like MCU!";
unsigned char table1[]="Zhao chun mei!";
Uint16 num,num1,count,count1;
void main(void)
{
InitSysCtrl();
// InitGpio();
EALLOW;
GpioCtrlRegs.GPAMUX1.all=0x0000;
// GpioCtrlRegs.GPADIR.all=0x3fd8;
GpioCtrlRegs.GPADIR.bit.GPIO0=1;
GpioCtrlRegs.GPADIR.bit.GPIO3=1;
GpioCtrlRegs.GPADIR.bit.GPIO4=1;
GpioCtrlRegs.GPADIR.bit.GPIO6=1;
GpioCtrlRegs.GPADIR.bit.GPIO7=1;
GpioCtrlRegs.GPADIR.bit.GPIO8=1;
GpioCtrlRegs.GPADIR.bit.GPIO9=1;
GpioCtrlRegs.GPADIR.bit.GPIO10=1;
GpioCtrlRegs.GPADIR.bit.GPIO11=1;
GpioCtrlRegs.GPADIR.bit.GPIO12=1;
GpioCtrlRegs.GPADIR.bit.GPIO13=1;
EDIS;
DINT;
InitPieCtrl();
IER=0x0000;
IFR=0x0000;
InitPieVectTable();
en=0;
write_kong(0x38); //8位数字接口 两行显示 5*7点阵
write_kong(0x0f); //显示开关控制 光标闪烁
write_kong(0x06); //输入方式 读写操作后 光标 画面平移
write_kong(0x01); //清屏
write_kong(0x80);
for(num=0;num<11;num++)
{
write_shu(table[num]);
dely(1200);
}
// write_kong(0x01);
write_kong(0x80+0x41 );
for(num1=0;num1<14;num1++)
{
write_shu(table1[num1]);
dely(1200);
}
while(1);
}
void write_kong(unsigned char com)
{
dely(12);
en=0;
wr=0;
rs=0;
// Data_to_DB8(com);
D0=com&0x0001;
D1=(com>>1)&0x0001;
D2=(com>>2)&0x0001;
D3=(com>>3)&0x0001;
D4=(com>>4)&0x0001;
D5=(com>>5)&0x0001;
D6=(com>>6)&0x0001;
D7=(com>7)&0x0001;
dely(12);
en=1;
dely(12);
en=0;
count++;
}
void write_shu(unsigned char shu)
{
dely(12);
en=0;
wr=0;
rs=1;
// Data_to_DB8(shu);
D0=shu&0x0001;
D1=(shu>>1)&0x0001;
D2=(shu>>2)&0x0001;
D3=(shu>>3)&0x0001;
D4=(shu>>4)&0x0001;
D5=(shu>>5)&0x0001;
D6=(shu>>6)&0x0001;
D7=(shu>7)&0x0001;
dely(12);
en=1;
dely(12);
en=0;
rs=0;
count1++;
}
void dely(Uint16 m)
{
Uint16 mm;
while(m--)
for(mm=0;mm<100;mm++);
}
|