📄 at89c51与p89c52点对点通讯发送.asm
字号:
/************************************
**程序说明:发送程序是AT89C51芯片
**发送00H到1FH数据无误,后来就出现错误
**发送机采取发送机采取中断模式。只要接
**收到请求信号,就将00H到7FH数据依次发
**出去,后来在DP-51实验板上,跟实验电脑
**用串口调试窗实验,结果实现实验程序能
**预期的目的
*************************************/
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP DUAN
ORG 0100H
MAIN: MOV TMOD,#20H /*定时器T1工作于模式2*/
MOV TH1,#0FDH /*波特率9.6K*/
MOV TL1,#0FDH /**/
SETB TR1
SETB EA
SETB ES
MOV PCON,#00H
MOV SCON,#50H /*通信模式为1*/
CCC: MOV R6,#00H
MOV R7,#80H
AJMP $
DUAN: JBC RI,PAN /*判断接收位,为1转PAN*/
CPL P1.2
SJMP ENDT
PAN: MOV A,SBUF /*取SBUF模式*/
CLR C /*清零借位标志位*/
SUBB A,#01H /*减01H*/
JC XUN1 /*接收到的是零,发送,调用XUN1*/
SJMP ENDT
XUN1: MOV A,R6 /*取R6*/
MOV SBUF,A /*将A的数据放入SBUF*/
WAIT: JBC TI,FA /*判断发送完没有*/
AJMP WAIT
FA: INC R6 /*R6加一*/
CPL P1.5
DJNZ R7,ENDT /*一轮发送完没有*/
LCALL CCC /*一轮发送完后,重新开始*/
ENDT: RETI
TAB: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH
DB 10H,11H,12H,13H,14H,15H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1EH,1FH
DB 20H,21H,22H,23H,24H,25H,26H,27H,28H,29H,2AH,2BH,2CH,2DH,2EH,2FH
DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH
DB 40H,41H,42H,43H,44H,45H,46H,47H,48H,49H,4AH,4BH,4CH,4DH,4EH,4FH
DB 50H,51H,52H,53H,54H,55H,56H,57H,58H,59H,5AH,5BH,5CH,5DH,5EH,5FH
DB 60H,61H,62H,63H,64H,65H,66H,66H,68H,69H,6AH,6BH,6CH,6DH,6EH,6FH
DB 70H,71H,72H,73H,74H,75H,76H,77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -