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

📄 spfrsasc.lst

📁 51单片机程序
💻 LST
字号:
C51 COMPILER V3.20,  SN-50203013  SPFRSASC                                                 05/24/00  15:58:39  PAGE 1   


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

stmt level    source

   1          #include<reg51.h>
   2          #include<absacc.h>
   3          
   4          #define beginram 0x0000
   5          #define save_begin 0x0100
   6          #define middle_begin 0x1000
   7          #define out_begin 0x5000
   8          #define ulong unsigned long
   9          #define uint unsigned int
  10          #define uchar unsigned char
  11          
  12          sbit ram_cs=P1^0;
  13          sbit P1_1=P1^1;
  14          uint  addr_ram_save,addr_ram_middle,addr_ram_out,addr_ram_save1; 
  15          uint i,j;
  16          uchar k,a;
  17          uint num,g,m,n,flra,fhra,fra,senddata;
  18          uchar rstemp,select,sendok,temp,temp1,temp2,temp3,temp4;
  19          uchar flashdata;
  20          uchar tempa,tempb,tempc,tempd,tempe,tempf;
  21          uchar order[]={0x41,0x54,0x2b,0x43,0x4d,0x47,0x52,0x3d};/*AT+CMGR=*/
  22          void initial()
  23          {       
  24   1      	
  25   1      	PCON=0x80;//0x00;//0x80;
  26   1      	TMOD=0X20;      /*工作方式2*/
  27   1      	TL1=0xf3;//0Xf3;   /*波特率为4800*/   
  28   1      	TH1=0xf3;//0Xf3;
  29   1      	SCON=0x50;//0X50;  /*工作方式2*/
  30   1      	TR1=1;
  31   1      	EA=1;
  32   1      	ES=1;
  33   1      	//ET1=0;
  34   1      	//receiveok=0;
  35   1      	ram_cs=0;
  36   1      	P1_1=0;
  37   1      	//rstemp=1;
  38   1      	num=0;		/*存储的信息条数*/
  39   1      	g=m=n=0;            /*短信字节数*/
  40   1      	k=2;
  41   1      	sendok=0;
  42   1      	addr_ram_save=save_begin;
  43   1      	//addr_ram_save1=save_begin;
  44   1      	//addr_ram_middle=middle_begin;
  45   1      	addr_ram_out=out_begin;
  46   1      }
  47          
  48          receive() interrupt 4 using 2
  49          {
  50   1      	while(!RI);
  51   1      	g++;
  52   1      	RI=0;
  53   1      	rstemp=SBUF;
  54   1      	//if(rstemp=='$')
  55   1      	//m=1;
C51 COMPILER V3.20,  SN-50203013  SPFRSASC                                                 05/24/00  15:58:39  PAGE 2   

  56   1      	//m++;
  57   1      	//if(rstemp=='$'&m>0) 
  58   1      	//{n=m;m=0;}
  59   1      	XBYTE[addr_ram_save]=rstemp;
  60   1      	addr_ram_save=addr_ram_save+1;
  61   1      	//RI=0;
  62   1      
  63   1      }
  64          
  65          
  66          void delay(uint i1)
  67          {
  68   1      	uint i2;
  69   1      	for(i2=0;i2<i1;i2++);
  70   1      }
  71          
  72          
  73          void unicode_to_quwei()
  74          {
  75   1      	
  76   1      	addr_ram_save=save_begin+74;
  77   1      	//addr_ram_middle=middle_begin;
  78   1      	for(i=0;i<(g-82)/4;i++)
  79   1      	{	
  80   2      		P1_1=1;
  81   2      		tempa=XBYTE[addr_ram_save];
  82   2      		tempb=XBYTE[addr_ram_save+1];
  83   2      		if(tempa<0x40)
  84   2      		tempa=tempa<<4;
  85   2      		else
  86   2      		tempa=(tempa-0x37)<<4;
  87   2      		/*a,b,c,d是字节变量*/
  88   2      		if(tempb<0x40)
  89   2      		tempb=tempb<<4;
  90   2      		else
  91   2      		tempb=(tempb-0x37)<<4;
  92   2      		tempb=tempb>>4;
  93   2      		tempc=XBYTE[addr_ram_save+2];
  94   2      		tempd=XBYTE[addr_ram_save+3];
  95   2      		if(tempc<0x40)
  96   2      		tempc=tempc<<4;
  97   2      		else
  98   2      		tempc=(tempc-0x37)<<4;
  99   2      		if(tempd<0x40)
 100   2      		tempd=tempd<<4;
 101   2      		else
 102   2      		tempd=(tempd-0x37)<<4;
 103   2      		tempd=tempd>>4;
 104   2      		tempe=tempa|tempb;/*e,f是字节变量*/
 105   2      		tempf=tempc|tempd;
 106   2      		if(tempe<0x4e)
 107   2      		{fhra=tempe;
 108   3      		fhra=fhra<<8;
 109   3      		flra=tempf;
 110   3      		//flra=XBYTE[addr_ram_save+1];
 111   3      		fra=fhra|flra;
 112   3      		fra=fra*2;
 113   3      		ram_cs=1;
 114   3      		P1_1=0;
 115   3      		m=P1&0x1f;
 116   3      		//XBYTE[0x2200]=0x01;
 117   3      		P1=m|0x00;
C51 COMPILER V3.20,  SN-50203013  SPFRSASC                                                 05/24/00  15:58:39  PAGE 3   

 118   3      		}
 119   2      		else
 120   2      		{
 121   3      		fhra=tempe-0x4e;
 122   3      		//fhra=XBYTE[addr_ram_save]-0x4e;
 123   3      		fhra=fhra<<8;
 124   3      		flra=tempf;
 125   3      		//flra=XBYTE[addr_ram_save+1];
 126   3      		fra=fhra|flra;
 127   3      		fra=fra*2;
 128   3      		ram_cs=1;
 129   3      		P1_1=0;
 130   3      		m=P1&0x1f;
 131   3      		//XBYTE[0x2200]=0x01;
 132   3      		P1=m|0x20;
 133   3      		};
 134   2      		flashdata=XBYTE[fra];
 135   2      		temp1=flashdata/16;
 136   2      		temp2=flashdata-temp1*6;
 137   2      		temp3=temp2/16;
 138   2      		temp3=temp3<<4;
 139   2      		temp4=temp2%16;
 140   2      		flashdata=temp3|temp4;
 141   2      		ram_cs=0;
 142   2      		XBYTE[addr_ram_out]=flashdata;
 143   2      		ram_cs=1;
 144   2      		flashdata=XBYTE[fra+1];
 145   2      		temp1=flashdata/16;
 146   2      		temp2=flashdata-temp1*6;
 147   2      		temp3=temp2/16;
 148   2      		temp3=temp3<<4;
 149   2      		temp4=temp2%16;
 150   2      		flashdata=temp3|temp4;
 151   2      		ram_cs=0;
 152   2      		XBYTE[addr_ram_out+1]=flashdata;
 153   2      		addr_ram_out=addr_ram_out+2;
 154   2      		addr_ram_save=addr_ram_save+4;
 155   2      		//addr_ram_save=addr_ram_save+2;
 156   2      	}	
 157   1      }	
 158          void send()
 159          {
 160   1      		addr_ram_out=out_begin;
 161   1      		PCON=0X80;
 162   1      		TL1=0Xf3;
 163   1      		TH1=0Xf3;
 164   1      		TMOD=0X20;
 165   1      		SCON=0X40;
 166   1      		TR1=1;
 167   1          		EA=0;
 168   1      		//ram_send=beginram;
 169   1      		for(i=0;i<(g-82)/2;i++)
 170   1      		{
 171   2      		        P1_1=1;
 172   2      			senddata=XBYTE[addr_ram_out];
 173   2      			addr_ram_out=addr_ram_out+1;
 174   2      			SBUF=senddata;
 175   2      			while(!TI);
 176   2      			TI=0;
 177   2      			//if(senddata=='&')
 178   2      				//break;
 179   2      		}
C51 COMPILER V3.20,  SN-50203013  SPFRSASC                                                 05/24/00  15:58:39  PAGE 4   

 180   1      		PCON=0x80;//0x80;	
 181   1      					/*继续等待接受,初始化串口*/
 182   1      		TMOD=0X20;
 183   1      		TL1=0xf3;//0Xf3;
 184   1      		TH1=0xf3;//0Xf3;
 185   1      		SCON=0x50;//0X50;
 186   1      		TR1=1;
 187   1      		EA=1;
 188   1      		ES=1;
 189   1          		
 190   1      	
 191   1      }		
 192          
 193          
 194          void send1()
 195          {
 196   1      		//addr_ram_out=order;
 197   1      		PCON=0X80;
 198   1      		TL1=0Xf3;
 199   1      		TH1=0Xf3;
 200   1      		TMOD=0X20;
 201   1      		SCON=0X50;
 202   1      		TR1=1;
 203   1          		EA=0;
 204   1          		for(i=0;i<8;i++)
 205   1      		{
 206   2      		        //P1_1=1;
 207   2      		        //if(i==9)
 208   2      		       // { 
 209   2      		        	//EA=1;
 210   2      		       // }       
 211   2      			SBUF=order[i];
 212   2      			while(!TI);
 213   2      			TI=0;
 214   2      			
 215   2      		}
 216   1      		//a=0x30+k;
 217   1      		a=k;
 218   1      		SBUF=a;
 219   1      		//SBUF=0x30+k;
 220   1      		while(!TI);
 221   1      		TI=0;
 222   1      		EA=1;
 223   1      		SBUF=0x0a;
 224   1      		while(!TI);
 225   1      		TI=0;
 226   1      		
 227   1          		
 228   1      
 229   1      }
 230          
 231          main()
 232          {	initial();
 233   1      	while(1)
 234   1      	{	
 235   2      		while(!g);
 236   2      		delay(5000);
 237   2      		P1_1=1;
 238   2      		k=XBYTE[addr_ram_save-3];
 239   2      		P1_1=0;
 240   2      		addr_ram_save=save_begin;
 241   2      		//k++;
C51 COMPILER V3.20,  SN-50203013  SPFRSASC                                                 05/24/00  15:58:39  PAGE 5   

 242   2      		g=0;
 243   2       		send1();
 244   2      		delay(0xffff);
 245   2      		
 246   2      		
 247   2      		//addr_ram_out=out_begin;
 248   2      		//delay(9999);
 249   2      		//asc_to_unicode();
 250   2                      //unicode_to_quwei();
 251   2      		//while(!m);	//if(!g)
 252   2      		//{
 253   2      		//initial();
 254   2              		//asc_to_unicode();
 255   2      	        unicode_to_quwei();
 256   2      		send();
 257   2      		addr_ram_save=save_begin;
 258   2      		addr_ram_out=out_begin;
 259   2      		g=0;
 260   2      	}
 261   1      	
 262   1      	
 263   1      }


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