打印
[其他ST产品]

51单片机的ET1=1和8位自动重装方式为什么不能同时设置

[复制链接]
354|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梅花香自123|  楼主 | 2024-5-31 01:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在51单片机(如8051系列单片机)中,定时器/计数器有不同的工作模式,包括定时器模式和计数器模式。ET1是定时器1的中断使能位,而定时器的工作模式选择包括8位自动重装方式(模式2)。

定时器1(Timer 1)的ET1和8位自动重装模式不能同时设置,可能是因为以下原因:

1. 工作模式的冲突
在8051单片机中,定时器/计数器有4种工作模式:

模式0(13位定时器模式)
模式1(16位定时器模式)
模式2(8位自动重装模式)
模式3(定时器分拆模式,仅适用于定时器0)
模式2(8位自动重装模式):该模式下,定时器/计数器的高8位(THx)用于存储要自动重装的值,低8位(TLx)用于计数。当TLx溢出(从0xFF到0x00)时,会自动重装THx的值到TLx。

使用特权

评论回复
沙发
梅花香自123|  楼主 | 2024-5-31 01:56 | 只看该作者
2. 定时器/计数器的配置
ET1(Timer 1 Interrupt Enable Bit):这是定时器1的中断使能位,设为1时,定时器1溢出会触发中断。
8位自动重装模式:这是定时器1的一种工作模式,配置时需要设置TMOD寄存器的相应位。

使用特权

评论回复
板凳
梅花香自123|  楼主 | 2024-5-31 01:56 | 只看该作者
具体的配置寄存器
TMOD(Timer Mode Control):控制定时器/计数器的工作模式。
TCON(Timer Control):控制定时器的启动和停止,同时包含定时器中断标志位。

使用特权

评论回复
地板
梅花香自123|  楼主 | 2024-5-31 01:56 | 只看该作者
TMOD寄存器
TMOD寄存器的格式如下:

mathematica

高4位:定时器1的控制位
低4位:定时器0的控制位

GATE C/T M1 M0 | GATE C/T M1 M0

使用特权

评论回复
5
梅花香自123|  楼主 | 2024-5-31 01:56 | 只看该作者
GATE:门控位

C/T:定时器/计数器选择位

M1 M0:模式选择位

模式0:M1=0, M0=0

模式1:M1=0, M0=1

模式2:M1=1, M0=0

模式3:M1=1, M0=1

使用特权

评论回复
6
梅花香自123|  楼主 | 2024-5-31 02:01 | 只看该作者
配置定时器1为8位自动重装模式
c

TMOD = (TMOD & 0x0F) | 0x20;  // 设置定时器1为模式2
TH1 = 0xFD;                   // 设置重装值
TL1 = 0xFD;                   // 初始化计数值

ET1 = 1;                      // 使能定时器1中断
TR1 = 1;                      // 启动定时器1
EA = 1;                       // 使能全局中断

使用特权

评论回复
7
梅花香自123|  楼主 | 2024-5-31 02:01 | 只看该作者
ET1和模式2的实际可行性
在标准8051单片机中,并没有硬性规定ET1和模式2不能同时设置。通常,在模式2下,定时器溢出时会触发中断,而ET1位就是用来使能该中断的。因此,理论上ET1和模式2是可以同时设置的。

使用特权

评论回复
8
梅花香自123|  楼主 | 2024-5-31 02:01 | 只看该作者
可能的原因
如果在实际应用中发现ET1和模式2不能同时设置,可能是以下几个原因:

硬件限制:某些非标准的8051衍生版本可能对定时器和中断有特定的硬件限制。
软件错误:编程错误或初始化不正确导致模式设置冲突。
文档误解:误读了芯片文档或技术手册中的说明。

使用特权

评论回复
9
梅花香自123|  楼主 | 2024-5-31 02:02 | 只看该作者
解决方案
确认芯片型号和文档:确保使用的单片机型号和相关文档正确无误,检查是否有硬件限制。
检查初始化代码:仔细检查定时器和中断初始化代码,确保设置正确无误。
使用调试工具:使用调试工具和示波器等手段确认定时器的工作状态和中断触发情况。

使用特权

评论回复
10
梅花香自123|  楼主 | 2024-5-31 02:02 | 只看该作者
标准的8051单片机应该允许定时器1的中断使能位(ET1)和8位自动重装模式(模式2)同时设置。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

1039

帖子

0

粉丝