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

📄 xs.c

📁 141定位 小数位 141定位 小数位
💻 C
字号:
 
/****************************************************************************
文件名:xs.c  显示    液晶 141 
      ACLK:32.768kHz
*****************************************************************************/
//1,2,k,d,A,F,q
//0x37=q,  0xe6=d ,0x77=A  ,0x70=K, 0x76=H   0x71=F 
     unsigned char TABDA[30]={0xD7, 0x06,0xE3,0xA7,0x36,0xB5,0xF5
,0x07,0xF7,0xB7,0x00,0x06,0xE3,0x70,0xe6,0x77, 0x71,0x37,0x00,  
0xDF , 0x0E,0xEB,0xAF,0x3E,0xBD,0xFD,0x0F,0xFF,0xBF,0x00};   
                              
void DLY25 (void)      //延时
{unsigned int i;  for( i=0;i<450;i++)   {_NOP();_NOP();}}     

void DLY500(void)     //延时 
{ unsigned char i;   for( i=0;i<5;i++) {  DLY25();   DLY25();} }  

void D1(void)//   写一位#1
{ P3OUT &= ~BIT6;_NOP(); P3OUT|= BIT7;  _NOP();  P3OUT|= BIT6; _NOP(); }   

void D0(void)//   写一位#0
{P3OUT &= ~BIT6;  _NOP(); P3OUT &= ~BIT7; _NOP();P3OUT|= BIT6; _NOP();}  

void WRCOM(unsigned char aa)  //写#100+8个输入位  aa   
{ unsigned char i ;  //100+cccccccc8命令+0=12位   141液晶 显示参数
P3OUT|= BIT5; _NOP(); P3OUT &= ~BIT5;_NOP(); D1();  D0(); D0(); 
   for( i=0;i<8;i++) { _NOP();   P3OUT &= ~BIT6;  _NOP();  
     if((aa & 0x80)==0)   //写#100+8个输入位 @@@@@@@@@@@@@
      P3OUT&= ~BIT7; else  P3OUT |= BIT7;    
      _NOP();  P3OUT|= BIT6;   aa=aa<<1;   } _NOP(); D0();   
} //100+aa(8)+0=12个位  (命令)



void  W9 (unsigned char dz) //写(地址) 9个位  D1(); D0(); D1(); D0();  =1010
{ unsigned char i;  P3OUT|= BIT5; _NOP(); P3OUT &= ~BIT5;//CS=1  CS=0 
  _NOP();  D1(); D0(); D1();  D0();  
  for( i=0;i<5;i++) //   写#1010+ dz 5个数  =4+5=9 个位
  {  _NOP() ;  P3OUT &= ~BIT6; _NOP();  //WR=0 P3.3 
   if((dz & 0x10)==0)   //写 5个输入位 dz 
   P3OUT&= ~BIT7; else  P3OUT |= BIT7; _NOP(); P3OUT|= BIT6; 
   dz=dz<<1;} _NOP();  
 }    // 1010+dz(5)= 9 个位(地址)
 
void W4 (unsigned char sz)  //写4个数位
{  unsigned char j; for( j=0;j<4;j++) { _NOP();  P3OUT &= ~BIT6;  _NOP();
  if((sz  &128)==0)  //写4个数位
   P3OUT&= ~BIT7;  else P3OUT |= BIT7; _NOP();  P3OUT|= BIT6;   sz<<=1; }
    _NOP(); P3OUT|= BIT5;  _NOP();  
} // sz(4)=4个位   
  
 void W13 (unsigned char n ,unsigned char m)  //写13个位 下行  m段   n数
 {unsigned char i; m=m*2;  //2个地址一个字 0-15
 for(i=0;i<2;i++){W9 (m);   W4 (n);  m++ ;  n <<=4 ;}
} // 1010+yt(4)+0+sz(4) = 1010+(4)+0+(4) =13  位  
//101+0+aaaaa5地址+dddd4数据  


             

 void W12 (unsigned char sz ,unsigned char yt)  //写13个位  上行
 {unsigned char i; yt=((13-yt)*2)-1;  //2地址一个字 0-15
 for(i=0;i<2;i++){W9 (yt);   W4 (sz);  yt++ ;  sz <<=4 ;}
} // 1010+yt(4)+0+sz(4) = 1010+(4)+0+(4) =13  位  
//101+0+aaaaa5地址+dddd4数据  
  
   void  kh3(unsigned char i,unsigned char j,unsigned char m)  //光标一位  i数   j小数定位,  m段
{  if(m==j)  i=i+19;  W12(TABDA2[i],m); }    // 地址为 m,if(m==j)j=小数0-4  p项目

    void  kh2(unsigned char i,unsigned char j,unsigned char m)  //光标一位  i数   j小数定位,  m段
{  if(m==j)  i=i+19;if(m==0) m=15;  else;  m=m-1;  // m段= j小数定位  是小数位 a[8][m]
 W13(TABDA[i],m); }    // 显示 i  i==1位数 ,地址为 m,if(m==j)j=小数0-4  
 


⌨️ 快捷键说明

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