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

📄 test.lst

📁 1302yu18b20he16128d xianshi,对大家有一定的参考作用
💻 LST
字号:
C51 COMPILER V7.50   TEST                                                                  06/28/2007 13:55:48 PAGE 1   


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

line level    source

   1          /**************************************************************************
   2          * 文 件 名:test.c
   3          * 功    能:我的小制作-------万年历( 阴历)
   4          * 作    者:卓超
   5          * QQ      : 305661237
   6          **************************************************************************/
   7          /****************************文件包含*************************************/
   8          #include < reg52.h >
   9          #include < character.h >
  10          #include < lcd.h >
  11          #include < clock.h >
  12          #include < sensor.h>
  13          #include < calendar.h >
  14          #include < key.h >
  15          
  16          /*****************************预定义**************************************/
  17          #define uchar unsigned char
  18          #define uint unsigned int
  19          /****************************************************************************/
  20          sbit bell = P2 ^ 0; //定义蜂鸣器端口
  21          sbit in = P2 ^ 7;  //定义红外检测端口
  22          /*****************************************************************************
  23          * 名称: Timer0_Service() inturrupt 1
  24          * 功能: 中断服务程序 整点报时 3声嘟嘟的声音
  25          * 入口参数:
  26          * 出口参数:
  27          *****************************************************************************/
  28          void Timer0_Service() interrupt 1
  29          {
  30   1         static uchar count = 0;
  31   1         static uchar flag = 0; //记录鸣叫的次数
  32   1         count = 0;
  33   1         TR0 = 0;      //关闭Timer0
  34   1         TH0 = 0x3c;
  35   1         TL0 = 0XB0;   //延时 50 ms
  36   1         TR0 = 1 ;     //启动Timer0
  37   1         count ++;
  38   1         if( count == 20 ) //鸣叫 1 秒 
  39   1         {
  40   2            bell = ~ bell;
  41   2            count = 0;
  42   2            flag ++;
  43   2         } 
  44   1         if( flag == 6 )
  45   1         {
  46   2            flag = 0;
  47   2            TR0 = 0;   //关闭Timer0
  48   2         }
  49   1      
  50   1      }
  51          /*****************************************************************************
  52          * 名称: Timer2_Servie() interrupt 5
  53          * 功能: 中断服务程序  整点报时 一分钟
  54          * 入口参数: 
  55          * 出口参数:
C51 COMPILER V7.50   TEST                                                                  06/28/2007 13:55:48 PAGE 2   

  56          *****************************************************************************/
  57          void Timer3_Service() interrupt 5
  58          {
  59   1         static uchar count;
  60   1         TF2 = 0; //软件清除中断标志
  61   1         count ++;
  62   1         if( in == 1 )
  63   1         {
  64   2            count = 0; //计算清0
  65   2            TR2 = 0; //关闭Timer2
  66   2            bell = 1; //关闭蜂鸣器
  67   2         } 
  68   1         if( count == 120 ) // 一分钟后 关闭报警
  69   1         {
  70   2            count = 0; //计算清0
  71   2            TR2 = 0; //关闭Timer2
  72   2            bell = 1; //关闭蜂鸣器
  73   2         }
  74   1      } 
  75          /******************************************************************************
  76          * 函数名称:main()
  77          * 功    能:
  78          * 入口参数:
  79          * 出口参数:
  80          ********************************************************************************/
  81          void main( void )
  82          {
  83   1                     
  84   1          uchar clock_time[7] = { 0x00, 0x00, 0x02, 0x01, 0x06, 0x07 };        //定义时间变量 秒  分 时 日 月 年
  85   1          uchar alarm_time[2] = { 0, 0}; //闹钟设置  alarm_time[0]: 分钟  alarm_time[1] :小时
  86   1              uchar temperature[2];  //定义温度变量   temperature[0]  低8位   temperature[1]  高8位
  87   1          Lcd_Initial();     //LCD初始化
  88   1              Clock_Initial( clock_time ); //时钟初试化
  89   1          
  90   1              /***********************中断初始化***************************/
  91   1          EA = 1; //开总中断
  92   1          ET0 = 1;  //Timer0 开中断
  93   1              ET2 = 1; //Timer2 开中断
  94   1          TMOD = 0x01 ; //Timer0 工作方式 1
  95   1              RCAP2H = 0x3c; 
  96   1          RCAP2L = 0xb0; //Timer2 延时 50 ms
  97   1      
  98   1          while( 1 )
  99   1              {
 100   2                 switch( Key_Scan() )
 101   2             {
 102   3                case up_array:  
 103   3                                     {
 104   4                                Key_Idle();
 105   4                             }
 106   3                                     break;     
 107   3                case down_array:   
 108   3                                       {
 109   4                                                          Key_Idle();
 110   4                                                       }
 111   3                                       break;                  
 112   3                        case clear_array:   
 113   3                                        {    
 114   4                                                           Key_Idle();
 115   4                                                    } 
 116   3                                                        break;
 117   3                        case function_array:{
C51 COMPILER V7.50   TEST                                                                  06/28/2007 13:55:48 PAGE 3   

 118   4                                       Key_Function( clock_time, alarm_time );
 119   4                                            }
 120   3                        case null:      
 121   3                                 {
 122   4                                            Clock_Fresh( clock_time ); //时间刷新
 123   4                                    Lcd_Clock( clock_time );   //时间显示
 124   4                           
 125   4                            Sensor_Fresh( temperature ); //温度更新
 126   4                                                Lcd_Temperture( temperature ); //温度显示
 127   4       
 128   4                            Calendar_Convert( 0 , clock_time );
 129   4                                                Week_Convert( 0, clock_time );
 130   4      
 131   4                                                //整点报时
 132   4                                                if( ( * clock_time == 0x59 ) && ( * ( clock_time + 1 ) == 0x59 ) )
 133   4                                                {
 134   5                                                   bell = 0;
 135   5                                                       TR2 = 1; //启动Timer2
 136   5                                                }
 137   4                            //闹钟报警
 138   4                            if( * alarm_time == * ( clock_time + 1 ) ) //分钟相吻合
 139   4                                                   if( * ( alarm_time + 1 ) == *( clock_time + 2 ) ) //小时相吻合
 140   4                                                       {
 141   5                                                          bell = 0;
 142   5                                                              TR2 = 1; //启动Timer2
 143   5                                                       }
 144   4                         } 
 145   3                                         break;
 146   3               }
 147   2              }
 148   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   5559    ----
   CONSTANT SIZE    =   2057    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      83
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----      15
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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