焊接资讯

您现在的位置是:首页 > led灯 > 正文

led灯

单片机用串口通信控制led灯的点亮(单片机控制led灯点亮汇编)

工品易达2022-11-06led灯17

单片机串口通信,实现接收到数据后,灯亮。

看你这程序编的,ha

查询RI

不是等于

1,而是0

只有当数据传送过来的时候,RI才会由1变为0,所以需要查询的状态是

0,不是1

当接收完数据后,再进行对RI的清零

还是不多说了,上程序,若满意请记得采纳一下,谢谢!

这是一个由串口助手发送十六进制码来控制单片机的8个LED亮灭的简单小程序

/***************************************************************************/

#include

REG52.h//通用89C52头文件

/***************************************************************************/

void

main(void)//主函数

{

    

TMOD=0x20;

 

 

//定时器1和2工作方式2(8位定时/计数)

    

TH1=0xfd;

 

 

//定时器1设置初值,波特率9600bit/s,

    

TL1=0xff;

    

TR1=1;

 

 

 

//启动定时器T1

    

PCON=0x00;

 

 

//SMOD=0,不加倍

    

SCON=0x50;

 

 

//串口工作方式1,允许接收

    

IE=0x00;

//关闭所有中断

    

while(1)

    

{

         

if(RI==0)//如果有数据

        

{

            

P2=SBUF;

//接收数据并输出至LED上显示

            

while(!RI);

//等待接收完成

            

RI=0;

//清空标识

        

}

    

}

}

/***************************************************************************/

有关单片机串口通信控制led灯的问题

pc通过串口和单片机交换数据,从而控制LED灯。 pc程序用labview 调用Visa 进行串口通讯。单片机接受到串口命令后控制I/O口的高低电平实现led灯亮灭控制

求新手51单片机串口控制led灯

unsigned char tmp;

sbit led=P1^0;

void main(void)

{

TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率

TH1 = 0xFD; // 波特率9600

TL1 = 0xFD;

SCON = 0x50; // 设定串行口工作方式

PCON = 0xef; // 波特率不倍增

TR1 = 1; // 启动定时器1

IE = 0x0; // 禁止任何中断

while(1)

{

if(RI) // 是否有数据到来

{

RI = 0;

tmp = SBUF; // 暂存接收到的数据

switch(tmp )

{

case 0x03:led=1;break;//收到0x03,LED灯亮

case 0x33:led=0;break;//收到0x03,LED灯灭

}

}

}

}

单片机用串口通信控制led灯

单片机用串口线控制LED灯也是可以的,还有一些大神可以用plc进行le灯的控制,只要操作熟悉这两者都是可以的

单片机用串口通信控制led灯的点亮的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于单片机控制led灯点亮汇编、单片机用串口通信控制led灯的点亮的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~