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

📄 lcd12864_8.lst

📁 FLASH读写
💻 LST
字号:
C51 COMPILER V8.01   LCD12864_8                                                            08/14/2008 21:14:23 PAGE 1   


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

line level    source

   1          #include <common.h> 
   2          #include<C8051F000.h>
   3          sbit LCD_CS = P3^0;
   4          sbit LCD_RES = P3^1;
   5          sbit LCD_A0 = P3^2;
   6          sbit LCD_SCK = P3^3;
   7          sbit LCD_DA = P3^4;
   8          void mydelay(unsigned int i)
   9          {
  10   1              unsigned int j;
  11   1              for(j=0;j<i;j++);
  12   1      }
  13          void lcd_senddata(unsigned char da)
  14          {
  15   1              unsigned char i;
  16   1              LCD_CS = 0;
  17   1              LCD_A0 = 1;  //数据通道
  18   1              LCD_SCK = 1;
  19   1              for(i = 0; i < 8; i++)
  20   1              {
  21   2                      da <<= 1;
  22   2                      LCD_DA = CY;
  23   2                      LCD_SCK = 0;
  24   2                      mydelay(20);
  25   2                      LCD_SCK = 1;
  26   2                      mydelay(10);
  27   2              }
  28   1              LCD_CS = 1;
  29   1              mydelay(20);
  30   1      }
  31          void lcd_sendcmd(unsigned char da)
  32          {
  33   1              unsigned char i;
  34   1              LCD_CS = 0;
  35   1              LCD_A0 = 0;  //指令通道
  36   1              LCD_SCK = 1;
  37   1              for(i = 0; i < 8; i++)
  38   1              {
  39   2                      da <<= 1;
  40   2                      LCD_DA = CY;
  41   2                      LCD_SCK = 0;
  42   2                      mydelay(10);
  43   2                      LCD_SCK = 1;
  44   2                      mydelay(10);
  45   2              }
  46   1              LCD_CS = 1;
  47   1              mydelay(20);
  48   1      }
  49          void lcd_init(void)
  50          {
  51   1              LCD_RES = 1;
  52   1              mydelay(32767);
  53   1              lcd_sendcmd(0xE2); //internal reset
  54   1              lcd_sendcmd(0xA2); //d0:Set LCD drive voltage bias ratio 0=1/9bias 1=1/7bias
  55   1              lcd_sendcmd(0xC8); //d3:select COM output direction 0=normal 1=reverse
C51 COMPILER V8.01   LCD12864_8                                                            08/14/2008 21:14:23 PAGE 2   

  56   1              lcd_sendcmd(0xA0); //d0:select SEG output direction 0=normal 1=reverse
  57   1              lcd_sendcmd(0xA6); //d0=0display normal;=1reverse
  58   1              lcd_sendcmd(0xf8); //select booster ratio
  59   1              lcd_sendcmd(0x00); //d0\d1=00:4x
  60   1              lcd_sendcmd(0x2C); //d2:1=select internal power supply operating mode
  61   1              lcd_sendcmd(0x2E); //
  62   1              lcd_sendcmd(0x2F);
  63   1              // lcd_sendcmd(0x25); //select internal resistor ratio(RB/RA)mode
  64   1              lcd_sendcmd(0x81); //select the VO output voltage electronic volume register
  65   1              lcd_sendcmd(0x14); //select the VO output voltage electronic volume register
  66   1              lcd_sendcmd(0x0e); //select the VO output voltage electronic volume register
  67   1              lcd_sendcmd(0xAF); //d0:LCD display ON=1/OFF=0
  68   1              lcd_sendcmd(0xE0);
  69   1              lcd_sendcmd(0x40); //Set the display RAM start line address
  70   1      }
  71          void Set_Page_Address(unsigned char dat)
  72          {
  73   1              lcd_sendcmd(0xb0|dat);
  74   1      }
  75          void Set_Colume_Address(unsigned char dat)
  76          {
  77   1              unsigned char tmp;
  78   1              tmp=dat>>4;
  79   1              lcd_sendcmd(0x10|tmp); //送列地址高三位
  80   1              tmp=0x0f&dat;
  81   1              lcd_sendcmd(tmp); //送列地址低四位
  82   1      }
  83          void lcd_clr(void)
  84          {
  85   1      unsigned char i,j;
  86   1      for(i = 0; i < 8; i++)
  87   1      {
  88   2              Set_Page_Address(i);
  89   2              Set_Colume_Address(0);
  90   2              
  91   2              for(j = 0; j < 128; j++)
  92   2              {
  93   3                      lcd_senddata(0x00);
  94   3              
  95   3              }
  96   2      }
  97   1      }
  98          void lcd_drawpot(unsigned char x/*0-127*/, unsigned char y/*0-63*/)
  99          {
 100   1              unsigned char temp;
 101   1              Set_Colume_Address(x);
 102   1              Set_Page_Address(y>>3);
 103   1              y &= 0x07;
 104   1          temp = 1<<y;
 105   1              lcd_senddata(temp);
 106   1      }
 107          //x每写一个字+16,y换行+1
 108          void lcd_drawhanzimo(unsigned char x/*0-127*/,unsigned char y/*0-7*/,unsigned char* ptr)
 109          {
 110   1              unsigned int i;
 111   1              
 112   1              Set_Page_Address(y);
 113   1              Set_Colume_Address(x);
 114   1              for(i = 0; i<16; i ++)
 115   1              lcd_senddata(*(ptr+i));
 116   1              
 117   1              Set_Page_Address(y+1);
C51 COMPILER V8.01   LCD12864_8                                                            08/14/2008 21:14:23 PAGE 3   

 118   1              Set_Colume_Address(x);
 119   1              for(i = 0; i<16; i++)
 120   1              lcd_senddata(*(ptr+i+16));
 121   1      }
*** WARNING C316 IN LINE 121 OF LCD12864_8.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    473    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       9
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -