proteus串行异步点对点通信仿真

2019-07-18 10:28发布

本帖最后由 海鸥的梦 于 2012-4-1 20:44 编辑

单片机1中30h~34h单元的数据发送给单片机2并存放在单片机2中的50h~54h单元中,怎么在proteus仿真中显示结果?


单片机1:   
    org 0000h
        ljmp start
        org 0023h
        ljmp send
        org 1000h
start:  mov tmod,#20h
        mov scon,#50h
        mov pcon,#00h
        mov tl1,#0fdh
        mov th1,#0fdh
        setb ea
        setb es
        setb tr1
int:    mov sbuf,#55h                         ;握手信号
        mov r1,#0ffh
loop:   nop
        djnz r1,loop
        jnb f0,int                                    ;没有收到对方握手信息,等待
        mov r0,#30h
        mov sbuf,@r0
        ljmp $
send:   jb f0,lab1                                 ;对方已准备好,转发送
        mov a,sbuf                                 ;收对方握手信号
        cjne a,#55h,lab0
        setb f0
lab0:   clr ri
        reti
lab1:   mov sbuf,@r0                          ;发送30H~34H单元内容
        inc r0
        cjne r0,#35h,lab2
        clr es
lab2:   clr ti
        reti
        end
单片机2:
      org 0000h
      ljmp start
      org 0023h
      ljmp input
      org 1000h
start:mov tmod,#20h
      mov scon,#50h
      mov pcon,#00h
      mov tl1,#0fdh
      mov th1,#0fdh
      mov r0,#50h
      setb ea
      setb es
      setb tr1
      ljmp $
input:jb f0,lab1
      mov a,sbuf
      cjne a,#55h,lab0
      setb f0
      mov sbuf,#55h                               ;发送出握手信号
lab0: clr ri
      reti
lab1: mov @r0,sbuf
      inc r0
      cjne r0,#55h,lab2
      clr es
lab2: clr ri
      reti
      end
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
xgywd
1楼-- · 2019-07-18 16:14
首先要暂停一下仿真,然后可以右键单片机,最下面有关CPU的选项.依次点开.
QQ截图20160806192225.jpg

一周热门 更多>