- 9
- 0
- 约2.01万字
- 约 19页
- 2016-08-21 发布于贵州
- 举报
串口编程
1、串行口方式1应用编程
补充例1 本例采用方式1进行双机通信,收发双方均采用6MHz晶振,波特率为2400,每一帧信息为10位,第0位为起始位,1~8位为数据位,最后1位为停止位。发送方将78H、77H单元的内容为首地址,以76H、75H单元内容减1为末地址的数据块内容通过串行口发送给接收方。
发送方要发送的数据块的地址为2000H~201FH。发送时先发送地址帧,再发送数据帧;接收方在接收时,使用一个标志位来区分接收的数据是地址还是数据,然后将其分别存放在指定的单元中。发送方可采用查询方式或中断方式发送数据,接收方采用中断或查询方式接收。本例子仅给出中断方式的发送和接收的程序。
1)甲机发送程序
中断方式的发送程序如下:
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP COM_INT
ORG 1000H
MAIN:MOV SP,#53H ;set stock top pointer
MOV 78H,#20H ;set sending data first-bottom address
MOV 77H,#00H
MOV 76H,#20H
MOV 75H,#40H
ACALL TRANS ;call send prog
SJMP $
TRANS:MOV TMOD,#20H ;set timer/counter working model
MOV TH1,#0F3H ;set counter initial value
MOV TL1,#0F3H
MOV PCON,#80H ;set baud rate double
SETB TR1 ;open counter
MOV SCON,#40H ;set serial working model
MOV IE,#00H ;First close interrupt,use query model sending address
CLR F0
MOV SBUF,78H ;send first-address high 8bit
WAIT1:JNB TI,WAIT1
CLR TI
MOV SBUF,77H ;send first-address low 8bit
WAIT2:JNB TI,WAIT2
CLR TI
MOV SBUF,76H ;send end-address high 8bit
WAIT3:JNB TI,WAIT3
CLR TI
MOV SBUF,75H ;send end-address low 8bit
WAIT4:JNB TI,WAIT4
CLR TI
MOV IE,#90H ;open interrupt,interrupt model send data
MOV DPH,78H
MOV DPL,77H
MOVX A,@DPTR
MOV SBUF,A ;send first data
WAIT: JNB F0,WAIT ;wait sending
RET
COM_INT: CLR TI ;close sending-interrupt flag bit TI
INC DPTR ;data pointer add 1,intend sending next data
MOV A,DPH ;determine current sending data address wether or not bottom address
CJNE A,76H,END1 ;no bottom address,jump
MOV A,DPL
CJNE A,75H
您可能关注的文档
最近下载
- 2024年新疆中考物理试卷附答案.pdf VIP
- 运动训练学学试题及答案.doc VIP
- 运动训练学试题及答案.doc VIP
- 育婴师考试模拟试题及答案.docx VIP
- 四倍体刺槐人工诱导技术与抗旱性评价体系构建研究.docx
- (高清版)B-T 230.2-2022 金属材料 洛氏硬度试验 第2部分:硬度计及压头的检验与校准.pdf VIP
- 2025年房地产经纪人不动产登记中的共有产权专题试卷及解析.pdf VIP
- 2025年演出经纪人艺人访谈与综艺节目中人设展现技巧专题试卷及解析.pdf VIP
- 2025年碳排放管理师企业碳绩效评价与CSR结合专题试卷及解析.pdf VIP
- 2025年特许金融分析师固定收益投资组合的alpha与beta来源专题试卷及解析.pdf VIP
原创力文档

文档评论(0)