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

📄 main.lst

📁 c8051学习机实验程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 179   1          for(i=0;i<16;i++)
 180   1          {
 181   2              WrCmdOneP(chn[i+16],LCD_NOC_WR);
 182   2              addr+=30;
 183   2              WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 184   2          }
 185   1      }
 186          //画坐标系
 187          /*void DisplayXY(UINT8 row,UINT8 col)
 188          {
 189              //先画竖线
 190              UINT8 i;
 191              UINT16 addr;
 192              addr=row*30+col;
 193              WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 194              for(i=0;i<MAX_VERTICAL_DOT;i++)
 195              {
 196                  WrCmdOneP(0x80,LCD_NOC_WR);
 197                  addr=addr-30;
 198                  WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 199              }
 200              //写Ic
 201              DisplayChar(row+11-MAX_VERTICAL_DOT,col-3,CHAR_I);
 202              DisplayChar(row+11-MAX_VERTICAL_DOT,col-2,CHAR_c);
 203              DisplayChar(18,10,CHAR_uu);
 204              DisplayChar(18,11,CHAR_AA);
 205              //画横线
 206              addr=row*30+col;
 207              WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 208              for(i=0;i<(MAX_HORIZON_DOT/8);i++)
 209              {
 210                  WrCmdOneP(0xff,LCD_INC_WR);
 211              }
 212              //写Uce
 213              DisplayChar(row-15,col+MAX_HORIZON_DOT/8-3,CHAR_U);
 214              DisplayChar(row-15,col+MAX_HORIZON_DOT/8-2,CHAR_c);
 215              DisplayChar(row-15,col+MAX_HORIZON_DOT/8-1,CHAR_e);
 216              DisplayChar(116,28,CHAR_VV);
 217              //写B=
 218              DisplayChar(46,3,CHAR_beta);
 219               DisplayChar(46,4,CHAR_equ);
 220              DisplayChar(46,5,CHAR_11);
 221               DisplayChar(46,6,CHAR_00);
 222               DisplayChar(46,7,CHAR_00);
 223               //坐标点
 224               DisplayChar(118,11,CHAR_00);
 225               DisplayChar(118,14,CHAR_99);
 226               DisplayChar(118,16,CHAR_11);
 227               DisplayChar(118,17,CHAR_88);
 228               DisplayChar(118,19,CHAR_22);
 229               DisplayChar(118,20,CHAR_77);
 230               DisplayChar(118,22,CHAR_33);
 231               DisplayChar(118,23,CHAR_66);
 232               DisplayChar(118,25,CHAR_44);
 233               DisplayChar(118,26,CHAR_55);
 234             /*DisplayChar(98,11,CHAR_22);
 235             DisplayChar(78,11,CHAR_44);
 236             DisplayChar(58,11,CHAR_66);
 237             DisplayChar(38,11,CHAR_88);*/
 238          /*DisplayChar(18,8,CHAR_55);
 239          DisplayChar(18,9,CHAR_55);
 240          DisplayChar(18,12,CHAR_L);
C51 COMPILER V7.01  MAIN                                                                   09/23/2005 15:07:28 PAGE 5   

 241          }*/
 242          //画波形
 243          void DisplayWave(UINT8 v_OriginRow,UINT8 v_OriginCol,UINT8 v_Num,UINT8 v_CurSample,UINT8 v_PreSample)
 244          {
 245   1          UINT8 i;
 246   1          UINT8 v_VolAddition;
 247   1          UINT8 v_Dat;
 248   1          FP32 v_Temp;
 249   1          v_Temp=(FP32)(v_PreSample)/MAX_SAMPLE*MAX_VERTICAL_DOT;
 250   1          v_PreSample=(UINT8)v_Temp;
 251   1          v_Temp=(FP32)(v_CurSample)/MAX_SAMPLE*MAX_VERTICAL_DOT;
 252   1          v_CurSample=(UINT8)v_Temp;
 253   1          v_VolAddition=v_Num/8;
 254   1          if(v_CurSample>v_PreSample)
 255   1          {
 256   2              for(i=v_OriginRow-v_CurSample;i<(v_OriginRow-v_PreSample);i++)
 257   2              {
 258   3                  UINT16 addr;
 259   3                  addr=i*30+v_OriginCol+v_VolAddition;
 260   3                  WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 261   3                  WrCmdNoP(0xff-v_Num%8);
 262   3              }
 263   2          }
 264   1          if(v_CurSample<v_PreSample)
 265   1          {
 266   2              for(i=v_OriginRow-v_CurSample;i>v_OriginRow-v_PreSample;i--)
 267   2              {
 268   3                  UINT16 addr;
 269   3                  addr=i*30+v_OriginCol+v_VolAddition;
 270   3                  WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 271   3                  WrCmdNoP(0xff-v_Num%8);
 272   3              }
 273   2          }
 274   1          if(v_CurSample==v_PreSample)
 275   1          {
 276   2               UINT16 addr;
 277   2               addr=(v_OriginRow-v_CurSample)*30+v_OriginCol+v_VolAddition;
 278   2               WrCmdTwoP(addr&0xff,addr/256,LCD_ADDR_POS);
 279   2               WrCmdNoP(0xff-v_Num%8);
 280   2          }
 281   1      
 282   1      
 283   1      }
