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

📄 beepon.lst

📁 基于LPC2132和图形液晶128*64(型号为MGL(S)-12864T)的控制显示系统。可以显示时间
💻 LST
📖 第 1 页 / 共 5 页
字号:
  282   2              {addr1=k*16+j;
  283   3              LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8);  // 置地址指针   
  284   3           LCD_WriteTCommand2(LCD_NOC_WR, dat);
  285   3           dat=Matrixdate[i] ;
  286   3           i++;}
  287   2           }                              
  288   1          
  289   1      display_date(datesz);   //显示日期数字  
  290   1       /*********************显示日期:”end ********************************/ 
  291   1      
  292   1      /*****************显示汉字“时间:”*****************************/
  293   1       LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00);           // 置地址指针
  294   1        
  295   1         i=0;
  296   1         dat=Matrixtime[i] ;
  297   1           for(k=18;k<36;k++)
  298   1              {for(j=0;j<5;j++)  
  299   2              {addr1=k*16+j;
  300   3              LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8);  // 置地址指针   
  301   3           LCD_WriteTCommand2(LCD_NOC_WR, dat);
  302   3           dat=Matrixtime[i] ;
  303   3           i++;}
  304   2           }
  305   1           
  306   1      display_time(timesz);     //显示时间数字
  307   1                                              
  308   1      /*********************显示“时间:”end ********************************/ 
  309   1      
  310   1      /*****************显示汉字“速度:”*****************************/
  311   1      LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00);            // 置地址指针
  312   1         
  313   1         i=0;
  314   1         dat=Matrixspeed[i] ;
  315   1           for(k=36;k<54;k++)
  316   1              {for(j=0;j<5;j++)  
  317   2              {addr1=k*16+j;
  318   3              LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8);  // 置地址指针   
  319   3           LCD_WriteTCommand2(LCD_NOC_WR, dat);
  320   3           dat=Matrixspeed[i] ;
  321   3           i++;}
  322   2           } 
  323   1          display_speed(speedsz);  //显示速度数据                             
