h20.c

来自「51单片机程序C和汇编」· C语言 代码 · 共 37 行

C
37
字号
// printer
// C for MCS51
#define mode 0x82 /* 8255工作方式, PA,PC输出, PB输入 */

xdata unsigned char control _at_ 0x8003;  /* 8255 控制口地址 */
xdata unsigned char dport  _at_ 0x08000;  /* 数据,8255 PA口地址 */
xdata unsigned char status _at_ 0x08001;  /* 忙状态, 8255 PB口地址 */
xdata unsigned char ctl    _at_ 0x08002;  /* 选通控制, 8255 PC口地址 */

#define busy 1   /* 忙状态位 */

code char string[] = {'H','e','l','l','o',' ',
                      'W','o','r','l','d','!',
                      '\n',0x0c,0x00};

void print(unsigned char dd)
{
  while(status & busy);      // 读打印机状态, 若忙,等待

  dport = dd;                // 数据送出

  ctl = 1;                   // 输出选通脉冲
  ctl = 0;
}

void main()
{
   char *pos;

   control = mode;
   pos = &string;            // 被打印字串
   while((*pos)) print( *pos++);
   while(1);
}


⌨️ 快捷键说明

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