问题标签 [8051]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
564 浏览

8051 - 在 Intel 8031 上访问 dptr 的低字节

dptr在为 Intel 8031/8051 微处理器编程时,有没有办法单独访问低/高字节?

0 投票
1 回答
109 浏览

c - 关于切换 SSR 的问题

我正在使用 Keil C 编写我的程序。我有一些问题,我已经被困了很长时间,我的程序将使用遥控器切换 SSR(固态继电器)。我的程序是如何工作的:首先,有一个学习按钮,它将学习遥控器的任何红外信号,并将存储在“数据”中。当我再次按下遥控器时,它会将数据存储到“TempDATA”中。然后我的程序将比较两者并检查是否有错误。如果没有错误,它将切换 SSR 并且绿色 LED 将亮起。如果有任何错误,它将打开红色 LED。

但是,问题在于,它会触发 3 次而不是一次。因此,当没有错误时,它将打开 SSR 'ON,OFF,ON'。如果再次按下遥控器按钮,SSR 将“关闭、打开、关闭”。如果有任何错误,它将显示 'EEE' 而不是 1 'E'。我该如何解决这个问题?

通过在以下位置添加延迟:

问题已经解决了。

当我按下遥控器按钮而不按下学习按钮时,Data_Ready 设置为 1。所以它只会在我按下遥控器按钮而不按下学习按钮时进行比较。

0 投票
1 回答
1081 浏览

8051 - 使用 FX2 微控制器访问外部 RAM 的示例代码

我在使用赛普拉斯 FX2 微控制器访问外部 RAM 时遇到问题。谁能告诉我应该使用什么寄存器。就像 8051 MCU 一样,它具有用于地址总线的 A15-A0 引脚和用于数据总线的 D7-D0 引脚芯片选择、输出启用和写入启用选通。MCU 是 CY7C68013A FX2。我似乎找不到必须使用哪个寄存器来生成访问外部 RAM 的信号。使用该功能的寄存器应与8051相同。在微控制器中它有一个专用引脚即A15(地址总线MSB),D7(数据总线MSB)

0 投票
1 回答
1478 浏览

c - 如何在 8051 uC 上以纯 C 存储 32 位整数变量

我正在尝试用 C 语言在 8051 uC 上编写一些软件。问题是最长整数等于 16 位。是否可以创建自己的 32 位无符号整数变量?当然它应该支持所有操作,如 +、-、<< 等。

如果不可能,还有什么选择?对我来说,我想到的唯一方法是拥有两个 16 位整数。但在那个解决方案中,我认为我不能使用标准运算符。在所有操作中,我必须记住修改两个整数。

有没有更好的办法?

提前致谢。

0 投票
4 回答
2123 浏览

vb.net - 8051 UART,串行接收字节

我必须从计算机(VB.NET)将文件逐字节发送到串行连接的 AT89s52。
每个发送的字节在微控制器中都有一些工作需要一些时间。
这是我的 C 代码中与接收字节相关的部分:

这是用于发送字节的 VB.NET 代码:

问题是 mC 在每个接收到的字节之后都有一些工作要做,而 VB.NET 不知道这一点并且发送字节太快,所以在 mC 中只完成了所有字节的一部分(大约 10%)。我可以在 VB loop ant 中加入“Sleep(20)”然后事情会起作用,但是我浪费了很多时间,因为每个字节都需要不同的时间来处理,这将是不可接受的缓慢通信。

现在,我的问题是 8051 是否可以在 UART 上设置一些繁忙状态,VB 在发送之前可以读取这些状态来决定是否发送字节。或者如何以其他方式设置所描述的此类通信?我还尝试在 mC 端接收带有串行中断的字节,结果相同。

硬件肯定没问题,因为我可以很好地将数据发送到计算机(如预期的那样)。

0 投票
1 回答
1708 浏览

microcontroller - 在 AT89C2051 上使用 WILLAR 烧录程序

当我使用 AT89C2051 烧录程序时WILLAR,例如:

它显示一条消息:The data out of range will be ignored。但是如果我使用端口 P1 而不是端口 P3,我的程序会成功烧录。

问题出在哪里?

0 投票
1 回答
1607 浏览

delay - for 循环产生的延迟

//say delay_ms = 1

void Delay(const unsigned int delay_ms)

}

我正在尝试将上面的 C 代码用于我的 8051 微控制器。我想知道上面产生的延迟时间是多少。我正在使用 12MHz 振荡器。

0 投票
1 回答
1077 浏览

c - C用于带有8051微控制器的红外温度传感器?

大家我需要大家的大力帮助我需要知道如何将红外温度传感器与8051微控制器一起使用如果你能分享C代码我非常感谢

我使用传感器编号 MLX90614ESF-BAA

太感谢了

0 投票
1 回答
634 浏览

timer - 在 8051 (C8051F120) 上读取定时器计数器值 TMRnL 和 TMRnH

在读取 16 位值 PCA0L 和 PCA0H 时,我的微控制器 C8051F120 的数据表很清楚:

“读取 PCA0L 会自动将 PCA0H 的值锁存到“快照”寄存器中;接下来的 PCA0H 读取访问此“快照”寄存器。首先读取 PCA0L 寄存器可确保准确读取整个 16 位 PCA0 计数器。”

但是,我没有找到关于 TMRnL 和 TMRnH 寄存器的类似声明。我记得在 Atmega128CAN90 上,我使用过以下

有人知道上述报价是否也适用于 C8051F120 的 TMRnL 和 TMRnH 寄存器吗?或者,什么是获得一致读数的安全方法?是否需要禁用中断?谢谢你的帮助!

0 投票
2 回答
2411 浏览

assembly - 测量延迟 8051

我需要为 8051 编写延迟代码。我可以这样做,但我不知道如何计算延迟的频率。例如,这是我做的延迟:

但我不知道这个延迟会产生多少赫兹的频率。有什么方法可以计算吗?