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

📄 lcd.lst

📁 12864
💻 LST
字号:
C51 COMPILER V7.50   LCD                                                                   12/19/2006 17:26:34 PAGE 1   


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

line level    source

   1          #include <REGX51.H>
   2          #include <ctype.h>
   3          #include <string.h>
   4          #include <stdlib.h>
   5          #include <stdio.h>
   6          #include <math.h>
   7          #include "lcd.h"
   8          #include "zimo.h"
   9          #include "comm.h"
  10          
  11          
  12          
  13          /*-------------------------- 开机信息显示------------------------*/
  14          void StartMsg(void)
  15           {
  16   1        Clr_Scr();         // 先清屏 //
  17   1        CS2=1;CS1=0;
  18   1        hz_disp16(0,32,huan);      //  欢
  19   1        delay(2000);
  20   1        hz_disp16(0,48,ying);      //  迎
  21   1        delay(2000);
  22   1        CS2=0;CS1=1;
  23   1        hz_disp16(0,0,shi1);       //  使
  24   1        delay(2000);
  25   1        hz_disp16(0,16,yong);      //  用
  26   1        delay(2000);
  27   1        CS2=1;CS1=0;
  28   1        sz_disp16(2,32,sz5);      //  51
  29   1        sz_disp16(2,40,sz1);
  30   1        delay(2000);
  31   1        hz_disp16(2,48,dan);        //单  
  32   1        delay(2000);
  33   1        CS2=0;CS1=1;
  34   1        hz_disp16(2,0,pian);        //  片
  35   1        delay(2000);
  36   1        hz_disp16(2,16,ji);        //  机
  37   1        delay(2000);
  38   1        CS2=1;CS1=0;
  39   1        hz_disp16(5,16,zhi);       //  制
  40   1        delay(2000);
  41   1        hz_disp16(5,32,zuo);       //  作
  42   1        delay(2000);
  43   1        hz_disp16(5,48,maohao);    //  :
  44   1        delay(2000);
  45   1        CS2=0;CS1=1;
  46   1        hz_disp16(5,0,yang);       //  杨
  47   1        delay(2000);
  48   1        hz_disp16(5,16,fei);      //  飞
  49   1        delay(2000);
  50   1        hz_disp16(5,32,gantanhao);     //  !
  51   1        delay(2000);
  52   1       }
  53          
  54          
  55          
