|
我写了一段程序,想让单片机与主机进行通信,单片机型号是NEC78F0822,将单片机的TXD6脚和RXD6脚通过电阻串成一根线,然后用MAX232、RS232和主机相连,不知道这段程序什么地方出现了问题,望高手指点。
#pragma sfr
#pragma di
#pragma ei
#pragma nop
#define uint unsigned int
#define uchar unsigned char
#define RXD6 P1.2
#define TXD6 P1.3
uchar rdata,rdata1,rdata2;
void delay(uint Z)
{
uint x,y;
for(x=Z;x>0;x--)
for(y=200;y>0;y--);
}
void init_CPU(void)
{
DI();
PCC=0;
RCM=0x01;
MOC=0;
WDTM = 0x7f;
MCM=0x03;
}
void init_UART()
{
PM1.2=1;
PM1.3=0;
CKSR6=0x02;
BRGC6=104;
ISC=0x0f;
ASICL6.1=1;
ASICL6.0=0;
SRIF6=0;
SRMK6=0;
STIF6=0;
STMK6=0;
}
void UART_send(uchar data)
{
ASIM6=0xC4;
TXB6=data;
while(!STIF6);
STIF6=0;
NOP();
}
uchar UART_read(void)
{
ASIM6=0xA4;
while(!SRIF6);
rdata=RXB6;
SRIF6=0;
return(rdata);
NOP();
}
void main()
{
init_CPU;
init_UART;
rdata1=UART_read();//读取电脑发过来的数据
delay(200);
rdata2=rdata1+1; //将数据加1后发出
delay(200);
UART_send(rdata2);
delay(200);
UART_send(rdata2);
delay(200);
UART_send(rdata2);
delay(200);
UART_send(rdata2);
delay(200);
UART_send(rdata2);
delay(200);
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|