l基于labview 单片机串口通信下位机程序编写

2019-07-17 14:26发布

本帖最后由 ren1feng 于 2012-5-26 21:47 编辑

基于labview 单片机串口通信下位机程序如何编写?用C语言写。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
fanmantian
1楼-- · 2019-07-19 11:47
谁有这方面的资料啊 例子啥的  高价求教
一抹阳光
2楼-- · 2019-07-19 14:51
 精彩回答 2  元偷偷看……
595418772
3楼-- · 2019-07-19 19:57
//串口通讯与LabVIEW联调
#include <REG51.H>                           
#define uchar unsigned char
#define uint unsigned int
sbit ring=P3^7;
sbit CASE1=P1^0;
sbit CASE2=P1^1;
sbit CASE3=P1^2;
sbit CASE4=P1^3;
uchar se=0,re=0;  
uchar temp=0;
void wait(uint cnt)
{
        while(--cnt);
}
//串口发送程序
void send(uchar se)
{
SBUF=se;           //发送数据
while(TI==0);
TI=0;       
}
//串口接收程序
uchar receive(void)
{
re=SBUF;           //接收数据
while(RI==0);
RI=0;
return re;       
}
//串口初始化
void  sinti(void)
{
        SCON=0x50;                        
    TMOD=0x20;               
    TH1=0xfd;              
    TR1=1;                  
    EA=1;                 
    ES=1;               
}
void delay(int cnt)
{
        while(--cnt);
}        

//主程序
int main (void)
{
        int i;
        sinti();        //串口初始化程序
        ring=1;
        while(1)
        {
                while (1)                  
                    {
                                if(CASE1==0)
                                {
                                        send('a');
                                        ring=0;
                                        break;
                                }
                                if(CASE2==0)
                                {
                                        send('b');
                                        ring=0;
                                        break;
                                }
                            if(CASE3==0)
                                {
                                        send('c');
                                        ring=0;
                                        break;
                                }
                                if(CASE4==0)
                                {
                                        send('d');
                                        ring=0;
                                        break;
                                }       
                        }
                if(ring==0)
                {
                         wait(60000);
                        ring=1;
                }
                for(i=0;i<10000;i++);
        }
}
//串口中断程序
void UART_SER (void) interrupt 4 //串行中断服务程序
{
   if(RI)                        //判断是接收中断产生
   {
          RI=0;                      //标志位清零
          temp=SBUF;
        }
   if(TI)                        //如果是发送标志位,清零
     TI=0;
}
595418772
4楼-- · 2019-07-20 01:14
以上最简单的通讯程序,需另加功能,自己编写相关的子程序即可
ren1feng
5楼-- · 2019-07-20 05:12
595418772 发表于 2014-7-1 20:31
以上最简单的通讯程序,需另加功能,自己编写相关的子程序即可

谢谢了,虽然是两年前的问题,早就会了,但还是谢谢你的回复。。。。
1551858470
6楼-- · 2019-07-20 05:13
东西不错 谢谢了楼主

一周热门 更多>