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

📄 main.c

📁 家电考试系统下位机程序
💻 C
字号:


#include <reg52.h>
#include <stdio.h>
#include <intrins.h>
#include "sio.h"
#define MasterCall P34  //P34 == 0,主机呼叫

sbit P00    = 0x80;
sbit P01    = 0x81;
sbit P02    = 0x82;
sbit P03    = 0x83;
sbit P04    = 0x84;
sbit P05    = 0x85;
sbit P06     = 0x86;
sbit P07     = 0x87;

sbit P34     = 0xB4;
sbit P30     = 0xB0;

char _getkey (void)
{
int k;

do
  {
  k = com_getchar ();
  }
while (k == -1);

return ((unsigned char) k);
}

/*------------------------------------------------------------------------------
------------------------------------------------------------------------------*/
char putchar (char c)
{
volatile unsigned int i;

while (com_putchar (c) != 0)
  {
  for (i=0; i<1000; i++)
    {
    /*** DO NOTHING ***/
    }
  }

return (c);
}


void main (void)
{       //unsigned int i;
        //unsigned char j;
        unsigned char k;
        com_initialize ();              /* initialize interrupt driven serial I/O */
        com_baudrate (9600);            
        P1 = 0xAA ;
        P2 = 0x55 ;
        P3 = 0xff ;
        MasterCall  = 1 ;            //ready to wait for master call
        EA = 1;                      /* Enable Interrupts */
        while (1)
              { P30 = 1;            //进入串行接收状态
                P0 = _getkey ()  ;
                P1 = _getkey ()  ;
                P2 = _getkey ()  ;
                k = _getkey () | 0x11  ;   //p30,p34为1不变
                P3 = k ;
                P30 = 0;            //回应主机接收到
                _nop_();
                _nop_();
                _nop_();
                _nop_();
         }  //end of while(1)
}  //end of main




⌨️ 快捷键说明

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