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

📄 main.lst

📁 这是一个我以前用AT89S52单片机做的128-64液晶屏的驱动显示程序
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  12/28/2007 10:53:51 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          #include"12864-pin.h"
   4          #include"BMP.h"
   5          
   6          #define NOP
   7          
   8          
   9          /*菜单函数;*/
  10          extern void menu_operate();                //   主菜单界面
  11          extern void menu_main();
  12          extern void menu1();                       //   子菜单;
  13          extern void menu2();
  14          extern void menu3();
  15          extern void menu4();
  16          extern void menu5();
  17          extern void menu6();
  18          extern void menu7();
  19          extern void menu8();
  20          
  21          bit compare(uchar *key);                //密码核对;
  22          bit VOI=0;                                              // 声音开关
  23          
  24          /////////////////////////////////////////////////////////////////////////
  25          /////////按键声音///////////////////////////////////////////////////
  26          void voice()
  27          {
  28   1              p37=0;
  29   1              delay(30);
  30   1              p37=1;
  31   1      }
  32          
  33          /////////////////////////////////////////////////////////////
  34          ///////密码错误画面/////////////////////////////////////////////
  35          void key_error(void)
  36          {
  37   1              clrgdram();
  38   1              clrddram();
  39   1              send_i(0x0c);                    //关光标;
  40   1              gotoxy(2,1);
  41   1              LCD_puts("密码错误",8);
  42   1              delay(800);
  43   1      }
  44          //////////////////////////////////////////////////////////////////////////////////
  45          /////////密码输入///////////////////////////////////////////
  46          void putkey(uchar *k)
  47          {
  48   1              uchar i;
  49   1              for(i=0;i<6;i++)
  50   1              {   
  51   2                      (*k)=gotkey(); 
  52   2                      if(*k==15) write_appoint(i,0);                          //      万能开机方式:初始化密码为000000
  53   2                      if(VOI==1) voice();                                             //      按键声音
  54   2                      LCD_puts("*",1);        
  55   2                  k++;
C51 COMPILER V7.50   MAIN                                                                  12/28/2007 10:53:51 PAGE 2   

  56   2              }
  57   1      }
  58          ////////////////////////////////////////////////////////////////////////////////////////
  59          
  60          main()
  61          {
  62   1              uchar i=0,keym[6];
  63   1              init_LCD();
  64   1      loop:
  65   1              clrgdram();
  66   1              clrddram();     
  67   1              putsBmp(0,0,8,32,BMP);
  68   1              gotoxy(0,2);               // 设置文本输出位置
  69   1              LCD_puts("开机密码",8); 
  70   1              send_i(0x8c);      //   设置DDRAM       光标位置;
  71   1              send_i(0x0e);                    //开光标;
  72   1              LCD_puts(" ",1);
  73   1              putkey(keym);                           //      输入密码
  74   1              if(compare(keym)==1)                    //密码比较;
  75   1                      menu_operate();                    //系统菜单;
  76   1               else 
  77   1              {
  78   2                      key_error();
  79   2                      goto loop;                              // 错误则返回;
  80   2              }
  81   1      }
  82          
  83          
  84          /*////////////////////////////////////////////////////////////////
  85          /////密码核对,*/////////////////////////////////////////////////*/
  86          bit compare(uchar *key)
  87          {
  88   1              uchar k,i=0;
  89   1              while(1)
  90   1              {
  91   2                      k=read_appoint(i);
  92   2                      if(*key==15) return 1;          //      系统后门:万能开机
  93   2                      if((*key++)==k) i++;
  94   2                      else break;
  95   2              }
  96   1              if(i==6) return 1;
  97   1              else return 0;
  98   1      }
  99          
 100          
 101          
 102          
 103          
 104          
 105          
 106          
 107           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    276    ----
   CONSTANT SIZE    =    534    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      15
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
C51 COMPILER V7.50   MAIN                                                                  12/28/2007 10:53:51 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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