程序如下: 为何接收时,只能收到一次?
#include <reg52.h> //51芯片管脚定义头文件 #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define nop _nop_()
sbit ir =P3^0; sbit led =P3^1; sbit led2=P3^3; sbit led1=P1^0; sbit bz =P1^7; sbit irled=P0^1; sbit bz1 =P2^0;
/********************************************************** 延时t毫秒 11.0592MHz时钟,延时约1ms **********************************************************/ void delay(uint s) { uchar k; while(--s) { for(k=0; k<125; k++) ; } } /********************************************************** 主函数 **********************************************************/ void main() { uchar i=0x01,k=1;
led1=0; led2=0; bz1 =0; TMOD=0x21; SCON=0x40; //方式1,不允许接收 TH1=0xFD; TL1=0xFD; //9600 ET1=0; PCON=0x00; SCON=0x50; EA=1; ET0=1; delay(10); TR1=1;
delay(100); led1=1; led2=1; /////////////////////////////////////////////////// /////////////////////////////////////////////////// while(1) { delay(10); k++; if(k==150) { led1=!led1; k=0; } delay(40); TI=0; SBUF=0XA5; while(!TI); TI=0; SBUF=0X5a; while(!TI); TI=0; led=0; led2=0; bz1=1; delay(10); bz1=0; led2=1; } } |