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

📄 yejing.lst

📁 单片机液晶显示12864.rar
💻 LST
字号:
C51 COMPILER V8.09   YEJING                                                                09/01/2009 10:21:18 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE YEJING
OBJECT MODULE PLACED IN yejing.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE yejing.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "C8051F340.h"
   2          #include "spi.h"
   3          sbit    sec = P2^0;  //片选
   4          sbit    rst = P2^3;  //复位,0复位
   5          sbit    oc  = P2^2;  //1写数据,0写指令
   6          sbit    sdin = P1^2;  //数据
   7          sbit    sclk = P1^0;  //时钟
   8          
   9          
  10          
  11          
  12          
  13          
  14          
  15          xdata unsigned char code shuzi[]={
*** ERROR C185 IN LINE 15 OF YEJING.C: 'shuzi': different memory space
  16          /*--  文字:  2  --*/
  17          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=6x12   --*/
  18          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
  19          0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00,
  20          
  21          /*--  文字:  0  --*/
  22          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=6x12   --*/
  23          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
  24          0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,
  25          
  26          /*--  文字:  0  --*/
  27          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=6x12   --*/
  28          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
  29          0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,
  30          
  31          /*--  文字:  9  --*/
  32          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=6x12   --*/
  33          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
  34          0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00,
  35          }; 
  36          
  37          xdata unsigned char code hanzi[]=
*** ERROR C185 IN LINE 37 OF YEJING.C: 'hanzi': different memory space
  38          {
  39          /*--  文字:  全  --*/
  40          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  41          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  42          0x10,0x10,0x88,0x94,0x92,0xF1,0x92,0x94,0x88,0x10,0x10,0x00,0x04,0x04,0x04,0x04,
  43          0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x00,
  44          
  45          /*--  文字:  国  --*/
  46          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  47          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  48          0x00,0xFF,0x01,0x15,0x15,0xFD,0x15,0x55,0x95,0x01,0xFF,0x00,0x00,0x07,0x05,0x05,
  49          0x05,0x05,0x05,0x05,0x05,0x05,0x07,0x00,
  50          
  51          /*--  文字:  大  --*/
  52          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  53          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
C51 COMPILER V8.09   YEJING                                                                09/01/2009 10:21:18 PAGE 2   

  54          0x08,0x08,0x08,0x08,0xC8,0x3F,0xC8,0x08,0x08,0x0C,0x08,0x00,0x04,0x04,0x02,0x01,
  55          0x00,0x00,0x00,0x01,0x02,0x04,0x04,0x00,
  56          
  57          /*--  文字:  学  --*/
  58          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  59          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  60          0x9C,0x84,0x95,0x96,0x95,0xD6,0xB4,0x94,0x87,0x94,0x8C,0x00,0x00,0x00,0x00,0x04,
  61          0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
  62          
  63          /*--  文字:  生  --*/
  64          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  65          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  66          0x20,0x18,0x4E,0x48,0x48,0xFF,0x48,0x48,0x48,0x4C,0x08,0x00,0x04,0x04,0x04,0x04,
  67          0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x00,
  68          
  69          /*--  文字:  电  --*/
  70          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  71          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  72          0x00,0xFC,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xFE,0x04,0x00,0x00,0x01,0x00,0x00,
  73          0x00,0x03,0x04,0x04,0x04,0x04,0x06,0x00,
  74          
  75          /*--  文字:  子  --*/
  76          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  77          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  78          0x20,0x21,0x21,0x21,0x21,0xF9,0x29,0x25,0x23,0x31,0x20,0x00,0x00,0x00,0x00,0x04,
  79          0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
  80          
  81          /*--  文字:  设  --*/
  82          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  83          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  84          0x10,0x11,0xF2,0x20,0x10,0x6F,0xA1,0x21,0xAF,0x68,0x08,0x00,0x00,0x00,0x03,0x05,
  85          0x04,0x04,0x02,0x01,0x02,0x04,0x04,0x00,
  86          
  87          /*--  文字:  计  --*/
  88          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  89          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  90          0x10,0xF1,0x02,0x00,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x02,0x01,
  91          0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,
  92          
  93          /*--  文字:  大  --*/
  94          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  95          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  96          0x08,0x08,0x08,0x08,0xC8,0x3F,0xC8,0x08,0x08,0x0C,0x08,0x00,0x04,0x04,0x02,0x01,
  97          0x00,0x00,0x00,0x01,0x02,0x04,0x04,0x00,
  98          
  99          /*--  文字:  赛  --*/
 100          /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
 101          /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
 102          0x84,0xA6,0x6A,0xEA,0x3E,0xAB,0x2A,0xFE,0x6A,0xAA,0xA6,0x00,0x00,0x04,0x04,0x05,
 103          0x02,0x01,0x02,0x03,0x04,0x04,0x00,0x00,
 104          };
 105          
 106          
 107          
 108          
 109          
 110          
 111          
 112          
 113          
 114          
 115          
