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

📄 samp6-4.lst

📁 四位液晶显示的频率计,可最大测大65KHZ
💻 LST
字号:
C51 COMPILER V8.02   SAMP6_4                                                               07/08/2008 20:47:03 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE SAMP6_4
OBJECT MODULE PLACED IN samp6-4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE samp6-4.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REG52.H>
   2          #include <at89x52.h>
   3          //#include"LED2.H"
   4          //#include"24C02.h"
   5          #include "lcd1602.h"
   6          #define uchar unsigned char 
   7          uchar disp[8];
   8          uchar T0count,T1count;
   9          //uchar code dispcode[]={0x11,0Xd7,0x32,0X92,0XD4,0X98,0X18,0XD3,0X10,0X90};
  10          //void calc()
  11           uchar flag=0,flag2=0;
  12          uchar display_code[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
  13          uchar dispbuf[5]; //显示缓冲区
  14          
  15          void delayxm(uchar x)
  16          {        uchar i,j;
  17   1               while(x--)
  18   1                {
  19   2                  for(i=0;i<250;i++)
  20   2                      for(j=0;j<132;j++);
  21   2                      
  22   2              
  23   2                 }
  24   1      } 
  25          
  26          void calc()  
  27          {
  28   1        uchar i;
  29   1        long frequency;
  30   1        frequency=(T0count*256+TH0)*256+TL0;
  31   1        for (i=4;i>0;i--)
  32   1          {
  33   2              disp[i]=frequency%10;
  34   2               // disp[]=frequency%10;
  35   2                frequency=frequency/10;
  36   2               }
  37   1        disp[0]=frequency;
  38   1       // display_code[0]=frequency;
  39   1      }
  40            display()
  41            {
  42   1        lcd_strwdat( 0,"Ping Lu Ji (KHz)" );// 
  43   1                 lcd_pos(0x42);
  44   1              // if(dispbuf[0]!=0)
  45   1              // {                                       //如果上一百度则百数才显示
  46   1           // lcd_write(1,display_code[disp[3]]);
  47   1              //      lcd_write(1,display_code[disp[2]]);
  48   1              //      lcd_write(1,display_code[disp[1]]);
  49   1      //              lcd_write(1,display_code[disp[0]]);
  50   1              //      }
  51   1              //      lcd_write(1,display_code[4]);
  52   1              //      lcd_write(1,display_code[5]);
  53   1              //      lcd_write(1,display_code[6]);
  54   1              //      lcd_write(1,display_code[7]);
  55   1              //      lcd_write(1,display_code[8]);
C51 COMPILER V8.02   SAMP6_4                                                               07/08/2008 20:47:03 PAGE 2   

  56   1              //      lcd_write(1,display_code[9]);
  57   1              //      lcd_write(1,display_code[0]);
  58   1              //      lcd_write(1,display_code[1]);
  59   1              //      lcd_write(1,display_code[1]);
  60   1              //      lcd_write(1,display_code[1]);
  61   1              //      lcd_write(1,display_code[1]);
  62   1              //      lcd_write(1,display_code[1]);
  63   1              }        
  64          void init()
  65          {
  66   1         T0count=0;
  67   1         T1count=0;
  68   1         TH0=0;
  69   1         TL0=0;
  70   1      }
  71          void main()
  72          {
  73   1        uchar i,CON;
  74   1        init();
  75   1        TMOD=0X15;
  76   1        TH1=(65536-50000)/256;
  77   1        TL1=(65536-50000)%256;
  78   1        ET1=1;
  79   1        ET0=1;
  80   1        EA=1;
  81   1        TR1=1;
  82   1        TR0=1;
  83   1        T2MOD=0X02;
  84   1        RCAP2H=245;
  85   1        RCAP2L=74;
  86   1        TR2=1;
  87   1      
  88   1        lcd_init();                     //初始化lcd
  89   1        for(i=0;i<4;i++)                //显示缓冲区置0
  90   1        dispbuf[i] = 0;
  91   1        while(1)
  92   1          {
  93   2                 display();             //显示 
  94   2                      CON++;
  95   2                      if(CON==300)     //写时刷屏
  96   2                      lcd_init();
  97   2       //   }
  98   2      //      while(1)
  99   2      //      {
 100   2              lcd_write(1,display_code[disp[0]]);
 101   2              
 102   2                      lcd_write(1,display_code[disp[1]]);
 103   2                      lcd_write(1,0x2e);
 104   2                      lcd_write(1,display_code[disp[2]]);     
 105   2                      lcd_write(1,display_code[disp[3]]);
 106   2                      lcd_write(1,display_code[disp[4]]);
 107   2                               delayxm(2);
 108   2                      }
 109   1       /* while(1)
 110   1         {
 111   1           display(dispcode[disp[3]]);
 112   1               display(dispcode[disp[2]]);
 113   1               display(dispcode[disp[1]]);
 114   1               display(dispcode[disp[0]]);
 115   1               display(dispcode[0xff]);
 116   1           display(dispcode[0xff]);
 117   1           display(dispcode[0xff]);
C51 COMPILER V8.02   SAMP6_4                                                               07/08/2008 20:47:03 PAGE 3   

 118   1           display(dispcode[0xff]);
 119   1               delayxms(10);
 120   1              } */
 121   1      }       
 122          void time0() interrupt 1
 123          {
 124   1        T0count++;
 125   1      }
 126          void time1() interrupt 3
 127          { // uchar contuer;
 128   1         TH1=(65536-50000)/256;
 129   1         TL1=(65536-50000)%256;
 130   1         if(T1count==19)
 131   1           {
 132   2                 calc();
 133   2                 init();
 134   2                }
 135   1              else T1count++;
 136   1      //      contuer++;
 137   1        // if(contuer==7)                                     //当到0.35s改变 flag
 138   1       //  {
 139   1       // contuer=0;
 140   1       // flag=~flag;
 141   1       // }
 142   1      }                        


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    356    ----
   CONSTANT SIZE    =     17    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     27       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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