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

📄 7455.lst

📁 GY-29-MMA7455发送资料
💻 LST
📖 第 1 页 / 共 3 页
字号:
 275   1      }
 276                                                                                    
 277          void led_xposizhi()                                       //函数功能:获取x正方向显示数据
 278          {
 279   1              if(xposilightnum<8)
 280   1              {
 281   2                      if(xposilightnum==0)xposilightnum=1;
 282   2                      xposiupstate  =led_ma[0];
 283   2                      xposidownstate=led_ma[xposilightnum];
 284   2              }
 285   1              else 
 286   1              {
 287   2                      if(xposilightnum>16)xposilightnum=16;
 288   2                      xposiupstate  =led_ma[xposilightnum-8];
 289   2                      xposidownstate=led_ma[8];
 290   2              }
 291   1      }
 292          void led_xnegazhi()                                       //函数功能:获取x负方向显示数据
 293          {
 294   1              if(xnegalightnum<8)
 295   1              {
 296   2                      if(xnegalightnum==0)xnegalightnum=1;
 297   2                      xnegaupstate  =led_ma[0];
 298   2                      xnegadownstate=led_ma[xnegalightnum];
 299   2              }
 300   1              else 
 301   1              {
 302   2                      if(xnegalightnum>16)xnegalightnum=16;
 303   2                      xnegaupstate  =led_ma[xnegalightnum-8];
C51 COMPILER V8.08   7455                                                                  01/22/2011 09:43:35 PAGE 6   

 304   2                      xnegadownstate=led_ma[8];
 305   2              }
 306   1      }
 307          void led_yposizhi()                                        //函数功能:获取y正方向显示数据
 308          {
 309   1              if(yposilightnum<8)
 310   1              {
 311   2                      if(yposilightnum==0)yposilightnum=1;
 312   2                      yupstate  =led_ma[yposilightnum];
 313   2              }
 314   1              else yupstate=led_ma[8];
 315   1      
 316   1      }
 317          void led_ynegazhi()                                             //函数功能:获取y反方向显示数据
 318          {
 319   1              switch(ynegalightnum)
 320   1              {
 321   2                      case 0:ydownstate=0xff;break;
 322   2                      case 1:ydownstate=0x7f;break;
 323   2                      case 2:ydownstate=0x3f;break;
 324   2                      case 3:ydownstate=0x1f;break;
 325   2                      case 4:ydownstate=0x0f;break;
 326   2                      case 5:ydownstate=0x07;break;
 327   2                      case 6:ydownstate=0x03;break;
 328   2                      case 7:ydownstate=0x01;break;
 329   2                      case 8:ydownstate=0x00;break;
 330   2                      default:ydownstate=0x00;break;
 331   2              }
 332   1      }
 333          
 334          
 335          void self_test7455()                                     //函数功能:检测7455有没有插好
 336          {                                                                                //          如果没有插好,1602将会显示
 337   1              uchar j;                                                         //                      “No acceleration!"
 338   1              char t;
 339   1      
 340   1              delay_50us(10);
 341   1              iic_write(0x16,0x05);
 342   1              delay_50us(20);
 343   1              t=iic_read(0x16);
 344   1      
 345   1              if(t!=0x05)
 346   1              {
 347   2                      write_com(0x80);
 348   2                      for(j=0;j<16;j++)
 349   2                      {
 350   3                          write_date(table3[j]);
 351   3                              delay_50us(10);
 352   3                      }
 353   2                      while(1);
 354   2              }
 355   1              else
 356   1              {
 357   2                      write_com(0x80);
 358   2                      for(j=0;j<16;j++)
 359   2                      {
 360   3                          write_date(table1[j]);
 361   3                              delay_50us(10);
 362   3                      }
 363   2                      write_com(0x80+0x40);
 364   2                      for(j=0;j<16;j++)
 365   2                      {
C51 COMPILER V8.08   7455                                                                  01/22/2011 09:43:35 PAGE 7   

 366   3                          write_date(table2[j]);
 367   3                              delay_50us(10);
 368   3                      }
 369   2              }
 370   1                      
 371   1      }
 372          void change_topvalue(uchar x)           //函数功能:修改LED面板显示对应的最大g值
 373          {
 374   1              uchar x1,x2,x3;
 375   1      
 376   1              x1=(x/100);
 377   1              x2=(x%100)/10;
 378   1              x3=(x%100)%10;
 379   1      
 380   1              write_com(0xcb);
 381   1              write_date(table4[x1]);
 382   1              delay_50us(10);
 383   1              write_com(0xcd);
 384   1              write_date(table4[x2]);
 385   1              delay_50us(10);
 386   1              write_date(table4[x3]);
 387   1              delay_50us(10);
 388   1      }
 389          
 390          void sendx()                                            //函数功能:向1602发送x轴测量数据
 391          {
 392   1              uchar x1,x2,x3,xsign;
 393   1              char x;
 394   1      
 395   1              x=iic_read(0x06);
 396   1              if((x&0x80)==0x00)
 397   1              {
 398   2                      xsign=0x2b;        //+
 399   2                      if(x>64)
 400   2                      {
 401   3                              x=(((int)(x*200)/127)-100);      //转变为加速度值
 402   3                              x1=(x/100);
 403   3                              x2=(x%100)/10;
 404   3                              x3=(x%100)%10;
 405   3                              delaysign=1;
 406   3                              xposilightnum=x/(xposivalue/16);
 407   3                      }
 408   2                      else 
 409   2                      {
 410   3                              x1=0;x2=0;x3=0;
 411   3                              delaysign=0;
 412   3                      }
 413   2              }
 414   1              else
 415   1              {
 416   2                      xsign=0x2d;        //-
 417   2                      x=x-0x01;
 418   2                      x=~x;
 419   2                      if(x>64)
 420   2                      {
 421   3                              x=(((int)(x*200)/127)-100);
 422   3                              x1=(x/100);
 423   3                              x2=(x%100)/10;
 424   3                              x3=(x%100)%10;
 425   3                              delaysign=1;
 426   3                              xnegalightnum=x/(xnegavalue/16);
 427   3      
C51 COMPILER V8.08   7455                                                                  01/22/2011 09:43:35 PAGE 8   

 428   3                      }
 429   2                      else
 430   2                      {
 431   3                              x1=0;x2=0;x3=0;
 432   3                              delaysign=0;
 433   3                      }
 434   2              }
 435   1      
 436   1              write_com(0x8B);
 437   1              write_date(xsign);
 438   1              delay_50us(10);
 439   1              write_com(0x8C);
 440   1              write_date(table4[x1]);
 441   1              delay_50us(10);
 442   1              write_com(0x8E);
 443   1              write_date(table4[x2]);
 444   1              delay_50us(10);
 445   1              write_com(0x8F);
 446   1              write_date(table4[x3]);
 447   1              delay_50us(20);
 448   1      }
 449          void sendy()                                                            //函数功能:向1602发送y轴测量数据
 450          {
 451   1              uchar y1,y2,y3,ysign;
 452   1              char y;
 453   1      
 454   1              y=iic_read(0x07);
 455   1              if((y&0x80)==0x00)
 456   1              {
 457   2                      ysign=0x2b;        //+
 458   2                      if(y>66)
 459   2                      {
 460   3                              y=(((int)(y*200)/127)-100);      //转变为加速度值
 461   3                              y1=(y/100);
 462   3                              y2=(y%100)/10;
 463   3                              y3=(y%100)%10;
 464   3                              delaysign=1;
 465   3                              yposilightnum=y/(yposivalue/8);
 466   3                      }
 467   2                      else
 468   2                      {
 469   3                              y1=0;y2=0;y3=0;
 470   3                              delaysign=0;
 471   3                      }
 472   2              }
 473   1              else
 474   1              {
 475   2                      ysign=0x2d;        //-
 476   2                      y=y-0x01;
 477   2                      y=~y;
 478   2                      if(y>66)
 479   2                      {
 480   3                              y=(((int)(y*200)/127)-100);      //转变为加速度值
 481   3                              y1=(y/100);
 482   3                              y2=(y%100)/10;
 483   3                              y3=(y%100)%10;
 484   3                              delaysign=1;
 485   3                              ynegalightnum=y/(ynegavalue/8);
 486   3                      }
 487   2                      else
 488   2                      {
 489   3                              y1=0;y2=0;y3=0;
C51 COMPILER V8.08   7455                                                                  01/22/2011 09:43:35 PAGE 9   

 490   3                              delaysign=0;
 491   3                      }
 492   2              }
 493   1      
 494   1              write_com(0xC3);
 495   1              write_date(ysign);
 496   1              delay_50us(10);
 497   1              write_com(0xC4);
 498   1              write_date(table4[y1]);
 499   1              delay_50us(10);
 500   1              write_com(0xC6);
 501   1              write_date(table4[y2]);
 502   1              delay_50us(10);
 503   1              write_com(0xC7);
 504   1              write_date(table4[y3]);
 505   1              delay_50us(20);
 506   1      }
 507          void sendz()                                                            //函数功能:向1602发送z轴测量数据
 508          {
 509   1              uchar z1,z2,z3,zsign;
 510   1              char z;
 511   1      
 512   1              z=iic_read(0x08);
 513   1              if((z&0x80)==0x00)
 514   1              {
 515   2                      zsign=0x2b;        //+
 516   2                      if(z>68)
 517   2                      {
 518   3                              z=(((int)((z-3)*200)/127)-100);  //转变为加速度值
 519   3                              z1=(z/100);
 520   3                              z2=(z%100)/10;
 521   3                              z3=(z%100)%10;
 522   3                              delaysign=1;
 523   3                      }
 524   2                      else
 525   2                      {
 526   3                              z1=0;z2=0;z3=0;
 527   3                              delaysign=0;
 528   3                      }
 529   2              }
 530   1              else
 531   1              {
 532   2                      zsign=0x2d;        //-
 533   2                      z=z-0x01;
 534   2                      z=~z;
 535   2                      if(z>62)
 536   2                      {
 537   3                              z=(((int)(z*200)/127)-100);      //转变为加速度值
 538   3                              z1=(z/100);
 539   3                              z2=(z%100)/10;
 540   3                              z3=(z%100)%10;
 541   3                              delaysign=1;
 542   3                      }
 543   2                      else
 544   2                      {
 545   3                              z1=0;z2=0;z3=0;
 546   3                              delaysign=0;
 547   3                      }
 548   2              }
 549   1      
 550   1              write_com(0xCB);
 551   1              write_date(zsign);
C51 COMPILER V8.08   7455                                                                  01/22/2011 09:43:35 PAGE 10  

 552   1              delay_50us(10);
 553   1              write_com(0xCC);
 554   1              write_date(table4[z1]);
 555   1              delay_50us(10);

⌨️ 快捷键说明

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