导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→pic16f877控制hs12864液晶问题,请高手来回答[guest]

 *第24626篇: pic16f877控制hs12864液晶问题,请高手来回答

  
楼 主:guest 2004年8月11日13:08
 pic16f877控制hs12864液晶问题,请高手来回答
#include   <pic.h>  

#define uchar unsigned char
#define uint unsigned int
#define ulint unsigned long
#define PORTIT(adr,bit)  ((unsigned)(&adr)*8+(bit))


//hs12864
static    bit D_I @ PORTIT(PORTB,5);   //RB5
static    bit R_W @ PORTIT(PORTB,6);
static    bit E @ PORTIT(PORTB,7);

static    bit CS1 @ PORTIT(PORTB,3);
static    bit CS2 @ PORTIT(PORTB,4);
static    bit RET @ PORTIT(PORTB,2);  //疑问


void sleep(unsigned int i)
{
    unsigned int j,k;
    for(j=0;j  <i;j++)
    {
        for(k=0;k  <4000;k++)
        {
            ;
        }
    }
}

/************************************************************/
//    HS12864函数    
/************************************************************/
void LCD_C_D(uchar flag,uchar data)
{
   D_I=!flag; 
   E=0 ;
   R_W=0;

   PORTD=data; 
  
   sleep(1);
      
   E=1;

   sleep(1);
  
   E=0; 
   D_I=1;
   R_W=1;
   sleep(1);    
}

void CLRLCD(uchar number)
{
    uchar i,j;
    CS1=CS2=1;
    for(i=0xb8;i  <0xc0;i++)
      { 
        LCD_C_D(1,i);
        LCD_C_D(1,0x40);
        for(j=0;j  <0x40;j++)
           LCD_C_D(0,number);
       }
     CS1=CS2=0;      
}

/************************************************************/
//主函数
/************************************************************/

void main()
{
//    Init();
//    MAX7219_Init();
        sleep(20);
        
        TRISB=0X00;
         TRISC=0X00;
         TRISD=0X00;
         RC5 = 1;
         RET=0;
         sleep(100);
         RET=1;
         sleep(100);
           
         
         sleep(10);
        LCD_C_D(1,0X3E); //关显示
//        sleep(100);
//        LCD_C_D(1,0X3f); //开显示放在这儿也是没用 

        sleep(10);         
        LCD_C_D(1,0XC0);  //设置显示行         
        sleep(10);        
        LCD_C_D(1,0Xb8);  //设置页
        sleep(10);
        LCD_C_D(1,0X40);  //设置y地址    
        sleep(100);
        LCD_C_D(1,0X3f); //开显示 
        sleep(10);       

        CLRLCD(0X55);
        while(1);

    
}

以上是源程序,但是液晶死活就不理我!
有做过得没有呀?

 

  
2楼:yaven365 2004年8月11日13:10
 关注,俺也驱动不了它
关注,俺也驱动不了它
  
3楼:yaven365 2004年8月11日18:22
 给点鼓励吧
给点鼓励吧
  
4楼:guest 2004年8月11日20:18
 努力,努力,努力,再努力.我们大家都在努
努力,努力,努力,再努力.我们大家都在努力,这里没有最好,只有更好. 我在做PICD16F716的 动动,一个字'烦'.877好用么.多少钱一片?

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

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


[上一篇主题]:请问各位大虾:用C51编比较大的程序大家如何组织呢?

[下一篇主题]:[求助]背面打05C的SOT23器件是何物?