51单片机串口通信程序1
发布网友
发布时间:2023-10-11 02:40
我来回答
共4个回答
热心网友
时间:2024-10-20 17:21
程序不正确,你这个程序的结果,应该是电脑上发一次''1",后永远 SBUF=='1' ,所有在重复
亮 与 灭,因为时间很快,人眼睛反应不过来,所以 一直是 亮 的,
简单的 你 可以改变 一种方式 试试, 发''1" 亮, 发''0" 灭,
去掉 if(cont==0),if(cont==1) 等等。
热心网友
时间:2024-10-20 17:22
#include <REGX52.H>
int cont;
sbit LED=P1^0;
unsigned char dat;
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
cont=0;
while(1)
{
if(RI)
{
RI=0;
dat=SBUF;
if(dat==1)LED=!LED;
}
}
}
热心网友
时间:2024-10-20 17:22
你RI=0就把串口中断关了,你试一下再打开行不行?
热心网友
时间:2024-10-20 17:23
二极管 接 哪里?
单片机可以 直接位操作的
你这个 是 整个端口