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

📄 sed1520_duankou.lst

📁 利用驱动芯片SED1520实现点阵显示
💻 LST
字号:
C51 COMPILER V7.06   SED1520_DUANKOU                                                       06/08/2005 22:56:48 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SED1520_DUANKOU
OBJECT MODULE PLACED IN SED1520_duankou.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil20\C51\BIN\C51.EXE SED1520_duankou.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //-----------------------函数声明--------------------------------------------------------
   2          #include"stdio.h"
   3          #include"absacc.h"
   4          #include"reg51.h"
   5          //-----------------------LCD接口管脚声明--------------------------------------------------------
   6          sbit A0=P3^0;  //寄存器选择信号
   7          sbit RW=P3^1; //读/ 写选择信号
   8          sbit E1=P3^2;  //使能信号E1
   9          sbit E2=P3^3;  //使能信号E2
  10          #define DATA_IO P1
  11          
  12          #define LCD_DISPLAYON 0xaf
  13          #define LCD_DISPLAYOFF 0xae
  14          #define LCD_DRIVERON 0xa5
  15          #define LCD_DRIVEROFF 0xa4
  16          #define LCD_DUTY16 0xa8
  17          #define LCD_DUTY32 0xa9
  18          #define LCD_END 0xee
  19          #define LCD_RESET 0xe2
  20          #define LCD_RWMODE 0xe0
  21          #define LCD_STARTLINE0 0xc0
  22          #define LCD_PAGE0 0xb8
  23          #define LCD_COLUMNADDR0 0x00
  24          
  25          #define LCD_ON() LCD_Command(LCD_DISPLAYON)
  26          #define LCD_OFF() LCD_Command(LCD_DISPLAYOFF)
  27          #define LCD_StaticON() LCD_Command(LCD_DRIVERON)
  28          #define LCD_StaticOFF() LCD_Command(LCD_DRIVEROFF)
  29          #define LCD_Select16() LCD_Command(LCD_DUTY16)
  30          #define LCD_Select32() LCD_Command(LCD_DUTY32)
  31          #define LCD_StartRW() LCD_Command(LCD_RWMODE)
  32          #define LCD_EndRW() LCD_Command(LCD_END)
  33          #define LCD_Reset() LCD_Command(LCD_RESET)
  34          #define LCD_SetStartLine(i) LCD_Command(LCD_STARTLINE0+i)
  35          #define LCD_SetPage(i) LCD_Command(LCD_PAGE0+i)
  36          #define LCD_SetColumn(i) LCD_Command(LCD_COLUMNADDR0+i)
  37          //--------------------------------------------------------------------------------------------------
  38          // 函数名称: LCD_Command1
  39          // 入口参数:  nCommand 命令字
  40          // 函数功能: 写指令代码子程序(SED1520-1)
  41          //--------------------------------------------------------------------------------------------------
  42          void LCD_Command1(unsigned char nCommand)
  43                         {
  44   1                                  unsigned char state_temp;
  45   1                                  A0=0;
  46   1                                      RW=1;
  47   1                                      while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
  48   1                            {
  49   2                                      DATA_IO=0xFF ;  //P1 口置"1"
  50   2                                      E1=1;
  51   2                                          state_temp=DATA_IO;       //设置读状态字地址
  52   2                                      E1=0;
  53   2                                        }
  54   1                                        RW=0;
  55   1                                    E1=1;
C51 COMPILER V7.06   SED1520_DUANKOU                                                       06/08/2005 22:56:48 PAGE 2   

  56   1                                        DATA_IO=nCommand;         //写指令代码
  57   1                                    E1=1;
  58   1                                    E1=0;
  59   1                      }
  60          //--------------------------------------------------------------------------------------------------
  61          // 函数名称:  WRITE_showDATA1
  62          // 入口参数:  show_DATA 写入SED1520-1内部显示RAM的数据
  63          // 函数功能: 写显示数据子程序(SED1520-1)
  64          //--------------------------------------------------------------------------------------------------
  65          void WRITE_showDATA1(unsigned char show_DATA)
  66                          {
  67   1                        unsigned char state_temp;
  68   1                            A0=0;
  69   1                                    RW=1;
  70   1                                         while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
  71   1                            {
  72   2                                      DATA_IO=0xFF ;  //P1 口置"1"
  73   2                                      E1=1;
  74   2                                          state_temp=DATA_IO;       //设置读状态字地址
  75   2                                      E1=0;
  76   2                                        }
  77   1                                        A0=1;
  78   1                                    RW=0;
  79   1                                        E1=1;
  80   1                                        DATA_IO=show_DATA;         //写指令代码
  81   1                                    E1=1;
  82   1                                        E1=0;
  83   1                       }
  84          //--------------------------------------------------------------------------------------------------
  85          // 函数名称:  READ_showDATA1
  86          // 入口参数:  show_DATA 读出SED1520-1内部显示RAM的数据
  87          // 函数功能: 读显示数据子程序(SED1520-1)
  88          //--------------------------------------------------------------------------------------------------
  89          unsigned char READ_showDATA1()
  90                         {   
  91   1                     unsigned char show_DATA;
  92   1                     unsigned char state_temp;
  93   1                      A0=0;
  94   1                                  RW=1;
  95   1                                         while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
  96   1                            {
  97   2                                      DATA_IO=0xFF ;          //P1口置"1"
  98   2                                      E1=1;
  99   2                                          state_temp=DATA_IO;       //设置读状态字地址
 100   2                                      E1=0;
 101   2                                        }
 102   1                                  A0=1;
 103   1                                  DATA_IO=0xFF ;                //P1 口置"1"
 104   1                                  E1=1;
 105   1                                      show_DATA=DATA_IO;         // 读数据
 106   1                      E1=0;
 107   1                          return(show_DATA);        //返回显示区数据 
 108   1                     }
 109          //--------------------------------------------------------------------------------------------------
 110          // 函数名称: LCD_Command2
 111          // 入口参数:  nCommand 命令字
 112          // 函数功能: 写指令代码子程序(SED1520-2)
 113          //--------------------------------------------------------------------------------------------------
 114          void LCD_Command2(unsigned char nCommand)
 115                         {
 116   1                                  unsigned char state_temp;
 117   1                                  A0=0;
C51 COMPILER V7.06   SED1520_DUANKOU                                                       06/08/2005 22:56:48 PAGE 3   

 118   1                                      RW=1;
 119   1                                      while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
 120   1                            {
 121   2                                      DATA_IO=0xFF ;  //P1 口置"1"
 122   2                                      E2=1;
 123   2                                          state_temp=DATA_IO;       //设置读状态字地址
 124   2                                      E2=0;
 125   2                                        }
 126   1                                        RW=0;
 127   1                                    E2=1;
 128   1                                        DATA_IO=nCommand;         //写指令代码
 129   1                                    E2=1;
 130   1                                    E2=0;
 131   1                      }
 132          
 133          //--------------------------------------------------------------------------------------------------
 134          // 函数名称:  WRITE_showDATA2
 135          // 入口参数:  show_DATA 写入SED1520-2内部显示RAM的数据
 136          // 函数功能: 写显示数据子程序(SED1520-2)
 137          //--------------------------------------------------------------------------------------------------
 138          void WRITE_showDATA2(unsigned char show_DATA)
 139                          {
 140   1                        unsigned char state_temp;
 141   1                            A0=0;
 142   1                                    RW=1;
 143   1                                         while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
 144   1                            {
 145   2                                      DATA_IO=0xFF ;  //P1 口置"1"
 146   2                                      E2=1;
 147   2                                          state_temp=DATA_IO;       //设置读状态字地址
 148   2                                      E2=0;
 149   2                                        }
 150   1                                        A0=1;
 151   1                                    RW=0;
 152   1                                        E2=1;
 153   1                                        DATA_IO=show_DATA;         //写指令代码
 154   1                                    E2=1;
 155   1                                        E2=0;
 156   1                       }
 157          //--------------------------------------------------------------------------------------------------
 158          // 函数名称:  READ_showDATA2
 159          // 入口参数:  show_DATA 读出SED1520-2内部显示RAM的数据
 160          // 函数功能: 读显示数据子程序(SED1520-2)
 161          //--------------------------------------------------------------------------------------------------
 162          unsigned char READ_showDATA2()
 163                         {   
 164   1                     unsigned char show_DATA;
 165   1                     unsigned char state_temp;
 166   1                      A0=0;
 167   1                                  RW=1;
 168   1                                         while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
 169   1                            {
 170   2                                      DATA_IO=0xFF ;          //P1口置"1"
 171   2                                      E2=1;
 172   2                                          state_temp=DATA_IO;       //设置读状态字地址
 173   2                                      E2=0;
 174   2                                        }
 175   1                                  A0=1;
 176   1                                  DATA_IO=0xFF ;            // P1 口置"1"
 177   1                                  E2=1;
 178   1                                      show_DATA=DATA_IO;         // 读数据
 179   1                      E2=0;
C51 COMPILER V7.06   SED1520_DUANKOU                                                       06/08/2005 22:56:48 PAGE 4   

 180   1                          return(show_DATA);        //返回显示区数据 
 181   1                     }


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


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

⌨️ 快捷键说明

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