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

📄 1305_oled.lst

📁 我写的基于51单片机的OLED屏驱动源码
💻 LST
字号:
C51 COMPILER V8.12   1305_OLED                                                             08/28/2008 20:16:23 PAGE 1   


C51 COMPILER V8.12, COMPILATION OF MODULE 1305_OLED
OBJECT MODULE PLACED IN 1305_OLED.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1305_OLED.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************/
   2          /*1305_OLED.c*/
   3          /********************************************************/
   4          /*      模块:          1305_OLED.c                                                                                                                             */
   5          /*      描述:                                                                                                                                                                                  */
   6          /*                                                                                                                                                                                                                      */
   7          /*  处理器:                                                                                                                                                                            */
   8          /*  调用函数:                                                                                                                                                                  */
   9          /*  版本历史:                                                                                                                                                                           */
  10          /*      ==================================================      */
  11          /*      V1.0                                                                                                                                                                                            */
  12          /*  作者:                       AncentLee                                                                                                                                       */
  13          /*      日期:                                                                                                                                                                                           */
  14          /*      修改原因:                                                                                                                                                                               */
  15          /*      ==================================================      */
  16          
  17          #include <REGX52.H>
  18          #include <intrins.h>
  19          #include "usual_declare.h"
  20          #include "8080_parallel_base.h"
  21          #include "IO_define.h"
  22          
  23          #include <stdio.h>
  24          
  25          /*F_OLED_read_status()***********************************/  
  26          /*  函数名:OLED_read_status()                                                                                                  */  
  27          /*  参数:      无                                                                                                                                                                      */  
  28          /*  返回值:无                                                                                                                                                                  */  
  29          /*  作用域:                                                                                                                                                                            */  
  30          /*  功能:                                                                                                                                                                                      */  
  31          /********************************************************/
  32          void OLED_read_status()
  33          {
  34   1              uint8 status;
  35   1              do
  36   1              {
  37   2                      status=parallel_read_command();
  38   2              //      printf("%bd",status);
  39   2                      status=status&0x80;
  40   2              //      printf("%bd",status);
  41   2                      //_getkey();
  42   2              }while(status!=0);
  43   1      }
  44          /* End of F_OOLED_read_status()**************************/
  45          
  46          
  47          /*F_OLED_init********************************************/
  48          /*  函数名:OLED_init()                                                                                                                                 */
  49          /*  参数:      无                                                                                                                                                                      */
  50          /*  返回值:无                                                                                                                                                                  */
  51          /*  作用域:                                                                                                                                                                            */
  52          /*  功能:                                                                                                                                                                                      */
  53          /********************************************************/
  54          
  55          
C51 COMPILER V8.12   1305_OLED                                                             08/28/2008 20:16:23 PAGE 2   

  56          void    OLED_init(void)
  57          {
  58   1              parallel_init();
  59   1              
  60   1              OLED_CS=0;
  61   1              OLED_RESET=0;
  62   1              OLED_RESET=1;
  63   1      
  64   1              
  65   1              OLED_read_status();
  66   1              parallel_write_command(0xae);
  67   1              OLED_read_status();
  68   1              parallel_write_command(0xad); 
  69   1              OLED_read_status();
  70   1              parallel_write_command(0x8a); 
  71   1              OLED_read_status();
  72   1              parallel_write_command(0xa8);
  73   1              OLED_read_status();
  74   1              parallel_write_command(0x3f); 
  75   1              OLED_read_status();
  76   1              parallel_write_command(0xd3); 
  77   1              OLED_read_status();
  78   1              parallel_write_command(0x00); 
  79   1              OLED_read_status();
  80   1              parallel_write_command(0x40); 
  81   1              OLED_read_status();
  82   1              parallel_write_command(0xa1); 
  83   1              OLED_read_status();
  84   1              parallel_write_command(0xc8);
  85   1              OLED_read_status();
  86   1              parallel_write_command(0xa6); 
  87   1              OLED_read_status();
  88   1              parallel_write_command(0xa4); 
  89   1              OLED_read_status();
  90   1              parallel_write_command(0x81); 
  91   1              OLED_read_status();
  92   1              parallel_write_command(0x5c); 
  93   1              OLED_read_status();
  94   1              parallel_write_command(0xd5); 
  95   1              OLED_read_status();
  96   1              parallel_write_command(0x60); 
  97   1              OLED_read_status();
  98   1              parallel_write_command(0xd8); 
  99   1              OLED_read_status();
 100   1              parallel_write_command(0x00); 
 101   1              OLED_read_status();
 102   1              parallel_write_command(0xd9); 
 103   1              OLED_read_status();
 104   1              parallel_write_command(0x84); 
 105   1              OLED_read_status();
 106   1              parallel_write_command(0xaf); 
 107   1      }                                                        
 108          /* End of F_OLED_init***********************************/
 109          
 110          
 111          /*F_OLED_clear_screen************************************/   
 112          /*  函数名:OLED_clear_screen()                                                                                                 */  
 113          /*  参数:      无                                                                                                                                                                      */  
 114          /*  返回值:无                                                                                                                                                                  */  
 115          /*  作用域:                                                                                                                                                                            */  
 116          /*  功能:                                                                                                                                                                                      */  
 117          /********************************************************/
C51 COMPILER V8.12   1305_OLED                                                             08/28/2008 20:16:23 PAGE 3   

 118          void OLED_clear_screen()
 119          {
 120   1              uint8 j,page;
 121   1              for(page=0;page<8;page++)
 122   1              {
 123   2                      OLED_read_status();
 124   2                      parallel_write_command(176+page); //set page address
 125   2                      OLED_read_status();
 126   2                      parallel_write_command(0x00);    //set low address
 127   2                      OLED_read_status();
 128   2                      parallel_write_command(0x10);    //set higher address
 129   2                      OLED_read_status();
 130   2                      for(j=0;j<128;j++)
 131   2                      {
 132   3                          OLED_read_status();
 133   3                              parallel_write_data(0x00);
 134   3                      }              
 135   2              }
 136   1      }
 137          /* End of F_OLED_clear_screen****************************/
 138          
 139          
 140          
 141          /*F_OLED_display*****************************************/   
 142          /*  函数名:OLED_clear_screen()                                                                                                 */  
 143          /*  参数:      无                                                                                                                                                                      */  
 144          /*  返回值:无                                                                                                                                                                  */  
 145          /*  作用域:                                                                                                                                                                            */  
 146          /*  功能:                                                                                                                                                                                      */  
 147          /********************************************************/
 148          void OLED_display(uint8 picture[])
 149          {
 150   1              uint8 j;
 151   1              uint8 page;
 152   1              for(page=0;page<8;page++)
 153   1              {
 154   2                      OLED_read_status();
 155   2                      parallel_write_command(176+page);//set page address
 156   2                      OLED_read_status();
 157   2                      parallel_write_command(0x00);//set low address
 158   2                      OLED_read_status();
 159   2                      parallel_write_command(0x10);//set higher address
 160   2                      OLED_read_status();
 161   2                      for(j=0;j<128;j++)
 162   2                      {
 163   3                              OLED_read_status();
 164   3                              parallel_write_data(picture[j+page*128]);
 165   3                      }          
 166   2              }
 167   1      }
 168          /* End of F_OLED_display********************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    342    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V8.12   1305_OLED                                                             08/28/2008 20:16:23 PAGE 4   


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

⌨️ 快捷键说明

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