求51单片机串行口通信实验程序,各路神仙帮帮忙哈~万分感谢~
完成从PC机键盘输入一个字母,由串口发送给单片机一个数据,若数据是事先给出的数据表中的数据,则单片机收到后在本机上让P1口所接发光二极管闪烁,并回送一个‘V’给PC机;如...
完成从PC机键盘输入一个字母,由串口发送给单片机一个数据,若数据是事先给出的数据表中的数据,则单片机收到后在本机上让P1口所接发光二极管闪烁,并回送一个‘V’给PC机;如果不是事先给定的数据,则让P1口的发光二极管全部亮,不闪烁,并回送一个‘F’给PC机。
展开
1个回答
展开全部
自己先写写啊,出现问题了可以贴出代码帮你分析分析。这个还是很简单的
追问
单片机学的一塌糊涂啊~实验课要用~没办法啊~
追答
#include "reg51.h"
#define u8 unsigned char
#define u16 unsigned int
u8 flag=0;
u8 rx_data,i;
u8 list[]="2346987qwdi";
void uart_init()
{
SCON=0x50;
TMOD=0X20;
TH1=TL1=0xfd;
TR1=1;
EA=1;
ES=1;
}
void uart_int() interrupt 4
{
RI=0;
rx_data=SBUF;
while(list[i++])
if(list[i]==rx_data){flag=1;break;}
if(list[--i]=='\0')flag=2;
i=0;
}
void main()
{
while(1)
{
if(flag==1)
{
flag=0;
//P1口led闪烁(自己写吧,很简单)
ES=0;
SBUF=‘V';
while(!TI);
TI=0;
ES=1;
}
if(flag==2)
{
flag=0;
P1=0;
ES=0;
SBUF=‘F';
while(!TI);
TI=0;
ES=1;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询