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

📄 misc.lst

📁 这是我在学习红外遥控接收时写的代码
💻 LST
字号:
C51 COMPILER V7.00  MISC                                                                   08/21/2006 21:45:37 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE MISC
OBJECT MODULE PLACED IN misc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE misc.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #ifndef _MISC_C
   2          #define _MISC_C
   3          
   4          
   5          #include <REG768.H> /*Philips 87LPC768 寄存器定义头文件*/
   6          
   7          #include "config.h"
   8          #include "misc.h"
   9          
  10          
  11          //I/O口初始化程序
  12          void init_port()
  13          {
  14   1              P0 = 0xFF;
  15   1              P1 = 0xFF;
  16   1              P2 = 0xFF;
  17   1      }
  18          
  19          #define INBUF_LEN 4   //数据长度
  20          
  21          unsigned char inbuf1[INBUF_LEN];
  22          unsigned char checksum,count3;
  23          bit           read_flag=0;
  24          
  25          void init_serial(void)
  26          {
  27   1          SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
  28   1          TMOD |= 0x20;       //TMOD: timer 1, mode 2, 8-bit reload 
  29   1          PCON |= 0x80;       //SMOD=1; 
  30   1          TH1   = 0xF4;       //Baud:4800  fosc=11.0592MHz 
  31   1          ES = 1;//IE   |= 0x90;       //Enable Serial Interrupt  
  32   1      }
  33          
  34          //向串口发送一个字符 
  35          void send_char_com(unsigned char ch)  
  36          {
  37   1          SBUF=ch;
  38   1          while(TI==0);
  39   1          TI=0;
  40   1      }
  41          
  42          //向串口发送一个字符串,strlen为该字符串长度 
  43          void send_string_com(unsigned char *str,unsigned int strlen)
  44          {
  45   1          unsigned int k=0;
  46   1          do 
  47   1          {
  48   2              send_char_com(*(str + k));
  49   2              k++;
  50   2          } while(k < strlen);
  51   1      }
  52          
  53          void put_string(unsigned char *str)
  54          {
  55   1              unsigned int len;
C51 COMPILER V7.00  MISC                                                                   08/21/2006 21:45:37 PAGE 2   

  56   1              len = sizeof(str);
  57   1              send_string_com(str, len);
  58   1              return;
  59   1      }
  60          
  61          
  62          //串口接收中断函数 
  63          void serial () interrupt 4 using 3 
  64          {
  65   1          if(RI)
  66   1          {
  67   2              unsigned char ch;
  68   2              RI = 0;
  69   2              ch=SBUF;
  70   2              if(ch>127)
  71   2              {
  72   3                   count3=0;
  73   3                   inbuf1[count3]=ch;
  74   3                   checksum= ch-128;
  75   3              }
  76   2              else 
  77   2              {
  78   3                   count3++;
  79   3                   inbuf1[count3]=ch;
  80   3                   checksum ^= ch;
  81   3                   if( (count3==(INBUF_LEN-1)) && (!checksum) )
  82   3                   {
  83   4                       read_flag=1;  //如果串口接收的数据达到INBUF_LEN个,且校验没错, 
  84   4                                     //就置位取数标志 
  85   4                   }
  86   3              }
  87   2          }
  88   1      }
  89          
  90          
  91          void serial_test()
  92          {
  93   1          while(1)
  94   1          {
  95   2                if(read_flag)  //如果取数标志已置位,就将读到的数从串口发出 
  96   2                {
  97   3                     read_flag=0; //取数标志清0 
  98   3                     send_string_com(inbuf1,INBUF_LEN);
  99   3                }
 100   2          }
 101   1      }
 102          
 103          #endif
 104          


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