📄 read_head.inc
字号:
;inc p0_bit
;nop
sz p0_bit.0 ;1的个数为偶数,p0_bit.0=0,skip
jmp com_p0
sz p0 ;p0=0,skip
jmp other55_data_error
jmp p0_ok
com_p0: ;1的个数为奇数
snz p0 ;p0=1,skip
jmp other55_data_error
jmp p0_ok
p0_ok:
;-------------------------300ms
set buzz
mov a,250
call delay_10ms
;---------------100ms
mov a,250
call delay_10ms
;---------------200ms
mov a,250
call delay_10ms
;--------------------------------
clr buzz
jmp $
;-----------------------p1
sz d10
inc p1_bit
sz d11
inc p1_bit
sz d12
inc p1_bit
sz d13
inc p1_bit
sz p1
inc p1_bit
nop
sz p1_bit.0 ;1的个数为偶数,p1_bit.0=0,skip
jmp com_p1
sz p1 ;p1=0,skip
jmp other55_data_error
jmp p1_ok
com_p1: ;1的个数为奇数
snz p1 ;p1=0,skip
jmp other55_data_error
jmp p1_ok
p1_ok:
if 0
;-------------------------300ms
set buzz
mov a,250
call delay_10ms
;---------------100ms
mov a,250
call delay_10ms
;---------------200ms
mov a,250
call delay_10ms
;--------------------------------
clr buzz
endif
;jmp $
;----------------------p2
sz d20
inc p2_bit
sz d21
inc p2_bit
sz d22
inc p2_bit
sz d23
inc p2_bit
sz p2
inc p2_bit
nop
sz p2_bit.0 ;1的个数为偶数,p1_bit.0=0,skip
jmp com_p2
sz p2 ;p1=0,skip
jmp other55_data_error
jmp p2_ok
com_p2: ;1的个数为奇数
snz p2 ;p1=0,skip
jmp other55_data_error
jmp p2_ok
p2_ok:
;-------------------------300ms
set buzz
mov a,250
call delay_10ms
;---------------100ms
mov a,250
call delay_10ms
;---------------200ms
mov a,250
call delay_10ms
;--------------------------------
clr buzz
jmp $
;----------------------4个列偶校验
;------------------pc0
sz d00 ;d00=0,skip
inc pc0_bit
sz d10
inc pc0_bit
sz d20
inc pc0_bit
sz d30
inc pc0_bit
sz d40
inc pc0_bit
sz d50
inc pc0_bit
sz d60
inc pc0_bit
sz d70
inc pc0_bit
sz d80
inc pc0_bit
sz d90
inc pc0_bit
sz pc0_bit.0 ;1的个数为偶数,pc0_bit.0=0,skip
jmp com_pc0_1
;--------1的个数为偶数
sz pc_0 ;查看PC0,if pc0=0,skip
jmp other55_data_error
jmp pc0_ok
;--------1的个数为奇数
com_pc0_1:
snz pc_0 ;pc0=1,skip
jmp other55_data_error
jmp pc0_ok
;------------------pc1
pc0_ok:
;-------------------------300ms
if 0
set buzz
mov a,250
call delay_10ms
;---------------100ms
mov a,250
call delay_10ms
;---------------200ms
mov a,250
call delay_10ms
;--------------------------------
clr buzz
; jmp $
endif
sz d01 ;d00=0,skip
inc pc1_bit
sz d11
inc pc1_bit
sz d21
inc pc1_bit
sz d31
inc pc1_bit
sz d41
inc pc1_bit
sz d51
inc pc1_bit
sz d61
inc pc1_bit
sz d71
inc pc1_bit
sz d81
inc pc1_bit
sz d91
inc pc1_bit
sz pc1_bit.0 ;1的个数为偶数,pc1_bit.0=0,skip
jmp com_pc1_1
;--------1的个数为偶数
sz pc_1 ;查看PC1,if pc1=0,skip
jmp other55_data_error
jmp pc1_ok
;--------1的个数为奇数
com_pc1_1:
snz pc_1 ;pc0=1,skip
jmp other55_data_error
jmp pc1_ok
;------------------pc2
pc1_ok:
;-------------------------300ms
set buzz
mov a,250
call delay_10ms
;---------------100ms
mov a,250
call delay_10ms
;---------------200ms
mov a,250
call delay_10ms
;--------------------------------
clr buzz
jmp $
sz d02 ;d00=0,skip
inc pc2_bit
sz d12
inc pc2_bit
sz d22
inc pc2_bit
sz d32
inc pc2_bit
sz d42
inc pc2_bit
sz d52
inc pc2_bit
sz d62
inc pc2_bit
sz d72
inc pc2_bit
sz d82
inc pc2_bit
sz d92
inc pc2_bit
sz pc2_bit.0 ;1的个数为偶数,pc1_bit.0=0,skip
jmp com_pc2_1
;--------1的个数为偶数
sz pc_2 ;查看PC1,if pc1=0,skip
jmp other55_data_error
jmp pc2_ok
;--------1的个数为奇数
com_pc2_1:
snz pc_2 ;pc0=1,skip
jmp other55_data_error
jmp pc2_ok
;------------------pc3
pc2_ok:
sz d03 ;d00=0,skip
inc pc3_bit
sz d13
inc pc3_bit
sz d23
inc pc3_bit
sz d32
inc pc3_bit
sz d43
inc pc3_bit
sz d53
inc pc3_bit
sz d63
inc pc3_bit
sz d73
inc pc3_bit
sz d83
inc pc3_bit
sz d93
inc pc3_bit
sz pc3_bit.0 ;1的个数为偶数,pc1_bit.0=0,skip
jmp com_pc3_1
;--------1的个数为偶数
sz pc_3 ;查看PC1,if pc1=0,skip
jmp other55_data_error
jmp pc3_ok
;--------1的个数为奇数
com_pc3_1:
snz pc_3 ;pc0=1,skip
jmp other55_data_error
jmp pc3_ok
pc3_ok:
;-------------------------300ms
set buzz
mov a,250
call delay_10ms
;---------------100ms
mov a,250
call delay_10ms
;---------------200ms
mov a,250
call delay_10ms
;--------------------------------
clr buzz
jmp $
;-------------------------------------
; error 在接收过程中出错,重新提起同步信号
;-------------------------------------
error:
nop
head_data_error:
nop
other55_data_error:
clr p0_bit
clr p1_bit
clr p2_bit
clr pc0_bit
clr pc1_bit
clr pc2_bit
clr pc3_bit
clr flag
clr head0
clr head1
clr data0
clr data1
clr data2
clr data3
clr data4
clr data5
clr data6
clr data7
clr data8
clr data9
clr data10
clr head_count
mov a,9
mov head_count,a
clr data_count
mov a,55
mov data_count,a
jmp read_head
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -