展开全部
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;
}
}
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;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询