C51 COMPILER V7.50   LCD                                                                   12/19/2006 17:26:34 PAGE 2   

  56          /*-----------------------------4*4键盘扫描程序------------------------*/
  57          unsigned char kbscan()
  58          
  59          {
  60   1        unsigned char sccode,recode;
  61   1      P1=0xf0;                                                                /*发全"0"行扫描码,列线输入*/
  62   1      if((P1&0xf0)!=0xf0)                                             /*若有键按下*/
  63   1      {
  64   2      delay(1000);                                                    /*延时去抖动*/
  65   2      if((P1&0xf0)!=0xf0)
  66   2      {
  67   3      sccode=0xfe;                                    /*逐行扫描初值*/
  68   3      while((sccode&0x10)!=0)
  69   3      {
  70   4      P1=sccode;                                      /*输出行扫描码*/
  71   4      if((P1&0xf0)!=0xf0)             /*本行有键按下*/
  72   4      {
  73   5      recode=(P1&0xf0)|0x0f;
  74   5      return((~sccode)+(~recode)); /*返回特征字节码*/
  75   5      }
  76   4      else sccode=(sccode<<1)|0x01;   /*行扫描码左移一位*/
  77   4      }
  78   3      }
  79   2      }
  80   1      return(0);
  81   1      }
  82          
  83          
  84          /*------------------------------主函数---------------------------------*/
  85          
  86          main()
  87           {
  88   1       unsigned char key;
  89   1        init_lcd();
  90   1        Disp_Img(FirstPage);
  91   1        delay(10000);
  92   1        StartMsg();
  93   1        delay(10000);
  94   1        init_serialcomm(); //初始化串口 
  95   1        send_string_com("welcome to aphero!",20);
  96   1      
  97   1        while(1){
  98   2          key=kbscan();
  99   2          if(key!=0){       // 如果key不为0表示有键被按下//
 100   3             Clr_Scr();         // 先清屏 //
 101   3             switch(key)  
 102   3                  { 
 103   4                      case 0x11: // 按键为1//
 104   4                                                        CS2=1;CS1=0;
 105   4                               sz_disp16(0,0,sz1);
 106   4                               break;    
 107   4                      case 0x21: // 按键为2//
 108   4                                                        CS2=0;CS1=1;
 109   4                               sz_disp16(0,0,sz2);
 110   4                               break; 
 111   4                      case 0x41: // 按键为3//
 112   4                                                        CS2=1;CS1=0;
 113   4                               sz_disp16(1,0,sz3);
 114   4                               break; 
 115   4                      case 0x81: // 按键为4//
 116   4                                                        CS2=0;CS1=1;
 117   4                               sz_disp16(2,0,sz4);
C51 COMPILER V7.50   LCD                                                                   12/19/2006 17:26:34 PAGE 3   

 118   4                               break; 
 119   4                      case 0x12: // 按键为5//
 120   4                                                        CS2=1;CS1=0;
 121   4                               sz_disp16(2,0,sz5); 
 122   4                               break; 
 123   4                      case 0x22: // 按键为6//
 124   4                                                        CS2=0;CS1=1;
 125   4                               sz_disp16(3,0,sz6);
 126   4                               break; 
 127   4                      case 0x42: // 按键为7//
 128   4                                                        CS2=1;CS1=0;
 129   4                               sz_disp16(4,0,sz7);
 130   4                               break; 
 131   4                      case 0x82: // 按键为8//
 132   4                                                        CS2=0;CS1=1;
 133   4                               sz_disp16(5,0,sz8); 
 134   4                               break; 
 135   4                      case 0x14: // 按键为9//
 136   4                                                        CS2=1;CS1=0;
 137   4                               sz_disp16(6,0,sz9); 
 138   4                               break; 
 139   4                      case 0x24: // 按键为10//
 140   4                                                        CS2=0;CS1=1;
 141   4                               sz_disp16(6,0,sz1);
 142   4                                                       sz_disp16(6,8,sz0);
 143   4                               break; 
 144   4                      case 0x44: // 按键为11//
 145   4                                                        CS2=1;CS1=0;
 146   4                               sz_disp16(6,0,sz1);
 147   4                                                       sz_disp16(6,8,sz1);
 148   4                               break; 
 149   4                      case 0x84: // 按键为12//
 150   4                                                        CS2=0;CS1=1;
 151   4                               sz_disp16(0,0,sz1); 
 152   4                                                       sz_disp16(0,8,sz2);
 153   4                               break; 
 154   4                      case 0x18: // 按键为13//
 155   4                                                        CS2=1;CS1=0;
 156   4                               sz_disp16(0,0,sz1);
 157   4                               sz_disp16(0,8,sz3);
 158   4                               break; 
 159   4                      case 0x28: // 按键为14//
 160   4                                                        CS2=0;CS1=1;
 161   4                               sz_disp16(0,0,sz1); 
 162   4                                                       sz_disp16(0,8,sz4);
 163   4                               break; 
 164   4                      case 0x48: // 按键为15//
 165   4                                                        CS2=1;CS1=0;
 166   4                               sz_disp16(0,0,sz1);
 167   4                                                       sz_disp16(0,8,sz5);
 168   4                               break; 
 169   4                      case 0x88: // 按键为16//
 170   4                                                        CS2=0;CS1=1;
 171   4                               sz_disp16(0,0,sz1);
 172   4                                                       sz_disp16(0,8,sz6);
 173   4                               break; 
 174   4      
 175   4                     } 
 176   3                 }
 177   2        }
 178   1       }

C51 COMPILER V7.50   LCD                                                                   12/19/2006 17:26:34 PAGE 4   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1408    ----
   CONSTANT SIZE    =   1651    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     29      21
   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 + -