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

📄 lcd1602.lst

📁 dds集成芯片ad9851的控制程序
💻 LST
字号:
C51 COMPILER V7.50   LCD1602                                                               07/29/2007 16:54:51 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN lcd1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd1602.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /***************************************************
   2                              ad9851控制程序
   3          key0:输出信号
   4          key1:加法运算
   5          key2:减法运算
   6          key3:选择位数
   7          总体思路:以1M信号频率对应的数字为基准,对应的在各位
   8          进行加减
   9          ***************************************************/
  10          
  11          
  12          #define  kinit_int0
  13          #define  kinit_t0
  14          #define  kinit_int1
  15          #define  kinit_t1
  16          
  17          #include <init.H>
  18          #include <dds9851.h>
  19          #include "LCD1602.h"
  20          
  21          
  22          unsigned char wbit=0;
  23          unsigned char flash=0;
  24          unsigned char num=0;
  25          unsigned char time=0;
  26          unsigned long dat=0;
  27          unsigned char fdat[10]={48,48,44,48,48,48,44,48,48,48};
  28          
  29          main()
  30          {
  31   1          init_int0();
  32   1              init_int1();
  33   1              init_t0();
  34   1              init_t1();
  35   1              TMOD=0x44,TL0=0x1f,TH0=0xff ,TR0=1;
  36   1              TL1=0x1f,TH1=0xff ,TR1=1;
  37   1              Delay1ms(100);//等LCD启动
  38   1              LCD_Initial();
  39   1              GotoXY(0,0);
  40   1              Print("f= 00,000,000 Hz"); 
  41   1              while(1) 
  42   1                {
  43   2                  if(flash==1)
  44   2                        {        
  45   3                              GotoXY(wbit+2,0);
  46   3                              Print(" ");
  47   3                              Delay1ms(300);
  48   3                         }
  49   2                       GotoXY(3,0);
  50   2                       Printnum(fdat,10);
  51   2                       Delay1ms(300);
  52   2                 }
  53   1      }
  54          
  55          
C51 COMPILER V7.50   LCD1602                                                               07/29/2007 16:54:51 PAGE 2   

  56          mode() interrupt 0
  57          {
  58   1          Delay1ms(200);
  59   1              if(INT0==0)
  60   1                {
  61   2                  wbit++;     
  62   2                  if(wbit==11)
  63   2                   {
  64   3                     wbit=0;
  65   3                         flash=1;
  66   3                         writedds(dat);
  67   3                    }
  68   2                  if(wbit!=0)flash=1;
  69   2                 }
  70   1      }
  71          
  72          add() interrupt 1 
  73          {
  74   1              TH0=0xff ,TL0=0x1f;
  75   1              switch(wbit)
  76   1              {
  77   2               case 10:if(fdat[9]==57)    break          ;
  78   2                       dat=dat+29826150/1000000;
  79   2                               fdat[9]++;         break          ;
  80   2               case 9: if(fdat[8]==57)    break          ;
  81   2                       dat=dat+29826150/100000;
  82   2                               fdat[8]++;         break          ;
  83   2               case 8: if(fdat[7]==57)    break          ;
  84   2                       dat=dat+29826150/10000;
  85   2                               fdat[7]++;         break          ;
  86   2               case 6: if(fdat[5]==57)    break          ;
  87   2                       dat=dat+29826150/1000;
  88   2                               fdat[5]++;         break          ;
  89   2               case 5: if(fdat[4]==57)    break          ;
  90   2                       dat=dat+29826150/100;
  91   2                               fdat[4]++;         break          ;
  92   2               case 4: if(fdat[3]==57)    break          ;
  93   2                       dat=dat+29826150/10;          
  94   2                       fdat[3]++;         break          ;
  95   2               case 2: if(fdat[1]==57)    break          ;
  96   2                       dat=dat+29826150;
  97   2                       fdat[1]++;         break          ;
  98   2               case 1: if(fdat[0]==57)    break          ;
  99   2                       dat=dat+29826150*10;
 100   2                       fdat[0]++;         break          ;
 101   2               default:;
 102   2               }      
 103   1      
 104   1      } 
 105          
 106          decrease() interrupt 2 
 107          {
 108   1              switch(wbit)
 109   1              {
 110   2               case 10:if(fdat[9]==48)    break          ;
 111   2                       dat=dat-29826150/1000000;
 112   2                               fdat[9]--;         break          ;
 113   2               case 9: if(fdat[8]==48)    break          ;
 114   2                       dat=dat-29826150/100000;
 115   2                               fdat[8]--;         break          ;
 116   2               case 8: if(fdat[7]==48)    break          ;
 117   2                       dat=dat-29826150/10000;
C51 COMPILER V7.50   LCD1602                                                               07/29/2007 16:54:51 PAGE 3   

 118   2                               fdat[7]--;         break          ;
 119   2               case 6: if(fdat[5]==48)    break          ;
 120   2                       dat=dat-29826150/1000;
 121   2                               fdat[5]--;         break          ;
 122   2               case 5: if(fdat[4]==48)    break          ;
 123   2                       dat=dat-29826150/100;
 124   2                               fdat[4]--;         break          ;
 125   2               case 4: if(fdat[3]==48)    break          ;
 126   2                       dat=dat-29826150/10;          
 127   2                       fdat[3]--;         break          ;
 128   2               case 2: if(fdat[1]==48)    break          ;
 129   2                       dat=dat-29826150;
 130   2                       fdat[1]--;         break          ;
 131   2               case 1: if(fdat[0]==48)    break          ;
 132   2                       dat=dat-29826150*10;
 133   2                       fdat[0]--;         break          ;
 134   2               default:;
 135   2               }
 136   1      } 
 137          
 138          out() interrupt 3
 139          {
 140   1           TH1=0xff ,TL1=0x1f;
 141   1               wbit=0;
 142   1               flash=1;
 143   1               writedds(dat);
 144   1      }
 145           
 146              
 147              


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1369    ----
   CONSTANT SIZE    =     19    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     20      17
   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 + -