📄 mc68hc08as20.asm
字号:
ORL P4,#02h ;蜂鸣器
SETB CTRL ;适配器断电
lcall delayms
SETB CTRLDIR
lcall delayms
ljmp fuwei
;*******************READ8861baud**************************************************************************
read8861:
mov a,#55h ;波特率配置正确
lcall output
clr rst
lcall delay15ms
setb rst
lcall delay15ms
mov r0,#08h
tx300:
mov a,#00h
lcall txd8861
lcall rxd8861
lcall delay15ms
djnz r0,tx300
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
mov a,#0bbh
lcall output; 芯片测试通过
mov r1,addh
mov r2,addl
mov r6,lenh
mov r4,lenl
MOV DPTR,#0000H
mov a,r4
jz ronlyr33
REDATA3: lcall delay2ms
mov a,#4ah
lcall txd8861
lcall rxd8861
lcall delay35us
MOV A,r1 ;TRANSMIT ADDRESS TO MCU
LCALL txd8861
lcall rxd8861
lcall delay35us
lcall delay35us
MOV A,r2
LCALL txd8861
lcall rxd8861
lcall delay35us
LCALL rxd8861 ;RECEIVE DATA FROM MCU
mov datas,a
mov a,datas
MOVx @dptr,a
INC dptr
INC r2
CJNE r2,#00H,JINWEI4 ;判断低地址是否加到进位
INC r1
JINWEI4: DJNZ R4,REDATA3
ronlyr33: mov a,r6
jz reend3
DEC R6
MOV A,R6
XRL A,#0FFH
JZ REEND3
LJMP REDATA3
NOP
reend3: nop
;transmit the datas from mcu to pc
MOV DPTR,#0000H ; transmit the datas from mcu to pc
mov r6,lenh
mov r4,lenl
mov a,r4
jz tonlyr33
TDATA3:
MOVx A,@dptr
LCALL OUTPUT
INC dptr
DJNZ R4,TDATA3
;MOV R4,#00H
tonlyr33: mov a,r6
jz tend3
DEC R6
MOV A,R6
XRL A,#0FFH
JZ TEND3
LJMP TDATA3
NOP
tend3: ORL P4,#04H ;中间灯灭
ANL P4,#0FDH
lcall delay200ms
ORL P4,#02h ;蜂鸣器
SETB CTRL ;适配器断电
lcall delayms
SETB CTRLDIR
lcall delayms
ljmp fuwei
;*********************READ 4430baud*******************************************************************
read4430:
mov a,#55h ;波特率配置正确
lcall output
clr rst
lcall delay15ms
setb rst
lcall delay15ms
mov r0,#08h
tx400:
mov a,#00h
lcall txd4430
lcall rxd4430
lcall delay15ms
djnz r0,tx400
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
mov a,#0bbh
lcall output; 芯片测试通过
mov r1,addh
mov r2,addl
mov r6,lenh
mov r4,lenl
MOV DPTR,#0000H
mov a,r4
jz ronlyr34
REDATA4: lcall delay2ms
mov a,#4ah
lcall txd4430
lcall rxd4430
lcall delay35us
MOV A,r1 ;TRANSMIT ADDRESS TO MCU
LCALL txd4430
lcall rxd4430
lcall delay35us
lcall delay35us
MOV A,r2
LCALL txd4430
lcall rxd4430
lcall delay35us
LCALL rxd4430 ;RECEIVE DATA FROM MCU
mov datas,a
mov a,datas
MOVx @dptr,a
INC dptr
INC r2
CJNE r2,#00H,JINWEI5 ;判断低地址是否加到进位
INC r1
JINWEI5: DJNZ R4,REDATA4
ronlyr34: mov a,r6
jz reend4
DEC R6
MOV A,R6
XRL A,#0FFH
JZ REEND4
LJMP REDATA4
NOP
reend4: nop
;transmit the datas from mcu to pc
MOV DPTR,#0000H ; transmit the datas from mcu to pc
mov r6,lenh
mov r4,lenl
mov a,r4
jz tonlyr34
TDATA4:
MOVx A,@dptr
LCALL OUTPUT
INC dptr
DJNZ R4,TDATA4
;MOV R4,#00H
tonlyr34: mov a,r6
jz tend4
DEC R6
MOV A,R6
XRL A,#0FFH
JZ TEND4
LJMP TDATA4
NOP
tend4: ORL P4,#04H ;中间灯灭
ANL P4,#0FDH
lcall delay200ms
ORL P4,#02h ;蜂鸣器
SETB CTRL ;适配器断电
lcall delayms
SETB CTRLDIR
lcall delayms
ljmp fuwei
;*********************READ用专用串口配置的波特率子程序*********************
autotrxd: mov a,#55h ;波特率配置正确
lcall output
clr rst
lcall delay15ms
setb rst
lcall delay6ms
mov r0,#08h ;8 个00 安全位
txd00:
mov a,#00h
lcall txdbaud
lcall rxdbaud
lcall delay15ms
djnz r0,txd00
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
lcall delayms
mov a,#0bbh
lcall output; 芯片测试通过
mov r1,addh
mov r2,addl
mov r6,lenh
mov r4,lenl
MOV DPTR,#0000H
mov a,r4
jz ronlyr31
REDATA1: lcall delay2ms
mov a,#4ah
lcall txdbaud
lcall rxdbaud
lcall delay35us
MOV A,r1 ;TRANSMIT ADDRESS TO MCU
LCALL txdbaud
lcall rxdbaud
lcall delay35us
lcall delay35us
MOV A,r2
LCALL txdbaud
lcall rxdbaud
lcall delay35us
LCALL rxdbaud ;RECEIVE DATA FROM MCU
mov datas,a
mov a,datas
MOVx @dptr,a
INC dptr
INC r2
CJNE r2,#00H,JINWEI2 ;判断低地址是否加到进位
INC r1
JINWEI2: DJNZ R4,REDATA1
ronlyr31: mov a,r6
jz reend1
DEC R6
MOV A,R6
XRL A,#0FFH
JZ REEND1
LJMP REDATA1
NOP
reend1: nop
;transmit the datas from mcu to pc
MOV DPTR,#0000H ; transmit the datas from mcu to pc
mov r6,lenh
mov r4,lenl
mov a,r4
jz tonlyr31
TDATA1:
MOVx A,@dptr
LCALL OUTPUT
INC dptr
DJNZ R4,TDATA1
tonlyr31: mov a,r6
jz tend1
DEC R6
MOV A,R6
XRL A,#0FFH
JZ TEND1
LJMP TDATA1
NOP
tend1: mov dptr,#0ff04h ;中间灯灭
mov a,#01h
movx @dptr,a
mov dptr,#0ff05h ;control=0,断电
mov a,#00h
movx @dptr,a
ljmp fuwei
LOOP: ORL P4,#04H ;中间灯灭
ANL P4,#0FDH
lcall delay200ms
ORL P4,#02h ;蜂鸣器
SETB CTRL ;适配器断电
lcall delayms
SETB CTRLDIR
lcall delayms
ljmp fuwei ;the end of read 08az32 and 08as32
pintest:
ANL P4,#0FBH
MOV C,BPBACK
RLC A
MOV C,IRQBACK
RLC A
RLC A
RLC A
MOV C,HIGHBACK
RLC A
MOV C,LOWBACK
RLC A
MOV C,RST
RLC A
MOV pins,A
ORL A,#9eH
CPL A
JZ pinpass
MOV A,#0AAH
LCALL OUTPUT
MOV A,pins
lcall output
ANL P4,#0f7H ;点亮红灯
ORL P4,#04H ;置灭绿灯
ANL P4,#0FDH
lcall delay200ms
; lcall delay200ms
ORL P4,#02h
lcall delay200ms
;lcall delay200ms
ANL P4,#0FDH
lcall delay200ms
;lcall delay200ms
ORL P4,#02h
lcall delay200ms
;lcall delay200ms
ANL P4,#0FDH
lcall delay200ms
;lcall delay200ms
ORL P4,#02h
lcall delay200ms
;lcall delay200ms ;蜂鸣器 响3次
ljmp fuwei
pinpass:
MOV A,#55H
LCALL OUTPUT
MOV A,#0FFH
LCALL OUTPUT
RET
;**************************************DELAY INPUT OUTPUT TXD RXD I/0TXD RXD**************************************************
;all delays********************************************************************************
DELAY90US: MOV R3,#03H ;3个30.1us
D90us1: MOV R7,#63H
D90us2: DJNZ R7,D90us2 ;3个机器周期
DJNZ R3,D90us1
RET
DELAY300US: MOV R3,#0AH ;10个30.1us
D300us1: MOV R7,#63H
D300us2: DJNZ R7,D300us2 ;3个机器周期
DJNZ R3,D300us1
RET
delay1ms: mov r3,#64h ;100个10us delay
d1ms1: mov r7,#20h ;10us delay
d1ms2: djnz r7,d1ms2
djnz r3,d1ms1
ret
delay2ms: mov r3,#0c8h ;200个10us delay
d2ms1: mov r7,#20h ;10us delay
d2ms2: djnz r7,d2ms2
djnz r3,d2ms1
ret
delay3ms: mov r3,#28h ;40个75us delay
d3ms1: mov r7,#0f9h ;75us delay
d3ms2: djnz r7,d3ms2
djnz r3,d3ms1
ret
delay6ms: mov r3,#50h ;80个75us delay
d6ms1: mov r7,#0f9h ;75us delay
d6ms2: djnz r7,d6ms2
djnz r3,d6ms1
ret
delay200ms: mov del,#65
d200ms3: mov r3,#69h ;200个25us delay
d200ms1: mov r7,#100h ;75us delay
d200ms2: djnz r7,d200ms2
djnz r3,d200ms1
djnz del,d200ms3
ret
delay100ms: mov del,#47
d100ms3: mov r3,#69h ;200个25us delay
d100ms1: mov r7,#100h ;75us delay
d100ms2: djnz r7,d100ms2
djnz r3,d100ms1
djnz del,d100ms3
ret
delay15ms: mov r3,#0c8h ;200个25us delay
d15ms1: mov r7,#0f9h ;75us delay
d15ms2: djnz r7,d15ms2
djnz r3,d15ms1
ret
delayms: mov r3,#0ffh ;255个76.5us delay 19.5ms
dns1: mov r7,#0ffh ;76.5us delay
dns2: djnz r7,dns2
djnz r3,dns1
ret
;*******************from wangqi txd rxd to pc******************
MOV DPTR,#8000H
shou100:
MOV R5,#00h
txX: lCALL input
MOVx @dptr,a
INC dptr
DJNZ R5,TXX
RET
fa100:
MOV DPTR,#8000H
MOV R5,#00H
TX: SETB qtxd
ACALL DELAY
MOVX A,@DPTR
ACALL OUTPUT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -