单片机与PC机串行通信实现及中断处理

需积分: 0 2 下载量 36 浏览量 更新于2024-07-12 收藏 806KB PPT 举报
"数据接收-PC机与单片机串行通信" 在PC机与单片机进行串行通信的过程中,数据的接收和发送是关键环节。数据接收时,单片机通过RXD引脚接收来自PC机的信号。当允许接收的控制位REN被置为1时,串行口开始对RXD进行采样。一旦检测到由1到0的跳变,这被视为起始位“0”,标志着数据传输的开始。接着,单片机接收一帧数据的8位数据部分,这些数据会被存入接收缓冲器SBUF。当接收到停止位为1(或SM2为0)时,停止位被送入RB8,同时中断标志RI被置为1,表明接收完成。在工作方式1下,通常需要通过软件清除RI或SM2标志来准备下一次接收。 在工作方式2和方式3中,串行口转变为9位异步通信接口。数据帧包含1位起始位、8位数据位、1位可编程位(通常是奇偶校验位)和1位停止位。波特率的设定可能与SMOD位有关。发送数据时,额外的第9位数据来源于SCON寄存器中的RB8,可以通过软件设置。将数据写入SBUF后,发送过程自动启动,完成一帧数据发送后,硬件会自动将发送中断标志TI置为1。 在实际应用中,比如泸州职业技术学院的《单片机应用技术》课程中,教学目标包括理解MCS-51单片机的串行接口结构和使用方法,实现串行口的接收和发送功能,以及掌握串行通信的格式规定和程序设计。项目实践通常会涉及构建一个能够与PC机通信的单片机系统,系统由硬件(如AT89S52单片机、LCD显示模块和串行口通信模块)和软件(包括主程序和中断服务子程序)组成。单片机接收来自PC的ASCII码并在LCD上显示,同时将接收到的ASCII码回传给PC,以验证通信的准确性。 在系统工作时,MCS-51单片机的串行口使用两个独立的但共用同一地址(98H)的串行缓冲器SBUF进行发送和接收。发送过程中,数据从累加器A传送到发送缓冲器SBUF,然后自动添加起始位和停止位。接收过程中,数据从RXD输入并存储到接收缓冲器,等待处理。中断服务子程序处理串口接收和发送的数据,而LCD显示子程序则负责在显示器上呈现接收到的信息。整个系统通过精心设计的软件结构实现高效、可靠的串行通信。