【发布时间】:2016-06-10 09:40:14
【问题描述】:
我有一个用 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”,但我不知道它是如何连接到“左”变量的)。
【问题讨论】:
-
首先要查看MCU上的寄存器映射,看看哪个地址对应哪个端口。您必须阅读有关这些寄存器如何工作的手册。除了数据寄存器,还有数据方向寄存器等吗?现在您继续阅读手册并您告诉我们这些寄存器的作用。我想你可能不得不去博物馆偷窃,才能拿到这个 MCU 的手册。
-
sfr P0 = 0x80; sfr P2 = 0xA0;
标签: c microcontroller 8051