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

📄 rem.lst

📁 数字选台收音机
💻 LST
字号:
C51 COMPILER V6.14  REM                                                                    03/17/2008 21:08:27 PAGE 1   


C51 COMPILER V6.14, COMPILATION OF MODULE REM
OBJECT MODULE PLACED IN .\rem.OBJ
COMPILER INVOKED BY: C:\Program Files\C51\BIN\C51.EXE .\rem.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #define uchar unsigned char
   2          #define uint  unsigned int
   3          #define ulong unsigned long
   4          #include <reg51.h>
   5          #include <mylib.h>
   6          sbit prem=P3^3;	         //定义遥控接收脚
   7          uchar remkey;	                     //设置四个遥控数据区域,前两个为用户自定义代码,后两个为实际接受的数据
   8          bit relable;			             //其中前两个字节实测相等,后两个字节正好相反,以此作为遥控数据正确性效验。
   9          void rem()interrupt 2
  10          {uchar ram[4]={0,0,0,0};
  11   1       uchar i;				  //干扰脉冲检测记数
  12   1       uchar count;			  //移位控制记数
  13   1       uchar ramc;
  14   1       if(relable)
  15   1       return;			  //遥控接收数据数组下标
  16   1       for(i=0;i<30;i++);		  
  17   1            {					  
  18   2             delay(1);		  
  19   2             if(prem)			  //刚开始的引导码为4.5MS的低电平,如果在此期间出现高电平则视为干扰脉冲,退出中断
  20   2             return;
  21   2            }
  22   1       while(prem!=1);		  //引导码4.5MS低电平之后应为4.5MS的引导高电平,此处为等待高电平的到来。
  23   1       delay(46);				  //延时大概4.6MS正好跨过4.5MS的引导高电平而进入32位数据的第一位。
  24   1       for(ramc=0;ramc<4;ramc++)//从此处开始进入32位4个字节的遥控数据接收,此处的外循环为字节切换
  25   1         for(count=0;count<8;count++)//以下将接收到的数据移位到数组的每一个单元
  26   1           {
  27   2      	    while(prem!=1);	//实际上逻辑1和逻辑0都是以0.56MS的低电平开始,所不同的是高电平的延长时间,高电平延长

⌨️ 快捷键说明

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