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

📄 课设1.lst

📁 51单片机实现夜间防睡记录器
💻 LST
字号:
C51 COMPILER V7.50   课设1                                                                 06/24/2006 19:09:00 PAGE 1   


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

line level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          uchar cout, liudong, k,cout_j;//计数标志。
   4          uchar miao = 0;
   5          uchar fen = 0;
   6          uchar hour = 10;
   7          uchar flag,i;
   8          sbit P1_0=P1^0;
   9          bit flag_arm;//超过60分报警标志
  10          uchar huanchun[6];
  11          uchar duanma[11] =
  12          {
  13            0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff
  14          };
  15          uchar weima[6] =
  16          {
  17            0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf
  18          };
  19          unsigned char code b[]={10,3,2,1,11,6,5,4,12,9,8,7,13,14,0,15};
  20          void delay(uchar i)
  21          {
  22   1              do{
  23   2                      huanchun[0] = miao % 10;
  24   2              huanchun[1] = miao / 10;
  25   2              huanchun[2] = fen % 10;
  26   2              huanchun[3] = fen / 10;
  27   2              huanchun[4] = hour % 10;
  28   2              huanchun[5] = hour / 10;
  29   2                 }while(i--);
  30   1      }
  31          void Delay(unsigned char a)
  32          {
  33   1        //1
  34   1        unsigned char b;
  35   1        while (--a != 0)
  36   1        {
  37   2          //2
  38   2          for (b = 0; b < 125; b++)
  39   2            ;
  40   2        } //2
  41   1      } //1
  42          void dingshi()interrupt 1
  43          {
  44   1        TH0 = 0xEE;
  45   1        TL0 = 0x00;
  46   1        cout++;
  47   1        if (cout == 200)
  48   1        {
  49   2          miao++;
  50   2          cout = 0;
  51   2          //          flag=1;
  52   2          if (miao == 60)
  53   2          {
  54   3            miao = 0;
  55   3            fen++;
C51 COMPILER V7.50   课设1                                                                 06/24/2006 19:09:00 PAGE 2   

  56   3                cout_j++;//计数标志。
  57   3                if(cout==6)flag_arm=1;
  58   3            if (fen == 60)
  59   3            {
  60   4              fen = 0;
  61   4              hour++;
  62   4              if (hour == 12)
  63   4                hour = 0;
  64   4            }
  65   3          }
  66   2        }
  67   1      }
  68          void xianshi()interrupt 3 using 1       //中断显示
  69          {       
  70   1                TH1=0Xf8;                //显示定时两毫秒。
  71   1                TL1=0Xcc;
  72   1            P1 = weima[i];
  73   1            P2 = duanma[huanchun[i]];
  74   1            i++;
  75   1            if (i == 6)i = 0;
  76   1      }
  77          //11msbj()
  78          //{
  79          unsigned char scankey(){
  80   1              unsigned char k,down,up;
  81   1              P3=0x00;
  82   1              P3=0xF0;
  83   1              k=P3;
  84   1              if(k==0xF0)return 0xFF;
  85   1              delay(100);
  86   1              down=3;
  87   1              while(k&0x80)down--,k<<=1;
  88   1              P3=0x00;
  89   1              P3=0x0F;
  90   1              k=P3;
  91   1              if(k==0x0F)return 0xFF;
  92   1              up=0;
  93   1              while(k&0x01)up+=4,k>>=1;
  94   1              return b[up+down];
  95   1      }//scankey
  96          songjian()
  97          {       unsigned char k;
  98   1              while(1)
  99   1              {       k=scankey();
 100   2                      P1_0=~P1_0;
 101   2                      if(k==scankey()&&k==0xff){P1_0=1;break;}
 102   2              }
 103   1      }       
 104          void main()
 105          {
 106   1        uchar j = 0;
 107   1        TMOD = 0X11;
 108   1        TH0 = 0XEE;
 109   1        TL0 = 0X00;
 110   1        TH1=0Xf8;      //
 111   1        TL1=0Xcc;
 112   1        EA = 1;
 113   1        ET0 = 1;
 114   1        ET1=1;
 115   1        TR1=1;
 116   1        TR0 = 1;
 117   1          while (1)
C51 COMPILER V7.50   课设1                                                                 06/24/2006 19:09:00 PAGE 3   

 118   1        {     k=scankey();
 119   2              if(k==scankey()&&k!=0xFF)
 120   2              songjian();
 121   2        }
 122   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    324    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     32       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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