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

📄 shizhonglcd.lst

📁 单片机C和汇编程序代码,其中有EEPROM,LCD的使用.
💻 LST
字号:
C51 COMPILER V6.12  SHIZHONGLCD                                                            03/28/2008 14:24:16 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE SHIZHONGLCD
OBJECT MODULE PLACED IN .\shizhonglcd.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE .\shizhonglcd.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          #define uchar unsigned char
   3          #define uint  unsigned int
   4          unsigned code table[]={0x30,0x31,0x32,0x33,
   5          					   0x34,0x35,0x36,0x37,
   6          					   0x38,0x39};
   7          uchar t,h,m,s,a,b,c,d,e,f;
   8          sbit RS=P0^2;
   9          sbit RW=P0^3;
  10          sbit E=P0^4;
  11          void delay(uchar x);
  12          void init();
  13          void display();
  14          void fbusy();
  15          void wc51r(uchar i);
  16          void wc51ddr(uchar j);
  17          void chaifen();
  18          main()
  19          {	init();
  20   1      	while(1)
  21   1      	{
  22   2      		chaifen();
  23   2      		display();
  24   2      	}
  25   1      }
  26          void timer()	interrupt 1		//时钟中断函数
  27          {
  28   1      	TH0=(65536-50000)/256;
  29   1      	TL0=(65536-50000)%256;
  30   1      	t++;
  31   1      	if(t==20)
  32   1      	{t=0;
  33   2      	  s++;
  34   2      		if(s==60)
  35   2      		{s=0;
  36   3      		 m++;
  37   3      		if(m==60)
  38   3      		   {m=0;
  39   4      		    h++;
  40   4      		if(h==24)
  41   4      			h=00;	
  42   4         	       }		
  43   3      		}
  44   2      	}
  45   1      }
  46          void init()
  47          {
  48   1      	TMOD=0x01;
  49   1      	TH0=(65536-50000)/256;
  50   1      	TL0=(65536-50000)%256;
  51   1      	EA=1;
  52   1      	ET0=1;
  53   1      	TR0=1;
  54   1      	h=14;
  55   1      	m=24;
C51 COMPILER V6.12  SHIZHONGLCD                                                            03/28/2008 14:24:16 PAGE 2   

  56   1      	wc51r(0x01);	//清屏
  57   1      	wc51r(0x3c);	//使用8位数据,显示两行,使用5x7的字型
  58   1      	wc51r(0x0e);	//显示器开,字符不闪烁
  59   1      	wc51r(0x08);	//字符不动,光标自动一格
  60   1      	wc51r(0x06);
  61   1      	wc51r(0x82);
  62   1       	wc51ddr(0x20);
  63   1      	wc51r(0x83);
  64   1        	wc51ddr(0x20);
  65   1      	wc51r(0x84);
  66   1         wc51ddr(0x32);
  67   1      	wc51r(0x85);
  68   1         wc51ddr(0x30);
  69   1      	wc51r(0x86);
  70   1         wc51ddr(0x30);
  71   1      	wc51r(0x88);
  72   1          wc51ddr(0x38);
  73   1      	wc51r(0x89);
  74   1         wc51ddr(0x2e);
  75   1      	wc51r(0x8a);
  76   1      	  wc51ddr(0x30);
  77   1      	wc51r(0x8b);
  78   1        	  wc51ddr(0x33);
  79   1      	wc51r(0x8c);
  80   1          wc51ddr(0x2e);
  81   1      	wc51r(0x8d);
  82   1      	  wc51ddr(0x32);
  83   1      	wc51r(0x8e);
  84   1      	  wc51ddr(0x37);
  85   1      }
  86          void fbusy()		//检查忙标志
  87          {	
  88   1      	RS=0;RW=1;
  89   1      	E=1;
  90   1      	while((P2&0x80)==0x80);
  91   1      	E=0;
  92   1      }
  93          void wc51r(uchar i)		//写命令函数
  94          {
  95   1      	fbusy();
  96   1      	E=0;RS=0;RW=0;
  97   1      	E=1;
  98   1      	P2=i;
  99   1      	E=0;
 100   1      }
 101          void wc51ddr(uchar j)		//写数据函数
 102          {
 103   1      	fbusy();
 104   1      	E=0;RS=1;RW=0;
 105   1      	E=1;
 106   1      	P2=j;
 107   1      	E=0;	
 108   1      }
 109          void display()
 110          {	
 111   1      	
 112   1      	wc51r(0xc0);
 113   1        	wc51ddr(0x54);
 114   1       	wc51r(0xc1);
 115   1        	wc51ddr(0x49);
 116   1      	wc51r(0xc2);
 117   1        	wc51ddr(0x4d);
C51 COMPILER V6.12  SHIZHONGLCD                                                            03/28/2008 14:24:16 PAGE 3   

 118   1      	wc51r(0xc3);
 119   1        	wc51ddr(0x45);
 120   1      	wc51r(0xc4);
 121   1      	wc51ddr(0x20);
 122   1      	wc51r(0xc5);
 123   1       	 wc51ddr(table[e]);
 124   1      	wc51r(0xc6);
 125   1       	 wc51ddr(table[f]);
 126   1      	wc51r(0xc7);
 127   1        	delay(2000);
 128   1        	wc51ddr(0x3a);
 129   1      	wc51r(0xc8);
 130   1        	wc51ddr(table[c]);
 131   1      	wc51r(0xc9);
 132   1       	 wc51ddr(table[d]);
 133   1      	wc51r(0xca);
 134   1       	 delay(2000);
 135   1       	 wc51ddr(0x3a);
 136   1      	wc51r(0xcb);
 137   1       	 wc51ddr(table[a]);
 138   1      	wc51r(0xcc);
 139   1       	 wc51ddr(table[b]);
 140   1       	 delay(2000);
 141   1      		
 142   1      }
 143          void chaifen()
 144          { a=s/10;
 145   1        b=s%10;
 146   1        c=m/10;
 147   1        d=m%10;
 148   1        e=h/10;
 149   1        f=h%10;
 150   1      	
 151   1      }
 152          void delay (uchar x)			//延时1ms函数
 153          {  uchar y,z;
 154   1      	for(;x>0;x--)
 155   1      	for(y=2;y>0;y--)
 156   1      	for(z=248;z>0;z--);
 157   1      }


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