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

📄 define.lst

📁 我自己写的一个电子时钟,带秒表,计时器,和简单的计算器功能,供初学者参考
💻 LST
字号:
C51 COMPILER V7.50   DEFINE                                                                04/06/2006 15:36:03 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DEFINE
OBJECT MODULE PLACED IN define.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE define.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "reg51.h"
   2          #include "define.h"
   3          #include "function.h"
   4          
   5          //***********************长延时*************************
   6            void long_delay(void)
   7              {
   8   1           unsigned char i;
   9   1           for (i=0;i<0x30;i++);
  10   1          }
  11          
  12          //***********************短延时*************************
  13          
  14           void short_delay(void)
  15              {
  16   1            unsigned char i;
  17   1            for (i=0;i<8;i++);
  18   1          }
  19          
  20          // ********************* 延时 *10ms **********************
  21            void delay10ms(unsigned char time)
  22              {
  23   1           unsigned char i;
  24   1           unsigned int j;
  25   1            for (i=0;i<time;i++)
  26   1                {
  27   2                  for(j=0;j<0x680;j++)//1664
  28   2                     {;}
  29   2                }
  30   1            }
  31          
  32          //*****************发送一byte 的数据********************
  33          
  34          void send_byte( unsigned char out_byte)
  35               {
  36   1             unsigned char i;
  37   1             cs=0;
  38   1             long_delay();
  39   1             for (i=0;i<8;i++)
  40   1                 {
  41   2                   if (out_byte&0x80)
  42   2                   {
  43   3                   dat=1;
  44   3                   }
  45   2                      else
  46   2                       {
  47   3                        dat=0;
  48   3                       }
  49   2              clk=1;
  50   2              short_delay();
  51   2              clk=0;
  52   2              short_delay();
  53   2              out_byte=out_byte*2;
  54   2             }
  55   1           dat=0;
C51 COMPILER V7.50   DEFINE                                                                04/06/2006 15:36:03 PAGE 2   

  56   1         }
  57              
  58           //****************收到1字节的数据**************     
  59           unsigned char receive_byte(void)
  60          {
  61   1              unsigned char i,in_byte;
  62   1              dat=1;
  63   1              long_delay();
  64   1              for (i=0;i<8;i++)
  65   1              {
  66   2                      clk=1;
  67   2                      short_delay();
  68   2                      in_byte=in_byte*2;
  69   2                      if (dat)
  70   2                      {
  71   3                              in_byte=in_byte|0x01;
  72   3                      }
  73   2                      clk=0;
  74   2                      short_delay();
  75   2              }
  76   1              dat=0;
  77   1              return (in_byte);
  78   1      }
  79                  
  80          //*******************写入指令和数据*****************************
  81          //              第一个参数为指令  第二个参数为数据           ***
  82          //************************************************************
  83          
  84          void write7279(unsigned char cmd, unsigned char dta)
  85            {
  86   1          send_byte (cmd);
  87   1          send_byte (dta);
  88   1        }
  89          
  90          //*******************读入指令和数据***************************
  91          //              第一个参数为指令  第二个参数为数据           ***
  92          //************************************************************
  93          unsigned char read7279(unsigned char command)
  94          {
  95   1              send_byte(command);
  96   1              return(receive_byte());
  97   1      }
  98          // ********************* MY延时 *10ms **********************
  99           void mydelay ( unsigned  t )
 100          {
 101   1           unsigned i,j;
 102   1                      
 103   1                      TF1=0;
 104   1                      TH1=0x05;
 105   1                      TL1=0x05;
 106   1                      TR1=1;
 107   1       for (i=0;i<t;i++)
 108   1       {
 109   2              for (j=0;j<=35;j++)
 110   2              {
 111   3      
 112   3                      while (TF1!=1)
 113   3                      {};
 114   3                      TF1=0;
 115   3              }
 116   2      }
 117   1      TR1=0;                  
C51 COMPILER V7.50   DEFINE                                                                04/06/2006 15:36:03 PAGE 3   

 118   1      }
 119          
 120          //**********************8从左开始循环*****************************
 121          void circle8(void)
 122          {
 123   1              unsigned int i;
 124   1              send_byte(CMD_RESET);                   
 125   1              write7279(0x86, 0x08);  
 126   1              delay10ms(20);
 127   1              for (i=0;i<=21;i++)
 128   1              {
 129   2                      send_byte(RTR_CYCLE);   
 130   2                      delay10ms(20);
 131   2               }
 132   1      }
 133          //**************************7从右开始循环***********************右
 134          void circle7(void)
 135          {
 136   1              unsigned int i;
 137   1              send_byte(CMD_RESET);                   
 138   1              write7279(0x80, 0x07);  
 139   1              delay10ms(20);
 140   1              for (i=0;i<=21;i++)
 141   1              {
 142   2                      send_byte(RTL_CYCLE);   
 143   2                      mydelay(20);
 144   2               }
 145   1      }
 146          
 147          //*******************中断和定时器的初始化函数***********************
 148          void init(void) /*MCU初始化函数*/
 149          {
 150   1              EX1=1;
 151   1              ET0=1;
 152   1      //      PT0=1;
 153   1              IT1=1; 
 154   1              EA=1; 
 155   1              TMOD=0x22;
 156   1              TF0=0;
 157   1              TH0=0x05;
 158   1              TL0=0x05;
 159   1      }
 160          //******************两数相加******************************************
 161          unsigned  plus(unsigned   a,unsigned   b)
 162          {       
 163   1              unsigned  c;
 164   1              return (c=a+b);
 165   1      }
 166          //******************两数相减*****************************************
 167          unsigned  minus(unsigned  a,unsigned   b)
 168          {       
 169   1              
 170   1              unsigned  c;
 171   1              if (a>=b) return (c=a-b);
 172   1              if (a<b) return (c=b-a);
 173   1      }
 174          //********************两数相乘***************************************
 175          unsigned long mult(unsigned   long a,unsigned long b)
 176          {       
 177   1              unsigned long c;
 178   1              return (c=a*b);
 179   1      }
C51 COMPILER V7.50   DEFINE                                                                04/06/2006 15:36:03 PAGE 4   

 180          
 181          
 182          


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