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

📄 client.lst

📁 主从式总线型SIO系统(多机双向通信)
💻 LST
字号:
C51 COMPILER V8.16   CLIENT                                                                03/21/2009 23:04:30 PAGE 1   


C51 COMPILER V8.16, COMPILATION OF MODULE CLIENT
OBJECT MODULE PLACED IN Client.OBJ
COMPILER INVOKED BY: E:\Program Files\设计软件\Keil\C51\BIN\C51.EXE Client.c DEBUG OBJECTEXTEND

line level    source

   1          //***********从机1代码*******8
   2          
   3          #include <reg51.h>
   4          #include "Funtion_T.h"
   5          #include "Clicent_Setting.h"
   6          
   7          char TTemp;
   8          int ss=2;
   9          int num=1;
  10          void delay_50ms()
  11          {
  12   1       int s=5000;
  13   1       while(--s);
  14   1      }
  15          //************
  16          void Serial_Init(void)  //串口初始化
  17          {       
  18   1                              //SCON=0xf0;
  19   1              SCON = 0x50;                    // 设定串行口工作方式 
  20   1              PCON =0x80;            // 波特率倍增 SMOD=1
  21   1              TMOD=0x20;
  22   1              TH1 = 0xf3;                             // 6MHZ 波特率2400
  23   1              TL1 = 0xf3;
  24   1              TR1=1;
  25   1              ES=1;                             
  26   1      }
  27          
  28          //************
  29          void Interrupt_Init(void)       //中断初始化
  30          {
  31   1              EA=1;
  32   1              EX0=1;
  33   1              
  34   1      }
  35          
  36          //*************
  37          void interrupt4(void) interrupt 4 using 2         //串口中断触发
  38          {
  39   1              EA=0;
  40   1              if(TI)
  41   1               TI=0;
  42   1              if(RI)
  43   1              {
  44   2                      RI=0;
  45   2                      if(SBUF==STD1)  //如果接收到主机的地址码
  46   2                      {
  47   3                              SBUF=Address_Respond1;          //发送地址响应码
  48   3                              while(!TI);             //必须
  49   3                              TI=0;
  50   3                              SCON=0xd0;              //并且把SCON中的SM2置0,允许响应数据中断                        
  51   3                      }
  52   2      
  53   2                      if(SBUF==Clicent_Command1)              //如果接收到主机的启动的命令
  54   2                      {       
  55   3                              SBUF=Command_Respond1;          //发送响应码返回给主机
C51 COMPILER V8.16   CLIENT                                                                03/21/2009 23:04:30 PAGE 2   

  56   3                              while(!TI);             //必须
  57   3                              TI=0;
  58   3                      }
  59   2      
  60   2                      if(SBUF==Clicent_Data_Command1)          //如果接受到主机的发送转化结果的命令
  61   2                      {
  62   3                              SBUF=Data_Command_Respond1;//发送响应码
  63   3                              while(!TI);     //必须
  64   3                              TI=0;
  65   3                      }
  66   2                      if(SBUF==Clicent_Receive_Data1)
  67   2                      {
  68   3                       SBUF=Data_Receive_Respone1;
  69   3                       while(!TI);    //必须
  70   3                       TI=0;
  71   3      
  72   3                      while(!RI);             //接收数据 测试
  73   3                      RI=0;
  74   3                      TTemp=SBUF;
  75   3                      P1=TTemp;
  76   3      
  77   3                      SCON=0xf0;         //并且把SCON中的SM2置1
  78   3      
  79   3                      }
  80   2                      if(SBUF==Clicent_Send_Data1)                      //发送数据
  81   2                      {
  82   3      
  83   3                              SBUF=DS18B20_Data[0];   //发送温度数据
  84   3                              while(!TI);
  85   3                              TI=0;
  86   3                              SBUF=DS18B20_Data[1];
  87   3                              while(!TI);
  88   3                              TI=0;
  89   3                              SCON=0xf0;
  90   3                      }
  91   2                      
  92   2              }
  93   1              EA=1;
  94   1      }
  95          
  96          //***************
  97          void DS18B20_Run(void)
  98          {
  99   1       DS18B20_Read_Temperature();
 100   1      }
 101          //***************/
 102          void main(void)
 103          {
 104   1      
 105   1              P1=0;
 106   1              Interrupt_Init();       
 107   1              Serial_Init();
 108   1              
 109   1              while(1)
 110   1              {
 111   2              delay_50ms();   //延时50ms左右读一次温度,读得太多太快可能会出现乱数
 112   2              DS18B20_Run();
 113   2              delay_50ms();   //延时50ms左右读一次温度,读得太多太快可能会出现乱数
 114   2              }
 115   1      }


C51 COMPILER V8.16   CLIENT                                                                03/21/2009 23:04:30 PAGE 3   

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