MCS-51单片机串行口控制SCON详解及中断系统
需积分: 15 94 浏览量
更新于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单片机,不仅需要理解这些硬件寄存器的用途,还需要掌握其汇编语言的编程技巧,包括如何设置和清除寄存器中的位,以及如何编写中断服务子程序。同时,实践是提高技能的关键,通过硬件实验和编写程序,能够更深入地理解和运用这些概念。此外,查阅相关书籍和在线资源也是必不可少的学习途径。单片机的应用广泛,涉及工业自动化、智能家居、汽车电子、医疗设备等多个领域,掌握好单片机知识对于从事相关行业的人来说至关重要。
2013-10-29 上传
2020-06-19 上传
2021-10-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2014-08-30 上传
魔屋
- 粉丝: 25
- 资源: 2万+
最新资源
- Postman安装与功能详解:适用于API测试与HTTP请求
- Dart打造简易Web服务器教程:simple-server-dart
- FFmpeg 4.4 快速搭建与环境变量配置教程
- 牛顿井在围棋中的应用:利用牛顿多项式求根技术
- SpringBoot结合MySQL实现MQTT消息持久化教程
- C语言实现水仙花数输出方法详解
- Avatar_Utils库1.0.10版本发布,Python开发者必备工具
- Python爬虫实现漫画榜单数据处理与可视化分析
- 解压缩教材程序文件的正确方法
- 快速搭建Spring Boot Web项目实战指南
- Avatar Utils 1.8.1 工具包的安装与使用指南
- GatewayWorker扩展包压缩文件的下载与使用指南
- 实现饮食目标的开源Visual Basic编码程序
- 打造个性化O'RLY动物封面生成器
- Avatar_Utils库打包文件安装与使用指南
- Python端口扫描工具的设计与实现要点解析