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

📄 课设4.lst

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


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

line level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          uchar cout, k;//计数标志。
   4          unsigned int cout_j;
   5          uchar miao = 0; //时间初始化
   6          uchar fen = 0;
   7          uchar hour = 10;
   8          uchar flag,i,key,n=0;
   9          sbit P3_0=P3^0;
  10          sbit P3_1=P3^1;
  11          sbit P3_2=P3^2;
  12          sbit P3_3=P3^3;
  13          bit flag_arm,flag_1,flag_ma,flag_d,inter;//超过60分报警标志
  14          uchar huanchun[6];
  15          uchar duanma[11] ={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff};
  16          uchar weima[6] ={ 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf};
  17          unsigned char code b[]={10,3,2,1,11,6,5,4,12,9,8,7,13,14,0,15};
  18          uchar room[8][3];
  19          void delay(uchar i,uchar k)
  20          {
  21   1              do{     if(flag_ma==0)
  22   2                      {       huanchun[0] = miao % 10;
  23   3                      huanchun[1] = miao / 10;
  24   3                      huanchun[2] = fen % 10;
  25   3                      huanchun[3] = fen / 10;
  26   3                      huanchun[4] = hour % 10;
  27   3                      huanchun[5] = hour / 10;
  28   3                      }
  29   2                      else
  30   2                      {       huanchun[0] = room[k][0] % 10;
  31   3                      huanchun[1] = room[k][0] / 10;
  32   3                      huanchun[2] = room[k][1]% 10;
  33   3                      huanchun[3] = room[k][1] / 10;
  34   3                      huanchun[4] = room[k][2] % 10;
  35   3                      huanchun[5] = room[k][2] / 10;
  36   3                      }
  37   2                 }while(i--);
  38   1      }
  39          baocun(uchar i)
  40          {       room[i][0]=miao;
  41   1              room[i][1]=fen;
  42   1              room[i][2]=hour;
  43   1      }
  44          void dingshi()interrupt 1         //定时50ms
  45          {
  46   1        TH0 = 0xee;
  47   1        TL0 = 0x00;
  48   1        cout++;
  49   1        P0_3=1;          //外部定时报警
*** ERROR C202 IN LINE 49 OF 课设4.C: 'P0_3': undefined identifier
  50   1        if (cout == 2)  //   以秒为单位
  51   1        {     flag_d=~flag_d;//11min灯
  52   2          miao++;
  53   2          cout = 0;
  54   2              cout_j++;//计数标志。
C51 COMPILER V7.50   课设4                                                                 06/24/2006 19:12:51 PAGE 2   

  55   2                if(cout_j==660)flag_1=1,P0_0=0; //
*** ERROR C202 IN LINE 55 OF 课设4.C: 'P0_0': undefined identifier
  56   2                if(cout_j==3600){flag_arm=1;P0_1=0;baocun(n);n++;}//报警开,记录当前时刻,存储单元指向下一个以便下次报警
             -记录时间
*** ERROR C202 IN LINE 56 OF 课设4.C: 'P0_1': undefined identifier
  57   2          if (miao== 60)
  58   2          {
  59   3            miao = 0;
  60   3            fen++;
  61   3            if (fen == 60)
  62   3            {
  63   4              fen = 0;
  64   4              hour++;
  65   4              if (hour == 12)
  66   4                hour = 0;
  67   4            }
  68   3          }
  69   2        }
  70   1      }
  71          void xianshi()interrupt 3 using 1       //中断显示
  72          {       
  73   1                TH1=0Xf8;                //显示定时两毫秒。
  74   1                TL1=0Xcc;
  75   1            P1 = weima[i];
  76   1            P2 = duanma[huanchun[i]];
  77   1            i++;
  78   1            if (i==6)i=0;
  79   1      }
  80          unsigned char scankey(){
  81   1              unsigned char k,down,up;
  82   1              P3=0x00;
  83   1              P3=0xF0;
  84   1              k=P3;
  85   1              if(k==0xF0)return 0xFF;
  86   1              delay(100,key);         ////////////
  87   1              down=3;
  88   1              while(k&0x80)down--,k<<=1;
  89   1              P3=0x00;
  90   1              P3=0x0F;
  91   1              k=P3;
  92   1              if(k==0x0F)return 0xFF;
  93   1              up=0;
  94   1              while(k&0x01)up+=4,k>>=1;
  95   1              return b[up+down];
  96   1      }//scankey
  97          songjian()
  98          {       unsigned char k;
  99   1              while(1)
 100   1              {       k=scankey();
 101   2                      if(k==scankey()&&k==0xff)break;
 102   2              }
 103   1      }
 104          void shortb()interrupt 0 using 2        //中断显示
 105          {       
 106   1              P0_3=0;//int0
*** ERROR C202 IN LINE 106 OF 课设4.C: 'P0_3': undefined identifier
 107   1              if(flag_1==1){P0_0=flag_d;P0_2=~P0_2;}//11min灯1s闪烁,
*** ERROR C202 IN LINE 107 OF 课设4.C: 'P0_0': undefined identifier
*** ERROR C202 IN LINE 107 OF 课设4.C: 'P0_2': undefined identifier
 108   1              if(flag_arm==1)    
 109   1              {       P0_1=~P0_1;
*** ERROR C202 IN LINE 109 OF 课设4.C: 'P0_1': undefined identifier
C51 COMPILER V7.50   课设4                                                                 06/24/2006 19:12:51 PAGE 3   

 110   2                      P0_2=1;
*** ERROR C202 IN LINE 110 OF 课设4.C: 'P0_2': undefined identifier
 111   2                      flag_1=0;
 112   2              }
 113   1      }                       
 114          void main()
 115          {
 116   1        IP=0X0A; //T0,T1,INT0,INT1,
 117   1        TMOD = 0X11;
 118   1        TH0 = 0Xee;
 119   1        TL0 = 0X00;
 120   1        TH1=0Xf8;     
 121   1        TL1=0Xcc;
 122   1        EA = 1;
 123   1        ET0 = 1;
 124   1        ET1=1;
 125   1        TR1=1;
 126   1        TR0 = 1;
 127   1          while (1)
 128   1        {     k=scankey();
 129   2              delay(100,key);  //////////////////////////////////////////////
 130   2              if(k==scankey()&&k!=0xFF)
 131   2              {       songjian();
 132   3                      if(k==15)
 133   3                      {       flag_1=0;
 134   4                              flag_arm=0;
 135   4                              cout_j=0;        //复位,清计数,定时
 136   4                      }
 137   3                      else {key=k;flag_ma=~flag_ma;  } //显示记录的时间
 138   3              }
 139   2        }
 140   1      }

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

⌨️ 快捷键说明

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