5.设计一个串行方式1发送子程序。已知-_11.0592MHz,SMOD=1,波特率为9600发送的8个字节的数据放在内部RAM的40H4 47H单元内:

1个回答
展开全部
摘要 串行方式1波特率取决于T1溢出率,计算T1定时初值: 发送程序如下: TXDA:MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1定时初值 MOV TH1,#0E8H ;置T1定时重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#80H ;置SMOD=1(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#30H ;置发送数据区首地址 MOV R2,#16 ;置发送数据长度 TRSA:MOVX A,@R0 ;读一个数据 MOV SBUF,A ;发送 JNB TI,$ ;等待一帧数据发送完毕 CLR TI ;清发送中断标志 INC R0 ;指向下一字节单元 DJNZ R2,TRSA ;判10个数据发完否?未完继续 RET ;
咨询记录 · 回答于2021-05-21
5.设计一个串行方式1发送子程序。已知-_11.0592MHz,SMOD=1,波特率为9600发送的8个字节的数据放在内部RAM的40H4 47H单元内:
您好,我正在帮您查询相关资料和案例,整理完马上回复您。
串行方式1波特率取决于T1溢出率,计算T1定时初值: 发送程序如下: TXDA:MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1定时初值 MOV TH1,#0E8H ;置T1定时重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#80H ;置SMOD=1(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#30H ;置发送数据区首地址 MOV R2,#16 ;置发送数据长度 TRSA:MOVX A,@R0 ;读一个数据 MOV SBUF,A ;发送 JNB TI,$ ;等待一帧数据发送完毕 CLR TI ;清发送中断标志 INC R0 ;指向下一字节单元 DJNZ R2,TRSA ;判10个数据发完否?未完继续 RET ;
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消