C51 COMPILER V8.09   YEJING                                                                09/01/2009 10:21:18 PAGE 3   

 116          
 117          
 118          
 119          
 120          
 121          
 122          /*--------------延时函数-----------*/
 123          void delay(unsigned  int ii)
 124          {
 125   1       unsigned int i,x;
 126   1       for (x=0;x<ii;x++)
 127   1        for (i=0;i<500;i++)
 128   1         ;
 129   1      }
 130          /*--------------------------------------------
 131          LCD_write_byte: 使用SPI接口写数据到LCD
 132          输入参数:dt:写入的数据;
 133                    command :写数据/命令选择;
 134          ----------------------------------------------*/
 135          void LCD_write_byte(unsigned char dt, unsigned char command)
 136          {
 137   1      
 138   1              sec=0;  
 139   1              oc=command;     
 140   1              SPI0CN &=0x01;
 141   1              SPI0DAT=dt;     
 142   1              while(!(SPI0CN&0x80));
 143   1              oc=1;   
 144   1              sec=1;  
 145   1              sdin=1;
 146   1              
 147   1       }
 148          
 149          /*---------------------------------------
 150          LCD_init: LCD初始化
 151          -----------------------------------------  */
 152          void LCD_init(void)
 153          {
 154   1              rst=0;          
 155   1              delay(10);
 156   1              rst=1;  
 157   1              LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令
 158   1              LCD_write_byte(0xd0,0);//设定液晶偏置电压
 159   1              LCD_write_byte(0x20,0);//使用基本指令
 160   1              LCD_write_byte(0x0C,0);//设定显示模式,正常显示
 161   1      }
 162          
 163          /*-------------------------------------------
 164          LCD_set_XY: 设置LCD坐标函数
 165          输入参数:X:0-83  Y:0-5
 166          ---------------------------------------------*/
 167          void LCD_set_XY(unsigned char X, unsigned char Y)
 168          {
 169   1              LCD_write_byte(0x40 | Y, 0);// Y轴
 170   1              LCD_write_byte(0x80 | X, 0);// X轴  右下角为(0,0)点
 171   1      } 
 172          
 173          /*------------------------------------------
 174          LCD_clear: LCD清屏函数
 175          --------------------------------------------*/
 176          void LCD_clear(void)
 177          {
C51 COMPILER V8.09   YEJING                                                                09/01/2009 10:21:18 PAGE 4   

 178   1              unsigned char t,k;
 179   1              LCD_set_XY(0,0);
 180   1              for(t=0;t<6;t++)
 181   1               for(k=0;k<84;k++)
 182   1                LCD_write_byte(0x00,1);
 183   1      }
 184          
 185          /*---------------------------------------------
 186          LCD_write_shu: 显示6(宽)*16(高)点阵列数字字母符号等半角类
 187          输入参数:row:列; 
 188                            page:页;
 189                            c:显示的字符;
 190          -----------------------------------------------*/
 191          void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c)
 192          {
 193   1              unsigned char i;        
 194   1              LCD_set_XY(row*6, page);// 列,页 
 195   1              for(i=0; i<6;i++) 
 196   1              {
 197   2               LCD_write_byte(shuzi[c*12+i],1); 
 198   2               }
 199   1              
 200   1          LCD_set_XY(row*6, page+1);// 列,页 
 201   1              for(i=6; i<12;i++) 
 202   1              {
 203   2               LCD_write_byte(shuzi[c*12+i],1);
 204   2               }              
 205   1      }
 206          
 207          /*---------------------------------------------
 208          LCD_write_hanzi: 显示12(宽)*16(高)点阵列汉字等半角类
 209          输入参数:row:列; 
 210                            page:页;
 211                            c:显示的字符;
 212          -----------------------------------------------*/
 213          void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c)
 214          {
 215   1              unsigned char i;        
 216   1              
 217   1              LCD_set_XY(row*6, page);// 列,页 
 218   1              for(i=0; i<12;i++) 
 219   1              {
 220   2           LCD_write_byte(hanzi[c*24+i],1); 
 221   2               }
 222   1              
 223   1          LCD_set_XY(row*6, page+1);// 列,页 
 224   1              for(i=12; i<24;i++) 
 225   1              {
 226   2               LCD_write_byte(hanzi[c*24+i],1);
 227   2               }      
 228   1      }
 229          
 230          main()
 231          {       
 232   1          PCA0MD    = 0x00 ;    //关闭看门狗
 233   1          XBR1      = 0x40 ;  //交叉开关使能
 234   1          P1MDOUT   = 0xFF ;
 235   1              P2MDOUT   = 0xFF ;
 236   1              Init_Device();
 237   1              rst=0;
 238   1              delay(10);
 239   1              rst=1;          
C51 COMPILER V8.09   YEJING                                                                09/01/2009 10:21:18 PAGE 5   

 240   1              LCD_init();  //初始化LCD模块 
 241   1              LCD_clear(); //清屏幕   
 242   1              LCD_write_shu(0,0,0);
 243   1              LCD_write_shu(1,0,0);
 244   1              LCD_write_shu(2,0,0);
 245   1              LCD_write_shu(3,0,0);
 246   1      /*      LCD_write_hanzi(0,0,0);  //单   
 247   1              LCD_write_hanzi(2,0,1);  //片
 248   1              LCD_write_hanzi(4,0,2);  //机   
 249   1              LCD_write_hanzi(6,0,3);  //开
 250   1              LCD_write_hanzi(8,0,4);  //发   
 251   1              LCD_write_hanzi(10,0,5);  //工
 252   1              LCD_write_hanzi(12,0,6);  //作  
 253   1              LCD_write_hanzi(0,2,7);  //室
 254   1      
 255   1              LCD_write_hanzi(1,4,8);  //雨
 256   1              LCD_write_hanzi(2,4,9);  //亭
 257   1              LCD_write_hanzi(3,4,10);  //电
 258   1              LCD_write_hanzi(4,4,11);  //子                                                          
 259   1      
 260   1              LCD_write_shu(10,4,0);  //>
 261   1              LCD_write_shu(11,4,1);  //W
 262   1              LCD_write_shu(12,4,2);  //Y
 263   1              LCD_write_shu(13,4,3);  //G       */
 264   1      
 265   1              while(1)
 266   1              {
 267   2      
 268   2              }
 269   1      }
 270          
 271          
 272          
 273          
 274          
 275          
 276          
 277          

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

⌨️ 快捷键说明

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