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

📄 rs485.lst

📁 一个超全的仿真程序含C源码,包括1602LED显示,两位共阴数码管显示,ADC0809模块转换,拔码地址开关,18B20温度显示,max485联机通迅,max232串口通迅
💻 LST
字号:
C51 COMPILER V6.12  RS485                                                                  03/19/2008 11:43:07 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE RS485
OBJECT MODULE PLACED IN .\rs485.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\rs485.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************Copyright (c)**************************************************
   2          **                               广州周立功单片机发展有限公司
   3          **                                     研    究    所
   4          **                                        产品一部 
   5          **
   6          **                                 http://www.zlgmcu.com
   7          **
   8          **--------------文件信息--------------------------------------------------------------------------------
   9          **文   件   名: PCF8563.C
  10          **创   建   人: 叶皓贲
  11          **最后修改日期:  2003-3-4
  12          **描        述: DP-1581的8563T及7289a键盘LED演示程序
  13          **
  14          **--------------历史版本信息----------------------------------------------------------------------------
  15          ** 创建人: 叶皓贲
  16          ** 版  本: 1.0
  17          ** 日 期: 2003-3-4
  18          ** 描 述: DP-1581演示程序
  19          **
  20          **------------------------------------------------------------------------------------------------------
  21          ** 修改人:
  22          ** 版  本:
  23          ** 日 期:
  24          ** 描 述:
  25          **
  26          **--------------当前版本修订------------------------------------------------------------------------------
  27          ** 修改人: 
  28          ** 日 期:
  29          ** 描 述:
  30          **
  31          **------------------------------------------------------------------------------------------------------
  32          ********************************************************************************************************/
  33          
  34          #include "REG52.h"
  35          
  36          unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
  37          
  38          
  39          sbit KEY_INT=P3^2;
  40          sbit RS485_RE=P3^0;
  41          
  42          sbit led1=P1^0;
  43          sbit led2=P1^1;
  44          bit rec_data;
  45          
  46          unsigned char rec_temp=1;
  47          
  48          /* 全局变量 */
  49          
  50          unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
  51          
  52          /*********************************************************************************************************
  53          ** 函数名称: 	display
  54          ** 功能描述: 	7298A led显示
  55          ** 输 入: *sd :	显示缓冲区的头地址
C51 COMPILER V6.12  RS485                                                                  03/19/2008 11:43:07 PAGE 2   

  56          **         
  57          ** 输 出: 0 :	OK;
  58          **         1 :	FAIL;
  59          ** 全局变量:	无
  60          ** 调用模块: 	ZLG7289_SendBuf
  61          **
  62          ** 作 者: 叶皓贲
  63          ** 日 期: 2003-3-4
  64          **-------------------------------------------------------------------------------------------------------
  65          ** 修改人:
  66          ** 日 期:
  67          **------------------------------------------------------------------------------------------------------
  68          ********************************************************************************************************/
  69          
  70          void dispchar(char infotext)
  71          {
  72   1      
  73   1      	if (led1==0)
  74   1      	{
  75   2      		led2=0;
  76   2      		P2=dispcode[infotext/10];
  77   2      		delay02s();
*** WARNING C206 IN LINE 77 OF .\RS485.C: 'delay02s': missing function-prototype
  78   2      		led1=1;
  79   2      
  80   2          } else
  81   1      	{
  82   2      		led1=0;
  83   2      		P2=dispcode[infotext%10];
  84   2      		delay02s();
  85   2      		led2=1;
  86   2      	}
  87   1      	delay02s();
  88   1      
  89   1      }
  90          
  91          unsigned char DelayNS(unsigned char  no)
  92          { 
  93   1      	unsigned char  i,j;					//延时参数
  94   1      
  95   1        	for(; no>0; no--)
  96   1        	{ 
  97   2      		for(i=0; i<100; i++)
  98   2           		for(j=0; j<100; j++);
  99   2        	}
 100   1        	return 0; 
 101   1      }
 102          
 103          /*********************************************************************************************************
 104          ** 函数名称: 	delay
 105          ** 功能描述: 	短软件延时
 106          ** 输 入: j :	延时参数,值越大时延时越久
 107          **         
 108          ** 输 出: 0 :	OK;
 109          **         1 :	FAIL;
 110          ** 全局变量:	无
 111          ** 调用模块: 	无
 112          **
 113          ** 作 者: 叶皓贲
 114          ** 日 期: 2003-3-4
 115          **-------------------------------------------------------------------------------------------------------
 116          ** 修改人:
C51 COMPILER V6.12  RS485                                                                  03/19/2008 11:43:07 PAGE 3   

 117          ** 日 期:
 118          **------------------------------------------------------------------------------------------------------
 119          ********************************************************************************************************/
 120          unsigned char  delay(unsigned char  j)
 121          {
 122   1        	unsigned char  k,l;
 123   1        	for(l=0;l<=j;l++)
 124   1          	for(k=0;k<=250;k++);
 125   1      	return 0;
 126   1      }
 127          
 128          
 129          void main()
 130          {
 131   1      	unsigned char key;
 132   1      	rec_data=0;
 133   1      	
 134   1      	//====设置波特率===================
 135   1      	delay(100); 
 136   1      	TMOD = 0X20;
 137   1      	SCON=0X50;
 138   1      	TH1=0XFA;
 139   1      	TL1=0XFA;
 140   1      	PCON=0X80;
 141   1      	TR1=1;
 142   1      	EA=1;
 143   1      	ES=1;
 144   1      
 145   1      	RS485_RE=0;
 146   1      
 147   1      	while(1)
 148   1      	{
 149   2      	/*	if(KEY_INT==0)
 150   2      		{
 151   2      			key=ZLG7290_GetKey();
 152   2      			delay(20);
 153   2       //		    display_send(key);
 154   2      			RS485_RE=1;
 155   2      			SBUF=key;
 156   2      			delay(30);
 157   2      		}
 158   2      */
 159   2      
 160   2      		if(rec_data)
 161   2      		{
 162   3      
 163   3      			rec_data=0;
 164   3      			rec_temp=SBUF;
 165   3      			dispchar(rec_temp);
 166   3      		//	dispchar(rec_temp);
 167   3      		//	display_rec(rec_temp);
 168   3                  if (rec_temp==23)
 169   3      				{
 170   4      			//		dispchar(rec_temp);
 171   4      
 172   4      				}	
 173   3      			delay(20);
 174   3      		}
 175   2      
 176   2      	}
 177   1      }
*** WARNING C280 IN LINE 131 OF .\RS485.C: 'key': unreferenced local variable
C51 COMPILER V6.12  RS485                                                                  03/19/2008 11:43:07 PAGE 4   

 178          
 179          void Serial_ISR() interrupt 4
 180          {
 181   1      	if(TI)
 182   1      	{
 183   2      		TI=0;
 184   2      		RS485_RE=0;
 185   2      	}
 186   1      	else
 187   1      	{
 188   2      		RI=0;
 189   2      		rec_data=1;
 190   2      		rec_temp=SBUF;
 191   2            led1=0;
 192   2            led2=1;
 193   2      
 194   2      	}
 195   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    196    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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