⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ht1621.c

📁 HT1621 QUDONGCHENGXU
💻 C
字号:
#include   <stdio.h>
#include <intrins.h>
#include <reg52.h>

sbit CS1=P1^5;
sbit WRR=P1^7;
sbit DI=P1^6;
sbit GO=P3^3;

void DelayXms(unsigned int i)
{
    unsigned char a;
    unsigned int b;
    for(b=0;b<i;b++)
    for(a=0;a<255;a++);
}

void Wait()
{  
    while(1)
    {
        if(GO==0)
        {
            DelayXms(330);
            return;
        }
    }
}


Write()
{
     WRR=1;
     _nop_();
     _nop_();
     _nop_();
    _nop_();
    _nop_();
	 _nop_();
    _nop_();
     WRR=0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
	_nop_();
    _nop_();
}

void write_cmd(unsigned char cmd)
{
     unsigned char j,mask;
     CS1=0;
     WRR=0;
     DI=1;
     Write();
     DI=0;
     Write();
     DI=0;
     Write();
     for(j=0, mask=0x80; j<8; j++, mask>>=1 )
     {   
       if( (cmd & mask) != 0 )
       DI=1;
       else 
       DI=0;
       Write();
     }
      WRR=1;
      DI=0;
      CS1=1;
}

void write_dat(unsigned char add,unsigned char dat)
{
     unsigned char j,mask;
     CS1=0;
     WRR=0;
     DI=1;
     Write();
     DI=0;
     Write();
     DI=1;
     Write();
     for(j=0, mask=0x20; j<6; j++, mask>>=1 )
     {   
       if(( add & mask)!=0 )
       DI=1;
       else 
       DI=0;
       Write();
     }  
     for(j=0, mask=0x01; j<4; j++, mask<<=1 )
     {   
       if(( dat & mask) != 0 )
       DI=1;
       else 
       DI=0;
       Write();
     } 
     CS1=1;
 } 

     
void ht1621initial(void)
{
     write_cmd(0x01);   //SYS EN
     write_cmd(0x18);   //RC 256k
     write_cmd(0x03);   //LCD ON
     write_cmd(0x29);   //BIAS
}

void Display1(unsigned char d)
{ 
     unsigned char i;
     for(i=0;i<31;i++)
     write_dat(i,d);    
}

void Display2()
{ 
     unsigned char i;
     for(i=0;i<6;i++)
	 {
	     Display1(0x00);
         write_dat(i,0xff); 
   	     Wait();
	 }

}
void main(void)
{  
    ht1621initial();
    while(1)
    {
        Display1(0xff);
        Wait();
        Display1(0x00);
        Wait();
        Display1(0x01);
        Wait();
        Display1(0x02);
        Wait();
        Display1(0x04);
        Wait();
        Display1(0x08);
        Wait();
        Display2();
    }
}
   
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -