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

📄 sin_square.lst

📁 单片机与cpld总线方式通信
💻 LST
字号:
C51 COMPILER V7.06   SIN_SQUARE                                                            07/24/2005 17:22:31 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SIN_SQUARE
OBJECT MODULE PLACED IN .\sin_square.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\sampDAC0832-OK\sin_square.c BROWSE DEBUG OBJECTEXTEND PRINT(.\sin_square
                    -.lst) OBJECT(.\sin_square.obj)

stmt level    source

   1          /*7218在硬件译码的时候,低四位数据进行译码,最高位控制小数点,其余三位无效*/
   2          // distab保存要显示的8位数据(每一位为一个字节)
   3          // ledtab为7218软件译码字型表
   4          #include<reg52.h>
   5          //#include<intrins.h>
   6          #include<absacc.h>
   7          #define DisCmd XBYTE [0xC100]                     //7218控制字地址
   8          #define DisData XBYTE [0xC000]                    //7218数据口地址
   9          #define DA0832_1 XBYTE[0X6000]
  10          #define DA0832_2 XBYTE[0X8000]
  11          #define scode 0xb0                                //7218软件译码方式命令字
  12          #define bcode 0x90                                //B码译码方式命令字
  13          #define hexcode 0xd0                              //软件译码方式命令字
  14          #define unchar  unsigned char 
  15          sbit P3_0=P3^0;
  16          sbit P1_0=P1^0;
  17          char keynum;                                       //按键号 
  18          char ledcursor=0;                                  //保存光标当前位置
  19          char enter=1;
  20          char distab[8]={0x2,0x3,0x8,0x00,0x10,0x10,0x10,0x10} ; // 要显示的内容
  21          char ledtab[]={ 0xfb,0xb0,0xed,0xf5,0xb6,0xd7,0xdf,0xf0,
  22                         //0,   1,    2,   3,   4,   5,   6,   7 
  23                          0xff,0xf7,0xfe,0x9f,0xcb,0xbd,0xcf,0xce,0x80 };
  24                         //8    ,9   ,a   ,b   ,c    ,d  ,e    ,f ,熄灭   
  25          int delay;
  26          //***************************************************************************************    
  27          
  28          
  29          char code sintab[]={ 128,140 ,152  ,164  ,176  ,187  ,198  ,208  ,217  ,226  ,233,
  30          240  ,245  ,249  ,252  ,254  ,254  ,254  ,252  ,249  ,245,
  31          240  ,233  ,226  ,217  ,208  ,198  ,187  ,176  ,164  ,152,
  32          140  ,128  ,115  ,103  ,91  ,79  ,68  ,57  ,47  ,38,
  33          29  ,22  ,15  ,10  ,6  ,3  ,1  ,1  ,1  ,3,
  34          6  ,10  ,15  ,22  ,29  ,38  ,47  ,57  ,68  ,79,
  35          91  ,103  ,115  ,127  ,140  ,152  ,164  ,176  ,187  ,198,
  36          208  ,217  ,226  ,233  ,240  ,245  ,249  ,252  ,254  ,254,
  37          254  ,252  ,249  ,245  ,240  ,233  ,226  ,217  ,208  ,198,
  38          187  ,176  ,164  ,152  ,140  ,128  ,115  ,103  ,91  ,79,
  39          68  ,57  ,47  ,38  ,29  ,22  ,15  ,10  ,6  ,3,
  40          1  ,1  ,1  ,3  ,6  ,10  ,15  ,22  ,29  ,38,
  41          47 ,57  ,68  ,79  ,91  ,103  ,115 
  42           };
  43           //***************************************************************************************        
  44          void display()
  45          {
  46   1         unchar i;      
  47   1         DisCmd=scode;            //采用软件译码
  48   1         for(i=0;i<8;i++)      //将distab中的数据送如7218
  49   1         {
  50   2           DisData=ledtab[distab[i]]; //查表转化并将字型送入7218
  51   2         }
  52   1         
  53   1      }
  54          //**************************************************************************************
C51 COMPILER V7.06   SIN_SQUARE                                                            07/24/2005 17:22:31 PAGE 2   

  55          void clock_initial() 
  56          {
  57   1       TMOD=0x01;
  58   1       TR0=0;
  59   1       TF0=0;
  60   1       TH0=0X10;
  61   1       TL0=0X10;
  62   1       TR0=1;
  63   1      }
  64          //**************************************************************************************
  65          
  66           //**************************************************************************************
  67          
  68          void keyprg(unchar key)  //键盘键值执行的程序
  69          {  
  70   1         if(key==0x0d)
  71   1           delay-=1;
  72   1         if(key==0x0e)
  73   1           delay+=1;
  74   1           
  75   1      }
  76          //**************************************************************************************
  77          void intt0() interrupt 0 
  78          { 
  79   1       
  80   1       EX0=0;              //关键盘中断,禁止相应其他按键
  81   1       keynum=P1;          //从p1口读入键盘值
  82   1       keynum=keynum&0x0f; //取低四位;
  83   1       keyprg(keynum);
  84   1       if(keynum==0x0f)
  85   1       enter=!enter;
  86   1       EX0=1;                    //开中断
  87   1      }
  88          /**************************************************************************************
  89          void clock0(void) interrupt 1
  90          { 
  91            P3_0=!P3_0;
  92            clock_initial() ;
  93          }
  94          */
  95          void main()
  96          { 
  97   1        int  i;
  98   1        unchar j=0;
  99   1        EX0=1;
 100   1        EA=1;
 101   1        display();
 102   1          while(1)
 103   1        {
 104   2                 while(enter)
 105   2                {
 106   3                   for(i=0;i<128;i++)
 107   3                          {
 108   4                         DA0832_1=sintab[i];
 109   4                         j=delay;
 110   4                             for(j;j>0;j--);
 111   4                           }
 112   3                  }
 113   2             while(!enter)
 114   2                  {
 115   3                     DA0832_1=0xf0;
 116   3                     for(j=delay;j>0;j--);
C51 COMPILER V7.06   SIN_SQUARE                                                            07/24/2005 17:22:31 PAGE 3   

 117   3                         DA0832_1=0x00;
 118   3                     for(j=delay;j>0;j--);  
 119   3                   }
 120   2         }
 121   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    204    ----
   CONSTANT SIZE    =    128    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     30    ----
   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 + -