导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→Sed1335的程序设计,花了二十天一个'A'字都没写上去,[云中孤鹤]

 *第16906篇: Sed1335的程序设计,花了二十天一个'A'字都没写上去,请哪位大侠指点一下:

  
楼 主:云中孤鹤 2003年10月20日09:04
 Sed1335的程序设计,花了二十天一个'A'字都没写上去,请哪位大侠指点一下:
LCM上的WR,RD,CS,A0及D0 ~ D7十二个引脚连接方式如下:CS地址是C003H,RD/WR
通过373由P0.1/P0.2控制,A0端通过373由P0.0控制.D0~D7通过245与P0口相连,
Write command地址是C003H, Write Data地址是C002H!LCD是320*240的.
我的程序如下:

#include   <reg52.h>  
#include   <absacc.h>  
#define Uchar unsigned char
#define Uint  unsigned int
#define LCMCMDPORT   XBYTE[0xc002]
#define LCMDATAPORT  XBYTE[0xc003]
Uchar code ParaSysTable8[]= {0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00};
#define SystemSet   0x40
#define Scroll  0x44  
#define BasePart1 0x00
#define BasePart2 0x40
#define BasePart3 0x80
#define BasePart4 0x00
#define SleepIn  0x53
#define DispOn  0x59
#define DispOff  0x58
#define Ovlay  0x5b
#define HdotScr  0x5a
#define CsrForm     0x5d
#define CgramAdr 0x5c
#define CsrDirR  0x4c
#define CsrDirL  0x4d
#define CsrDirU  0x4e
#define CsrDirD  0x4f
#define CsrW  0x46
#define CsrR  0x47
#define mWrite  0x42
#define mRead  0x43


Uchar code ParaScrTableA[]= {
  0x00,BasePart1,0xF0,0x00,BasePart2,0xF0,0x00,BasePart3,0x00,BasePart4};
void LcmInition();
void WriteCommand(Uchar CommandByte);
void WriteData( Uchar dataW );
void LcmClear();

void main()
{
TMOD = 0x01;
TH0 = 0x0;
TL0 = 0x0;
TR0 =1;
TF0 =0;
while (!TF0);
LcmInition();
}


void LcmInition()
{
Uchar data i1;
WriteCommand(SystemSet);
for (i1=0; i1  <8; i1++)
{
WriteData(ParaSysTable8[i1]);
}
WriteCommand(Scroll);
for (i1=0;i1  <10;i1++)
{
WriteData(ParaScrTableA[i1]);
}
WriteCommand( HdotScr );  
WriteData( 0 );  
WriteCommand( Ovlay );  
WriteData(01);  
WriteCommand( DispOff );  
WriteData( 0x56 );
LcmClear();
WriteCommand(CsrW);
WriteData(0);
WriteData(0);
WriteCommand(CsrForm);
WriteData(0x04);
WriteData(0x86);
WriteCommand(DispOn);
WriteCommand(CsrDirR);
WriteCommand(mWrite);
WriteData(0);
WriteData(0x41);    //写"A"字
}


void WriteCommand( Uchar CommandByte)
{
LCMCMDPORT = CommandByte;
}

void WriteData( Uchar dataW)
{
LCMDATAPORT = dataW;
}

void LcmClear()
{
Uint i1=32768;
WriteCommand( CsrDirR );    
WriteCommand( CsrW );    
WriteData( 0 );     
WriteData( 0 );     
WriteCommand(mWrite );   
while(i1--) {
WriteData( 0x0 ); 
}
}
到底是哪儿有问题呢?


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:关于RTX51

[下一篇主题]:关于PID自整定程序