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

📄 rs485通讯原理.lst

📁 51单片机实例
💻 LST
字号:
C51 COMPILER V7.06   RS485蚠裚訽理                                                         06/16/2010 22:32:52 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE RS485蚠裚訽理
OBJECT MODULE PLACED IN .\obj\RS485通讯原理.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE RS485通讯原理.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\RS485通讯原理.lst) OB
                    -JECT(.\obj\RS485通讯原理.obj)

stmt level    source

   1           
   2          /*-----------------------------------------------
   3            名称:串口通信 rs485
   4            网站:www.doflye.net
   5            编写:shifang
   6            日期:2009.5
   7            修改:无
   8            内容:485 与 232 使用相同软件协议,是半双工,需要有2套开发板对发测试,或者使用
   9                  另外一个485设备配套,这里提供测试程序
  10          ------------------------------------------------*/
  11          
  12          #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义                        
  13          #include"delay.h"
  14          /*------------------------------------------------
  15                          硬件端口定义
  16          ------------------------------------------------*/
  17          sbit Ctrl_EN = P2^0;  //发送接收控制端
  18          /*------------------------------------------------
  19                           函数声明
  20          ------------------------------------------------*/
  21          void SendStr(unsigned char *s);
  22          /*------------------------------------------------
  23                          串口初始化
  24          ------------------------------------------------*/
  25          void InitUART  (void)
  26          {
  27   1      
  28   1          SCON  = 0x50;                       // SCON: 模式 1, 8-bit UART, 使能接收  
  29   1          TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
  30   1          TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
  31   1          TR1   = 1;                  // TR1:  timer 1 打开                         
  32   1          EA    = 1;                  //打开总中断
  33   1          //ES    = 1;                  //打开串口中断
  34   1      }                            
  35          /*------------------------------------------------
  36                              主函数
  37          ------------------------------------------------*/
  38          void main (void)
  39          {
  40   1      
  41   1      InitUART();
  42   1      
  43   1      Ctrl_EN=1;  //发送模式
  44   1      
  45   1      while (1)                       
  46   1          {
  47   2          SendStr("UART test,技术论坛:www.doflye.net thank you!");
  48   2              DelayMs(240);//延时循环发送
  49   2          DelayMs(240);
  50   2          }
  51   1      }
  52          
  53          /*------------------------------------------------
  54                              发送一个字节
C51 COMPILER V7.06   RS485蚠裚訽理                                                         06/16/2010 22:32:52 PAGE 2   

  55          ------------------------------------------------*/
  56          void SendByte(unsigned char dat)
  57          {
  58   1       SBUF = dat;
  59   1       while(!TI);
  60   1            TI = 0;
  61   1      }
  62          /*------------------------------------------------
  63                              发送一个字符串
  64          ------------------------------------------------*/
  65          void SendStr(unsigned char *s)
  66          {
  67   1       while(*s!='\0')// \0 表示字符串结束标志,通过检测是否字符串末尾
  68   1        {
  69   2        SendByte(*s);
  70   2        s++;
  71   2        }
  72   1      }


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