找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4992|回复: 8
收起左侧

单片机寄存器sfr P0M0=0x94是干什么的?

[复制链接]
ID:511168 发表于 2019-4-19 07:38 | 显示全部楼层 |阅读模式
sfr P0M0=0x94是干什么的? 那对于电路:单片机(STC8A8K64S4A12)控制三极管基极,三极管控制恒流源,恒流源控制LED。为什么要在程序前加sfr P0M0=0x94,且相对应的引脚给高电平,才能使LED正常亮?

回复

使用道具 举报

ID:509408 发表于 2019-4-19 11:09 | 显示全部楼层
SFR是特殊寄存器,只能直接地址访问。意思是把单片机中 0X94这个地址 命名为P0M0. 方便我们用。也不建议你再去更改它,之所以“特殊”因为这个是配合stc数据手册来定义的。stc工程师已经全部做好了。他们比我们更熟悉自己的产品功能。在对应stc芯片头文件中也有详细

一般 P0M0、P0M1 是成对出现的,代表对P0口(P00~P07)输出方式的配置(弱上拉。推挽,高阻抗等等)
类似的还有 P1M1,P1M0 是对P1口输出方式配置 等等以此类推。具体怎样可以查看 数据手册上 的 I/O配置
回复

使用道具 举报

ID:285863 发表于 2019-4-19 10:00 | 显示全部楼层
定义管脚地址 看器件手册 有详细说明
回复

使用道具 举报

ID:94031 发表于 2019-4-19 10:06 | 显示全部楼层
你在程序里用了 P0M0 这个寄存器变量,所以要给编译器说明 P0M0 它的寄存器地址是 0x94 。
回复

使用道具 举报

ID:185711 发表于 2019-4-19 11:23 | 显示全部楼层
管脚地址
回复

使用道具 举报

ID:516269 发表于 2019-4-19 12:34 | 显示全部楼层
你在程序里用了 P0M0 这个寄存器变量,所以要给编译器说明 P0M0 它的寄存器地址是 0x94 。
回复

使用道具 举报

ID:23606 发表于 2019-4-19 14:02 | 显示全部楼层
声明P0M0的地址为 0x94
回复

使用道具 举报

ID:516544 发表于 2019-4-19 17:13 | 显示全部楼层
P0WO是寄存器,0X94是16进制的地址
回复

使用道具 举报

ID:425268 发表于 2019-4-19 21:06 | 显示全部楼层
寄存器声明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表