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

📄 5110.lst

📁 万年历
💻 LST
字号:
C51 COMPILER V8.02   5110                                                                  05/04/2002 11:07:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 5110
OBJECT MODULE PLACED IN 5110.OBJ
COMPILER INVOKED BY: D:\keil\新建文件夹\C51\BIN\C51.EXE 5110.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<all.h>
   3          #include<ziku.h>
   4          
   5          #define uchar unsigned char
   6          #define uint unsigned int
   7          sbit    sce = P2^4;  //片选
   8          sbit    res = P2^3;  //复位,0复位
   9          sbit    dc  = P2^2;  //1写数据,0写指令
  10          sbit    sdin = P2^1;  //数据
  11          sbit    sclk = P2^0;  //时钟
  12          
  13          
  14          void delay_1ms(void)//1ms延时函数
  15          {
  16   1              unsigned int i;
  17   1              for (i=0;i<500;i++)       ;
  18   1      ;
  19   1      }
  20          
  21          /*--------------------------------------------
  22          LCD_write_byte: 使用SPI接口写数据到LCD
  23          输入参数:dt:写入的数据;
  24          command :写数据/命令选择;
  25          编写日期:20080918 
  26          ----------------------------------------------*/
  27          void LCD_write_byte(unsigned char dt, unsigned char command)
  28          {
  29   1              unsigned char i; 
  30   1              sce=0;                                      //片选
  31   1              dc=command;                                      //command为1写数据,0写指令
  32   1              for(i=0;i<8;i++)                         //模拟串行口发送数据,高位在前,低位在后
  33   1              { 
  34   2                      if(dt&0x80)                        //按位与,dt
  35   2                              sdin=1;                         //数据          最高位为1,发送1
  36   2                      else                                                       
  37   2                              sdin=0;                                          //最高位为0,发送0
  38   2                      dt=dt<<1;               
  39   2                      sclk=0;                 
  40   2                      sclk=1;                                 //时钟
  41   2              }       
  42   1              dc=1;                                      //1写数据,0写指令
  43   1              sce=1;  
  44   1              sdin=1;
  45   1      }
  46          /*---------------------------------------
  47          LCD_init: 3310LCD初始化
  48          编写日期:20080918 
  49          -----------------------------------------  */
  50          void LCD_init(void)
  51          {
  52   1              res=0;                                   //片选
  53   1              delay_1ms();
  54   1              res=1;  
  55   1              LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令
C51 COMPILER V8.02   5110                                                                  05/04/2002 11:07:14 PAGE 2   

  56   1              LCD_write_byte(0xd0,0);//设定液晶偏置电压
  57   1              LCD_write_byte(0x20,0);//使用基本指令
  58   1              LCD_write_byte(0x0C,0);//设定显示模式,正常显示
  59   1      }
  60          /*-------------------------------------------
  61          LCD_set_XY: 设置LCD坐标函数
  62          输入参数:X:0-83  Y:0-5
  63          编写日期:20080918 
  64          ---------------------------------------------*/
  65          void LCD_set_XY(unsigned char X, unsigned char Y)
  66          {
  67   1              LCD_write_byte(0x40 | Y, 0);// column
  68   1                      LCD_write_byte(0x80 | X, 0);// row
  69   1      } 
  70          /*------------------------------------------
  71          LCD_clear: LCD清屏函数
  72          编写日期:20080918 
  73          --------------------------------------------*/
  74          void LCD_clear(void)
  75          {
  76   1              unsigned char t;
  77   1              unsigned char k;
  78   1              LCD_set_XY(0,0);
  79   1              for(t=0;t<6;t++)
  80   1              { 
  81   2                      for(k=0;k<84;k++)
  82   2                      { 
  83   3                              LCD_write_byte(0x00,1);
  84   3                                      
  85   3                      } 
  86   2              }
  87   1      }
  88          /*---------------------------------------------
  89          LCD_write_shu: 显示8(宽)*16(高)点阵列数字字母符号等半角类
  90          输入参数:c:显示的字符;
  91          编写日期:20080918 
  92          -----------------------------------------------*/
  93          void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
  94          {
  95   1              unsigned char i;        
  96   1              
  97   1              LCD_set_XY(row*8, page);// 列,页 
  98   1              for(i=0; i<8;i++) 
  99   1              {
 100   2                      LCD_write_byte(shuzi[c*16+i],1); 
 101   2              }
 102   1              
 103   1          LCD_set_XY(row*8, page+1);// 列,页 
 104   1              for(i=8; i<16;i++) 
 105   1              {
 106   2                      LCD_write_byte(shuzi[c*16+i],1);
 107   2              }               
 108   1      }
 109          /*---------------------------------------------
 110          LCD_write_hanzi: 显示16(宽)*16(高)点阵列汉字等半角类
 111          输入参数:c:显示的字符;
 112          编写日期:20080918 
 113          -----------------------------------------------*/
 114          void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
 115          {
 116   1              unsigned char i;        
 117   1              
C51 COMPILER V8.02   5110                                                                  05/04/2002 11:07:14 PAGE 3   

 118   1              LCD_set_XY(row*12, page);// 列,页 
 119   1              for(i=0; i<12;i++) 
 120   1              {
 121   2                      LCD_write_byte(hanzi[c*24+i],1); 
 122   2              }
 123   1              
 124   1          LCD_set_XY(row*12, page+1);// 列,页 
 125   1              for(i=12; i<24;i++) 
 126   1              {
 127   2                      LCD_write_byte(hanzi[c*24+i],1);
 128   2              }       
 129   1      }
 130                          


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