flyingcat 发表于 2006-5-29 17:55:34

求救:有关凌阳61和labview的串口通信

如下是我的下位机的程序:
**********************************************定义部分**************************************************
.DEFINE                                           P_ADC_MUX_Ctrl      0x702b
.DEFINE                                           P_ADC_MUX_DATA            0x702C

.INCLUDE hardware.inc

.ISRAM                                          
.PUBLIC      chanal_data            
chanal_data:
   .DW 2 DUP(?)                     
.RAM
.var AD_RESULT;

*******************************************初始化,主函数***********************************************
.CODE
.PUBLIC _main
_main:
_L_INIT:
int off;

r1=0x0700;                     
=r1
=r1;
r1=0x0000;
=r1

r1 = 0x0480;                                 
=r1;
r1 = 0x0400;
= r1;
r1 = 0x0000;
= r1;

r1 = 0x0000;                                    //设置波特率为9600bps
= r1;
r1 = 0x0005;
= r1;
r1 = 0x0000;
r4 = 0x00C0;                                    //使能输入和输出
= r1;
= r4;

r1 = 0xefff;                        //设置定时器2s
= r1;
r1 = 0x0005;
= r1;
r1 = 0x1000;                                       
[ P_INT_Ctrl] = r1;
int IRQ;
loop:
    R1 = 0x0001;
    = R1 ;         
    call _F_UART_Read;
    goto loop;

***********************************************接受模块********************************************
.public _F_UART_Read                  
_F_UART_Read:
L_Check_RxRDY:

    R1 = 0x0001;
    = R1 ;      
   
    r2 = ;         //检测是否有数据接收
r2 &= 0x0080;
JZ L_Check_RxRDY;

r1 = ;                        //接收数据
cmp r1,0x0000;
je out;
cmp r1,0x0001;
je out1;
cmp r1,0x0002;
je out2;
jne out3;
out:
    r3=0x0100;
=r3;                  //做动作
retf;

out1:
    r3 = 0x0200;
    =r3;                  //做动作
retf;
                                                   
out2:
    r3=0x0400;
    =r3;                  //做动作
retf;
                                                   
out3:
    r3=0x0000;
    =r3;                  //做动作
retf;
****************************************************************发送模块*******************************************
.PUBLIC _F_UART_Write                     
_F_UART_Write:
L_Check_TxRDY:
                                                            
R1 = 0x0001;
= R1 ;                  
r2 = ;
r2 &= 0x0040;                                                
JZ L_Check_TxRDY;

L_Clear:
    R2 = 0x0000               
R3=chanal_data

L_Chanal:
    CMP R2, 0x0002
    JE _tiao;
    R2+=1                                 
    = R2
                                                
R1 = 0x0001                              
    = R1                  
   
    call L_AD
   
    =R1                                          
R1=0

L_DelayLoop:                              
    R4 = 0x0001;                     
= R4;                     
    R1+=1
    JNZ L_DelayLoop
    JMP L_Chanal
_tiao:
      retf;

*******************************************AD子模块************************************
L_AD:                                  //AD

    R1 =             
    TEST R1,0x8000                     
    JZ L_AD                        
    R1 =             
    R1 = R1 LSR 4
    R1 = R1 LSR 2
    = R1               
R4 = ;
    = r4;                           
    R1 = R1 LSR 4
    R1 = R1 LSR 4
    R1 &=0x0003
    = R1
    R4 = ;
    = r4;                              
    retf;
*************************************************中断***************************************************   
.TEXT                                       
.PUBLIC _IRQ1;                        
_IRQ1:
    int off                                    
    push r1,r5 to ;                                                                                    
    call _F_UART_Write;

    r1 = 0x1000;
    = r1;
    pop r1,r5 from ;   
    int irq;
    reti;
硬件部分是通过串口电平转换电路连接61单片机的b07和b10口,请问如果用labview做上位机通过串口发送程序,应该怎么写啊?下位机要接受一个四位16进制的数,应该怎么通过串口来实现啊?急用,谢谢!
[此贴子已经被作者于2006-5-29 10:14:16编辑过]

cpubbs 发表于 2006-5-29 21:45:52

<P>呵呵,不好意思,凌阳的单片机没有用过!</P>
<P>不过相信单片机都差不多原理,可以看看这个书:</P>
<P><a href="http://www.cpubbs.com/old_bbs/dispbbs.asp?boardID=4&amp;ID=14252&amp;page=1" target="_blank" >http://www.cpubbs.com/old_bbs/dispbbs.asp?boardID=4&amp;ID=14252&amp;page=1</A></P>
<P>图片上方有下载链接的,免费下载的!</P>
页: [1]
查看完整版本: 求救:有关凌阳61和labview的串口通信