;*****************
;;;工作寄存器定义
;*****************
r0==0x00
tcc==0x01
pc==0x02
status==0x03
rsr==0x04
p5==0x05
p6==0x06
p7==0x07
r3f==0x3f;为中断寄存器
;************************
;;特殊功能寄存器定义
;********************
cont==0x01
ioc5==0x05
ioc6==0x06
ioc7==0x07
ioce==0x0e
iocf==0x0f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;锁相环控制串行变量定义;;;;
;data 为数据输入;ck为时钟;;;;
;stb为使能控制位;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
data==1;p51
ck==1;p71
stb==0;p70
bitcount==0x20
bitdata==0x21
;*********************
;;;;位定义
;**************
c==0
z==2
;==================================
org 0xfff
jmp start
org 0x003
start:
mov a,@0x11
iow ioce;关看门狗禁止唤醒功能r-option.p76.p77为通用io口
mov a,@0x3f
contw
mov a,@0x00
iow ioc5
iow ioc6
iow ioc7
mov p5,a
mov p6,a
mov p7,a
main:
bc p7,ck
bc p7,stb
mov a,@0b00110110
mov bitdata,a
mov a,@0x08
call writebit
mov a,@0b01100000
mov bitdata,a
mov a,@0x06
call writebit
call bitstb
;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov a,@0x00
mov bitdata,a
mov a,@0x08
call writebit
;=========================
;=======================
mov a,@0b10101100
mov bitdata,a
mov a,@0x06
call writebit
call bitstb
;======================
mov a,@0b00101001
mov bitdata,a
mov a,@0x08
call writebit
;===========================
mov a,@0b11000010
mov bitdata,a
mov a,@0x08
call writebit
;======================
mov a,@0b00100000
mov bitdata,a
mov a,@0x03
call writebit
call bitstb
bs p7,ck
main1:
bc p6,3
ior ioc6
or a,@0x02
iow ioc6
jbc p6,1
jmp main1
bs p6,3
jmp main1
;**********************
writebit:
mov bitcount,a
writebit1:
bs p5,data
rlc bitdata
jbs status,c
bc p5,data
bs p7,ck
nop
nop
nop
nop
nop
bc p7,ck
nop
nop
nop
nop
nop
djz bitcount
jmp writebit1
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;
bitstb:
bs p7,stb
bc p7,stb
ret