导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→帮我看看[jola]

 *第20321篇: 帮我看看

  
楼 主:jola 2004年3月21日19:23
 帮我看看
我的vb做的界面,在电脑上自发自收可以做到,但是,先发到单片机,再转到电脑就收不到,我有设置波特率,在电路上也有用max232。程序如下:
ORG     0000H    ;程序执行开始地址
LJMP    start    ;跳至START执行
ORG     0003H    ;外中断0中断入口地址
RETI             ;中断返回(不开中断)
ORG     000BH    ;定时器T0中断入口地址
RETI             ;中断返回(不开中断)
ORG     0013H    ;外中断1中断入口地址
RETI             ;中断返回(不开中断)
ORG     001BH    ;定时器T1中断入口地址
reti          ;中断返回(不开中断)
ORG     0023H    ;串行口中断入口地址
LJMP ESSTOP
org 0030H
start:LCALL WEEP
      MOV TMOD,#20H
      MOV TH1,#0F3H
      MOV TL1,#0F3H
      MOV PCON,#00H
      MOV SCON,#50H
      SETB TR1
      SETB EA
      SETB ES
      SETB ET1
      MOV R0,#0030H
      MOV R7,#00H
LOP:  MOV A,R7
      JZ LOP
      CALL SENDB
      JMP LOP
      
SENDB: MOV A,@R0           ;发送一个字节的数据
      MOV SBUF,A
      JNB TI,$
      DEC R7
      INC R0
      RET
ESSTOP:PUSH ACC              ;中断入口程序
       PUSH PSW
       CLR ES
       JBC TI,ENDT
       CLR RI
LOOP:INC R7
     MOV A,SBUF
     MOV @R0,A
     INC R0
ENDT:POP PSW
     POP ACC
     SETB ES
     RETI
WEEP:MOV R4,#0FH           ;清除30开始的0F个字节的空间
     MOV R0,#30H
CLER:MOV @R0,#00H
     INC R0
     DJNZ R4,CLER
     RET
END


此主题相关图片如下:
按此在新窗口浏览图片

  
2楼:老古 2004年3月21日20:17
 这是一个死循环:
MOV R7,#00H
LOP:  MOV A,R7
      JZ LOP
  
3楼:zjsx133 2004年3月24日11:22
 不能开定时器1的中断
  
4楼:jola 2004年3月25日17:16
 循环不是可以给中断打断吗?
循环不是可以给中断打断吗?
  
5楼:zjsx133 2004年3月30日13:51
 你的T1已经用做波特率发生器拉!!!
  
6楼:jola 2004年4月1日18:41
 这样不行吗??
ORG     001BH    ;定时器T1中断入口地址
reti          ;中断返回(不开中断)
这样不行吗??
  
7楼:zjsx133 2004年4月2日09:02
 改拉一下

 ORG     0000H    ;程序执行开始地址
 LJMP    start    ;跳至START执行
 ORG     0003H    ;外中断0中断入口地址
 RETI             ;中断返回(不开中断)
 ORG     000BH    ;定时器T0中断入口地址
 RETI             ;中断返回(不开中断)
 ORG     0013H    ;外中断1中断入口地址
 RETI             ;中断返回(不开中断)
 ORG     001BH    ;定时器T1中断入口地址
 reti          ;中断返回(不开中断)
 ORG     0023H    ;串行口中断入口地址
 LJMP ESSTOP
 org 0030H
start:
 LCALL WEEP
        MOV TMOD,#20H
        MOV TH1,#0F3H
        MOV TL1,#0F3H
        MOV PCON,#00H
        MOV SCON,#50H
        SETB TR1
        SETB EA
        SETB ES
        ;SETB ET1
        MOV R0,#0030H
        MOV R7,#00H
LOP:    MOV A,R7
        JZ LOP
        CALL SENDB
        JMP LOP
      
SENDB: 
 MOV A,@R0           ;发送一个字节的数据
        MOV SBUF,A
        JNB TI,$
        CLR TI
        DEC R7
        INC R0
        RET
ESSTOP:
        PUSH ACC              ;中断入口程序
        PUSH PSW
        CLR ES
        JB  TI,ENDT
        CLR RI
LOOP:
 INC R7
        MOV A,SBUF
        MOV @R0,A
        ;INC R0
ENDT:
 POP PSW
        POP ACC
        SETB ES
        RETI
WEEP:
 MOV R4,#0FH           ;清除30开始的0F个字节的空间
        MOV R0,#30H
CLER:
 MOV @R0,#00H
      INC R0
      DJNZ R4,CLER
      RET
 END

  
8楼:jola 2004年4月2日19:24
 谢谢,
谢谢你拉,我访真一下先,如果有问题再问你,这几天都很多事情做,毕业设计也搁在那里,还不知道赶不赶得及,有你的支持,我会努力的,

>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:求购DC-DC,DC-AC模块

[下一篇主题]:ARM SDT 下的程序移植到GCC环境的问题,高手不吝请教