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

📄 240160.lst

📁 RA8835或SED1335黑白屏主控系列C源程序,测试OK(端口需要根据自己需要修改)
💻 LST
字号:
C51 COMPILER V7.06   240160                                                                12/20/2008 12:57:17 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 240160
OBJECT MODULE PLACED IN 240160.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE 240160.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <hnk51.h>
   2          //#include <lcd_command.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          
   6          sbit lcd_CS  =P2^2;
   7          sbit lcd_RD  =P2^1;
   8          sbit lcd_WR  =P2^0;
   9          sbit lcd_A0  =P2^3;
  10          sbit lcd_RES =P2^4;
  11          
  12          #define lcd_CMD    P1
  13          #define lcd_DATA   P1
  14          
  15          uchar code ZKWU[]=
  16          {0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x10,0x3F,
  17          0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x02,0x80,0x02,0x40,0x04,0x20,0x18,0x1C,0x60,0x08};
  18          uchar code ZKLIN[]=
  19          {0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x10,0x60,0x38,0x70,
  20          0x34,0xB0,0x54,0xA8,0x51,0x28,0x92,0x26,0x14,0x24,0x10,0x20,0x10,0x20,0x10,0x20};
  21          
  22          
  23          
  24          void delay1ms(unsigned int count) 
  25          {
  26   1          int i,j;
  27   1          for(i=0;i<=count;i++)
  28   1            for(j=0;j<=583;j++);
  29   1      }
  30          
  31          void lcd_reset(void)
  32          {
  33   1          
  34   1          lcd_RES = 1;
  35   1          delay1ms(2);
  36   1        //  lcd_SEL1 = 0;
  37   1          lcd_A0 = 0;
  38   1          lcd_WR = 1;
  39   1          lcd_RD = 1;
  40   1          lcd_CS = 1;
  41   1          lcd_RES = 0;
  42   1          delay1ms(100);
  43   1          lcd_RES = 1;
  44   1          delay1ms(500);
  45   1         
  46   1      }   
  47          
  48          void lcd_cmdwrite(unsigned char cmdx)
  49          {   
  50   1         // lcd_SEL1 = 0; 
  51   1          lcd_CMD = cmdx;
  52   1          lcd_A0 = 1;
  53   1          lcd_CS = 0;
  54   1          lcd_WR = 0;
  55   1          lcd_WR = 1;
C51 COMPILER V7.06   240160                                                                12/20/2008 12:57:17 PAGE 2   

  56   1          lcd_CS = 1;
  57   1      //      lcd_A0 = 0;
  58   1      }
  59          
  60          void lcd_datawrite(unsigned char datax)
  61          {   
  62   1          lcd_A0 = 0;
  63   1          lcd_DATA = datax;
  64   1          lcd_CS = 0;
  65   1          lcd_WR = 0;
  66   1          lcd_WR = 1;
  67   1          lcd_CS = 1;
  68   1          lcd_A0 = 1;
  69   1      }
  70          
  71          
  72          
  73          
  74          void lcd_initial(void)
  75          {
  76   1        uint i;
  77   1      lcd_cmdwrite(0x40); /* ---------LCD SYSTEM SET?????,8???--------
  78   1      */
  79   1      lcd_datawrite(0x30);
  80   1      lcd_datawrite(0x87);
  81   1      lcd_datawrite(0x07);
  82   1      lcd_datawrite(39); /* ??????320dot */
  83   1      lcd_datawrite(0x36); /* ???????? */
  84   1      lcd_datawrite(239); /* ??????240dot */
  85   1      lcd_datawrite(40); /* ???????????????(L) */
  86   1      lcd_datawrite(0); /* ???????????????(H) */
  87   1      delay1ms(0x9);
  88   1      lcd_cmdwrite(0x44); /* ---------LCD SCROLL???????,??10???---
  89   1      ------ */
  90   1      lcd_datawrite(0x00); /* ??1??????RAM???8??? */
  91   1      lcd_datawrite(0x00); /* ??1??????RAM???8??? */
  92   1      lcd_datawrite(240); /* ??1???240?dot? */
  93   1      lcd_datawrite(0x80); /* ??2??????RAM???8??? */
  94   1      lcd_datawrite(0x25); /* ??2??????RAM???8??? */
  95   1      lcd_datawrite(240); /* ??3???240?dot? */
  96   1      lcd_datawrite(0x00); /* ??3??????RAM???8??? */
  97   1      lcd_datawrite(0x4b); /* ??3??????RAM???8??? */
  98   1      delay1ms(0x9);
  99   1      lcd_cmdwrite(0x5a); /* ????,???????? */
 100   1      lcd_datawrite(0x00);
 101   1      delay1ms(0x9);
 102   1      lcd_cmdwrite(0x5b); /* ??????????,1??? */
 103   1      lcd_datawrite(0x1c); /* ??:???????????,??? */
 104   1      delay1ms(0x9);
 105   1      lcd_cmdwrite(0x59); /* ????,1??? */
 106   1      lcd_datawrite(0x04); /* ??????????? */
 107   1      delay1ms(0x9);
 108   1      lcd_cmdwrite(0x4c); /* ?????????*/
 109   1      delay1ms(0x9);
 110   1      lcd_cmdwrite(0x46); /* ???????? */
 111   1      lcd_datawrite(0); /* ?0000???? */
 112   1      lcd_datawrite(0);
 113   1      delay1ms(0x9);
 114   1      lcd_cmdwrite(0x42); /* ??MPU???????????????? */
 115   1      for(i=0;i<32760;i++)
 116   1      {
 117   2      
C51 COMPILER V7.06   240160                                                                12/20/2008 12:57:17 PAGE 3   

 118   2      lcd_datawrite(0); /* ?32K??????,?LCD??????? */
 119   2      }
 120   1      }
 121          
 122          
 123          /* -------------------------设定光标,允许显示------------------------- */
 124          void SetCursor(uchar CursorHIGH,uchar CursorLOW)
 125          {
 126   1      delay1ms(0x9);
 127   1      lcd_cmdwrite(0x46); 
 128   1      lcd_datawrite(CursorLOW); 
 129   1      lcd_datawrite(CursorHIGH);
 130   1      delay1ms(0x9);
 131   1      lcd_cmdwrite(0x42); 
 132   1      }
 133          
 134          //==============在指定位置显示一个汉字=========
 135          void WriteOneWork(uchar CurHIGH,uchar CurLOW,uchar * ZiKu)
 136          {
 137   1      uchar i;
 138   1      SetCursor(CurHIGH,CurLOW); 
 139   1      i=0;
 140   1      do
 141   1      {
 142   2      lcd_datawrite(ZiKu[i]);
 143   2      i=i+2;
 144   2      }
 145   1      while(i<0x1e);
 146   1      SetCursor(CurHIGH,CurLOW+1);
 147   1      i=1;
 148   1      while(i<0x1f)
 149   1      {
 150   2      lcd_datawrite(ZiKu[i]);
 151   2      i=i+2;
 152   2      }
 153   1      }
 154          
 155          
 156          
 157          
 158          
 159          void lcd_cursorxy(unsigned char x,unsigned char y)
 160          {
 161   1          lcd_cmdwrite(0x46);
 162   1          lcd_datawrite(x);
 163   1          lcd_datawrite(y);   
 164   1      }
 165          /*
 166          void lcd_showbig(unsigned char *text,unsigned int x)
 167          { 
 168              while(*text != '\0')          
 169                  {
 170                  lcd_datawrite(*text);
 171                  ++text; 
 172          
 173                      delay1ms(x);
 174              }
 175          }*/
 176          
 177          void lcd_clear(void)
 178          {   
 179   1          unsigned int i;
C51 COMPILER V7.06   240160                                                                12/20/2008 12:57:17 PAGE 4   

 180   1          lcd_cursorxy(0x00,0x00);  
 181   1          lcd_cmdwrite(0x42);
 182   1           for(i=0;i<0x7fff;i++)     
 183   1             lcd_datawrite(0x00);
 184   1      }
 185          
 186          void main(void)
 187          {
 188   1      //uchar i;
 189   1      lcd_reset();
 190   1      lcd_initial();
 191   1      
 192   1      while(1)
 193   1      {
 194   2      lcd_clear();
 195   2      delay1ms(0x30);
 196   2      delay1ms(0x9);
 197   2      lcd_cmdwrite(0x4f); 
 198   2      WriteOneWork(0,0,ZKWU);
 199   2      WriteOneWork(0x2,0x80,ZKLIN);
 200   2      
 201   2      }
 202   1      }
 203          
 204          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    467    ----
   CONSTANT SIZE    =     64    ----
   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 + -