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

📄 cm.lst

📁 计算机锁机系统由软件和硬件组成。软件由Visual Basic 6.0编写。硬件主要由无线发送模块和单片机(C语言编写)构成。通过RS232界面与PC通信而实现无线控制系统。 主要功能
💻 LST
字号:
C51 COMPILER V6.12  CM                                                                     12/01/2005 22:31:32 PAGE 1   


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

stmt level    source

   1          #include <AT89X51.H>
   2          #define uchar unsigned char
   3          void mDelay(unsigned int Delay);
   4          
   5          uchar str1[4]={226,98,0,0};  //定义发送的字节数
   6          uchar indate[4];
   7          uchar ap;
   8          uchar count, count_r=0;
   9          
  10          void main()
  11          {
  12   1      	
  13   1      	/* 系统初始化 */
  14   1      	TMOD = 0x20;	//定时器T1使用工作方式2
  15   1      	TH1 = 253;    // 设置初值
  16   1      	TL1 = 253;
  17   1      	TR1 = 1;    // 开始计时
  18   1      	PCON = 0x80;    // SMOD = 1
  19   1      	SCON = 0x50;	//工作方式1,波特率9600bps,允许接收
  20   1      	ES = 1;
  21   1      	EA = 1;    // 打开所以中断
  22   1      	TI = 0;
  23   1      	RI = 0;
  24   1      		P1=0xff;
  25   1      		P3_5=0;
  26   1      		while(1)
  27   1      		{
  28   2      			ap=P1;
  29   2      			while(ap==P1)
  30   2      			{;}
  31   2      				str1[2] = P1;
  32   2      				str1[3] = str1[2];
  33   2      				count = 1;
  34   2      				SBUF=str1[0];
  35   2      				P3_7=0;
  36   2      				mDelay(300);
  37   2      	 			while(P1!=ap)
  38   2      				{;}
  39   2      		}
  40   1      }
  41          
  42          void RSINTR() interrupt 4 using 2
  43          {
  44   1      	if(TI==1)
  45   1      	{
  46   2      		TI=0;
  47   2      		if(count < 4)
  48   2      		{
  49   3      			SBUF= str1[count];
  50   3      			count++;
  51   3      		}
  52   2      		else
  53   2      		{
  54   3      			mDelay(80);
  55   3      			P3_7=1;
C51 COMPILER V6.12  CM                                                                     12/01/2005 22:31:32 PAGE 2   

  56   3      		}
  57   2      	}
  58   1      	if(RI==1)
  59   1      	{	
  60   2      		indate[count_r]=SBUF;
  61   2      		count_r++;
  62   2      		if (count_r >=4)
  63   2      		{
  64   3      			RI=0;
  65   3      			count_r=0;
  66   3      			if (indate[0]==str1[0] && indate[1]==str1[1])
  67   3      			{
  68   4      				switch (indate[2])
  69   4      				{
  70   5      					case 109:
  71   5      						P3_4=1;
  72   5      						P3_5=0;
  73   5      						break;
  74   5      					case 45:
  75   5      						P3_4=0;
  76   5      						P3_5=1;
  77   5      						str1[2] = 157;
  78   5      						str1[3] = 157;
  79   5      						count = 1;
  80   5      						SBUF=str1[0];
  81   5      						break;
  82   5      				}
  83   4      			}
  84   3      			else 
  85   3      			{
  86   4      				count_r=0;
  87   4      			}
  88   3      				
  89   3      		}
  90   2      		RI=0;
  91   2      	}
  92   1      
  93   1      }
  94          
  95          void mDelay(unsigned int Delay)
  96          {   unsigned int i;
  97   1      	for(;Delay>0;Delay--)
  98   1      	{ 	for(i=0;i<124;i++)
  99   2      		{;}
 100   2      	}
 101   1      }


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