仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 0000H ;在0000H单元存放转移指令
- LJMP TXDA ;转移到主程序
- ORG 0023H
- LJMP TRANS
- ORG 0100H ;主程序从0100H开始
- TXDA:MOV 40H,#01H ;40H单元存入01H
- MOV 41H,#02H ;41H单元存入02H
- MOV 42H,#03H ;42H单元存入03H
- MOV 43H,#04H ;43H单元存入04H
- MOV 44H,#05H ;44H单元存入05H
- MOV 45H,#06H ;45H单元存入06H
- MOV 46H,#07H ;46H单元存入07H
- MOV 47H,#08H ;47H单元存入08H
- MOV TMOD,#20H ;置T1定时方式2
- MOV TL1,#0E8H ;T1初值.
- MOV TH1,#0E8H
- CLR ET1 ;禁止T1中断
- SETB TR1 ;T1启动
- MOV SCON,#40H ;串行方式1,禁止接收
- MOV PCON,#00H ;SMOD=0
- SETB ES ;开放串行中断
- SETB EA ;开放CPU中断
- MOV R0,#40H ;发送数据区首地址
- MOV R2,#8 ;发送数据长度
- TRSA:MOV A,@R0 ;读一个数据
- MOV SBUF,A ;发送
- SJMP $
- TRANS:
- LCALL DELAY
- CLR TI ;清发送中断标志
- INC R0 ;指向下一字节单元
- DJNZ R2,TRS ;判8个数据发完否?未完继续
- MOV R0,#40H
- MOV R2,#8
- TRS: MOV A,@R0 ;读一个数据
- MOV SBUF,A ;发送
-
- DELAY:MOV R5,#10
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
串口方式1(中断).zip
(29.58 KB, 下载次数: 84)
|