Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 09.11.2010, 09:34  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,896
Сказал спасибо: 469
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Библиотека SSD1289

Здравствуйте уважаемые!!!
Помогите запустить дисплейчик, ниже код тестовой программы для LPC2368.
PHP код:
#include ‹LPC23xx.H›


#define   FCPU    72000000

#define NULL    ((void *)0)
#define FALSE   (0)
#define TRUE    (1)



#define    SKY          0x5d1c 
#define    BLACK        0x0000
#define    WHITE        0xFFFF
#define    GREEN        0x07E0
#define    BLUE         0x001F
#define    RED          0xF800
#define    YELLOW       0xffe0 
#define    MAGENTA      0xf81f
#define    CYAN         0x07ff
#define    ORANGE       0xfca0 
#define    PINK         0xF97F
#define    BROWN        0x8200
#define    GREY         0x8410
#define    VIOLET       0x9199
#define    SILVER       0xa510
#define    GOLD         0xa508
#define    BEGH         0xf77b
#define    NAVY            0x000F      
#define    DARK_GREEN    0x03E0      
#define    DARK_CYAN    0x03EF      
#define    MAROON        0x7800      
#define    PURPLE        0x780F      
#define    OLIVE        0x7BE0      
#define    LIGHT_GREY    0xC618      
#define    DARK_GREY    0x7BEF


#define CS   (1‹‹16)
#define RS   (1‹‹17)
#define RD   (1‹‹19)
#define WR   (1‹‹18)
#define RES  (1‹‹20)


typedef unsigned char  BYTE;
typedef unsigned short WORD;
typedef unsigned long  DWORD;
typedef unsigned int   BOOL;


void delay_ms(unsigned int ms);
void delay_us(unsigned int us);
void PortInit(void);
void WrCmd(BYTE cmd);
void WrDat(WORD data);
void SetReg(BYTE indexWORD value);
void LcdInit(void);
void SetAddress(WORD addr1BYTE addr0);
void FillScreen(WORD color);
void SetWindow(BYTE HstartBYTE HendWORD VstartWORD Vend);
void lcd_pset(WORD xBYTE yWORD color);
void Load_image(WORD x1BYTE y1, const unsigned  char  m[]);
void lcd_circ(short xcenterchar ycenterchar radint color);
void lcd_line(short x1,char y1,short x2,char y2,int color);
void lcd_rect(short xchar yshort x1char y1,int color);
void lcd_fillrect(short xchar yshort x1char y1,int color);
void print_str(unsigned short x1unsigned char y1unsigned short int textcolorunsigned short int backcolorunsigned char  txt[]);



const  
char  ascii_tab1[][12];
unsigned char  CHAR_H 12CHAR_W 8;



void delay_ms(unsigned int ms)
{
 
unsigned long tmp = (FCPU 4500)*ms;
 while(
tmp--);
}

void delay_us(unsigned int us)
{
 
unsigned long tmp = (FCPU 4500000)*us;
 while(
tmp)
 
tmp--;
}



void PortInit(void)    
{
SCS 1;                     //??????????????????????????           
FIO1SET |= 0x07000003;   //???????????
FIO1DIR |= 0x07FFFF03;   //???????????
}


void WrCmd(BYTE cmd)           //для 16 битной шины
{
    
FIO1CLR  |= CS;
    
FIO1CLR  |= RS;
    
FIO1MASK  0xff0000ff;      //??????????????? 
    
FIO1PIN  = (long)(cmd‹‹8);  //????????????
    
FIO1MASK  0;
    
FIO1CLR  |= WR;
    
FIO1SET  |= WR;
    
FIO1SET  |= CS;
}

void WrDat(WORD data)            //для 16 битной шины
{   
    
FIO1CLR  |= CS;
    
FIO1SET  |= RS;
    
FIO1MASK  0xff0000ff;     //???????????????????????? 
    
FIO1PIN  = (long)(data‹‹8);  //????????????????????
    
FIO1MASK  0;
    
FIO1CLR  |= WR;
    
FIO1SET  |= WR;
    
FIO1SET  |= CS;
}

void  SetReg(BYTE indexWORD value)
{
    
WrCmd(index);
    
WrDat(value);
}

