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

📄 12232.lst

📁 各种款式液晶显示程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.01  12232                                                                  03/03/2006 16:37:46 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE 12232
OBJECT MODULE PLACED IN E:\ZHAOM\程序\SED1520\12232-~1\12232.OBJ
COMPILER INVOKED BY: d:\wave\keil\C51\BIN\C51.EXE E:\ZHAOM\程序\SED1520\12232-~1\12232.C DB SB OE OT(2)

stmt level    source

   1          #include<reg51.h>
   2          #include<stdio.h>
   3          #define uchar unsigned char
   4          uchar data Column;/*定义列*/
   5          uchar data Page;/*定义页*/
   6          uchar *p;/*建立数组指针*/
   7          uchar data i,j,k,Disp_Page;
   8          uchar data z;/*汉字数组的页,为实际点阵列数除以8*/
   9          uchar data y;/*汉字数组的列,为实际点阵行数*/
  10          uchar q;/*判忙*/
  11          sbit E1=P3^0;/*读写使能信号,1有效*/
  12          sbit E2=P3^1;/*读写选择信号;1为读选通,0为写选通*/
  13          sbit R_W=P3^2;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
  14          sbit A0=P3^3;
  15          char code Hanzi[102][3]=  /*汉字数组*/
  16          {
  17           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x10,0x0F,0x00,0x30,
  18           0x0F,0x00,0xB0,0x01,0x00,0xFF,0x0B,0x00,0xFF,0x3F,0x00,0xEE,0x3F,0x00,0x68,0x15,
  19           0x00,0x48,0x30,0x00,0x40,0x38,0x00,0xC0,0x3F,0x00,0x80,0x07,0x00,0x00,0x00,0x00,
  20           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x70,
  21           0x38,0x00,0x30,0x3B,0x00,0xB8,0x1B,0x00,0xDE,0x3B,0x00,0xFE,0x3F,0x00,0xFE,0x3F,
  22           0x00,0xFC,0x05,0x00,0xD8,0x1C,0x00,0x08,0x18,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
  23           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
  24           0x07,0x00,0xF0,0x0F,0x00,0x70,0x1C,0x00,0xF8,0x1F,0x00,0xFC,0x1F,0x00,0xF6,0x17,
  25           0x00,0xF6,0x17,0x00,0x86,0x17,0x00,0x8E,0x18,0x00,0xFC,0x1F,0x00,0xF0,0x0F,0x00,
  26           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  27           0x10,0x00,0x00,0x10,0x00,0x18,0x16,0x00,0x78,0x16,0x00,0xF8,0x1F,0x00,0xFE,0x0F,
  28           0x00,0xFE,0x0F,0x00,0xFA,0x0F,0x00,0xBA,0x0B,0x00,0xBE,0x0B,0x00,0x1C,0x19,0x00,
  29           0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30           0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0xC0,0x07,0x00,0xE6,0x07,0x00,0xFE,0x0F,
  31           0x00,0xFE,0x1F,0x00,0xFC,0x17,0x00,0xD0,0x17,0x00,0xD0,0x17,0x00,0xF0,0x11,0x00,
  32           0x60,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  33           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x18,0x0F,
  34           0x00,0x9C,0x1B,0x00,0xBC,0x19,0x00,0xFE,0x31,0x00,0xFE,0x30,0x00,0xFE,0x3F,0x00,
  35           0xCE,0x0F,0x00,0xC4,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  36           0x00,0x00
  37          };
  38          void WCom_L(uchar);/*写左半屏指令*/
  39          void WCom_R(uchar);/*写右半屏指令*/
  40          void Clearlcd();/*清屏*/
  41          void Imim();/*初始化*/
  42          void Dat_L(uchar);/*送左半屏显示*/
  43          void Dat_R(uchar);/*送右半屏显示*/
  44          void Delay();/*延时*/
  45          void W_byte();/*写一个字节*/
  46          void Hanz();/*写汉字*/
  47          /********************主程序********************/
  48          void main()
  49          {
  50   1      // Delay();
  51   1      // Delay();
  52   1       Delay();/*延时*/
  53   1       Imim();/*初始化*/
  54   1       p=Hanzi;/*指针指向数组的首地址*/
*** WARNING C182 IN LINE 54 OF E:\ZHAOM\程序\SED1520\12232-~1\12232.C: pointer to different objects
C51 COMPILER V7.01  12232                                                                  03/03/2006 16:37:46 PAGE 2   

  55   1       Page=1; /*自定义,液晶上显示汉字的起始页*/
  56   1       Column=8;/*自定义,液晶上显示汉字的起始列*/
  57   1       y=102;
  58   1       z=3;
  59   1       Hanz();/*写汉字程序*/
  60   1      loop:
  61   1       goto loop;
  62   1      }
  63          /********************写左半屏指令子程序********************/
  64          void WCOM_L(uchar d)    /*写指令程序*/
  65          {
  66   1       R_W=1;
  67   1       A0=0;/*读状态指令*/
  68   1      Loop1:
  69   1       P1=0xff;
  70   1       E1=1;/*左半屏片选*/
  71   1       q=P1;
  72   1       E1=0;/*左半屏片选*/
  73   1       if(q&0x80)
  74   1       {
  75   2       goto Loop1;
  76   2       }/*判断左半屏是否忙*/
  77   1       R_W=0;/*写数据*/
  78   1       A0=0;
  79   1       P1=d;
  80   1       E1=1;
  81   1       P1=d;
  82   1       E1=0;/*屏处于未选状态*/
  83   1      }
  84          /********************写右半屏指令子程序********************/
  85          void WCOM_R(uchar d)    /*写指令程序*/
  86          {
  87   1       R_W=1;
  88   1       A0=0;
  89   1      Loop2:
  90   1       P1=0xff;
  91   1       E2=1;/*左半屏片选*/
  92   1       q=P1;
  93   1       E2=0;
  94   1       if(q&0x80)
  95   1       {
  96   2       goto Loop2;
  97   2       }/*判断右半屏是否忙*/
  98   1       R_W=0;/*写数据*/
  99   1       A0=0;
 100   1       P1=d;
 101   1       E2=1;
 102   1       P1=d;
 103   1       E2=0;/*屏处于未选状态*/
 104   1      }
 105          /********************送左半屏显示字符子程序********************/
 106          void Dat_L(uchar d)
 107          {
 108   1       R_W=1;
 109   1       A0=0;
 110   1      Loop1:
 111   1       P1=0xff;
 112   1       E1=1;/*左半屏片选*/
 113   1       q=P1;
 114   1       E1=0;
 115   1       if(q&0x80)
 116   1       {
C51 COMPILER V7.01  12232                                                                  03/03/2006 16:37:46 PAGE 3   

 117   2       goto Loop1;
 118   2       }/*判忙*/
 119   1       A0=1;
 120   1       R_W=0;/*写数据指令*/
 121   1       P1=d;
 122   1       E1=1;
 123   1       P1=d;
 124   1       E1=0;
 125   1      }
 126          /********************送右半屏显示字符子程序********************/
 127          void Dat_R(uchar d)
 128          {
 129   1       R_W=1;
 130   1       A0=0;
 131   1      Loop:
 132   1       P1=0xff;
 133   1       E2=1;/*左半屏片选*/
 134   1       q=P1;
 135   1       E2=0;
 136   1       if(q&0x80)
 137   1       {
 138   2       goto Loop;
 139   2       }/*判忙*/
 140   1       A0=1;
 141   1       R_W=0;/*写数据指令*/
 142   1       P1=d;
 143   1       E2=1;
 144   1       P1=d;
 145   1       E2=0;
 146   1      }
 147          
 148          /********************初始化子程序********************/
 149          void Imim()
 150          {
 151   1       P0=0xff;
 152   1       P1=0xff;
 153   1       P2=0xff;
 154   1       P3=0xff;
 155   1       E1=0;
 156   1       E2=0; /*屏幕处于未选状态*/
 157   1       Delay();
 158   1       WCOM_L(0xE2);/*复位*/
 159   1       WCOM_R(0xE2);/*复位*/
 160   1       WCOM_L(0xA4);/*正常工作状态设置*/

⌨️ 快捷键说明

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