📄 ps2.asm
字号:
org 00h
ljmp main
sclk equ p3.0
dat equ p3.1
comm equ 30h
main:
mov comm,#006h
acall send
acall rece
ajmp main
rece:
setb sclk
setb dat
mov acc,#0
jb sclk,$
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.0,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.1,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.2,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.3,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.4,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.5,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.6,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov acc.7,c
jnb sclk,$
jb sclk,$
mov c,p3.1
mov b.0,c
jnb sclk,$
ret
send:
mov r5,#8
mov a,comm
mov b,#0
cy0:
jnb acc.0,cy1
inc b
cy1 : rr a
djnz r5,cy0
mov a,b
cpl a
anl a,#1
mov b,a
clr sclk
mov a,comm
acall delay
clr dat
setb sclk
jb sclk,$
jnb sclk,$ ;start pules
mov c,acc.0 ;0
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.1 ;1
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.2 ;2
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.3 ;3
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.4 ;4
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.5 ;5
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.6 ;6
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,acc.7 ;7
mov dat,c;
jb sclk,$
jnb sclk,$
mov c,b.0 ;jiao
mov dat,c;
jb sclk,$
jnb sclk,$
setb dat ;stop bit
jb sclk,$
jnb sclk,$
mov c,dat
mov b.7,c
;acall delay
;acall delay
ret
delay:
mov r6,#250
djnz r6,$
ret
delay1: mov r7,#1
djnz r7,$
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -