我把工程烧进2812后 液晶屏只会亮不会显示东西 下面是我的程序 我不清楚哪里出了差错 想请教下各位(串并行选择端已经接地强行置0)
#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"
unsigned char disp[]={"ABCD"};
#define CS GpioDataRegs.GPBDAT.bit.GPIOB3
#define SID GpioDataRegs.GPBDAT.bit.GPIOB4
#define SCLK GpioDataRegs.GPBDAT.bit.GPIOB5
void senddata (unsigned char sdata)
{
unsigned int i;
for(i=0;i<8;i++)
{
if((sdata<
{
SID = 1;
}
else
{
SID = 0;
}
SCLK = 0;
SCLK =1;
}
}
void write_com(unsigned char cmdcode)
{
CS = 1;
senddata(0xf8); //写指令信号
senddata(cmdcode &0xf0); //发送高四位
senddata((cmdcode<<4)&0xf0); //发送第四位
}
void write_data(unsigned char dispdata)
{
CS = 1;
senddata(0xfa); //写数据指令
senddata(dispdata&0xf0); //发送高四位
senddata((dispdata<<4)&0xf0); //发送第四位
}
void lcdinit()
{
write_com(0x30); //设置8位数据接口,基本指令模式
write_com(0x0c); //整体显示开,反白关,游标关
write_com(0x02); //清除DDRAM
write_com(0x01); //写入空格清除屏幕
}
void display()
{
int i;
for(i=0;i<4;i++)
{
write_data(disp[i]);
}
}
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/* 关中断 */
DINT;
IER = 0x0000;
IFR = 0x0000;
/* 初始化PIE控制寄存器 */
InitPieCtrl();
/* 初始化PIE参数表 */
InitPieVectTable();
/* 初始化外设寄存器 */
InitGpio();
lcdinit(); //初始化液晶
/*设置CPU*/
EINT; // 开全局中断
ERTM; // 开实时中断
while(1)
{
display();
}
}
0