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

📄 system.lst

📁 一个用1602显示的多功能电子钟,内有实时时钟功能和温度显示功能!
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.02   SYSTEM                                                                11/08/2007 02:06:33 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE SYSTEM
OBJECT MODULE PLACED IN system.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE system.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1                                                                                     #include <reg52.h>
   2          #include <intrins.h>
   3          #include<string.h>
   4          
   5          
   6                   bit clock=0;
   7             sbit ACC7=ACC^7;
   8             sbit ACC0=ACC^0;
   9          bit flag=0;
  10          unsigned char k=0;
  11          
  12          bit i=1;
  13              void play_respond();
  14          unsigned char code AC_TABLE[]={
  15          0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
  16          0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
  17          0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
  18          0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
  19          };
  20           void move();
  21          unsigned char hour_sound,minute_sound;
  22                  unsigned char   print[7]={33,35,18,11,2,4,97};
  23          
  24          
  25          
  26          unsigned char temp[2],Count;
  27          void beeping(unsigned char frequence,unsigned char length);
  28          void Delay_xMs(unsigned char x);
  29          void getch();
  30            void showtime(unsigned char *print);
  31          void delay(unsigned int t)     //延时程序
  32          {
  33   1              while( t!= 0 )                  
  34   1              {
  35   2                      unsigned int i;                 
  36   2                      for(i=0; i<100; i++);   
  37   2                      t--;                                    
  38   2              }
  39   1      }
  40          
  41           
  42          
  43          
  44          
  45                      
  46                                  
  47                                  
  48                                  
  49                                  
  50                                   ////注意每次调用getch();要清零flag
  51           //////////////////////////////////////////////////////////  音乐按键  
  52           /*     音乐按键模块  用定时器0                         */
  53           ////////////////////////////////////////////////////////
  54          void getch (  )
  55          {   unsigned char X,Y,Z;
C51 COMPILER V8.02   SYSTEM                                                                11/08/2007 02:06:33 PAGE 2   

  56   1              P2=0xff;
  57   1              P2=0x0f;       //先对P2置数  行扫描
  58   1              if(P2!=0x0f)     //判断是否有键按下
  59   1              {delay(50);    //延时,软件去干扰
  60   2               if(P2!=0x0f)   //确认按键按下X = P2;
  61   2              {
  62   3              flag=1;
  63   3              X=P2;          //保存行扫描时有键按下时状态
  64   3              P2=0xf0;       //列扫描
  65   3              Y=P2;          //保存列扫描时有键按下时状态
  66   3              Z=X|Y;         //取出键值
  67   3              switch ( Z )   //判断键值(那一个键按下)
  68   3              {
  69   4                      case 0xee: k=0; beeping(k+1,20);break; //对键值赋值
  70   4                      case 0xde: k=1;beeping(k,20); break; 
  71   4                      case 0xbe: k=2;beeping(k,20); break; 
  72   4                      case 0x7e: k=3; beeping(k,20);break; 
  73   4                      case 0xed: k=4; beeping(k,20);break; 
  74   4                      case 0xdd: k=6;beeping(k,20); break; 
  75   4                      case 0xbd: k=7; beeping(k,20);break; 
  76   4                      case 0x7d: k=8;beeping(k,20); break; 
  77   4                      case 0xeb: k=9; beeping(k,20);break; 
  78   4                      case 0xdb: k=7; beeping(k,20);break;    
  79   4                      case 0xbb: k=10;beeping(k,20);break; 
  80   4                      case 0x7b: k=11;beeping(k,20);break; 
  81   4                      case 0xe7: k=12;beeping(k,20);break; 
  82   4                      case 0xd7: k=13;beeping(k,20);break; 
  83   4                      case 0xb7: k=14;beeping(k,20);break; 
  84   4                      case 0x77: k=15;beeping(k,20);break; 
  85   4              }
  86   3                while(P2!=0xf0);
  87   3              }
  88   2      
  89   2              }
  90   1              
  91   1      
  92   1              }
  93          
  94          void change()                       ////修改时间
  95          {   
  96   1            unsigned char i=0,temp[7],temp3[3],x,y;
  97   1           v_BurstR1302T(print);
*** WARNING C206 IN LINE 97 OF SYSTEM.C: 'v_BurstR1302T': missing function-prototype
*** ERROR C267 IN LINE 97 OF SYSTEM.C: 'v_BurstR1302T': requires ANSI-style prototype
  98   1               for(i=0;i<7;i++)
  99   1               {temp[i]=print[i];}
 100   1               i=0;
 101   1                
 102   1           showtime(temp);  
 103   1               while(k!=15)
 104   1        {
 105   2                 getch(); 
 106   2               if(flag==1&&k==13) {flag=0;i++;i=i%7;k=0;}
 107   2               
 108   2                   
 109   2                 if(flag==1&&k==9){flag=0;temp[6-i]++;} 
*** ERROR C187 IN LINE 109 OF SYSTEM.C: not an lvalue
 110   2                 if(flag==1&&k==8){flag=0;temp[6-i]--; }
*** ERROR C187 IN LINE 110 OF SYSTEM.C: not an lvalue
 111   2                 if(flag==1&&k==11){flag=0;clock=1;}
 112   2                          temp3[0]=time[temp[6-i]/10];
*** ERROR C202 IN LINE 112 OF SYSTEM.C: 'time': undefined identifier
C51 COMPILER V8.02   SYSTEM                                                                11/08/2007 02:06:33 PAGE 3   

 113   2                                      temp3[1]=time[temp[6-i]%10];
*** ERROR C202 IN LINE 113 OF SYSTEM.C: 'time': undefined identifier
 114   2                                              temp3[2]='\0';
 115   2                                      
 116   2                                       switch(i)
 117   2                                      {case 0:{x=0;y=1;break;}
 118   3                                      case 1:{ x=2,y=0;break;}            
 119   3                                      case 2: {x=0;y=3;break;}
 120   3                                      case 3:{x=0;y=5;break;}
 121   3                                      case 4: {x=2;y=1;break;}
 122   3                                      case 5: {x=2;y=3;break;}
 123   3                                      case 6: {x=2;y=5;break;}
 124   3                              
 125   3                                      }
 126   2      
 127   2                                      
 128   2                                       
 129   2                                      
 130   2                                 showtime(temp) ;     
 131   2      
 132   2      
 133   2      
 134   2                                      
 135   2                                        
 136   2                              
 137   2                                              } 
 138   1                                               
 139   1                                               if(clock==0)v_BurstW1302T(temp);
 140   1                                                       else  
 141   1                                                       {hour_sound=temp[2];minute_sound=temp[1];play_respond();}
 142   1                                                       k=0;flag=0; 
 143   1                          
 144   1      }
 145          
 146           
 147                     
 148          
 149           
 150          
 151                  
 152          
 153          
 154          
 155          
 156          
 157            void showtime(unsigned char *print)
 158                                            {
 159   1                                              unsigned char temp3[3],*temp4;
 160   1                                              //unsigned char temp2[]={print[6]/10,print[6]%10}//'Y',' ',,time[print[4]%10],'M',time[print[3]/10],t
             -ime[print[3]%10]};    年拾个年点
 161   1                                      
 162   1                                                 temp3[0]=time[2];
 163   1                                                      temp3[1]=time[0];
 164   1                                                         temp3[2]='\0';
 165   1                                                   PutStr(0,0,temp3);
 166   1                                                  temp3[0]=time[print[6]/10];
 167   1                                                      temp3[1]=time[print[6]%10];     
 168   1                                                          temp3[2]='\0';

⌨️ 快捷键说明

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