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

📄 comm.lst

📁 智能家居系统。。。包括PS2键盘
💻 LST
字号:
C51 COMPILER V7.06   COMM                                                                  05/18/2008 14:29:18 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE COMM
OBJECT MODULE PLACED IN comm.OBJ
COMPILER INVOKED BY: E:\My Electronic\Tools\Design tools\keil7.06\C51\BIN\C51.EXE comm.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <REG52.H>
   2          
   3          #define INBUF_LEN 35                            //公共数据长度
   4          #define INBUF_LEN_RECEIVE 32            //接收数据长度
   5          #define uint unsigned int
   6          #define uchar unsigned char
   7          
   8          extern uchar inbuf1[];
   9          extern uchar read_flagg;
  10          extern uchar Ir_Over;
  11          extern uchar TT_Ok;
  12          extern uchar PS2_ok;
  13          
  14          uchar inbuf1[INBUF_LEN];
  15          uchar count3;
  16          uchar IR_Ctrl_Data;
  17          uchar read_flagg;
  18          
  19          /*****蜂鸣器函数调用声明*****/
  20          //void ok_beep();
  21          
  22          /*******LCD函数调用声明******/
  23          void sent_string(uchar x,uchar y,uchar *sent_data,uchar length);
  24          void LCD_clr_pic();
  25          
  26          /****红外接收函数调用声明****/
  27          void Init_IR();
  28          void IR_Receive_function();
  29          
  30          
  31          /****PS2接收函数调用声明****/
  32          void Ps2_Getkey(void);
  33          
  34          /******18b20函数调用声明******/
  35          void Read_Temperature(unsigned char *p);
  36          
  37          /******延时函数调用声明******/
  38          void delay_2us(unsigned char us);
  39          
  40          /****家居控制函数调用声明****/
  41          void Jiaju_Ctrl_Up(void);
  42          
  43          void init_serialcomm(void)
  44          {       
  45   1          SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
  46   1          TMOD |= 0x20;       //TMOD: timer 1, mode 2, 8-bit reload 
  47   1          PCON |= 0x80;       //SMOD=1; 
  48   1          TH1   = 0xF4;       //Baud:4800  fosc=11.0592MHz  TH1 = 0xF4;                                               
  49   1                                                      //Baud:62.5k  fosc=12MHz  TH1 = 0xFF;
  50   1              IP        = 0x10;               //外部中断优先(0x05),串口中断优先(0x10)
  51   1          IE   |= 0x90;       //Enable Serial Interrupt 
  52   1          TR1   = 1;          // timer 1 run 
  53   1         // TI=1; 
  54   1              read_flagg=0;
  55   1      }
C51 COMPILER V7.06   COMM                                                                  05/18/2008 14:29:18 PAGE 2   

  56          
  57          //向串口发送一个字符 
  58          void send_char_com(unsigned char ch)  
  59          {
  60   1          SBUF=ch;
  61   1          while(TI==0);
  62   1          TI=0; 
  63   1      }
  64          
  65          //向串口发送一个字符串
  66          void send_string_com(unsigned char *str,unsigned char strlen)
  67          {       
  68   1          while(strlen)
  69   1          {
  70   2              send_char_com(*str );
  71   2              str++;
  72   2                      strlen--;
  73   2          } 
  74   1      }
  75          
  76          //串口接收中断函数 
  77          void serial () interrupt 4
  78          {
  79   1              EA=0;
  80   1          if(RI)
  81   1          {
  82   2              RI = 0;
  83   2              inbuf1[count3]=SBUF;
  84   2                      count3++;
  85   2                  if( count3==INBUF_LEN_RECEIVE )
  86   2                  {
  87   3                          read_flagg=1;  //如果串口接收的数据达到INBUF_LEN个,且校验没错, 就置位取数标志 
  88   3                              //send_char_com('*');//inbuf_len位数据接收完毕                          
  89   3                  }
  90   2              }
  91   1              EA=1;
  92   1      }
  93          
  94          void Index_Display()
  95          {
  96   1      //long IE_Temp;
  97   1                      
  98   1                      while(read_flagg==0);
  99   1                              Read_Temperature((inbuf1+32));          //读温度数据
 100   1                              IR_Receive_function();                          //处理红外接收数据
 101   1                              Ps2_Getkey();   
 102   1      
 103   1                              LCD_clr_pic();
 104   1      
 105   1                              sent_string(1,0,inbuf1,11);                     
 106   1                              sent_string(2,1,inbuf1+11,8);
 107   1                              sent_string(0,2,"家居",4);
 108   1                              sent_string(2,2,(inbuf1+19),8);
 109   1                              sent_string(0,3,"防区",4);      
 110   1                              sent_string(2,3,(inbuf1+27),5); 
 111   1                              Jiaju_Ctrl_Up();//更新家居开关控制
 112   1      
 113   1                              send_string_com((inbuf1+19),17);        //与PC机同步数据
 114   1      
 115   1                      read_flagg=0;
 116   1                      count3=0;       
 117   1                      
C51 COMPILER V7.06   COMM                                                                  05/18/2008 14:29:18 PAGE 3   

 118   1      }
 119          
 120          


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