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

📄 guangdian.lst

📁 光电开关的程序
💻 LST
字号:
C51 COMPILER V6.12  GUANGDIAN                                                              11/17/2008 11:38:25 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE GUANGDIAN
OBJECT MODULE PLACED IN .\guangdian.OBJ
COMPILER INVOKED BY: D:\Program Files\keil_2\C51\BIN\C51.EXE .\guangdian.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          #include <absacc.h>
   3          #include <intrins.h>
   4          #define uint unsigned int
   5          #define uchar unsigned char
   6          #define D_PORT    P1
   7          sbit RS=P3^0;
   8          sbit RW=P3^1;
   9          sbit E=P3^2;
  10          //sbit GD=P3^3;
  11          
  12          sbit dj=P2^7;
  13          sbit s1=P2^0;
  14          sbit s2=P2^1;
  15          sbit s3=P2^2;
  16          //#define     LCD_BUS       P1
  17          uchar i,j,ren;
  18          uchar code table0[]="2008-11-12--WED";
  19          uchar code table1[]="22: 58: 55";
  20          
  21          void wait_free()
  22          {
  23   1      	unsigned char retb;
  24   1      
  25   1           do{
  26   2      	      D_PORT=0xff;
  27   2      	      RS=0;
  28   2      	      RW=1;
  29   2      	      E=1;
  30   2      	      retb=D_PORT;
  31   2      	
  32   2      	      E=0;
  33   2           }while((retb&0x80)!=0);
  34   1      }
  35          
  36          void write_commm(unsigned char cmd_dat,bit cd)
  37          {
  38   1      	wait_free();
  39   1      
  40   1         if(cd)RS=1;
  41   1         else RS=0;
  42   1         RW=0;
  43   1         E=1;
  44   1         D_PORT=cmd_dat;
  45   1         E=0;
  46   1      }
  47          
  48          void delay(unsigned int t)
  49          {  unsigned int i,j;
  50   1         for(i=0;i<t;i++)
  51   1            for(j=0;j<10;j++)
  52   1               ;
  53   1      }
  54          
  55          void hzkdis(unsigned char code *s)
C51 COMPILER V6.12  GUANGDIAN                                                              11/17/2008 11:38:25 PAGE 2   

  56          {  while(*s>0)
  57   1         {  write_commm(*s,1);
  58   2            s++;
  59   2            delay(500);
  60   2         }
  61   1      }
  62          
  63          
  64          void lcdreset()
  65          {  
  66   1      
  67   1      	delay(2000);
  68   1         write_commm(0x30,0);       //选择基本指令集
  69   1         write_commm(0x30,0);       //选择8bit数据流
  70   1         delay(5);
  71   1         write_commm(0x0c,0);       //开显示(无游标、不反白)
  72   1         delay(5);
  73   1         write_commm(0x01,0);       //清除显示,并且设定地址指针为00H
  74   1         delay(5);
  75   1         write_commm(0x06,0);       //指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位
  76   1      }
  77          void init()
  78          {   
  79   1      
  80   1      	//GD=0;
  81   1      	EA=1;
  82   1      	EX1=1;
  83   1       // TMOD=0x90;
  84   1        // TMOD=0x11;
  85   1      	//TH1=(65536-65534)/256;
  86   1        // TL1=(65536-65534)%256;
  87   1      	IE1=1;
  88   1      	ET1=1;
  89   1          IT1=1;
  90   1         TR1=0;
  91   1      
  92   1      
  93   1      }
  94          
  95          
  96          
  97          void main()
  98          {
  99   1        init();
 100   1        lcdreset();
 101   1        delay(1000);
 102   1        write_commm((0x80),0);
 103   1      	for(i=0;i<=16;i++)
 104   1      	    {
 105   2                write_commm(table0[i],1);delay(200);
 106   2      		 }
 107   1      	delay(1000);
 108   1      
 109   1        write_commm((0x90),0); delay(200);
 110   1      	 for(j=0;j<9;j++)
 111   1      		{
 112   2               write_commm(table1[j],1);delay(200);
 113   2      		}
 114   1         delay(1000);
 115   1      
 116   1      	write_commm(0x0f,0);//开光标显示 			 					  
 117   1          write_commm(0x98,0);
C51 COMPILER V6.12  GUANGDIAN                                                              11/17/2008 11:38:25 PAGE 3   

 118   1          hzkdis("设计创新研究室!");    delay(5000);
 119   1           write_commm(0x0c,0);//关光标
 120   1       while(1)   
 121   1       	  { ;
 122   2      	  /*	if(GD==1)
 123   2      		{
 124   2      		 write_commm((0x88+3),0);delay(100);
 125   2      		 ren++;
 126   2      		 if(ren==10)ren=0;
 127   2      		 write_commm((0x30+ren),1);
 128   2      		}
 129   2      */
 130   2      	
 131   2      		}
 132   1       							
 133   1      }
 134          
 135          
 136          void exter1() interrupt 2
 137          {
 138   1      	  write_commm((0x88+3),0);delay(100);
 139   1      	 ren++;
 140   1      	 if(ren==10)ren=0;
 141   1      	 write_commm((0x30+ren),1);
 142   1      
 143   1      
 144   1      }
 145          void timer1() interrupt 3
 146          {	
 147   1      	
 148   1      /*	TH1=(65536-50000)/256;
 149   1         TL1=(65536-50000)%256;
 150   1      
 151   1          write_commm((0x88+3),0);delay(100);
 152   1      	 ren++;
 153   1      	 if(ren==10)ren=0;
 154   1      	 write_commm((0x30+ren),1);
 155   1      	 */
 156   1      	  write_commm((0x88+3),0);delay(100);
 157   1      	 ren++;
 158   1      	 if(ren==10)ren=0;
 159   1      	 write_commm((0x30+ren),1);
 160   1      
 161   1      
 162   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    468    ----
   CONSTANT SIZE    =     43    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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