P2.3接8251A的C/D端
P2.4接 CS端
P3.6接 WR 端
P3.7接 RD端
P0口接 D0~D7
麻烦分析一下程序哪里有问题?就是输出不了
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: CLR P2.4
SETB P2.3
CLR P3.6
SETB P3.7 ;命令口
MOV A,#00H
MOV R2,#3
D1: MOV P0,A ;送0h
; ACALL DELAY
DJNZ R2,D1 ;循环3次
MOV P0,#40H ;内部复位
ACALL DELAY
MOV P0,#4FH ;模式字(异步,1位停止位,字符长度为8位,无校验,波特率因子为64个/位)
ACALL DELAY
MOV P0,#11H ;清除错误标志位,允许接收
ACALL DELAY
D2: SETB P2.3
SETB P3.6
CLR P3.7 ;状态口
MOV A,P0
ANL A,#01H ;检验数据位位是否准备好
JZ D2 ;若A为0 则循环
CLR P2.3
CLR P3.6
SETB P3.7 ;数据口
MOV P0,#01 ;向P0口发送数据
MOV P0,#66
MOV P0,#40H
MOV P0,#15H
ACALL DELAY
AJMP MAIN
DELAY: MOV R4,#1 ;延时程序
D5: MOV R5,#2
D6: DJNZ R5,D6
DJNZ R4,D5
RET
END
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>