可以试用一下这个
#include "DJ485head.h"
#include <pic.h>
#include <pic1687x.h>
void putch(char c)
{
unsigned char dly, bitno;
bitno = 11;
TxData = 0; /* start bit */
bitno = 12;
do {
dly = DELAY(TX_OHEAD); /* wait one bit time */
do
/* nix */ ;
while(--dly);
if(c & 1)
TxData = 1;
if(!(c & 1))
TxData = 0;
c = (c >> 1) | 0x80;
} while(--bitno);
}
char getch(void)
{
unsigned char c, bitno, dly;
for(;;) {
while(RxData)
continue; /* wait for start bit */
dly = DELAY(3)/2;
do
/* nix */;
while(--dly);
if(RxData)
continue; /* twas just noise */
bitno = 8;
c = 0;
do {
c >>= 1;
dly = DELAY(RX_OHEAD);
do
/* nix */;
while(--dly);
if(RxData)
c |= 0x80;
} while(--bitno);
return c;
}
}