51单片机中断源与寄存器详解:定时器、串口和中断设置

4星 · 超过85%的资源 需积分: 9 18 下载量 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单片机编程和硬件设计的基础知识。