MCS-51单片机串行口控制SCON详解及中断系统

需积分: 15 7 下载量 183 浏览量 更新于2024-08-19 收藏 2.22MB PPT 举报
"串行口控制寄存器SCON-C51单片机-汇编自学教程" 在单片机编程中,特别是在8051系列的C51单片机中,串行通信是一个重要的功能,它使得单片机能够与其他设备进行数据交换。SCON(Serial Control)寄存器是C51单片机中控制串行通信的关键寄存器,它定义了串行口的工作模式、波特率以及中断控制。 串行口控制寄存器SCON: SCON寄存器包含了8个位,用于设置串行通信的各种状态和控制选项。这些位包括SM0和SM1(模式选择位),SM2(多机通信控制位),REN(接收使能位),TB8和RB8(发送和接收的第9位),TI(发送中断标志位)和RI(接收中断标志位)。 1. SM0和SM1:这两个位决定串行口的工作模式,可以设置四种不同的工作模式,如8位UART模式、9位UART模式、同步移位寄存器模式和方式0(无波特率发生器)。 2. SM2:当SM2置1时,单片机进入多重发送者模式,用于实现多机通信。在接收时,如果检测到Ri位被置1,但SM2为1,那么接收的数据会被忽略,除非接收到的第9位与SM2位匹配。 3. REN:接收使能位。当REN为1时,允许串行接口接收数据;若为0,则禁止接收。 4. TB8和RB8:这两个位用于9位数据传输。当发送数据时,TB8提供第9位数据;接收时,RB8存储接收到的第9位数据。它们同时也参与多机通信的地址识别。 5. TI:发送中断标志位。当完成一个字节的发送后,TI被硬件自动置1,提示CPU发送中断请求。需要在程序中清除此标志位,以准备下一次发送。 6. RI:接收中断标志位。当接收缓冲器接收到一个字节数据时,RI被硬件置1,表示有数据可供读取。同样,也需要在程序中清除此标志位。 中断允许控制寄存器IE: 中断允许控制寄存器IE用于开启或关闭单片机的中断源。其中包括串行口中断(ES位)和其他中断源如定时器中断(ET1、ET0)、外部中断(EX1、EX0)等。当相应的中断允许位被置1时,中断被启用;清零则禁用。 中断优先级控制寄存器IP: IP寄存器则决定了各个中断的优先级。D7到D4位不使用,D3到D0分别对应ET1、EX1、ET0和EX0。当位值为1时,中断优先级提升;为0时,优先级降低。需要注意的是,C51单片机的中断系统并不支持完全的优先级嵌套,只有相同优先级的中断之间才会形成嵌套。 学习C51单片机,不仅需要理解这些硬件寄存器的用途,还需要掌握其汇编语言的编程技巧,包括如何设置和清除寄存器中的位,以及如何编写中断服务子程序。同时,实践是提高技能的关键,通过硬件实验和编写程序,能够更深入地理解和运用这些概念。此外,查阅相关书籍和在线资源也是必不可少的学习途径。单片机的应用广泛,涉及工业自动化、智能家居、汽车电子、医疗设备等多个领域,掌握好单片机知识对于从事相关行业的人来说至关重要。