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

📄 pc与单片机通信.txt

📁 PC与单片机之间通信
💻 TXT
字号:
用【 小 | 中 | 大 】字体浏览 
C51编程:请教:PC与单片机通信 [boomh] [33次] 02-1-11 上午 10:17:38
我用PC接受51单片机串口数据,是3线连接,PC程序用BC++3.0,直接操作8250寄存器,不用
INT14或DOS中断,不管发甚末数据每次接受到的都是FF,我用示波器看见单片机串口输出数
据没错,请教各位,错在那里? 

可参考下面的程序 [steave] [41次] 02-1-11 上午 10:24:20 

#include <dos.h>
#include <bios.h>
#include <stdio.h>


#define   COMM          0x2f8
#define   COMMBAUDL     COMM
#define   COMMBAUDH     COMM+1
#define   COMMLCR       COMM+3
#define   COMMLSR       COMM+5



#define   uchar  unsigned char
#define   uint   unsigned int


void InitComm( void );
void send( uchar dt );
uchar receive( void );

void main( void )
 {
   uchar dt;
   InitComm();

   while( 1 )
    {
      send(0x55);
      dt= receive();
     }
     }
    return ;
}

/* Initialize comm port */
void InitComm( void )
 {
   outp( COMMLCR,0x80 );
   outp( COMMBAUDL,0x60 );
   outp( COMMBAUDH,0x0 );            /* set baud = 1200 */
   outp( COMMLCR,0x03 );             /* 8 data bit,1 stop bit,no parity */
 }


/* send to a byte to COMM port */
void send( uchar dt )
 {
    while( ( inp( COMMLSR ) & 0x20 ) == 0 );
    outp( COMM,dt );
  }

/* receive a byte from COMM port */
uchar receive( void )
 {
   uchar dt;
   while( ( inp( COMMLSR ) & 0x01 ) == 0 );
   dt = inp( COMM );
   return ( dt );
  }



控件 [lpywt7317] [8次] 02-1-11 下午 08:02:57 
在BC++或c60下用通讯控件,简单,可以去啸峰工作室掌握 
 

 
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2002 

⌨️ 快捷键说明

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