📜  门| GATE CS 2021 |设置 2 |第 52 题(1)

📅  最后修改于: 2023-12-03 15:28:39.049000             🧑  作者: Mango

门| GATE CS 2021 |设置 2 |第 52 题

这是 Gate 2021 计算机科学工程(Microprocessors and Microcontrollers)设置2的第52题。该题目主要是考察在单片机编程中,如何使用外部中断来检测一个传感器的状态。

题目描述

以下是本题的题目描述:

假设你正在编写一个单片机程序,使用一个传感器来检测一个物体是否被触摸。当物体被触摸时,传感器将输出一个高脉冲,并转为低电平输出。该单片机具有一个外部中断引脚,它允许单片机在检测到高电平脉冲时立即停止程序并执行中断服务例程。因此,当传感器输出高电平脉冲时,单片机的计数器值应为多少?考虑以下事实:

  • 该单片机的时钟频率为 $2MHz$。
  • 该单片机的计数器宽度为 $8$ 位。
  • 传感器脉冲宽度为 $5ms$。

请计算出当传感器输出高电平脉冲时,单片机计数器的值。

解题思路

由于传感器输出高电平脉冲时,单片机应该立即停止程序并执行中断服务例程。因此,单片机计数器的值应该是在外部中断服务例程中读取的。假设我们将计数器的初始值设置为 $0$。

当传感器输出高电平脉冲时,单片机停止程序并执行中断服务例程。我们需要计算出在 $5ms$ 的时间内,单片机的计数器值应该是多少。

由于时钟频率为 $2MHz$,因此 $1ms$ 的时间内,计数器应递增 $2000$ 次 (即 $2MHz \times 1ms = 2000$)。

因此在 $5ms$ 时间内,计数器应递增 $10000$ 次,即当传感器输出高电平脉冲时,单片机计数器的值应该是 $10000$。

因此,当传感器输出高电平脉冲时,单片机的计数器值应该是:`10000`。