mov dptr,#0df04h
mov a,#0c0h
movx @dptr,a
inc dptr
mov a,#40h
movx @dptr,a
mov dptr,#0df00h;命令寄存器
mov a,#0c2h ;计数器开始记数
movx @dptr,a
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;8251(1)初始化,只许接受,波特率9600,8位,x1异步通讯
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
mov dptr,#0fd00h
mov a,#00h
movx @dptr,a
mov a,#40h
movx @dptr,a;8251回到方式模式
mov dptr,#0fd00h
mov a,#4dh ;
movx @dptr,a
mov a,#36h
movx @dptr,a
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
here:setb ea
setb ex0
setb it0
sjmp here
sjmp here
int0:
mov r0,#30h
mov r1,#02h
wait:
mov dptr,#0fd00h
movx a,@dptr
anl a,#02h;读状态寄存器,看是否有可用信息
jz wait
mov dptr,#0fc00h
movx a,@dptr
mov @r0,a
inc r0
djnz r1,wait;连续接受两个数据
reti
delay0:
mov r1,#0ffh
ww0:
mov r3,#0ffh
ww:djnz r3,ww
djnz r1,ww0
ret
end