求51单片机串行口通信实验程序,各路神仙帮帮忙哈~万分感谢~

完成从PC机键盘输入一个字母,由串口发送给单片机一个数据,若数据是事先给出的数据表中的数据,则单片机收到后在本机上让P1口所接发光二极管闪烁,并回送一个‘V’给PC机;如... 完成从PC机键盘输入一个字母,由串口发送给单片机一个数据,若数据是事先给出的数据表中的数据,则单片机收到后在本机上让P1口所接发光二极管闪烁,并回送一个‘V’给PC机;如果不是事先给定的数据,则让P1口的发光二极管全部亮,不闪烁,并回送一个‘F’给PC机。 展开
 我来答
Smart_wolf
2012-05-12 · TA获得超过1696个赞
知道小有建树答主
回答量:1468
采纳率:50%
帮助的人:638万
展开全部
自己先写写啊,出现问题了可以贴出代码帮你分析分析。这个还是很简单的
追问
单片机学的一塌糊涂啊~实验课要用~没办法啊~
追答
#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;
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式