void LcdInit(void)
{
 
PortInit();
    
FIO1CLR |= RES;
    
delay_ms(10);
    
FIO1SET |= RES;
    
    
SetReg(0x00,0x0001);
    
delay_ms(10);
    
    
SetReg(0x07,0x0000);            //display control(1)
    
delay_ms(10);    

    
/*** Display Setting ***/    
    
SetReg(0x010x6B3f);            //Driver output control (1)   233f
    
SetReg(0x020x0600);            //LCD driving control
    
SetReg(0x030xA8A6);             //Entry mode

    /*** Power Control ***/
    
SetReg(0x070x0033);           
    
SetReg(0x110x6838);            
    
SetReg(0x0C0x0005);
    
SetReg(0x0D0x300B);
    
SetReg(0x0E0x2000);    
    
SetReg(0x100x0000);
      
SetReg(0x1E0x00A8);
                                    
    
delay_ms(20);
}

void SetAddress(WORD addr1BYTE addr0)
{
    
WrCmd(0x4E);
    
WrDat(addr0);
    
WrCmd(0x4f);
    
WrDat(addr1);
    
WrCmd(0x22);
}

void FillScreen(WORD color)
{
    
long counter;

    
SetAddress(0,0);
    for(
counter=0counter‹(320*240); counter++)
    {
        
WrDat(color);
    }
}

void SetWindow(BYTE HstartBYTE HendWORD VstartWORD Vend)    
  { 
    
WrCmd(0x44);
    
WrDat((WORD)(Hend‹‹8)|Hstart);
    
WrCmd(0x45);
    
WrDat(Vstart);
    
WrCmd(0x46);
    
WrDat(Vend);
  }

void lcd_pset(WORD xBYTE yWORD color)
{
 
SetAddress(x,y);

   
WrDat(color);
}

//==================================================  ============================

void Load_image(WORD x1BYTE y1, const unsigned  char  m[])
 {
  
WORD i 2;
  
BYTE y;
  
WORD x;
      
 for ( 
y=y1y!=y1+m[1];y++)  
  {
  for ( 
x=x1x!=m[0]+x1;x++)
   { 
     
      
lcd_psetx,  y, (m[i]‹‹8)|(m[i+1]));
      
i+=2;
      
   }
  }          
 }

