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

📄 lcd.lst

📁 单片机控制FPGA的程序,包括AD转换,频率输出,测试程序
💻 LST
字号:
C51 COMPILER V8.02   LCD                                                                   08/26/2002 21:45:31 PAGE 1   


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

line level    source

   1          #include"includes.h"
   2          
   3          void lcd_sendcmd(unsigned char da)       //向液晶发送指令
   4          {
   5   1           unsigned char i;
   6   1              cs=0;
   7   1              a0=0;  //指令通道
   8   1              sck=1;
   9   1              for(i = 0; i < 8; i++)
  10   1              {
  11   2                      da <<= 1;
  12   2                      cda = CY;
  13   2                      sck = 0;
  14   2                      mydelay(10);
  15   2                      sck = 1;
  16   2                      mydelay(10);
  17   2              }
  18   1              cs = 1;
  19   1              mydelay(20);
  20   1      
  21   1      
  22   1      }
  23          void lcd_senddata(unsigned char da)      //向液晶发送数据
  24          {
  25   1           unsigned char i;
  26   1              cs=0;
  27   1              a0=1;  //数据通道
  28   1              sck=1;
  29   1              for(i = 0; i < 8; i++)
  30   1              {
  31   2                      da <<= 1;
  32   2                      cda = CY;
  33   2                      sck = 0;
  34   2                      mydelay(10);
  35   2                      sck = 1;
  36   2                      mydelay(10);
  37   2              }
  38   1              cs = 1;
  39   1              mydelay(20);
  40   1      
  41   1      
  42   1      }
  43          void lcd_init(void)               
  44          {
  45   1              res = 1;
  46   1              mydelay(32767);
  47   1              mydelay(32767);
  48   1              lcd_sendcmd(0xE2); //internal reset
  49   1              lcd_sendcmd(0xA2); //d0:Set LCD drive voltage bias ratio 0=1/9bias 1=1/7bias
  50   1              lcd_sendcmd(0xC8); //d3:select COM output direction 0=normal 1=reverse
  51   1              lcd_sendcmd(0xA0); //d0:select SEG output direction 0=normal 1=reverse
  52   1              lcd_sendcmd(0xA6); //d0=0display normal;=1reverse
  53   1              lcd_sendcmd(0xf8); //select booster ratio
  54   1              lcd_sendcmd(0x00); //d0\d1=00:4x
  55   1              lcd_sendcmd(0x2C); //d2:1=select internal power supply operating mode
C51 COMPILER V8.02   LCD                                                                   08/26/2002 21:45:31 PAGE 2   

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

 118   1      }
 119          
 120          
 121          void lcd_drawnumber(unsigned char x/*0-127*/,unsigned char y/*0-7*/,unsigned char* ptr)
 122          {
 123   1          unsigned int i;
 124   1          Set_Page_Address(y);
 125   1              Set_Colume_Address(x);
 126   1              for(i = 0; i<8; i ++)
 127   1              lcd_senddata(*(ptr+i));
 128   1              
 129   1              Set_Page_Address(y+1);
 130   1              Set_Colume_Address(x);
 131   1              for(i = 0; i<8; i++)
 132   1              lcd_senddata(*(ptr+i+8));
 133   1              
 134   1      }
 135          
 136          
*** WARNING C316 IN LINE 136 OF lcd.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    679    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      22
   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 + -