找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4648|回复: 7
打印 上一主题 下一主题
收起左侧

为什么单片机写和读的寄存器不一样呢?不都是对同一芯片操作吗?

[复制链接]
跳转到指定楼层
楼主
ID:329253 发表于 2018-5-18 12:45 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10黑币
为什么写和读的寄存器不一样呢?不都是对同一芯片操作吗?

评分

参与人数 1黑币 +10 收起 理由
cciejs12345 + 10

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:305599 发表于 2018-5-18 15:42 | 只看该作者
写和读是两个过程。写是给寄存器赋值,单片机根据值做出相应的动作,读是读出寄存器里的值,例如按键操作,按键按下,寄存器的值为0,然后将寄存器的值给中间变量,进行下一步操作。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 3#
ID:336165 发表于 2018-5-24 22:56 | 只看该作者
读和写没有什么差别的,把
内部数据读进寄存器  MOV A,@DPTR(DPTR是数据指针)
外部数据读进寄存器 MOVC A,@A+DPTR(外部ROM)
外部数据进寄存器    MOVX A,@DPTR(外部RAM)
送出去的时候A和DPTR反过来就行了

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 4#
ID:7485 发表于 2018-5-25 11:06 | 只看该作者
由于51单片机的内部结构问题(非常复杂,小篇幅不容易讲清楚),所以在读“端口锁存器”和“读端口引脚”结果不一定相同。所以教科书上说:已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。——注:这里所说的“输入”就是“读”。

感觉没学过汇编的不太容易理解。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:332928 发表于 2018-5-18 14:20 | 只看该作者
检查寻址方式是否正确!
回复

使用道具 举报

6#
ID:7485 发表于 2018-5-18 14:54 | 只看该作者
晕!看不明白你说的是什么。
回复

使用道具 举报

7#
ID:319019 发表于 2018-5-18 15:52 | 只看该作者
我估计你的意思是  data 写进保存的寄存器(1)地址为0x000H,但读时却是从寄存器(2)地址为0x00E0H开始,是吧???[em05

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:111634 发表于 2018-5-25 07:08 | 只看该作者
提问思路不清,没法回答。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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