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

📄 1306.lst

📁 采用C语言编程
💻 LST
字号:
C51 COMPILER V7.06   1306                                                                  07/31/2008 21:23:33 PAGE 1   


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

stmt level    source

   1          #define uchar unsigned char
   2          #define uint   unsigned int
   3          #include "def.h"
   4          #include <reg52.h>
   5          #include <stdio.h>
   6          #include <intrins.h>
   7          #define PUBLIC_GLOBALS
   8          #include <public.h>
   9          
  10          /*****************************************************************************/
  11          uchar num,minute,second,temp;
  12          
  13          sbit RS = P1^0;//Pin4
  14          sbit RW = P1^1; //Pin5
  15          sbit E  = P1^2;//Pin6
  16          
  17          #define Data  P2    //数据端口
  18          
  19          
  20          
  21          void DelayUs(unsigned char us)//精确延时1us
  22          {
  23   1       unsigned char uscnt;
  24   1       uscnt=us>>1;/* Crystal frequency in 12MHz*/
  25   1       while(--uscnt);
  26   1      }
  27          /******************************************************************/
  28          void DelayMs(unsigned char ms)//这个延时和上面的组合起来的延时即为ms(ms)
  29          {
  30   1       while(--ms)
  31   1         {
  32   2           DelayUs(250);
  33   2           DelayUs(250);
  34   2               DelayUs(250);
  35   2               DelayUs(250);
  36   2         }
  37   1      }
  38          
  39          void delay5ms(void)             //精确延时(5ms-5us)的时间,对与MS级的延时已经很精确了
  40          {
  41   1      uchar i,j;
  42   1      for(i=10;i>0;i--)
  43   1      for(j=248;j>0;j--);
  44   1      }
  45          
  46          void delay15ms(void)            //精确延时(5ms-5us)的时间,对与MS级的延时已经很精确了
  47          {
  48   1      uchar i,j;
  49   1      for(i=30;i>0;i--)
  50   1      for(j=248;j>0;j--);
  51   1      }
  52          
  53          void WriteCommand(unsigned char c)
  54          {
  55   1       //DelayMs(5);//short delay before operation 延时4.179ms
C51 COMPILER V7.06   1306                                                                  07/31/2008 21:23:33 PAGE 2   

  56   1       delay5ms();//精确延时(5ms-5us)的时间
  57   1       E=0;
  58   1       RS=0;
  59   1       RW=0;
  60   1       _nop_();
  61   1       E=1;
  62   1       Data=c;
  63   1       E=0;
  64   1      }
  65          /****************************************************************/
  66          void WriteData(unsigned char c)
  67          {
  68   1      // DelayMs(5);   //short delay before operation 延时4.179ms
  69   1       delay5ms();   //精确延时(5ms-5us)的时间
  70   1       E=0;
  71   1       RS=1;
  72   1       RW=0;
  73   1       _nop_();     //1us
  74   1       E=1;
  75   1       Data=c;
  76   1       E=0;
  77   1       RS=0;
  78   1      }
  79          /*********************************************************************/
  80          void ShowChar(unsigned char pos,unsigned char c)
  81          {
  82   1       unsigned char p;
  83   1       if (pos>=0x10)
  84   1          p=pos+0xb0; //是第二行则命令代码高4位为0xc
  85   1       else 
  86   1          p=pos+0x80; //是第二行则命令代码高4位为0x8
  87   1       WriteCommand (p);//write command
  88   1       WriteData (c);   //write data
  89   1      
  90   1      }
  91          /*************************************************************************/
  92          void ShowString (unsigned char line,char *ptr)
  93          {
  94   1       unsigned char l,i;
  95   1       l=line<<4;
  96   1       for (i=0;i<16;i++)
  97   1        ShowChar (l++,*(ptr+i));//循环显示16个字符
  98   1      }
  99          /*********************************************************************/
 100          void InitLcd()
 101          {
 102   1       //DelayMs(15);
 103   1       delay15ms();
 104   1       WriteCommand(0x38); //display mode
 105   1       WriteCommand(0x38); //display mode
 106   1       WriteCommand(0x38); //display mode
 107   1       WriteCommand(0x06); //显示光标移动位置
 108   1       WriteCommand(0x0c); //显示开及光标设置
 109   1       WriteCommand(0x01); //显示清屏
 110   1      
 111   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    220    ----
   CONSTANT SIZE    =     26    ----
   XDATA SIZE       =     64       5
C51 COMPILER V7.06   1306                                                                  07/31/2008 21:23:33 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =     36    ----
   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 + -