单片机交流
直播中

江根磊

7年用户 1047经验值
私信 关注
[问答]

单片机执行串口传输的工作流程是怎样的?

单片机执行串口传输的工作流程是怎样的?
如何利用单片机的串行口去完成程序设计?

回帖(1)

刘莉

2021-7-19 10:15:50
  实验目的和任务
  目的:利用“模块化单片机教学实验平台”,加深对单片机的串行口的理解。
  任务:利用单片机的串行口完成程序设计。
  实验内容
  使用AT89S52单片机的串行口通过RS232通信接口与PC机进行通信,让单片机把接收到的每一帧数据(即PC机发送给单片机的每一帧数据)直接再发送给PC机。(串行口波特率设定为9600Bit/s,使用方式1)注意:使用串口调试助手(Baud 9600、数据位8、停止位1、效验位无)作为上位机来向单片机发送数据和接收单片机串口所发的数据,观察串口调试助手接收窗口。
  实验过程和结果
  
  威廉希尔官方网站 图
  硬件连线:
  母版
  CPU板
  J57/J59:RXD
  P2:P3.0
  J57/J59:TXD
  P2:P3.1
  用232串口线连接计算机的USB口和MAIN_BOARD的RS2/RS1串口。
  注意:实验箱的AT89S52单片机的晶振频率为11.0592MHz!
  参考流程图:
  
  实验心得
  实验过程让我熟悉了中断程序和串口的编写步骤和单片机执行串口传输的工作流程。实验中由于不熟悉中端口的相关寄存器分布和功能,导致错误设置了特殊功能寄存器,程序不能正常执行,后来在老师的指导下修改了程序和中断入口地址,程序能正常执行并返回输入内容。
  附录(代码)
  (1)基本实验
  ORG 0000H
  LJMP MAIN
  ORG 0023H
  LJMP U
  MAIN:
  MOV SCON,#01010000B
  SETB ES
  SETB EA
  MOV TMOD,#00100000B
  MOV TH1,#0FDH
  SETB TR1
  LJMP $
  U:
  CLR RI
  MOV A,SBUF
  MOV SBUF,A
  JNB RI,$
  CLR RI
  RETI
  END
  (2)扩展实验
  ORG 0000H
  LJMP MAIN
  ORG 0023H
  LJMP U
  MAIN:
  MOV SCON,#01010000B
  SETB ES
  SETB EA
  MOV TMOD,#00100000B
  MOV TH1,#0FDH
  SETB TR1
  SETB T1 ;手动执行中断
  LJMP $
  U:
  CLR RI
  MOV SBUF,#68H
  MOV SBUF,#65H
  MOV SBUF,#6CH
  MOV SBUF,#6CH
  MOV SBUF,#6FH
  MOV SBUF,#26H
  MOV SBUF,#20H
  MOV SBUF,#77H
  MOV SBUF,#6FH
  MOV SBUF,#72H
  MOV SBUF,#6CH
  MOV SBUF,#64H
  MOV SBUF,#0DH
  MOV SBUF,#0AH
  MOV SBUF,#0AH
  JNB RI,$
  CLR RI
  LJMP U ;发送完毕后回到中断程序头部,循环发送hello world
  RETI
  END
举报

更多回帖

发帖
×
20
完善资料,
赚取积分