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

📄 main.lst

📁 TMS320F2812液晶显示学习例程所以请不要将文件放在这两个目录下能够在dsp2812的开发板上实现
💻 LST
字号:
C51 COMPILER V6.23a  MAIN                                                                  03/24/2006 16:38:50 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <AT89X52.H>
   2          #include"lcd_header.h"
   3          
   4          #define Disp_On  0x3f
   5          #define Disp_Off 0x3e
   6          #define Col_Add  0x40///////Y地址
   7          #define Page_Add 0xb8////////x地址
   8          #define Start_Line 0xc0//启始行 
   9          
  10          
  11          sbit CSZ=P0^4;  //Master chip enable ---左半部分CS2
  12          sbit CSY=P0^3;  //Slave chip enable ---右半部分CS1
  13          sbit Enable=P0^2; //6800 mode Enable single ---据说是下降沿有效
  14          sbit RS=P0^0;  //Data or Instrument Select ---
  15          sbit RW=P0^1;  //Write or Read ---读写选择位
  16          sbit Lcd_Rst=P0^5; //Lcm reset ---LCD复位
  17          #define Lcd_Bus P2  //MCU P1<------> LCM
  18          /*------------------延时子程序-----------------------------*/
  19          
  20          void delay(unsigned int t)
  21                  {
  22   1                      unsigned int i,j;
  23   1      
  24   1                      for( i = 0 ; i < t ; i ++ )
  25   1                              for( j = 0 ; j < 10 ; j ++ ) ;
  26   1              }
  27          /*------------------写命令到LCD------------------------------*/
  28          void write_com( unsigned char cmdcode )
  29                  {
  30   1                      RS = 0 ;
  31   1                      RW = 0 ;
  32   1                      //tran164(cmdcode);//
  33   1                      Lcd_Bus = cmdcode ;
  34   1                      delay ( 0 ) ;
  35   1                      Enable = 1 ;
  36   1                      delay ( 0 ) ;
  37   1                      Enable = 0 ;
  38   1              }
  39          /*-------------------写数据到LCD----------------------------*/
  40          void write_data ( unsigned char Dispdata )
  41                  {
  42   1                      RS = 1 ;
  43   1                      RW = 0 ;
  44   1                      //tran164(Dispdata);//
  45   1                      Lcd_Bus = Dispdata ;
  46   1                      delay ( 0 ) ;
  47   1                      Enable = 1 ;
  48   1                      delay ( 0 ) ;
  49   1                      Enable = 0 ;
  50   1              }
  51          /*------------------清除内存---------------*/
  52          void Clr_Scr ( )
  53                  {
  54   1                      unsigned char j , k ; 
  55   1                      
C51 COMPILER V6.23a  MAIN                                                                  03/24/2006 16:38:50 PAGE 2   

  56   1                      CSZ= 1 ;
  57   1                      CSY = 1 ;
  58   1                      write_com ( Page_Add + 0 ) ;
  59   1                      write_com ( Col_Add  + 0 ) ;
  60   1                      for( k = 0 ; k < 8 ; k ++ )
  61   1                              {
  62   2                                      write_com( Page_Add + k ) ;
  63   2                                      for ( j = 0 ; j < 64 ; j++ )
  64   2                                              {
  65   3                                                      write_data( 0x00 ) ;
  66   3                                              }
  67   2                              }
  68   1              }
  69          
  70          
  71          
  72          /*---------------------指定位置显示汉字16*16-----------------------*/
  73          void hz_disp16( unsigned char pag , unsigned char col, unsigned char code  *hzk )
  74                  {
  75   1                      unsigned char j , i ;
  76   1      
  77   1                      for(j=0;j<2;j++)
  78   1                              {
  79   2                                      write_com(Page_Add+pag+j);
  80   2                                      write_com(Col_Add+col);
  81   2                                      for(i=0;i<16;i++) 
  82   2                                              {
  83   3                                                      write_data(hzk[16*j+i]);
  84   3                                              }
  85   2                              }
  86   1              }
  87          
  88          void init_lcd( void )
  89                  {
  90   1                      Lcd_Rst = 0 ;                           //复位LCD
  91   1                      delay ( 100 ) ;
  92   1                      Lcd_Rst = 1 ;
  93   1                      delay ( 100 ) ;
  94   1                      CSZ = 1 ;
  95   1                      CSY = 1 ;
  96   1                      delay ( 100 ) ;
  97   1                      write_com ( Disp_Off ) ;
  98   1                      write_com ( Page_Add ) ;
  99   1                      write_com ( Start_Line );
 100   1                      write_com ( Col_Add ) ;
 101   1                      write_com ( Disp_On );
 102   1              }
 103          void writecuit( unsigned char pag,unsigned char col,unsigned char code *dat , unsigned char pagc,unsigned 
             -char colc)
 104          //                     显示起始页     显示起始列        显示图案数据                图案所占页          图
             -案所占列
 105                  {
 106   1                      unsigned char i,j;
 107   1                      
 108   1                      for(j = 0 ; j < pagc ; j++ )
 109   1                      {
 110   2                              CSZ = 1 ;
 111   2                              CSY = 0 ;
 112   2                              write_com ( Page_Add + pag + j ) ;
 113   2                              write_com ( Col_Add + col ) ;
 114   2                              for( i = 0 ; i < colc ; i ++ )
 115   2                                      {
C51 COMPILER V6.23a  MAIN                                                                  03/24/2006 16:38:50 PAGE 3   

 116   3                                              if ( ( i+col ) == 64 ) 
 117   3                                                      {
 118   4                                                              CSZ = 0 ;
 119   4                                                              CSY = 1 ;
 120   4                                                              write_com ( Col_Add ) ;
 121   4                                                      write_com ( Page_Add + pag + j ) ;
 122   4                                                      }
 123   3                                              else if ((i+col)==127)
 124   3                                                      {
 125   4                                                              CSZ = 1 ;
 126   4                                                              CSY = 0 ;
 127   4                                                              write_com ( Col_Add ) ;
 128   4                                                      write_com ( Page_Add + pag + j ) ;
 129   4                                                      }
 130   3                                              write_data ( dat [colc * j + i ] ) ;
 131   3                                      }
 132   2                      }
 133   1              }
 134          
 135          void main (void )
 136          
 137                  {   
 138   1                      init_lcd( );
 139   1                      Clr_Scr();
 140   1                      while(1)
 141   1                              { 
 142   2                                writecuit(0,0,yan,2,16);
 143   2                                writecuit(4,46,yanxinwei,2,34);
 144   2                     writecuit(0,0,Bmp005,8,128);
 145   2                              }
 146   1               }


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