标题: 单片机寄存器sfr P0M0=0x94是干什么的? [打印本页]

作者: SXP210624    时间: 2019-4-19 07:38
标题: 单片机寄存器sfr P0M0=0x94是干什么的?
sfr P0M0=0x94是干什么的? 那对于电路:单片机(STC8A8K64S4A12)控制三极管基极,三极管控制恒流源,恒流源控制LED。为什么要在程序前加sfr P0M0=0x94,且相对应的引脚给高电平,才能使LED正常亮?


作者: bemc    时间: 2019-4-19 10:00
定义管脚地址 看器件手册 有详细说明
作者: xuyaqi    时间: 2019-4-19 10:06
你在程序里用了 P0M0 这个寄存器变量,所以要给编译器说明 P0M0 它的寄存器地址是 0x94 。
作者: tzs233    时间: 2019-4-19 11:09
SFR是特殊寄存器,只能直接地址访问。意思是把单片机中 0X94这个地址 命名为P0M0. 方便我们用。也不建议你再去更改它,之所以“特殊”因为这个是配合stc数据手册来定义的。stc工程师已经全部做好了。他们比我们更熟悉自己的产品功能。在对应stc芯片头文件中也有详细

一般 P0M0、P0M1 是成对出现的,代表对P0口(P00~P07)输出方式的配置(弱上拉。推挽,高阻抗等等)
类似的还有 P1M1,P1M0 是对P1口输出方式配置 等等以此类推。具体怎样可以查看 数据手册上 的 I/O配置
作者: 373741774    时间: 2019-4-19 11:23
管脚地址
作者: ccrr77    时间: 2019-4-19 12:34
你在程序里用了 P0M0 这个寄存器变量,所以要给编译器说明 P0M0 它的寄存器地址是 0x94 。
作者: YJGG    时间: 2019-4-19 14:02
声明P0M0的地址为 0x94
作者: qq873434846    时间: 2019-4-19 17:13
P0WO是寄存器,0X94是16进制的地址
作者: moqiyaa    时间: 2019-4-19 21:06
寄存器声明




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1