*** WARNING C280 IN LINE 247 OF MAIN.C: 'v_Dat': unreferenced local variable
 284          ///初始化液晶
 285          void LcdInitial()
 286          {
 287   1          //全部显示区为图形显示区
 288   1          WrCmdTwoP(0x00,0x00,LCD_GRH_STP);
 289   1          WrCmdTwoP(30,0,LCD_GRH_WID);
 290   1          //设置光标形状
 291   1          WrCmdNoP(0xa0);
 292   1          //显示方式
 293   1          WrCmdNoP(0x80);
 294   1          //关闭光标显示,关闭文本显示,打开图形显示
 295   1          WrCmdNoP(0x98);
 296   1          ClearDisplay();            
 297   1      }
 298          
 299          void delay(unsigned int n)
 300          {
 301   1              unsigned int i,j;
C51 COMPILER V7.01  MAIN                                                                   09/23/2005 15:07:28 PAGE 6   

 302   1              i = 0;
 303   1              j = 0;
 304   1              while(j<n)
 305   1              {
 306   2                      i = 0;
 307   2                      while(i<20) i++;
 308   2                      j++;
 309   2              }
 310   1      }
 311          ///////////////////////////////////////////////////
 312          void main()
 313          {
 314   1          //WrCmdTwoP(0x00,0x00,LCD_TXT_STP);
 315   1          //WrCmdTwoP(30,0,LCD_TXT_WID);
 316   1          UINT8 i;
 317   1          UINT8 temp[60]={10,15,25,35,45,55,65,75,85,95,105,110,111,113,115,118,120,122,125,126,126 ,126,126,126
             -,126,126,126,126   ,126,126 ,127,127,127,127,127,128,128,128,128,128,129,129,129,129,129,130,130,130,130,130,131,131,131
             -,131,131,132,132,132,132,132
 318   1          };
 319   1              config ();
 320   1          P1 = 0xff;
 321   1              while(1)
 322   1              {
 323   2                      LCD_DAT=0x01;
 324   2                      LCD_CODE=0x00;
 325   2                      P1 = 0xff - P1;
 326   2              }
 327   1         config();
 328   1      
 329   1          WrCmdTwoP(0x00,0x00,LCD_GRH_STP);
 330   1          WrCmdTwoP(30,0,LCD_GRH_WID);
 331   1          WrCmdNoP(0xa0);
 332   1          WrCmdNoP(0x80); //显示方式
 333   1          WrCmdNoP(0x98); //关闭光标显示,关闭文本显示,打开图形显示
 334   1          ClearDisplay();
 335   1          WrCmdTwoP(0x00,0x00,LCD_ADDR_POS);
 336   1          WrCmdOneP(0xff,LCD_INC_WR);
 337   1          //menu1();
 338   1          ClearDisplay();
 339   1         // menu2();
 340   1         do{
 341   2          ClearDisplay();
 342   2              DisplayChar(1,1,&A[0],16);
 343   2              }
 344   1      //    DisplayXY(117,12);
 345   1          while(1);
 346   1      
 347   1      }
*** WARNING C280 IN LINE 316 OF MAIN.C: 'i': unreferenced local variable
 348          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    721    ----
   CONSTANT SIZE    =     84    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      85
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  3 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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