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

📄 jhd162.lst

📁 国产LCD显示屏JHD162驱动源码
💻 LST
字号:
C51 COMPILER V8.08   JHD162                                                                01/16/2008 15:58:53 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE JHD162
OBJECT MODULE PLACED IN jhd162.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE jhd162.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <at89x51.h>
   2          #include <intrins.h>
   3          #define uchar unsigned char
   4          #define uint  unsigned int
   5          
   6          sbit dc=0xa5;        /*P2.5     LCD的RS*/
   7          sbit rw=0xa6;       /*P2.6     LCD的R/W*/
   8          sbit cs=0xa7;      /*P2.7     LCD的E*/
   9          #define lcdbus P0  /*P0LCD  数据D0=P0.0*/ 
  10          
  11          void soft_nop(){}
  12          
  13          
  14          uchar data lcdcounter;
  15          
  16          bit lcdusing1,lcdusing2;
  17          bit lcd_checkbusy()    /*检查LCD忙*/
  18          
  19          {  register lcdstate;
  20   1         dc=0;
  21   1         rw=1;
  22   1         cs=1;
  23   1         soft_nop();
  24   1         lcdstate=lcdbus;
  25   1         cs=0;
  26   1         return((bit)(lcdstate&0x80));
  27   1      }
  28          
  29          void lcd_wrcmd(uchar lcdcmd) /*写LCD命令*/
  30          {  lcdusing1=1;
  31   1         while(lcd_checkbusy());
  32   1         lcdbus=lcdcmd;
  33   1         dc=0;
  34   1         rw=0;
  35   1         cs=1;
  36   1         soft_nop();
  37   1         cs=0;
  38   1         lcdbus=0xff;
  39   1         lcdusing1=0;
  40   1      }
  41          
  42          void lcd_moveto(char position)  /*移动光标到:0-79*/
  43          {  register cmd=0x80;
  44   1         lcdcounter=position;
  45   1           if(position>59)
  46   1                  position+=0x18;
  47   1               else
  48   1               {if(position>39)position-=0x14;
  49   2                else
  50   2                {if(position>19)position+=0x2c;
  51   3                }
  52   2               }
  53   1         cmd=cmd|position;
  54   1         lcd_wrcmd(cmd);
  55   1      }
C51 COMPILER V8.08   JHD162                                                                01/16/2008 15:58:53 PAGE 2   

  56          
  57          void lcd_wrdata(char lcddata)  /*在当前显示位置显示数据*/
  58          {
  59   1         lcdusing2=1;
  60   1         while(lcd_checkbusy());
  61   1         if(lcdcounter==20)
  62   1           {lcd_moveto(20);
  63   2            while(lcd_checkbusy());
  64   2           }
  65   1         if(lcdcounter==40)
  66   1           {lcd_moveto(40);
  67   2            while(lcd_checkbusy());
  68   2           }
  69   1         if(lcdcounter==60)
  70   1           {lcd_moveto(60);
  71   2            while(lcd_checkbusy());
  72   2           }
  73   1         if(lcdcounter==80)
  74   1           {lcd_moveto(0);
  75   2            while(lcd_checkbusy());
  76   2                lcdcounter=0;
  77   2           }
  78   1         lcdcounter++;
  79   1         lcdbus=lcddata;
  80   1         dc=1;
  81   1         rw=0;
  82   1         cs=1;
  83   1         soft_nop();
  84   1         cs=0;
  85   1         lcdbus=0xff;
  86   1         lcdusing2=0;
  87   1      }
  88          
  89          
  90          void lcd_string(char *strpoint)  /*在指定位置显示LCD字符串*/
  91          {  register i=0;
  92   1         while(strpoint[i]!=0){
  93   2         lcd_wrdata(strpoint[i]);
  94   2         i++;
  95   2         }    
  96   1      }
  97          
  98          
  99          void lcd_init() /*初始化*/
 100          {  lcd_wrcmd(0x38); /*设置8位格式,2行,5*7 */
 101   1         lcd_wrcmd(0x0c); /*整体显示,关光标,不闪烁*/
 102   1         lcd_wrcmd(0x06); /*设定输入方式,增量不移位*/
 103   1         lcd_wrcmd(0x01); /*清除显示*/
 104   1         lcdcounter=0;
 105   1      }
 106          
 107          void lcd_cls() /*清除显示*/
 108          {  lcd_wrcmd(0x01);
 109   1         lcdcounter=0;
 110   1      }
 111          
 112          
 113          
 114          /**********************************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V8.08   JHD162                                                                01/16/2008 15:58:53 PAGE 3   

   CODE SIZE        =    274    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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