当前位置:文档之家› 单片机C语言程序设计:单片机之间双向通信

单片机C语言程序设计:单片机之间双向通信


{ SBUF=c; while(TI==0); TI=0; } //主程序 voidmain() { LED1=LED2=1; P0=0x00; SCON=0x50; 串口模式 1,允许接收 TMOD=0x20;//T1 工作模式 2 PCON=0x00; 波特率不倍增
sbitLED2=P1; sbitK2=P1; ucharNumX=-1; //延时 voidDelayMS(uintms) { uchபைடு நூலகம்ri; while(ms--)for(i=0;i } //主程序 voidmain() { LED1=LED2=1;
switch(Operation_No)根据操作代码发送 A/B/C 或停止发送 { case0: Putc_to_SerialPort(‘X’); LED1=LED2=1; break; case1: Putc_to_SerialPort(‘A’); LED1=~LED1;LED2=1; break; case2: Putc_to_SerialPort(‘B’); LED2=~LED2;LED1=1; break;
if(RI) //如收到则 LED 则动作 { RI=0; switch(SBUF)//根据所收到的不同命令字符完成不同动作 { case’X’:LED1=LED2=1;break; //全灭 case’A’:LED1=0;LED2=1;break; //LED1 亮 case’B’:LED2=0;LED1=1;break; //LED2 亮 case’C’:LED1=LED2=0;//全亮
ucharOperation_No=0;//操作代码 //数码管代码 ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //延时 voidDelayMS(uintms) { uchari; while(ms--)for(i=0;i } //向串口发送字符 voidPutc_to_SerialPort(ucharc)
TH1=0xfd; TL1=0xfd; TI=RI=0; TR1=1; IE=0x90;//允许串口中断 while(1) { DelayMS(100); if(K1==0)//按下 K1 时选择操作代码 0,1,2,3 { while(K1==0); Operation_No=(Operation_No+1)%4;
单片机 C 语言程序设计:单片机之间双向通信
/* 名称:甲机串口程序 说明:甲机向乙机发送控制命令字符, 甲机同时接收乙机发送的数字,并显示在 数码管上。 */ #include #defineucharunsignedchar #defineuintunsignedint sbitLED1=P1; sbitLED2=P1; sbitK1=P1;
{ while(K2==0); NumX=++NumX%11;//产生 0~10 范围内的数字,其中 10 表示关闭 SBUF=NumX; while(TI==0); TI=0; } } } voidSerial_INT()interrupt4 {
} } } 扩展阅读:甲机通过串口控制乙机 LED 程序
case3: Putc_to_SerialPort(‘C’); LED1=~LED1;LED2=LED1; break; } } } } //甲机串口接收中断函数 voidSerial_INT()interrupt4 { if(RI) { RI=0;
SCON=0x50; 串口模式 1,允许接收 TMOD=0x20;//T1 工作模式 2 TH1=0xfd; TL1=0xfd; //波特率 9600 PCON=0x00; 波特率不倍增 RI=TI=0; TR1=1; IE=0x90; while(1) { DelayMS(100); if(K2==0)
if(SBUF>=0&&SBUF elseP0=0x00; } } /* 名称:乙机程序接收甲机发送字符并完成相应动作 说明:乙机接收到甲机发送的信号后,根据相应信号控制 LED 完成不同闪 烁动作。 */ #include #defineucharunsignedchar #defineuintunsignedint sbitLED1=P1;
相关主题