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

📄 ym12864r.lst

📁 C语言单片机编程的代码及教程文献
💻 LST
字号:
C51 COMPILER V7.20   YM12864R                                                              03/31/2007 14:43:10 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE YM12864R
OBJECT MODULE PLACED IN YM12864R.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE YM12864R.C BROWSE INCDIR(E:\BOARD\LITTLESINAL\12864\LCD\) DEBUG OBJECTEXTEN
                    -D

line level    source

   1          //********************************************************//
   2          #include"YM12864.H"
   3          #define TD  5000  
   4          //*******************************************************//
   5          void Delay(uint16 t)
   6          {
   7   1      while(t--);
   8   1      }
   9          //液晶写指令子程序
  10          void Send_Com(uint8 com)
  11          {
  12   1              LCD_RS=0;
  13   1              LCD_RW=0;
  14   1              LCD_EA=1;
  15   1              Delay(TD);
  16   1              LCD_Port=com;
  17   1              LCD_EA=0;
  18   1              Delay(TD);
  19   1      }
  20          
  21          //液晶写数据子程序
  22          void Send_Data(uint8 dat)
  23          {
  24   1              LCD_RS=1;
  25   1              LCD_RW=0;
  26   1              LCD_EA=1;
  27   1              Delay(TD);
  28   1              LCD_Port=dat;
  29   1              LCD_EA=0;
  30   1              Delay(TD);
  31   1      }
  32          
  33                      
  34          
  35          //行line=[0..3],列row=[0..7]
  36          void YM12864R_Dis_Str(uint8 line,uint8 row,uint8 *p)
  37          {
  38   1        switch (line)
  39   1        {  
  40   2          case 0:Send_Com(0x80+row);break;
  41   2          case 1:Send_Com(0x90+row);break;
  42   2          case 2:Send_Com(0x88+row);break;
  43   2          case 3:Send_Com(0x98+row);break;
  44   2              default:break;
  45   2        }
  46   1        while(*p!='\0')
  47   1        {
  48   2         Send_Data(*p++);
  49   2        }
  50   1      }
  51          
  52          //在第Line行的第Row位置开始显示P数组的前coun个字节的图形
  53          void YM12864R_Dis_Array(uint8 Line,uint8 Row,uint8 Coun,uint8 *p)
  54          {
C51 COMPILER V7.20   YM12864R                                                              03/31/2007 14:43:10 PAGE 2   

  55   1      /*
  56   1              uint8 temp;
  57   1              Send_Com(0x36);//基本指令集,关闭绘图显示功能
  58   1              Send_Com(Row+0x80);//发送水平地址
  59   1              Send_Com(Line+0x80);//发送垂直地址
  60   1              for(temp=0;temp<Coun;temp++)//发送数据
  61   1                      {
  62   1                      Send_Data(*(p+temp));
  63   1                      }
  64   1              Send_Com(0x30);//打开绘图显示功能
  65   1      */
  66   1      uint8 i,j,xx,yy;
  67   1        if(Row>2) 
  68   1        {
  69   2                 xx=Line+0x87;
  70   2                 yy=((Row-3)<<4)+0x80;
  71   2        }
  72   1        else
  73   1        {
  74   2                      xx=Line+0x7f;  
  75   2                      yy=((Row-1)<<4)+0x80;
  76   2        }
  77   1      
  78   1        Send_Com(0x36);              //扩展指令模式,形图开关开
  79   1        for (i=0;i<10;i++)           //一行处理显示
  80   1        { 
  81   2              Send_Com(yy++);
  82   2              Send_Com(xx); 
  83   2         for (j=0;j<2;j++)
  84   2              { 
  85   3                      Send_Data(*p++);
  86   3              }
  87   2        }  
  88   1        Send_Com(0x30);              //基本指令模式
  89   1      }
*** WARNING C280 IN LINE 53 OF YM12864R.C: 'Coun': unreferenced local variable
  90          //**********************************************************//
  91          //清除第line行第StartAdd列到EndAdd列的内容
  92          void YM12864R_Clr(uint8 line,uint8 StartAdd,uint8 EndAdd)
  93          {
  94   1              uint8 RowTemp;
  95   1              for(RowTemp=StartAdd;RowTemp<=EndAdd;RowTemp++)
  96   1              {
  97   2                      YM12864R_Dis_Str(line,RowTemp,"  ");    
  98   2              }
  99   1      }
 100          //*********************************************************//
 101          //初始化YM12864R
 102          void YM12864R_Init()
 103          {
 104   1              uint8 i,j;
 105   1        uint8 dis0[32]={
 106   1                                        0,0,0,0,0,0,0,0,
 107   1                                        0,0,0,0,0,0,0,0,
 108   1                        0,0,0,0,0,0,0,0,
 109   1                        0,0,0,0,0,0,0,0
 110   1                                       };
 111   1              Send_Com(0x01);//清除显示屏,清除DRAM
 112   1              Send_Com(0x30);//设置成基本指令集
 113   1              Send_Com(0x02);//DRAM地址计数器复0
 114   1              Send_Com(0x04);//启动地址字增
 115   1              Send_Com(0x0c);//打开显示,紧张游标
C51 COMPILER V7.20   YM12864R                                                              03/31/2007 14:43:10 PAGE 3   

 116   1              Send_Com(0x01);//清除显示
 117   1              Send_Com(0x80);//DRAM地址复位 
 118   1              for(i=1;i<=4;i++)
 119   1                      for(j=1;j<=8;j++)
 120   1                      YM12864R_Dis_Array(j,i,2,dis0);        
 121   1      }        


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