51单片机中断源与寄存器详解:定时器、串口和中断设置
4星 · 超过85%的资源 需积分: 9 38 浏览量
更新于2024-09-15
2
收藏 20KB DOCX 举报
51单片机寄存器设置是微控制器编程中的重要环节,本文主要关注于MCS-51系列单片机中断源的配置和中断处理过程。MCS-51单片机提供了三类共五个中断源,包括两个外部中断源(INT0和INT1,支持电平和脉冲触发)、两个定时中断源(T0和T1)以及一个串行中断源(ES)。中断的优先级顺序可以通过中断优先级寄存器IP(B8H)进行设置,不同中断源的中断请求被赋予不同的入口地址。
中断允许寄存器IE(A8H)是关键的控制寄存器,通过设置其位来开启或关闭中断功能。例如,如果希望启用外部中断0,可以将EX0位设为1。计时器模式控制寄存器TCON(88H)和TMOD(89H)用于控制定时器的工作模式和中断触发条件。TCON的IT0和IT1位用于选择INT0和INT1的触发类型,而TMOD则包含GATE位和C/T位,GATE决定在何种情况下T0或T1会启动中断,C/T用于选择定时器或计数器工作模式。
中断优先次序寄存器IP(B8H)决定了中断的执行顺序,比如串行口的中断标志(如TI和RI)会被映射到相应的中断请求。串行口控制寄存器SCON(98H)负责串行通信模式的选择,包括波特率计算,SM0、SM1和SM2位分别对应不同的工作方式,如接收允许(REN)、发送停止位(TB8)等。
在波特率计算方面,根据不同的工作方式(1、2、3),利用11.0592MHz晶振,可以通过SMOD位(波特率倍增位)调整波特率的具体数值。例如,方式1中,若SMOD=0,波特率为晶振频率除以12乘以(256-TH1),而SMOD=1时,波特率会是晶振频率除以16再乘以(256-TH1)。
最后,电源管理寄存器PCON(87H)中的SMOD位除了影响串行通信波特率,还可能涉及其他功能,如电源管理和系统状态的控制。理解并正确配置这些寄存器对于实现高效的单片机控制至关重要,是51单片机编程和硬件设计的基础知识。
2021-02-21 上传
2023-02-08 上传
2013-08-24 上传
2010-02-05 上传
2021-10-10 上传
2022-11-10 上传
2022-11-10 上传
2018-05-23 上传
2022-07-03 上传
ssooxo
- 粉丝: 12
- 资源: 14
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