基于labview如何控制单片机LED灯的亮灭

最好有单片机程序
2024-12-21 13:56:35
推荐回答(1个)
回答1:

labview你应该懂吧?图形设计,你只要会串口的设置就行,然后单片机呢你只要会串口的设置就行,单单51里面的串口没给你贴一个简单程序,如下

uchar LED_Buffer= 0; //从串口接收的数据

void Com_Init(void)
{
TMOD = 0x20;
TH1 = 0xFd; ///////设置波特率 9600
TR1 = 1;///////启动定时器1
SCON = 0x50;
ES = 1; ////////开串口中断
EA = 1; /////////开总中断
}
这个就是51串口的初始化函数
调用如下(51的)
void Main()
{
Com_Init();//////调用到上面的COM初始化函数
while(1)
{

P1.0 =LED_Buffer;//不停地将LED_Buffer的值赋值给P1.0口,当电脑发送1时,
// LED_Buffer就是1,然后P1.0就是高电位,点亮LED;发0,反之

}
}

下面是串口接收的中断函数,也就是电脑发送信息到单片机时,单片机会进入这个函数
void Com_Int(void) interrupt 4
{

if(RI == 1) //当硬件接收到一个数据时,RI会置位
{
LED_Buffer = SBUF - 48; //这里减去48是因为从电脑中发送过来的数据是ASCII码。
RI = 0;
}
}