//**************************************************  ************************************************
void lcd_circ(short xcenterchar ycenterchar radint color)
{
  
signed short tswitchy1x1 0;
  
char d;

  
ycenter xcenter;
  
y1 rad;
  
tswitch rad;
  while (
x1 ‹= y1
  {
    
lcd_pset(xcenter x1ycenter y1color); 
    
lcd_pset(xcenter x1ycenter y1color);
    
lcd_pset(xcenter x1ycenter y1color);   
    
lcd_pset(xcenter x1ycenter y1color);
    
lcd_pset(ycenter y1 dycenter x1color); 
    
lcd_pset(ycenter y1 dycenter x1color);
    
lcd_pset(ycenter y1 dycenter x1color);
    
lcd_pset(ycenter y1 dycenter x1color);

    if (
tswitch ‹ 0tswitch += (x1 6);
    else 
    {
      
tswitch += (* (x1 y1) + 10);
      
y1--;
    }
    
x1++;
  }
}

//**************************************************  ************************************************           
         
 
void lcd_line(short x1,char y1,short x2,char y2,int color)


signed short  x,y,d,dx,dy,i,i1,i2,kx,ky;
signed char  flag;

dx x2 x1;
dy y2 y1;
if (
dx == && dy == 0lcd_pset(x1y1color);
else
{
kx 1;
ky 1;
if( 
dx ‹ )

dx = -dx
kx = -1
}
else
if(
dx == 0kx 0;
if(
dy ‹ 0)

dy = -dy
ky = -1
}
if(
dx ‹ dy)

flag 0
dx
dx dy
dy d
}
else 
flag 1;
i1 dy dy
i1 dx
i2 dx;
x1
y1;

for(
i=0‹ dxi++)
{
lcd_pset(xycolor);
if(
flag+= kx;
else 
+= ky;
if( 
‹ += i1;
else
{
+= i2;
if(
flag+= ky;
else 
+= kx;
}
}
lcd_pset(xycolor);
}
}
//**************************************************  ***** Прямоугольник *******************************
void lcd_rect(short xchar yshort x1char y1,int color)  
{
lcd_line (x,y,x,y1,color);
lcd_line (x,y,x1,y,color);
lcd_line (x,y1,x1,y1,color);
lcd_line (x1,y,x1,y1,color); 
}

//**************************************************  ***** Pакрашенный прямоугольник *****************************
void lcd_fillrect(short xchar yshort x1char y1,int color)                 
{
 
char i;
 for (
i=yi‹=y1i++) lcd_line(x,i,x1,i,color);
}

//++++++++++++++++++++++++++++++++++++++++++++++++++  ++++++++++++++++++++++++++++++++++++
//==================================================  ===========================
void print_str(unsigned short x1unsigned char y1unsigned short int textcolorunsigned short int backcolorunsigned char  txt[])                     
{
unsigned char i=0,y=0,c,h,ch,p,mask;
unsigned short  x=0;
   
  
next:   
  while (
txt[i]!=0)
  {
  
txt[i];
   
i++;
  if(
c==0x0A)
   {
y1+=CHAR_H;x1=0;goto next;}
  if(
x311)
   {
y1+=CHAR_H;x1=0;}
   
y1;
   
x1;
   
x1+= CHAR_W;
  
  if(
c0x80)
    
c-=0x40;
             
    for (
h=0hCHAR_Hh++) // every column of the character
         
{
            
//if(Font==0)
             //{ 
              //  ch=ascii_tab[ c-32 ][CHAR_H-h-1];    
              //  mask=0x80;
             //}   
            //else   
             
             //{ 
                
ch=ascii_tab1c-32 ][h];    
                
mask=0x80;
             
//}   
                              
                   
for (p=0pCHAR_Wp++)  // write the pixels      
                   
{
                        if (
ch&mask)
                        {
                          
lcd_pset(x+pytextcolor);
                                          
                        }
                        else
                        {
                          
lcd_pset(x+pybackcolor);
                        }
                        
mask=mask/2;
                   }
                        
y++;
           }
          
        }
   
//lcd_pozition[0]=x/CHAR_W;lcd_pozition[1]=(124-y1)/CHAR_H;     
}


int main(void//Тест
{
LcdInit();
lcd_rect(43166274233BLACK);
}


 const  
char  ascii_tab1[][12]  = {
    
0x000x000x000x000x000x000x000x000x000x000x000x00
    
0x000x000x180x3C0x3C0x3C0x3C0x180x180x000x180x00//!
    
0x000x000x000x660x660x240x000x000x000x000x000x00
    
0x000x000x000x360x360x7F0x360x7F0x360x360x000x00
    
0x000x000x000x180x3E0x600x3C0x060x7C0x180x000x00
    
0x000x000x000x000xC60xCC0x180x300x660xC60x000x00
    
0x000x000x000x1C0x360x1C0x3B0x6E0x660x3B0x000x00
    
0x000x000x000x180x180x300x000x000x000x000x000x00
    
0x000x000x0C0x180x300x300x300x300x300x180x0C0x00
    
0x000x000x300x180x0C0x0C0x0C0x0C0x0C0x180x300x00
    
0x000x000x000x000x660x3C0x7E0x3C0x660x000x000x00
    
0x000x000x000x180x180x7E0x7E0x180x180x000x000x00
    
0x000x000x000x000x000x000x000x000x000x180x180x30
    
0x000x000x000x000x000x7E0x7E0x000x000x000x000x00
    
0x000x000x000x000x000x000x000x000x000x180x180x00
    
0x000x000x000x030x060x0C0x180x300x600x400x000x00
    
0x000x000x3E0x630x630x670x6F0x7B0x730x630x3E0x00//0
    
0x000x000x180x380x780x180x180x180x180x180x7E0x00
    
0x000x000x3E0x7F0x630x030x060x0C0x180x330x7F0x00
    
0x000x000x3E0x630x030x030x1E0x030x030x630x3E0x00
    
0x000x000x0E0x1E0x360x660x460x7F0x060x060x0F0x00
    
0x000x000x7F0x7F0x600x600x7E0x030x030x630x7E0x00
    
0x000x000x3E0x610x600x600x7E0x630x630x630x3E0x00
    
0x000x000x3F0x330x030x030x070x0E0x0C0x0C0x0C0x00
    
0x000x000x3E0x630x630x630x3E0x630x630x630x3E0x00
    
0x000x000x3E0x630x630x630x630x3F0x030x060x3C0x00//9
    
0x000x000x000x180x180x000x000x000x180x180x000x00
    
0x000x000x000x180x180x000x000x000x180x180x300x00
    
0x000x000x000x060x0C0x180x300x180x0C0x060x000x00
    
0x000x000x000x000x7E0x7E0x000x7E0x7E0x000x000x00
    
0x000x000x000x300x180x0C0x060x0C0x180x300x000x00
    
0x000x000x3E0x7F0x630x070x060x0C0x0C0x000x0C0x00
    
0x000x000x3E0x630x6B0x6B0x6B0x6F0x6E0x600x3C0x00
    
0x000x000x1C0x360x630x630x630x7F0x630x630x630x00//A
    
0x000x000x7E0x330x330x330x3E0x330x330x330x7E0x00
    
0x000x000x1E0x330x600x600x600x600x600x330x1E0x00
    
0x000x000x7C0x360x330x330x330x330x330x360x7C0x00
    
0x000x000x7F0x310x300x320x3E0x320x300x310x7F0x00
    
0x000x000x7F0x310x300x320x3E0x320x300x300x780x00
    
0x000x000x1E0x330x600x600x600x600x670x330x1D0x00
    
0x000x000x630x630x630x7F0x7F0x630x630x630x630x00
    
0x000x000x3C0x180x180x180x180x180x180x180x3C0x00
    
0x000x000x0F0x060x060x060x060x060x660x660x3C0x00
    
0x000x000x730x330x330x360x3C0x340x360x330x730x00//K
    
0x000x000x780x300x300x300x300x300x310x330x7F0x00
    
0x000x000x630x630x770x7F0x7F0x6B0x630x630x630x00
    
0x000x000x630x630x730x7B0x7F0x6F0x670x630x630x00
    
0x000x000x3E0x630x630x630x630x630x630x630x3E0x00
    
0x000x000x7E0x330x330x330x330x3E0x300x300x780x00
    
0x000x000x3E0x630x630x630x630x630x670x3E0x070x00
    
0x000x000x7E0x330x330x330x330x3E0x3C0x360x730x00
    
0x000x000x3E0x630x600x300x1C0x060x030x630x3E0x00
    
0x000x000x7E0x5A0x180x180x180x180x180x180x3C0x00
    
0x000x000x630x630x630x630x630x630x630x7F0x3E0x00
    
0x000x000x630x630x630x630x630x630x360x1C0x080x00
    
0x000x000x630x630x630x6B0x6B0x6B0x7F0x3E0x140x00
    
0x000x000x630x630x630x360x1C0x360x630x630x630x00
    
0x000x000x660x660x660x660x7E0x3C0x180x180x3C0x00
    
0x000x000x7F0x630x470x0E0x1C0x380x710x630x7F0x00//Z
    
0x000x3C0x300x300x300x300x300x300x300x300x300x3C
    
0x000x000x400x600x300x180x0C0x060x030x010x000x00
    
0x000x3C0x0C0x0C0x0C0x0C0x0C0x0C0x0C0x0C0x0C0x3C
    
0x000x080x1C0x360x630x000x000x000x000x000x000x00
    
0x000x000x000x000x000x000x000x000x000x000x000xFF
    
0x000x180x0C0x000x000x000x000x000x000x000x000x00
    
0x000x000x000x000x3C0x060x060x3E0x660x660x3B0x00//a
    
0x000x000x700x300x300x300x3E0x330x330x330x6E0x00
    
0x000x000x000x000x3E0x630x600x600x600x630x3E0x00
    
0x000x000x0E0x060x060x060x3E0x660x660x660x3B0x00
    
0x000x000x000x000x3E0x630x630x7F0x600x600x3E0x00,
    
0x000x000x1E0x330x330x300x7C0x300x300x300x780x00
    
0x000x000x000x000x3B0x660x660x660x3E0x060x060x7C
    
0x000x000x700x300x300x360x3B0x330x330x330x730x00
    
0x000x000x0C0x000x1C0x0C0x0C0x0C0x0C0x0C0x1E0x00
    
0x000x000x060x000x060x060x060x660x660x660x3C0x00
    
0x000x000x700x300x300x330x360x3C0x360x360x730x00//k
    
0x000x000x380x180x180x180x180x180x180x180x3C0x00
    
0x000x000x000x000x760x7F0x6B0x6B0x6B0x6B0x6B0x00
    
0x000x000x000x000x6E0x330x330x330x330x330x330x00
    
0x000x000x000x000x3E0x630x630x630x630x630x3E0x00
    
0x000x000x000x000x6E0x330x330x330x3E0x300x300x78
    
0x000x000x000x000x3B0x660x660x660x3E0x060x060x0F
    
0x000x000x000x000x6E0x3B0x300x300x300x300x780x00
    
0x000x000x000x000x3F0x600x600x3E0x030x030x7E0x00
    
0x000x000x180x180x7E0x180x180x180x180x1B0x0E0x00
    
0x000x000x000x000x660x660x660x660x660x660x3B0x00
    
0x000x000x000x000x630x630x630x630x360x360x1C0x00
    
0x000x000x000x000x630x6B0x6B0x6B0x6B0x7F0x360x00
    
0x000x000x000x000x630x630x360x1C0x360x630x630x00
    
0x000x000x000x000x630x630x630x630x3F0x030x030x3E
    
0x000x000x000x000x3F0x230x060x0C0x180x310x3F0x00//z
    
0x000x0E0x180x180x180x180x700x180x180x180x180x0E
    
0x000x000x180x180x180x180x180x180x180x180x180x00
    
0x000x700x180x180x180x180x0E0x180x180x180x180x70
    
0x000x000x000x3B0x6E0x000x000x000x000x000x000x00
    
0x000x000x080x1C0x360x630x630x7F0x000x000x000x00
    
0x000x000x1F0x330x630x630x630x7F0x630x630x630x00//А
    
0x000x000x7F0x330x330x300x3E0x330x330x330x7E0x00
    
0x000x000x7E0x330x330x330x3E0x330x330x330x7E0x00,
    
0x000x000x7F0x330x300x300x300x300x300x300x780x00
    
0x000x000x0E0x1E0x360x360x360x360x360x3E0x7F0x63
    
0x000x000x7F0x310x300x340x3C0x340x310x310x7F0x00
    
0x000x000x6B0x6B0x6B0x3E0x1C0x3E0x6B0x6B0x6B0x00
    
0x000x000x3E0x630x630x030x1E0x030x630x630x3E0x00
    
0x000x000x630x630x670x6F0x7F0x7B0x730x630x630x00
    
0x220x1C0x630x630x670x6F0x7F0x7B0x730x630x630x00
    
0x000x000x730x330x330x360x3C0x360x330x330x730x00//К
    
0x000x000x0F0x1B0x330x330x330x330x330x330x630x00
    
0x000x000x630x770x7F0x7F0x6B0x630x630x630x630x00
    
0x000x000x630x630x630x630x7F0x630x630x630x630x00
    
0x000x000x3E0x630x630x630x630x630x630x630x3E0x00
    
0x000x000x7F0x630x630x630x630x630x630x630x630x00
    
0x000x000x7E0x330x330x330x330x3E0x300x300x780x00
    
0x000x000x3E0x630x600x600x600x600x600x630x3E0x00
    
0x000x000x7E0x5A0x5A0x180x180x180x180x180x3C0x00
    
0x000x000x630x630x630x630x3F0x030x030x630x3E0x00
    
0x000x000x3E0x6B0x6B0x6B0x6B0x3E0x080x080x1C0x00
    
0x000x000x630x630x630x360x1C0x360x630x630x630x00
    
0x000x000x660x660x660x660x660x660x660x7F0x7F0x03
    
0x000x000x630x630x630x630x3F0x030x030x030x030x00
    
0x000x000x6B0x6B0x6B0x6B0x6B0x6B0x6B0x7F0x7F0x00
    
0x000x000xD60xD60xD60xD60xD60xD60xD60xFE0xFF0x03//Щ
    
0x000x000x780x780x580x180x1E0x1B0x1B0x1B0x1E0x00
    
0x000x000x630x630x630x630x7B0x6F0x6F0x6F0x7B0x00
    
0x000x000x780x300x300x300x3E0x330x330x330x3E0x00
    
0x000x000x3C0x460x030x030x1F0x030x030x460x3C0x00
    
0x000x000x6E0x6B0x6B0x6B0x7B0x6B0x6B0x6B0x6E0x00
    
0x000x000x3F0x630x630x630x630x3F0x330x330x630x00//Я
    
0x000x000x000x000x3C0x060x060x3E0x660x660x3B0x00//а
    
0x000x010x1F0x180x0C0x060x3A0x660x660x660x3C0x00
    
0x000x000x000x000x7E0x330x330x3E0x330x330x7E0x00
    
0x000x000x000x000x7F0x330x300x300x300x300x780x00
    
0x000x000x000x000x1E0x360x360x360x360x360x7F0x63
    
0x000x000x000x000x3E0x630x630x7F0x600x600x3E0x00
    
0x000x000x000x000x6B0x6B0x3E0x1C0x3E0x6B0x6B0x00
    
0x000x000x000x000x3E0x630x030x0E0x030x630x3E0x00
    
0x000x000x000x000x630x630x670x6F0x7B0x730x630x00
    
0x000x220x1C0x000x630x630x670x6F0x7B0x730x630x00
    
0x000x000x000x000x730x330x360x3C0x360x330x730x00//к
    
0x000x000x000x000x1F0x3F0x330x330x330x330x730x00
    
0x000x000x000x000x630x770x7F0x7F0x6B0x630x630x00
    
0x000x000x000x000x630x630x630x7F0x630x630x630x00
    
0x000x000x000x000x3E0x630x630x630x630x630x3E0x00
    
0x000x000x000x000x7F0x7F0x630x630x630x630x630x00
    
0x000x000x000x000x7E0x330x330x330x3E0x300x300x78
    
0x000x000x000x000x3E0x630x600x600x600x630x3E0x00
    
0x000x000x000x000x7E0x5A0x5A0x180x180x180x3C0x00
    
0x000x000x000x000x630x630x630x630x3F0x030x030x3E
    
0x000x000x000x000x3E0x6B0x6B0x6B0x3E0x080x1C0x00
    
0x000x000x000x000x630x630x360x1C0x360x630x630x00
    
0x000x000x000x000x660x660x660x660x660x660x7F0x03
    
0x000x000x000x000x630x630x630x3F0x030x030x030x00
    
0x000x000x000x000x6B0x6B0x6B0x6B0x6B0x6B0x7F0x00
    
0x000x000x000x000xD60xD60xD60xD60xD60xD60xFF0x03//щ
    
0x000x000x000x000x780x580x180x1E0x1B0x1B0x1E0x00
    
0x000x000x000x000x630x630x630x7B0x6F0x6F0x7B0x00
    
0x000x000x000x000x780x300x300x3E0x330x330x7E0x00
    
0x000x000x000x000x3E0x630x030x0F0x030x630x3E0x00
    
0x000x000x000x000x6E0x6B0x6B0x7B0x6B0x6B0x6E0x00
    
0x000x000x000x000x3F0x630x630x1F0x330x330x630x00//я
    
0x000x000x360x000x3E0x630x630x7F0x600x600x3E0x00//ё
    
0x360x000x7F0x310x310x340x3C0x340x310x310x7F0x00  //Ё
}; 
Код набрал из примеров и вроде ошибок нет, но не понятны некоторые строки которые закоментировал://??????????????
Дисплей подключен на первый порт мк, биты дисплея BBD0-BD15 подсажены на мк P1[0]-P1[23]. ВЫРУЧАЙТЕ!!!
Реклама:
__________________
Я бы изменил весь мир, но бог не дал исходников

Последний раз редактировалось Uragan90; 09.11.2010 в 09:52.
Uragan90 вне форума  
Непрочитано 09.11.2010, 10:33  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека SSD1289

Сообщение от Uragan90 Посмотреть сообщение
биты дисплея BBD0-BD15 подсажены на мк P1[0]-P1[23].
Они не подряд идут? Тормоза будут.
В программе куча мелких косяков. Например все конструкции типа FIO1SET |= WR; должны быть FIO1SET = WR; У того, кто писал этот исходник шина данных висит на 8-23 битах порта. Соответственно данные он перед выводом сдвигает:
FIO1PIN = (long)(data‹‹; //????????????????????
Придется вместо однотактового сдвига данные препарировать - раздвигать.
В общем что успею за 5 минут:
FIO1MASK = 0xff0000ff; //маска вывода, изменяться будут только разряды порта установленные в 0, в данном случае 8-23. Именно туда у автора подключена шина данных. В случае подключения к 0-23 разрядам нужно 0xFF000000
FIO1PIN = (long)(data‹‹; // Собственно вывод. Изменяться только не замаскированные предыдущей командой разряды. Сдвиг не нужен при подключении шины к 0-23 разрядам.

void PortInit(void)
{
SCS = 1; //вкл. быстрых портов, ЕМНИП они в 23хх и так быстрые по умолчанию. На Машу пальцем не испортить
FIO1SET |= 0x07000003; //Вывод какого то значения изначально
FIO1DIR |= 0x07FFFF03; // Разряды = 1 будут выходами.
}
kison вне форума  
Сказали "Спасибо" kison
Uragan90 (09.11.2010)
Непрочитано 09.11.2010, 11:28  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,896
Сказал спасибо: 469
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека SSD1289

Спасибо, попробую испавить ошибки и прошить мк!
__________________
Я бы изменил весь мир, но бог не дал исходников
Uragan90 вне форума  
Непрочитано 09.11.2010, 12:13  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,896
Сказал спасибо: 469
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека SSD1289

На моей отладке мк успешно определился, я даже считал начальные значения памяти через флеш меджик. Зашил его прошивой и он не откликается теперь КАРАУЛ ПОМОГИТЕ!
__________________
Я бы изменил весь мир, но бог не дал исходников
Uragan90 вне форума  
Непрочитано 09.11.2010, 12:18  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,896
Сказал спасибо: 469
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека SSD1289

У меня на мк нет формирования сброса, тоесть ресет сразу на переходник фт232 и более не куда, может в этом косяк? До зашивки через терминал откликался, а теперь нет
__________________
Я бы изменил весь мир, но бог не дал исходников
Uragan90 вне форума  
Непрочитано 09.11.2010, 14:01  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,896
Сказал спасибо: 469
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека SSD1289

Вреде стал заливать код после манипуляций с драйвером- заливает, стирает, но в терминале флеш меджика попрежнему не работает. Может он и не должен?
__________________
Я бы изменил весь мир, но бог не дал исходников
Uragan90 вне форума  
Непрочитано 09.11.2010, 18:05  
yarunt
Прописка
 
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
yarunt на пути к лучшему
По умолчанию Re: Библиотека SSD1289

Незнаю как тут подключить код,отправил проектом. Данные с P1.8-P1.23 пины. Управление так CS-P1[24], RS-P1[25],WR-P1[26],RD-P1[27], RES-P1[28].
Перезалил архив,в отладчике увидел ошибку ,не передергивал RS
Вложения:
Тип файла: rar LCD2.rar (91.9 Кб, 206 просмотров)

Последний раз редактировалось yarunt; 09.11.2010 в 18:17.
yarunt вне форума  
Сказали "Спасибо" yarunt
Uragan90 (09.11.2010)
Непрочитано 09.11.2010, 18:33  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека SSD1289

Походу один и тот же исходник. И косяки все те же. Зачем делать FIO1CLR |= RS; если регистр FIO1CLR специально предназначен для исключения операции чтения? Или контроллер кажется слишком шустрым, что притормозить хочется?
kison вне форума  
Непрочитано 09.11.2010, 18:42  
yarunt
Прописка
 
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
yarunt на пути к лучшему
По умолчанию Re: Библиотека SSD1289

Сообщение от kison Посмотреть сообщение
Походу один и тот же исходник. И косяки все те же. Зачем делать FIO1CLR |= RS; если регистр FIO1CLR специально предназначен для исключения операции чтения? Или контроллер кажется слишком шустрым, что притормозить хочется?
Это чтоб наверняка заработал проект,а дальше причешим проект.
yarunt вне форума  
Непрочитано 09.11.2010, 18:44  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,896
Сказал спасибо: 469
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека SSD1289

yarunt, Спасибо, конечно но к сожалению опять не катит А зачем с 8 по 23??? Надо с 0 по 23!! Прц шется нормально вроди и ни фига
__________________
Я бы изменил весь мир, но бог не дал исходников
Uragan90 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека для работы с меню графического индикатора Tvenn Микроконтроллеры, АЦП, память и т.д 30 15.02.2011 17:41
Существует ли AT91SAM7Sxxx библиотека для Proteus? projects.org.ua Proteus 4 29.10.2010 02:09
Библиотека для создания меню, для графического индикатора Tvenn Микроконтроллеры, АЦП, память и т.д 2 03.09.2010 10:38
Библиотека последовательного доступа для AT45DB161, порт CodeVision LVII Микроконтроллеры, АЦП, память и т.д 4 19.06.2010 03:32


Часовой пояс GMT +4, время: 22:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot