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

📄 ziku.lst

📁 带字库的12864显示程序加上打印机打印
💻 LST
字号:
C51 COMPILER V8.02   ZIKU                                                                  07/29/2007 11:17:46 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ZIKU
OBJECT MODULE PLACED IN ziku.OBJ
COMPILER INVOKED BY: D:\yanzhengtao\C51\BIN\C51.EXE ziku.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<regx51.h>
   2          #include        <intrins.h>
   3          #include        <string.h>
   4          #define uchar unsigned char
   5          #define data P0;
   6          #define BUSY_FLAG       P0_7                                            //液晶模块忙标志
   7          #define MPU_RESET       P3_0                                        //液晶复位控制
   8          #define MPU_RS_CH       P3_1                                            //寄存器选择输入
   9          #define MPU_RW_CH       P3_2                                            //读写控制
  10          #define MPU_ENABLE      P3_3                                            //使能控制
  11          #define LCD_DATA        P0                                                      //液晶数据口
  12          
  13          //-----------------------------------------------
  14          //液晶模块指令集定义
  15          #define cClearDisplay   0x01                                    //清显示指令
  16          #define cEntryModeSet   0x06                                    //设置输入模式
  17          #define cDisplayOnCtrl  0x0c                                    //设置开显控制
  18          #define cFunctionSetB   0x30                                    //功能设定(基本指令)
  19          void delayMs (uchar ms);
  20          void checkLcdBusy (void);
  21          //===============================================
  22          void lcdWriteCommand (uchar Command)
  23          {
  24   1              checkLcdBusy();
  25   1              delayMs (2);
  26   1              MPU_RS_CH = 0;
  27   1              MPU_RW_CH = 0;
  28   1              LCD_DATA = Command;
  29   1              MPU_ENABLE = 1;
  30   1              delayMs(1);
  31   1              MPU_ENABLE = 0;
  32   1      }
  33          //========延时====================================
  34          void delayMs (unsigned int ms)
  35          {
*** WARNING C235 IN LINE 35 OF ZIKU.C: parameter 1: different types
  36   1              uchar i;
  37   1              while (--ms)
  38   1              {
  39   2                      for (i = 0; i < 125; i++);
  40   2              }
  41   1      }
  42          //===============================================
  43          void checkLcdBusy (void) 
  44          {   char i=1;
  45   1              while(i--);
  46   1      }
  47          //===============================================
  48          void lcdWriteData (uchar Data)
  49          {
  50   1              checkLcdBusy();
  51   1              delayMs (2);
  52   1              MPU_RS_CH = 1;
  53   1              MPU_RW_CH = 0;
  54   1              LCD_DATA = Data;
C51 COMPILER V8.02   ZIKU                                                                  07/29/2007 11:17:46 PAGE 2   

  55   1              MPU_ENABLE = 1;
  56   1              delayMs(1);
  57   1              MPU_ENABLE = 0;
  58   1      }
  59          
  60          //===============================================
  61          void dispString (uchar X,  Y, unsigned int speed, uchar *msg)
  62          {
  63   1              if (X == 0)
  64   1              {
  65   2                      X = 0x80;
  66   2              }
  67   1              else if (X == 1)
  68   1              {
  69   2                      X = 0x90;
  70   2              }
  71   1              else if (X == 2)
  72   1              {
  73   2                      X = 0x88;
  74   2              }
  75   1              else if (X == 3)
  76   1              {
  77   2                      X = 0x98;
  78   2              }
  79   1              else;
  80   1               Y= X + Y;
  81   1              lcdWriteCommand(Y);
  82   1              while (*msg)
  83   1              {
  84   2                      lcdWriteData(*msg++);
  85   2                      delayMs(speed);
  86   2              }
  87   1      }
  88          //===============================================
  89          void lcdClear (void)
  90          {
  91   1          lcdWriteCommand(cClearDisplay);
  92   1      }                                                           
  93          //===============================================
  94          void lcdInit (void)
  95          {
  96   1              MPU_RESET = 0;
  97   1              delayMs(40);
  98   1              MPU_RESET = 1;
  99   1              delayMs(1);
 100   1              P2=0xfe;
 101   1              lcdWriteCommand(0x01);//清除显示
 102   1              lcdWriteCommand(0x30);//30H--基本指令操作
 103   1              lcdWriteCommand(0x0c);//开显示,关光标,不闪烁
 104   1              lcdWriteCommand(0x06);//指定在资料写入或读取时,光标的移动方向,DDRAM的地址计数器(AC)加1。
 105   1      
 106   1      }
 107          //===============================================
 108          void delaySec (uchar sec)
 109          {
 110   1              uchar i;
 111   1              while (--sec)
 112   1              {
 113   2                      for (i = 0; i < 200; i++)
 114   2                      {
 115   3                              delayMs (6);
 116   3                      }
C51 COMPILER V8.02   ZIKU                                                                  07/29/2007 11:17:46 PAGE 3   

 117   2              }
 118   1      }
 119          void main (void)
 120          {
 121   1          lcdInit ();
 122   1          lcdClear();
 123   1      
 124   1              dispString(0, 0, 1, "┏━━━━━━┓");
 125   1              dispString(1, 0, 1, "┃12864LCD测试┃");
 126   1              dispString(2, 0, 1, "┃画面人物宝儿┃");
 127   1              dispString(3, 0, 1, "┗━━━━━━┛");
 128   1              delaySec(6);
 129   1              lcdClear();
 130   1              dispString(0, 3, 100, "how are you?");
 131   1              dispString(1, 0, 100, "    系统初始化...");
 132   1              dispString(2, 0, 100, "海军工程大学");
 133   1              dispString(3, 0, 100, "  船动院学闫政涛");
 134   1      
 135   1      }
 136          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    412    ----
   CONSTANT SIZE    =    129    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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