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

📄 led.txt

📁 led跑马灯的程序。请大家看看什么的地方要修复一些 谢谢大家
💻 TXT
📖 第 1 页 / 共 4 页
字号:
//清屏
void ClearScreen(void)
{
   unsigned char data i,j;
    for(i=0;i<8;i++)
    {
	 SendCommandToLCD(Left,i|0xb8);
         SendCommandToLCD(Left,i|0x40);
         for(j=0;j<64;j++)
         {
            Wite_Data(Left,0);
         }
    }
	for(i=0;i<8;i++)
	{
		SendCommandToLCD(Right,i|0xb8);
		SendCommandToLCD(Right,i|0x40);
		for(j=0;j<64;j++)
		{
			Wite_Data(Right,0);
		}
	}
}
void LcdIni(void)
{
	SendCommandToLCD(Left,0x3e);
	SendCommandToLCD(Right,0x3e);
	SendCommandToLCD(Left,0x3f);
	SendCommandToLCD(Right,0x3f);
	SendCommandToLCD(Left,0xc0);
	SendCommandToLCD(Right,0xc0);
}
/*********************************************************************************************************
** 函数名称: DispDate
** 功能描述: 向液晶写显示字符和汉字
** 输 入: hang 显示的行 lie显示的列 data显示的字符串首地址,leixing显示的字符还是汉字值为16或8
** 输 出: 无
** 全局变量: 无
** 调用模块:WRITE_COMD, WriteData
**
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void DispHanZi(unsigned char hang,unsigned char lie,unsigned char *date,unsigned char leixing)
{
     unsigned char data i,j,k;
     for(i=0;i<2;i++)
     {
          k=lie;
		  k%=127;
		  for(j=0;j<leixing;j++)
		  {
		      if(k<=63)
			  {
			      SendCommandToLCD(Left,hang|0xb8);
				  SendCommandToLCD(Left,k|0x40);
				  Wite_Data(Left,*date);
			  }
			  else
			  {
			      SendCommandToLCD(Right,hang|0xb8);
				  SendCommandToLCD(Right,(k-64)|0x40);
				  Wite_Data(Right,*date);
			  }
			  k++; date++;
		  }
		  hang++;
     }
}
/*********************************************************************************************************
** 函数名称: LcdWriteChineseString
** 功能描述: 向液晶写显示汉字
** 输 入: x 显示的行 layer显示的列 HZString显示的字符串首地址,Length显示的字符还是汉字的个数
** 输 出: 无
** 全局变量: 无
** 调用模块:DispHanZi
**
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void LcdWriteChineseString(unsigned char x,unsigned char layer,unsigned char HZString[],unsigned char Length)
{
	unsigned char data i,j;
	unsigned char * p;
	unsigned char * t;
	unsigned char * pionter;
	unsigned int k,m;
	p=(unsigned char *)DOTLIB;
	t=(unsigned char *)HZString;
	for(i=0;i<Length;i++)
	{
		k=*(t+1)+(((unsigned int)*t)<<8);
		for(j=0;j<100;j++)
		{
		    pionter=(unsigned char *)&m;
		    *pionter=ChineseIndex[2*j];pionter++;
			*pionter=ChineseIndex[2*j+1];
			if(k==m)
			{
				DispHanZi(x,layer*8+i*16,p+32*j,hanzi);
				break;
			}
		}
		t+=2;
	}
}
/*********************************************************************************************************
** 函数名称: LcdWriteChineseString
** 功能描述: 向液晶写显示汉字
** 输 入: x 显示的行layer显示的列 HZString显示的字符串首地址,Length显示的字符还是汉字的个数
** 输 出: 无
** 全局变量: 无
** 调用模块:DispHanZi
**
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void LcdWriteString(unsigned char x,unsigned char layer,unsigned char HZString[],unsigned char Length)
{
	unsigned char data  i,j;
	unsigned char code *p;
	unsigned char  *t;
	unsigned int k;
	p=(unsigned char*)DOT;
	t=(unsigned char*)HZString;
	for(i=0;i<Length;i++)
	{
		k=*t;
		for(j=0;j<27;j++)
		{
			if(k==StringIndex[j])
			{
				DispHanZi(x,layer*8+i*8,p+16*j,zifu);
				break;
			}
		}
		t+=1;
	}
}
void demsec(void)
{
    unsigned char data i,j,k;
	for(i=0;i<10;i++)
	{
	    for(j=0;j<200;j++)
		{
		    for(k=0;k<200;k++);
		}
	}
}
void send_byte(unsigned char out_byte)
{
        unsigned char i;
        cs=0;
        long_delay();
        for(i=0;i<8;i++)
        {
           if(out_byte&0x80)
           {
              dat=1;
           }
           else
           {
               dat=0;
           }
           clk=1;
           short_delay();
           clk=0;
           short_delay();
           out_byte=out_byte*2;
        }
        dat=0;
}
void write7279(unsigned char cmd, unsigned char dta )
{
   send_byte(cmd);
   send_byte(dta);
}
unsigned char read7279(unsigned char command)
{
    send_byte(command);
    return(receive_byte());
}
unsigned char receive_byte(void)
{
     unsigned char i,in_byte;
     dat=1;
     long_delay();
     for(i=0;i<8;i++)
     {
        clk=1;
        short_delay();
        in_byte=in_byte*2;
        if(dat)
        {
            in_byte=in_byte|0x01;
        }
        clk=0;
        short_delay();
     }
     dat=0;
     return(in_byte);
}
void long_delay(void)
{
   unsigned char i;
   for(i=0;i<0x30;i++);
}
void short_delay(void)
{
   unsigned char i;
   for(i=0;i<8;i++);
}
void zhh(unsigned int a)
{
    dis[4]=a%10+0x30;
    dis[3]=a/10%10+0x30;
    dis[1]=a/100%10+0x30;
    dis[0]=a/1000%10+0x30;
}
void zhhl(unsigned int e)
{
    disl[4]=e%10+0x30;
    disl[3]=e/10%10+0x30;
    disl[1]=e/100%10+0x30;
    disl[0]=e/1000%10+0x30;
}
void zhhlk(unsigned int f)
{
    dislk[3]=f%10;
    dislk[2]=f/10%10;
    dislk[1]=f/100%10;
    dislk[0]=f/1000%10;

}
void zhhll(unsigned int m)
{
    disll[4]=m%10+0x30;
    disll[3]=m/10%10+0x30;
    disll[1]=m/100%10+0x30;
    disll[0]=m/1000%10+0x30;
}
main()
{
    unsigned char *t,*p,*q,*n;
    unsigned int ad,djg,k,qp,j;
    static unsigned int zl;
    static unsigned int zj=0;
    SP=0xe0;
    LcdIni();
    ClearScreen();
    ClearScreen();
    LcdWriteChineseString(0,0,"重量",2);
    LcdWriteChineseString(2,0,"单价",2);
    LcdWriteChineseString(4,0,"总价",2);
    LcdWriteChineseString(6,0,"皮重",2);
    LcdWriteChineseString(2,10,"元",1);
    LcdWriteChineseString(4,10,"元",1);
    LcdWriteString(0,4,":",1);
    LcdWriteString(2,4,":",1);
    LcdWriteString(4,4,":",1);
    LcdWriteString(6,4,":",1);
    LcdWriteString(0,10,"kg",2);
    LcdWriteString(6,10,"kg",2);
    p=(unsigned char*)disl;
    LcdWriteString(2,5,p,5);
    q=(unsigned char*)disll;
    LcdWriteString(4,5,q,5);
    n=(unsigned char*)disqp;
    LcdWriteString(6,5,n,5);
    while(1)
      {
       fmq=1;
       ad=adcj(0);
       zl=0.158*(ad-650)+100;
       zhh(zl);
       t=(unsigned char*)dis;
       LcdWriteString(0,5,t,5);
       for(tmr=0;tmr<0x2000;tmr++);
       send_byte(CMD_RESET);
       key_ber=0xff;
         if(!key)
           {
            key_ber=read7279(CMD_READ);
              switch(key_ber)
                 {
                   case 0x03:k=0;while(!key);break;
                   case 0x0B:k=1;while(!key);break;
                   case 0x13:k=2;while(!key);break;
                   case 0x02:k=3;while(!key);break;
                   case 0x0A:k=4;while(!key);break;
                   case 0x12:k=5;while(!key);break;
                   case 0x01:k=6;while(!key);break;
                   case 0x09:k=7;while(!key);break;
                   case 0x11:k=8;while(!key);break;
                   case 0x00:k=9;while(!key);break;
                   case 0x1B:zhhlk(zl);
                             zhh(zl);
                             t=(unsigned char*)dis;
                             LcdWriteString(0,5,t,5);
                             djg=(dislk[0]*1000+dislk[1]*100+dislk[2]*10+dislk[3])*k;
                             zhhl(djg);
                             p=(unsigned char*)disl;
                             LcdWriteString(2,5,p,5);
                             zj+=djg;while(!key);break;
                   case 0x1A:zhhll(zj);
                             q=(unsigned char*)disll;
                             LcdWriteString(4,5,q,5);while(!key);break;
                   case 0x08:zl-=qp;
                             zhh(zl);
                             t=(unsigned char*)dis;
                             LcdWriteString(0,5,t,5);
                   case 0x19:zj=0;djg=0;zl=0;
                             zhhll(zj);
                             zhhl(djg);
                             zhh(zl);
                             q=(unsigned char*)disll;
                             LcdWriteString(4,5,q,5);
                             p=(unsigned char*)disl;
                             LcdWriteString(2,5,p,5);
                             t=(unsigned char*)dis;
                             LcdWriteString(0,5,t,5);while(!key);break;
                  case 0x18: qp=zl;
                             n=(unsigned char*)disqp;
                             LcdWriteString(6,5,n,5);
                             while(!key); break;
                  case 0x10:  ;break;
                }
           }
      }
}
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}下载
int BASE = 2;
int NUM = 6;
int index = 0;

⌨️ 快捷键说明

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