gpt4 book ai didi

c - 微 Controller 89c52 - 7 段复用显示

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:05 26 4
gpt4 key购买 nike

我有一个用 C 语言编写的 uController 示例程序,用于处理 7 段多路复用显示。

我可以按如下方式访问显示的左侧或右侧部分:

//declarations   
unsigned char xdata left _at_ 0xFE00;
unsigned char xdata right _at_ 0xFD00;

//use
left = 0x06;
right = 0x5B;

它会向左屏幕打印“1”,向右屏幕打印“2”。

现在我想知道,它是如何工作的?0xFE00 地址是从哪里来的以及它是如何恰好将它显示到左侧屏幕的(我知道这是因为 P2_0 上有 '0' 但我不知道它是如何连接到 'left' 变量的)。

8 segment multipexing display

最佳答案

我从来没有给这个野兽编程过,但是看一下你的代码、电路图和数据表表明 LED 对被寻址为外部存储器:8 个数据位(否则端口 0)连接到段数据引脚和 2 个地址线(否则端口 2)连接到数字选择引脚。

FE00 的第 8 位为低位,第 9 位为高位。因此,写入地址 FE00 会导致 0 从 P2.0(又名 A8)输出,而 1 从 P2.1(又名A9),选择左边的LED,P0显示数据。

FD00 的第 8 位为高位,第 9 位为低位。因此,写入地址 FD00 会导致 1 从 P2.0(又名 A8)输出,而 0 从 P2.1(又名A9),选择正确的LED,段数据再次出现在P0。

特殊功能寄存器将设置所需的端口模式。

关于c - 微 Controller 89c52 - 7 段复用显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37744940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com