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

📄 main.lst

📁 应用KEILC写的一个C51程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.02   MAIN                                                                  04/16/2008 22:07:29 PAGE 1   


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

line level    source

   1          #include "lcd.h"
   2          #include "delay.h"
   3          #include "key.h"
   4          #include "warn.h"
   5          #include "eeprom.h"
   6          #include "time.h"
   7          static uchar keyval;
   8          static uchar NumMenu=0,Menuflag=0,Passflag=0,setflag=0;
   9          bit whiteflag1=0,whiteflag2=0;
  10          static uchar GetTimeBuf[7],SetTimeBuf[7];//={0x00,0x00,0x00,0x14,0x04,0x01,0x08},GetTimeBuf[7];
  11          static code char Menu[8][9]={"时间设置","密码修改","事件查询","布防设置","增加模块","删去模块","显示模块",
             -"修改模块"};
  12          static uchar ReadPass[6],PassBuf[6]={0},EnterBuf[6],PassBit=0,pass[6]={1,2,3,4,5,6};
  13          void DisplayTime(uchar TimeBuf[6])
  14          {
  15   1         uchar tmh,tml;
  16   1         WriteCommand(0x90);
  17   1       //  WriteData(0x32);   
  18   1        // WriteData(0x30);//显示20
  19   1         tmh=TimeBuf[6] & 0x10;
  20   1         tmh=(tmh>>4)+0x30;    //0-9在液晶中高4位地址0x30 ASCII码
  21   1         WriteData(tmh);
  22   1         tml=TimeBuf[6]& 0x0f;
  23   1         tml=tml+0x30;       
  24   1         WriteData(tml);
  25   1         WriteData(0x2d);
  26   1         tmh=TimeBuf[4] & 0x10;               //显示月份
  27   1         tmh=(tmh>>4)+0x30;    //0-9在液晶中高4位地址0x30 ASCII码   
  28   1         WriteData(tmh);
  29   1         tml=TimeBuf[4]& 0x0f;
  30   1         tml=tml+0x30;       
  31   1         WriteData(tml);
  32   1      
  33   1         WriteData(0x2d);      //2d=00101101地址在液晶中是符号"-"
  34   1      
  35   1         tmh=TimeBuf[3] & 0x30;               //显示日期
  36   1         tmh=(tmh>>4)+0x30;       
  37   1         WriteData(tmh);
  38   1         tml=TimeBuf[3]& 0x0f;
  39   1         tml=tml+0x30;       
  40   1         WriteData(tml);
  41   1      
  42   1         WriteData(0x20);//20=00100000地址在液晶中的符号是" "
  43   1         WriteData(0x20);   
  44   1         tmh=TimeBuf[2] & 0x30; //显示时
  45   1         tmh=(tmh>>4)+0x30;        
  46   1         WriteData(tmh);
  47   1         tml=TimeBuf[2]& 0x0f;
  48   1         tml=tml+0x30;        
  49   1         WriteData(tml);
  50   1      
  51   1         WriteData(0x3a); //3a=00111010地址在液晶中的符号是":"
  52   1                
  53   1         tmh=TimeBuf[1] & 0x70; //显示分
  54   1         tmh=(tmh>>4)+0x30;  
C51 COMPILER V8.02   MAIN                                                                  04/16/2008 22:07:29 PAGE 2   

  55   1            
  56   1         WriteData(tmh);
  57   1         tml=TimeBuf[1]& 0x0f;
  58   1         tml=tml+0x30;
  59   1            
  60   1         WriteData(tml);
  61   1      }
  62          
  63          void ReadPassWord(void)
  64          {
  65   1         ReadPass[0]=read24c16(PASS0); //#define PASS0 21  
  66   1         ReadPass[1]=read24c16(PASS1);   
  67   1         ReadPass[2]=read24c16(PASS2); 
  68   1         ReadPass[3]=read24c16(PASS3);   
  69   1         ReadPass[4]=read24c16(PASS4);   
  70   1         ReadPass[5]=read24c16(PASS5);   
  71   1      }
  72          void WritePassWord(uchar pass[6])
  73          {
  74   1         write24c16(PASS0,pass[0]);
  75   1         delay_1ms(10);
  76   1         write24c16(PASS1,pass[1]);
  77   1         delay_1ms(10);
  78   1         write24c16(PASS2,pass[2]);
  79   1         delay_1ms(10);
  80   1         write24c16(PASS3,pass[3]);
  81   1         delay_1ms(10);
  82   1         write24c16(PASS4,pass[4]);
  83   1         delay_1ms(10);
  84   1         write24c16(PASS5,pass[5]);
  85   1      }
  86          
  87          void SetPage()
  88          {
  89   1              uchar tmh,tml;
  90   1              //PassBit=0;
  91   1              LcmClearTXT();
  92   1              //v_BurstR1302T(GetTimeBuf);
  93   1              WriteCommand(0x80);
  94   1              WriteData(0x32);
  95   1              WriteData(0x30);
  96   1              tmh=GetTimeBuf[6] & 0x10;
  97   1              tmh=(tmh>>4)+0x30;    //0-9在液晶中高4位地址0x30 ASCII码
  98   1              WriteData(tmh);
  99   1              tml=GetTimeBuf[6]& 0x0f;
 100   1              tml=tml+0x30;       
 101   1              WriteData(tml);
 102   1              WriteData(0x2d);
 103   1              tmh=GetTimeBuf[4] & 0x10;               //显示月份
 104   1              tmh=(tmh>>4)+0x30;    //0-9在液晶中高4位地址0x30 ASCII码   
 105   1              WriteData(tmh);
 106   1              tml=GetTimeBuf[4]& 0x0f;
 107   1              tml=tml+0x30;       
 108   1              WriteData(tml);
 109   1              WriteData(0x2d);         //2d=00101101地址在液晶中是符号"-"
 110   1              tmh=GetTimeBuf[3] & 0x30;               //显示日期
 111   1              tmh=(tmh>>4)+0x30;       
 112   1              WriteData(tmh);
 113   1              tml=GetTimeBuf[3]& 0x0f;
 114   1              tml=tml+0x30;       
 115   1              WriteData(tml);
 116   1              WriteCommand(0x90);
C51 COMPILER V8.02   MAIN                                                                  04/16/2008 22:07:29 PAGE 3   

 117   1              tmh=GetTimeBuf[5] & 0x30; //显示星期
 118   1              tmh=(tmh>>4)+0x30;        
 119   1              WriteData(tmh);
 120   1              tml=GetTimeBuf[5]& 0x0f;
 121   1              tml=tml+0x30;        
 122   1              WriteData(tml);
 123   1              WriteData(0x20);//20=00100000地址在液晶中的符号是" "
 124   1              WriteData(0x20);   
 125   1              tmh=GetTimeBuf[2] & 0x30; //显示时
 126   1              tmh=(tmh>>4)+0x30;        
 127   1              WriteData(tmh);
 128   1              tml=GetTimeBuf[2]& 0x0f;
 129   1              tml=tml+0x30;        
 130   1              WriteData(tml);
 131   1              WriteData(0x3a); //3a=00111010地址在液晶中的符号是":"
 132   1              tmh=GetTimeBuf[1] & 0x70; //显示分
 133   1              tmh=(tmh>>4)+0x30;  
 134   1          WriteData(tmh);
 135   1              tml=GetTimeBuf[1]& 0x0f;
 136   1              tml=tml+0x30;
 137   1          WriteData(tml);
 138   1              WriteData(0x3a); //3a=00111010地址在液晶中的符号是":"
 139   1              tmh=GetTimeBuf[0] & 0x70; //显示分
 140   1              tmh=(tmh>>4)+0x30;  
 141   1          WriteData(tmh);
 142   1              tml=GetTimeBuf[0]& 0x0f;
 143   1              tml=tml+0x30;
 144   1          WriteData(tml);
 145   1              //timeflag=1;
 146   1              WriteCommand(0x0f);//开光标,光标位置闪烁显示
 147   1              WriteCommand(0x81);
 148   1              
 149   1      }       
 150          void FirstMenu(void)
 151          {
 152   1              if(NumMenu==0&&Menuflag==0){
 153   2                      LcmClearTXT();
 154   2                      WriteCommand(0x80);
 155   2                      WriteCommand(0x0C);      //显示ON,游标OFF,游标位反白OFF
 156   2                      Passflag=0;
 157   2                      LcmClearTXT();
 158   2                      WriteCommand(0x80);
 159   2                      WriteData(0x31);
 160   2                      WriteData(0x3a);
 161   2                      WriteCommand(0x90);
 162   2                      WriteData(0x32);
 163   2                      WriteData(0x3a);
 164   2                      PutStr(0,1,Menu[NumMenu]);
 165   2                      PutStr(1,1,Menu[NumMenu+1]);
 166   2                      Menuflag=1;
 167   2                      if(whiteflag1==0){
 168   3                              White(0x00);
 169   3                              whiteflag1=~whiteflag1;
 170   3                      }
 171   2                      else{
 172   3                              White(0x00);
 173   3                              White(0x00);
 174   3                      }
 175   2              }
 176   1                                      //      else if(Menuflag==2){
 177   1                                      //      }
 178   1      }
C51 COMPILER V8.02   MAIN                                                                  04/16/2008 22:07:29 PAGE 4   

 179          

⌨️ 快捷键说明

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