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

📄 putchar.c

📁 KEIL C51 V7.02.rar
💻 C
字号:
/***********************************************************************/
/*  Copyright KEIL ELEKTRONIK GmbH 1993                                */
/***********************************************************************/
/*                                                                     */
/*  PUTCHAR.C:  This routine is the general character output of C-51.  */
/*                                                                     */
/*  To translate this file use C51 with the following invocation:      */
/*                                                                     */
/*     C51 PUTCHAR.C                                                   */
/*                                                                     */
/*  To link the modified PUTCHAR.OBJ file to your application use the  */
/*  following L51 invocation:                                          */
/*                                                                     */
/*     L51 <your object file list>, PUTCHAR.OBJ <controls>             */
/*                                                                     */
/***********************************************************************/

#include <reg517.h>

#define XON  0x11
#define XOFF 0x13

char putchar (char c)  {

  if (c == '\n')  {
    if (S1CON & 0x01)  {         /* RI*/
      if (S1BUF == XOFF)  {
        do  {
          S1CON &= 0xFE;         /* RI = 0 */
          while (!(S1CON & 0x01)); /* RI */
        }
        while (S1BUF != XON);
        S1CON &= 0xFE;           /* RI = 0 */
      }
    }
    while (!(S1CON & 0x02));     /* while (!TI); */
    S1CON &= 0xFD;               /* TI = 0 */
    S1BUF = 0x0d;                /* output CR  */
  }
  if (S1CON & 0x01)  {
    if (S1BUF == XOFF)  {
      do  {
        S1CON &= 0xFE;           /* RI = 0 */
        while (!(S1CON & 0x01)); /* while (!RI) */
      }
      while (S1BUF != XON);
      S1CON &= 0xFE;             /* RI = 0 */
    }
  }
  while (!(S1CON & 0x02));       /* while (!TI); */
  S1CON &= 0xFD;                 /* TI = 0 */
  return (S1BUF = c);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -