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

📄 yj22.lst

📁 液晶TS1620的程序
💻 LST
字号:
C51 COMPILER V3.20,  SN-0  YJ22                                                            11/16/04  14:44:05  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE YJ22
OBJECT MODULE PLACED IN YJ22.OBJ
COMPILER INVOKED BY: C:\C51\BIN\C51.EXE YJ22.C DB OE SMALL ROM(LARGE) 

stmt level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #include <math.h>
   4          #include <intrins.h>
   5          
   6          
   7          //#define SHUCHU P2
   8          
   9          #define uchar unsigned char
  10          #define _Nop()  _nop_()  
  11          
  12          sbit v0=P3^5;
  13          sbit RS=P1^1;
  14          sbit RW=P1^2;
  15          sbit E=P1^3;
  16          sbit bl1=P1^4;
  17          sbit bl2=P1^5;
  18          sbit led=P1^6;
  19          sbit led2=P1^5;
  20          
  21          
  22           uchar code tab[]={0x74,0x68,0x69,0x73,0x69,0x73,0x61,0x67,
  23          				0x6f,0x6f,0x64,0x63,0x61,0x74,0x21,0x21,0x6c,
  24          				0x75,0x63,0x6b,0x79,0x3f,0x3f,0x3f,0x3f,0x3f,
  25          				0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f};
  26          uchar  SHUCHU0;
  27          uchar  data1;
  28          uchar  add0;
  29          bit busy;
  30          uchar j=0x37;
  31          
  32          
  33          void cleardisplay();
  34          void write_command(uchar);
  35          void write_data(uchar);
  36          void writechar(uchar,uchar);
  37          void readdata(uchar);
  38          //void intport();
  39          void intLcd();
  40          void DELAY(uchar);
  41          //void delay1();
  42          void readstate();
  43          void writestring(uchar,uchar *,uchar);
  44          
  45          void main()
  46          {
  47   1      	uchar i,ucAddr;
  48   1      	uchar *s;
  49   1      	s=tab;
  50   1      	
  51   1      	intLcd();
  52   1      	for(;;)
  53   1      	{
  54   2      		led2=0;
  55   2      		
C51 COMPILER V3.20,  SN-0  YJ22                                                            11/16/04  14:44:05  PAGE 2   

  56   2      		led=0;
  57   2      		
  58   2              writestring(ucAddr,s,31);
  59   2              DELAY(200);
  60   2              DELAY(200);
  61   2              DELAY(200);
  62   2              
  63   2              
  64   2      		//writechar(ucAddr,j);
  65   2      		j=*s++;
  66   2      		DELAY(200);
  67   2      		ucAddr++;
  68   2      		writechar(ucAddr,j);
  69   2      		ucAddr++;
  70   2      		//j=*s++;
  71   2      		//readdata(0x82);
  72   2      		DELAY(200);
  73   2      		led2=1;
  74   2      		led=1;
  75   2      		DELAY(200);
  76   2      		DELAY(200);
  77   2      		DELAY(200);
  78   2      		DELAY(200);
  79   2      		led2=0;
  80   2      		led=0;
  81   2      		
  82   2      		DELAY(200);
  83   2      		DELAY(200);
  84   2      		DELAY(200);
  85   2      		
  86   2      		
  87   2      	}
  88   1      		
  89   1      }
  90          
  91          	
  92          	
  93          	
  94          
  95          
  96          
  97          
  98          
  99          
 100          void write_command(uchar shu1)
 101          {
 102   1      	readstate();
 103   1      	E=0;
 104   1      	RS=0x00;
 105   1      	RW=0x00;
 106   1      	P2=shu1;
 107   1      	E=1;
 108   1      	DELAY(5);
 109   1      	E=0;
 110   1      	DELAY(5);
 111   1      }
 112          
 113          
 114          void readdata(uchar uAddr)
 115          {
 116   1          uchar temp1;
 117   1          temp1=uAddr;
C51 COMPILER V3.20,  SN-0  YJ22                                                            11/16/04  14:44:05  PAGE 3   

 118   1          write_command(temp1+0x80);
 119   1          readstate();
 120   1      	E=0;
 121   1      	RS=1;       
 122   1      	RW=1;
 123   1      	E=1;
 124   1      	_Nop();
 125   1      	_Nop();
 126   1      	
 127   1      	SHUCHU0=P2;      /*高电平*/
 128   1      	_Nop();
 129   1      	_Nop();
 130   1      	
 131   1      	E=0;
 132   1      	
 133   1      }
 134          void write_data(uchar shu2)
 135          {
 136   1      	readstate();
 137   1      	E=0;
 138   1      	RS=1;
 139   1      	RW=0;
 140   1      	P2=shu2;   
 141   1      	E=1;
 142   1      	E=0;
 143   1      	DELAY(1);
 144   1      }
 145          
 146          void readstate()
 147          {
 148   1      	busy=0;
 149   1      	RS=0;       
 150   1      	RW=1;
 151   1      	E=1;
 152   1      	//DELAY();  
 153   1      	//data1=SHUCHU;      /*高电平*/
 154   1      	//E=0;
 155   1      	//data1&=0x80;
 156   1      	//if(data1==0) busy=0;
 157   1      	//else busy=1;
 158   1      	do 
 159   1      	{
 160   2      		//P2=0xff;
 161   2      		busy=P2&0x80;
 162   2      		E=0;
 163   2      	}
 164   1      	while(busy==1);
 165   1      }
 166          
 167          
 168          void intLcd()
 169          {
 170   1      	
 171   1      	uchar i;
 172   1      	RS=0;
 173   1      	RW=0;
 174   1      	for(i=0;i<3;i++)
 175   1      	{
 176   2      		P2=0x30;
 177   2      		E=1;
 178   2      		E=0;
 179   2      		DELAY(50);
C51 COMPILER V3.20,  SN-0  YJ22                                                            11/16/04  14:44:05  PAGE 4   

 180   2      	}	
 181   1      	DELAY(10);
 182   1      	write_command(0x38);
 183   1      	DELAY(41);
 184   1      	//write_command(0x38);   /*显示模式  八位接口,2行 5X7*/
 185   1      	
 186   1      	write_command(0x08);/*清屏*/
 187   1      	write_command(0x01);  /*关显示*/
 188   1      	write_command(0x06);/*光标右移*/
 189   1      	write_command(0x0e);/*显示开,光标设置显示光标*/
 190   1      	//write_command(0x09);
 191   1      	
 192   1      	DELAY(2);
 193   1      }
 194          
 195          void DELAY(uchar temp)
 196          {
 197   1      	uchar i,j;
 198   1      	for(j=0;j<temp;j++)
 199   1      	{
 200   2      		for(i=0;i<250;i++);
 201   2      		//for(i=0;i<250;i++);
 202   2      	}
 203   1      		
 204   1      }
 205          
 206          void writechar(uchar uAddr,uchar uDis)
 207          {
 208   1      	if(uAddr<16)
 209   1      	{
 210   2      		write_command(0x80+uAddr);
 211   2      		write_data(uDis);
 212   2      	}
 213   1      	else
 214   1      	{
 215   2      		write_command(0xc0+uAddr-16);
 216   2      		write_data(uDis);
 217   2      	}
 218   1      }
 219          
 220          void writestring(uchar uAddr1,uchar *P,uchar k)
 221          {
 222   1      	uchar i;
 223   1      	for(i=0;i<k;i++)
 224   1      	{
 225   2      		if(uAddr1<16)
 226   2      		{
 227   3      		
 228   3      			write_command(0x80+uAddr1);
 229   3      			write_data(*(P+i));
 230   3      		}
 231   2      		else
 232   2      		{
 233   3      			write_command(0xc0+uAddr1-16);
 234   3      			write_data(*(P+i));
 235   3      		}
 236   2      		uAddr1++;
 237   2      	}
 238   1      		
 239   1      }
 240          	
 241          		
C51 COMPILER V3.20,  SN-0  YJ22                                                            11/16/04  14:44:05  PAGE 5   

 242          		
 243          		
 244          /*void return()
              {
              	write_command(0x02);  回车
              }
              void mode()
              {
              	write_command(0x07); 光标增,显示右移动
              }
               
              void display()
              {
              	
              	write_command(0x0e);显示开,光标显,闪烁
              }
              void shift()
              {
              	Writecmommand(0x1c); 显示移位,光标右移
              	
              }
              void setF()
              {
              	
              	write_command(0x38);八位接口,2行 5X7
              	
              }
              void display()
              {
              	write_command(0x3C);八位接口,2行 5X10
              }*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    451    ----
   CONSTANT SIZE    =     33    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4      16
   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 + -