王云可 发表于 2024-10-25 01:10:27

新手有问题求解答

寄存器如何用sfr引用,代表什么,我不太理解

王云可 发表于 2024-10-25 01:11:22

有人解答我的疑惑吗?

kksk 发表于 2024-10-25 06:23:21

sfr表示特殊功能寄存器
sfr P4 = 0xC0;
这一行表示在地址0xC0处有一个8位寄存器,命名为P4。这类似于一个指向地址0xC0的指针。
而sbit则表示可以被8整除的地址处的特殊功能寄存器的位,例如图中P40表示P4的bit0。
当赋值时,可以直接向P4或P40赋值,如
P4 = 0x7F;
P40 = 1;

王昱顺 发表于 2024-10-25 08:41:55

可以直接使用对应型号单片机的头文件,比如说stc8H就使用#include"STC8H.H" 进行引用
然后直接记P0M0这种就行了,sfr定义的地址是芯片制造中定义的地址,基本不需要记忆

soma 发表于 2024-10-25 08:54:24

sfr头文件地址已经定义。只要知道功能其他可以不用关心

Lkck8210 发表于 2024-10-25 10:09:57


王云可 发表于 2024-10-25 10:13:21

kksk 发表于 2024-10-25 06:23
sfr表示特殊功能寄存器

这一行表示在地址0xC0处有一个8位寄存器,命名为P4。这类似于一个指向地址0xC0的指 ...

谢谢

王云可 发表于 2024-10-25 10:14:43

王昱顺 发表于 2024-10-25 08:41
可以直接使用对应型号单片机的头文件,比如说stc8H就使用#include"STC8H.H" 进行引用
然后直接记P0M0这种就 ...

okok

王云可 发表于 2024-10-25 10:15:02

soma 发表于 2024-10-25 08:54
sfr头文件地址已经定义。只要知道功能其他可以不用关心

.嗯

王云可 发表于 2024-10-25 10:15:44

Lkck8210 发表于 2024-10-25 10:09


页: [1]
查看完整版本: 新手有问题求解答