ARM COMPILER V2.32a,  beepon                                                               25/01/07  14:11:00  PAGE 6   

  324   1      /*********************显示“速度:”end ********************************/  
  325   1      
  326   1      
  327   1      
  328   1      /*****************显示km/h:”*****************************/
  329   1       
  330   1      LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00);            // 置地址指针
  331   1         
  332   1         i=0;
  333   1         dat=Matrixkmh[i] ;
  334   1           for(k=36;k<54;k++)
  335   1              {for(j=11;j<16;j++)  
  336   2              {addr1=k*16+j;
  337   3              LCD_WriteTCommand3(LCD_ADR_POS, addr1&0xFF, addr1>>8);  // 置地址指针   
  338   3           LCD_WriteTCommand2(LCD_NOC_WR, dat);
  339   3           dat=Matrixkmh[i] ;
  340   3           i++;}
  341   2           }                              
  342   1      /*********************显示km/h end ********************************/  
  343   1         
  344   1         /************测速及显示时间********************/
  345   1       
  346   1             
  347   1      while(1)    
  348   1      {   if(EXTINT==0x08)
  349   2              {EXTINT=0x08;       //采用外部中断计数 
  350   3              count=count++;}  
  351   2         if(T1IR==0x01)
  352   2           
  353   2                {T1IR=0x01;
  354   3                  frequence=count;
  355   3                  count=0;
  356   3          
  357   3        
  358   3              if (frequence<=250)       //转换车速
  359   3           
  360   3                  { IOCLR0=IOCLR0|safe;
  361   4           
  362   4                  speed=(frequence*100)/250;
  363   4           
  364   4      
  365   4                  if (speed>=100)   //车速值输出转换
  366   4                  { 
  367   5                      speedsz[2]=speed/100;
  368   5                      temp=speed%100;
  369   5                      speedsz[1]=temp/10;
  370   5                      temp=temp%10;
  371   5                      speedsz[0]=temp;
  372   5                  }
  373   4                  else
  374   4                  { 
  375   5                    speedsz[2]=0;
  376   5                    speedsz[1]=speed/10;
  377   5                    speedsz[0]=speed%10;
  378   5                  }
  379   4      
  380   4          
  381   4              times=CTIME0;
  382   4              dates=CTIME1;
  383   4          
  384   4          m[0]=speed; 
  385   4          m[1]= (dates>>16)&0xFFF;
  386   4          datesz[7]=2;
  387   4          datesz[6]=0;
  388   4          datesz[5]=0;
  389   4          datesz[4]=7;
ARM COMPILER V2.32a,  beepon                                                               25/01/07  14:11:00  PAGE 7   

  390   4          m[2]=(dates>>8)&0x0F;
  391   4      
  392   4          if(m[2]>=10)
  393   4              {
  394   5              datesz[3]=m[2]/10;
  395   5              datesz[2]=m[2]%10;
  396   5              }
  397   4          else
  398   4           { datesz[2]=m[2];
  399   5             datesz[3]=0;}
  400   4             m[3]= dates&0x1F;
  401   4             
  402   4          
  403   4          if(m[3]>=10)
  404   4              {
  405   5               datesz[1]=m[3]/10;
  406   5               datesz[0]=m[3]%10;
  407   5              }
  408   4          else
  409   4              {
  410   5               datesz[0]=m[3];
  411   5               datesz[1]=0;
  412   5               }
  413   4          if((datesz[7]!=2)||(datesz[6]!=0)||(datesz[5]!=0)||(datesz[4]!=7)||(datesz[3]!=0)||(datesz[2]!=1)||(date
             -sz[1]!=2)||(datesz[0]!=0))
  414   4            {display_date(datesz);   //显示日期数字
  415   5            }
  416   4          m[4]= (times>>16)&0x1F;
  417   4          if(m[4]>=10)
  418   4              {
  419   5               timesz[5]=m[4]/10;
  420   5               timesz[4]=m[4]%10;
  421   5              }
  422   4          else
  423   4              { 
  424   5              timesz[4]=m[4];
  425   5              timesz[5]=0;
  426   5              }
  427   4      
  428   4          m[5]= (times>>8)&0x3F;
  429   4           if(m[5]>=10)
  430   4              {
  431   5               timesz[3]=m[5]/10;
  432   5               timesz[2]=m[5]%10;
  433   5              }
  434   4           else
  435   4              {
  436   5               timesz[2]=m[5];
  437   5               timesz[3]=0;
  438   5               }
  439   4          m[6]= times&0x3F;
  440   4      
  441   4          if(m[6]>=10)
  442   4              {
  443   5               timesz[1]=m[6]/10;
  444   5              timesz[0]=m[6]%10;
  445   5              }
  446   4          else
  447   4              { 
  448   5               timesz[0]=m[6];
  449   5               timesz[1]=0;
  450   5               }   
  451   4              } 
  452   3        else     
  453   3              {
  454   4                IOCLR0=IOCLR0|danger|BEEPCON;
ARM COMPILER V2.32a,  beepon                                                               25/01/07  14:11:00  PAGE 8   

  455   4               }
  456   3           // 此处在调用错误显示程序
  457   3      
  458   3              
  459   3              display_time(timesz);     //显示时间数字
  460   3              display_speed(speedsz);  //显示速度数据 
  461   3              //display_date(datesz);   //显示日期数字
  462   3              //return (1);
  463   3              
  464   3             }
  465   2       
  466   2             }
  467   1      return(1);  
  468   1      }
  469           
  470          
  471          
  472          
  473          
  474          
  475          
  476          
  477          
  478          
  479          
  480          
  481          
  482          
  483          
  484          
  485          
  486          
  487          
  488          
  489          
  490          
  491          
  492          
  493          
  494          
  495          
  496           /***********此注释程序为测试IO口程序*****************
  497              IODIR0=0x00801800;                  //设置I/O为输出
  498          //IODIR0=LCD_BL;
  499          
  500               IOCLR0=LCD_BL;
  501                  DelayNs(10000);
  502              
  503          for(i=0;i<5;i++) 
  504                { 
  505              
  506              
  507                  IOCLR0=safe;                //绿灯亮
  508                  DelayNs(3000);
  509                  IOSET0=safe ;
  510                  DelayNs(3000);
  511                  IOCLR0=safe;                //绿灯亮
  512                  DelayNs(3000);
  513              IOCLR0=danger;              //  红灯亮
  514              
  515                  DelayNs(1000);
  516          //IOSET0=BEEPCON;               //BEEPCON=1
  517                //DelayNs(10000);  
  518              //IOCLR0=BEEPCON;               //BEEPCON=0
  519              //  DelayNs(10000); 
  520                  IOSET0=safe ;
ARM COMPILER V2.32a,  beepon                                                               25/01/07  14:11:00  PAGE 9   

  521                DelayNs(3000);
  522                    IOSET0=danger;
  523                  DelayNs(3000);
  524              IOSET0=LCD_BL;
  525              DelayNs(10000);
  526                  }
  527              return(0); ******************/
  528          
ARM COMPILER V2.32a,  beepon                                                               25/01/07  14:11:00  PAGE 10  

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (LCD_Initialize?T)
 EXTERN CODE16 (LCD_FillAll?T)
 EXTERN CODE16 (DelayNs?T)
 EXTERN CODE16 (LCD_WriteTCommand2?T)
 EXTERN CODE16 (LCD_WriteTCommand3?T)
 EXTERN CODE16 (display_date?T)
 EXTERN CODE16 (display_time?T)
 EXTERN CODE16 (display_speed?T)
 EXTERN CODE16 (TimeInit?T)
 EXTERN CODE16 (ClkInit?T)
 EXTERN NUMBER (__startup)
 EXTERN CODE16 (?C?SDIV?T)
 EXTERN CODE16 (?C?UDIV?T)



*** PUBLICS:
 PUBLIC         DelayNs2?T
 PUBLIC         main
 PUBLIC         gui_disp_buf
 PUBLIC         count
 PUBLIC         frequence



*** DATA SEGMENT '?DT0?beepon':
 00000000          frequence:
 00000000            DS          2
 00000002          gui_disp_buf:
 00000002            DS          1024
 00000402          count:
 00000402           BEGIN_INIT
 00000402  00        DB          0x0
 00000403           END_INIT

⌨️ 快捷键说明

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