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

📄 uart_multiproc_master.lst

📁 Atmel Uart C51程序(主方式)
💻 LST
字号:
C51 COMPILER V7.10   UART_MULTIPROC_MASTER                                                 04/26/2004 14:06:21 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE UART_MULTIPROC_MASTER
OBJECT MODULE PLACED IN uart_multiproc_master.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE uart_multiproc_master.c BROWSE DEBUG OBJECTEXTEND TABS(3)

line level    source

   1          /**
   2           * @file $RCSfile: uart_multiproc_master.c,v $
   3           *
   4           * Copyright (c) 2004 Atmel.
   5           *
   6           * Please read file license.txt for copyright notice.
   7           *
   8           * @brief This file is an example to use uart with timer in 
   9           * multiprocessor mode.
  10           *
  11           * This file can be parsed by Doxygen for automatic documentation
  12           * generation.
  13           * Put here the functional description of this file within the software
  14           * architecture of your program.
  15           *
  16           * @version $Revision: 1.0 $ $Name:  $
  17           */
  18          
  19          /* @section  I N C L U D E S */
  20          #include "reg_c51.h"
  21          
  22          char uart_data;
  23          char exemple_send_data=0x55;
  24          char TxOK=0;
  25          /**
  26           * FUNCTION_PURPOSE: This file set up uart in mode 3 (9 bits uart) with
  27           * timer 1 in baud rate generator mode.
  28           * FUNCTION_INPUTS: P3.2(INT0)
  29           * FUNCTION_OUTPUTS: void
  30           */
  31          void main (void) 
  32          {
  33   1         SCON = 0xF0;                 /* uart in mode 3 (9 bit), REN=1 */
  34   1         SADDR=0x01;                  /* local address */ 
  35   1         SADEN=0xFF;                  /* address mask */
  36   1         TMOD = TMOD | 0x20 ;         /* Timer 1 in mode 2 */
  37   1         TH1  = 0xFD;                 /* 9600 Bds at 11.059MHz */
  38   1         TL1  = 0xFD;                 /* 9600 Bds at 11.059MHz */
  39   1         ES = 1;                      /* Enable serial interrupt */
  40   1         EA = 1;                      /* Enable global interrupt */
  41   1         TR1 = 1;                     /* Timer 1 run */
  42   1      
  43   1         while(1)                     /* endless */
  44   1         {
  45   2         while(P3_2);                 /* wait P3_2(INT0)=0 */ 
  46   2         while(!P3_2);                /* wait P3_2(INT0)=1 */ 
  47   2      
  48   2           TB8 = 1;                   /* address mode */ 
  49   2           TxOK=1;                    /* set software flag */ 
  50   2           SBUF = 0x03;               /* send slave adress */
  51   2           while(TxOK);               /* wait the stop bit transmition */
  52   2      
  53   2           TB8 = 0;                   /* data mode */
  54   2           TxOK=1;                    /* set software flag */ 
  55   2           SBUF = exemple_send_data;  /* send data */ 
C51 COMPILER V7.10   UART_MULTIPROC_MASTER                                                 04/26/2004 14:06:21 PAGE 2   

  56   2           while(TxOK);               /* wait the stop bit transmition */
  57   2         }
  58   1      }     
  59          
  60          /**
  61           * FUNCTION_PURPOSE: serial interrupt.
  62           * FUNCTION_INPUTS: P3.0(RXD) serial input
  63           * FUNCTION_OUTPUTS: none
  64           */
  65          void serial_IT(void) interrupt 4 
  66          {
  67   1         if (TI == 1) 
  68   1         {                            /* if reception occur */
  69   2            TI=0;                     /* clear transmition flag for next transmition */
  70   2            TxOK=0;                   /* clear software transmition flag */
  71   2         }
  72   1      
  73   1         if (RI == 1) 
  74   1         {                            /* if reception occur */
  75   2            RI = 0;                   /* clear reception flag for next reception */
  76   2            if(RB8) SM2=0;            /* go into data mode */ 
  77   2            else
  78   2               {
  79   3               uart_data = SBUF;      /* Read receive data */
  80   3               P2=uart_data;
  81   3               SM2=1;                 /* return into address mode after receive data */
  82   3               }
  83   2         }
  84   1      }
  85          


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