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

📄 ps2lcd.lst

📁 this program tell you how to connect ps2 to a mcu(for example at89s51)
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   PS2LCD                                                                06/02/2007 12:08:11 PAGE 1   


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

line level    source

   1          #include <Reg51.h>
   2          
   3          
   4          #define LCM_Data  P0 
   5          sbit LCM_RW=P1^3;  //定义LCD引脚
   6          sbit LCM_RS=P1^1; 
   7          sbit LCM_E=P1^2; 
   8          sbit Key_Data=P1^0;  //定义Keyboard引脚
   9          sbit Key_CLK=P3^2; 
  10          
  11          #define Busy    0x80  //用于检测LCM状态字中的Busy标识
  12          
  13          void LCMInit(void);
  14          void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
  15          void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
  16          void Delay5Ms(void);
  17          void Delay400Ms(void);
  18          void Decode(unsigned char ScanCode);
  19          void WriteDataLCM(unsigned char WDLCM);
  20          void WriteCommandLCM(unsigned char WCLCM,BuysC);
  21          
  22          unsigned char ReadDataLCM(void);
  23          unsigned char ReadStatusLCM(void);
  24          unsigned char code cdle_net[] = {"--cug--"};
  25          unsigned char code email[] = {"wy112708@163.com"};
  26          unsigned char code Cls[] = {"                "};
  27          static unsigned char IntNum = 0; //中断次数计数
  28          static unsigned char KeyV; //键值
  29          static unsigned char DisNum = 0; //显示用指针
  30          static unsigned char Key_UP=0, Shift = 0;//Key_UP是键松开标识,Shift是Shift键按下标识
  31          static unsigned char BF = 0; //标识是否有字符被收到
  32          unsigned char code UnShifted[59][2] = {
  33          0x1C, 'a',
  34          0x32, 'b',
  35          0x21, 'c',
  36          0x23, 'd',
  37          0x24, 'e',
  38          0x2B, 'f',
  39          0x34, 'g',
  40          0x33, 'h',
  41          0x43, 'i',
  42          0x3B, 'j',
  43          0x42, 'k',
  44          0x4B, 'l',
  45          0x3A, 'm',
  46          0x31, 'n',
  47          0x44, 'o',
  48          0x4D, 'p',
  49          0x15, 'q',
  50          0x2D, 'r',
  51          0x1B, 's',
  52          0x2C, 't',
  53          0x3C, 'u',
  54          0x2A, 'v',
  55          0x1D, 'w',
C51 COMPILER V8.02   PS2LCD                                                                06/02/2007 12:08:11 PAGE 2   

  56          0x22, 'x',
  57          0x35, 'y',
  58          0x1A, 'z',
  59          0x45, '0',
  60          0x16, '1',
  61          0x1E, '2',
  62          0x26, '3',
  63          0x25, '4',
  64          0x2E, '5',
  65          0x36, '6',
  66          0x3D, '7',
  67          0x3E, '8',
  68          0x46, '9',
  69          0x0E, '`',
  70          0x4E, '-',
  71          0x55, '=',
  72          0x5D, '\\',
  73          0x29, ' ',
  74          0x54, '[',
  75          0x5B, ']',
  76          0x4C, ';',
  77          0x52, '\'',
  78          0x41, ',',
  79          0x49, '.',
  80          0x4A, '/',
  81          0x71, '.',
  82          0x70, '0',
  83          0x69, '1',
  84          0x72, '2',
  85          0x7A, '3',
  86          0x6B, '4',
  87          0x73, '5',
  88          0x74, '6',
  89          0x6C, '7',
  90          0x75, '8',
  91          0x7D, '9',
  92          };
  93          
  94          unsigned char code Shifted[59][2] = {
  95          0x1C, 'A',
  96          0x32, 'B',
  97          0x21, 'C',
  98          0x23, 'D',
  99          0x24, 'E',
 100          0x2B, 'F',
 101          0x34, 'G',
 102          0x33, 'H',
 103          0x43, 'I',
 104          0x3B, 'J',
 105          0x42, 'K',
 106          0x4B, 'L',
 107          0x3A, 'M',
 108          0x31, 'N',
 109          0x44, 'O',
 110          0x4D, 'P',
 111          0x15, 'Q',
 112          0x2D, 'R',
 113          0x1B, 'S',
 114          0x2C, 'T',
 115          0x3C, 'U',
 116          0x2A, 'V',
 117          0x1D, 'W',
C51 COMPILER V8.02   PS2LCD                                                                06/02/2007 12:08:11 PAGE 3   

 118          0x22, 'X',
 119          0x35, 'Y',
 120          0x1A, 'Z',
 121          0x45, '0',
 122          0x16, '1',
 123          0x1E, '2',
 124          0x26, '3',
 125          0x25, '4',
 126          0x2E, '5',
 127          0x36, '6',
 128          0x3D, '7',
 129          0x3E, '8',
 130          0x46, '9',
 131          0x0E, '~',
 132          0x4E, '_',
 133          0x55, '+',
 134          0x5D, '|',
 135          0x29, ' ',
 136          0x54, '{',
 137          0x5B, '}',
 138          0x4C, ':',
 139          0x52, '"',
 140          0x41, '<',
 141          0x49, '>',
 142          0x4A, '?',
 143          0x71, '.',
 144          0x70, '0',
 145          0x69, '1',
 146          0x72, '2',
 147          0x7A, '3',
 148          0x6B, '4',
 149          0x73, '5',
 150          0x74, '6',
 151          0x6C, '7',
 152          0x75, '8',
 153          0x7D, '9',
 154          };
 155          
 156          void main(void)
 157          {
 158   1              unsigned char TempCyc;
 159   1      
 160   1              Delay400Ms(); //启动等待,等LCM讲入工作状态
 161   1              LCMInit(); //LCM初始化
 162   1              Delay5Ms(); //延时片刻(可不要)
 163   1      
 164   1              DisplayListChar(0, 0, cdle_net);
 165   1              DisplayListChar(0, 1, email);
 166   1              ReadDataLCM();//测试用句无意义
 167   1              for (TempCyc=0; TempCyc<10; TempCyc++)
 168   1                              Delay400Ms(); //延时
 169   1              DisplayListChar(0, 1, Cls);     
 170   1              
 171   1              IT0 = 1; 
 172   1              EA = 1;
 173   1              EX0 = 1; //开中断
 174   1      
 175   1              do
 176   1                      {
 177   2                              if (BF)
 178   2                                      Decode(KeyV);
 179   2                              else
C51 COMPILER V8.02   PS2LCD                                                                06/02/2007 12:08:11 PAGE 4   

 180   2                                      EA = 1; //开中断
 181   2                      }
 182   1              while(1);
 183   1      }
 184          
 185          //写数据
 186          void WriteDataLCM(unsigned char WDLCM) 
 187          {
 188   1              ReadStatusLCM(); //检测忙
 189   1              LCM_Data=WDLCM;
 190   1              LCM_RS=1;
 191   1              LCM_RW=0;

⌨️ 快捷键说明

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