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

📄 lcd_show.lst

📁 本程序的主要功能是利用51单片机实现液晶显示
💻 LST
字号:
C51 COMPILER V7.02b   LCD_SHOW                                                             08/21/2005 15:01:40 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE LCD_SHOW
OBJECT MODULE PLACED IN lcd_show.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd_show.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程学院        */
   3          /* All rights reserved.                  */
   4          /* /* 作    者:戴佳                                  */
   5          /*****************************************/
   6          
   7          #include "lcd_show.h"
   8          
   9          #define uint unsigned int
  10          #define uchar unsigned char
  11          
  12          #define CSA P2_1
  13          #define CSB P2_0
  14          #define E P2_3
  15          #define RW P2_5
  16          #define DI P2_6
  17          
  18          sbit busy_bit=ACC^7;//lcd state byte bit 7
  19          
  20          /*下面是对液晶屏gxm12864d操作的函数, 128x64点阵,汉字显示,CSA,CSB用来进行左右显示区的选择。*/
  21          
  22          /*  发命令i到主窗口*/
  23          void lcd_mwc(uchar i)
  24          {        
  25   1           CSA=1;
  26   1           CSB=0;
  27   1           RW=1;
  28   1           DI=0;
  29   1           do {ACC=LCD;} 
  30   1               while (busy_bit) ;//wait for lcd not busy
  31   1           RW=0;
  32   1           LCD=i;
  33   1      }
  34          
  35          /*  写数据i到主窗口*/
  36          void lcd_mwd(uchar i)
  37          {        
  38   1           CSA=1;
  39   1           CSB=0;
  40   1           RW=1;
  41   1           DI=0;
  42   1           do {ACC=LCD;} while (busy_bit);//wait for lcd not busy
  43   1           RW=0;
  44   1           DI=1;
  45   1           LCD=i;
  46   1      }
  47          
  48          /*   清屏                                */
  49          void lcd_clear(void)
  50          {
  51   1           uchar i;
  52   1           uchar page;
  53   1           for (page=0xb8;page<0xc0;page++)
  54   1               {
  55   2                   lcd_mwc(page);       /*设置显示页面*/
C51 COMPILER V7.02b   LCD_SHOW                                                             08/21/2005 15:01:40 PAGE 2   

  56   2      
  57   2                   lcd_mwc(0x40);       /*设置列地址*/
  58   2       
  59   2                   for (i=0;i<64;i++)
  60   2                   {
  61   3         
  62   3                       lcd_mwd(0);
  63   3                   }
  64   2               }
  65   1      }
  66          
  67          //初始化lcd
  68          void lcd_init(void)
  69          {
  70   1              lcd_mwc(0xc0);
  71   1      
  72   1              lcd_mwc(0x3f);
  73   1      
  74   1      }
  75          
  76          //dispm_hz_up() display up half of a hanzi in left area
  77          void dispm_hz_up(uchar code * hz)
  78          {
  79   1              uchar i;
  80   1              for (i=0;i<16;i++) lcd_mwd(*(hz+i));
  81   1      }
  82          
  83          //dispm_hz_down() display down half of a hanzi in left area
  84          void dispm_hz_down(uchar code * hz)
  85          {
  86   1              uchar i;
  87   1              for (i=16;i<32;i++) lcd_mwd(*(hz+i));
  88   1      }
  89          
  90          
  91          void main(void)
  92          {
  93   1              E=1;
  94   1              lcd_clear();
  95   1              lcd_init();
  96   1      
  97   1              lcd_mwc(0xb8);
  98   1              lcd_mwc(0x40);
  99   1              
 100   1              dispm_hz_up(&QING);
 101   1              dispm_hz_up(&CHA);
 102   1              dispm_hz_up(&KA);
 103   1              
 104   1              lcd_mwc(0xb9);
 105   1              lcd_mwc(0x40);
 106   1              
 107   1              dispm_hz_down(&QING);
 108   1              dispm_hz_down(&CHA);
 109   1              dispm_hz_down(&KA);//display "请插卡"   
 110   1      
 111   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    179    ----
   CONSTANT SIZE    =     96    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V7.02b   LCD_SHOW                                                             08/21/2005 15:01:40 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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