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

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

   guest 
guest发表的帖子 

 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);

    
}

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

 


发表时间:2004年8月11日13:08:11

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  60180.[详细]关注,俺也驱动不了它
摘要:关注,俺也驱动不了它......(20字)
- [yaven365][738次] 2004年8月11日

  60220.[详细]给点鼓励吧
摘要:给点鼓励吧......(10字)
- [yaven365][816次] 2004年8月11日

  60228.[详细]努力,努力,努力,再努力.我们大家都在努力,这里没有最好,只有更好. 我在做PICD16..
摘要:努力,努力,努力,再努力.我们大家都在努力,这里没有最好,只有更好. 我在做PICD16F716的 动动,一个字'烦'.877好用么.多少钱一片?......(120字)
- [guest][800次] 2004年8月11日

[上一篇帖子]:关注,俺也驱动不了它
[下一篇帖子]:他是问焊盘内孔画成