标题: 51单片机的同一个端口实现两个功能 [打印本页]

作者: 人生闲    时间: 2017-6-6 20:50
标题: 51单片机的同一个端口实现两个功能
51单片机的同一个端口实现两个功能,但是没有逻辑元件,怎么实现,就是我用高四位实现一个功能,然后低四位实现另一个功能,我是应该将他们分开设计地址,还是不用的,如果需要,我该怎么设计地址呢?
求大神帮帮忙!!!!!!!
作者: dzbj    时间: 2017-6-7 09:10
你说 你这问题 什么资料都没有 谁能看得懂啊 都不知道你要干嘛
作者: lingwise    时间: 2017-6-7 10:36
本帖最后由 lingwise 于 2017-6-7 12:02 编辑

不要用总线的形式操作,当做普通IO口来按逻辑需要,按时序自己操作寄存器
作者: imxuheng    时间: 2017-6-7 14:37
分别实现什么功能
作者: zl2168    时间: 2017-6-7 16:04
同一个端口可以实现两个功能,高4位、低4位分别设置,但你的提问没讲清。
作者: 人生闲    时间: 2017-6-7 16:16
zl2168 发表于 2017-6-7 16:04
同一个端口可以实现两个功能,高4位、低4位分别设置,但你的提问没讲清。

我是想说,我用AT89C51的P2端口,实现高四位进行对1602显示屏的RS,RW,EN的控制,然后低四位进行按钮控制开关,其他没有外接元件,就是需要用C来表示。
作者: 707926588    时间: 2017-6-7 16:25
多想想
作者: zl2168    时间: 2017-6-7 21:15
人生闲 发表于 2017-6-7 16:16
我是想说,我用AT89C51的P2端口,实现高四位进行对1602显示屏的RS,RW,EN的控制,然后低四位进行 ...

有2种操作方法:一种按bit操作;另一种按byte操作。按byte操作时,需用“与”、“或”组合。具体操作方法推荐你阅读《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。
作者: dzbj    时间: 2017-6-7 23:01
人生闲 发表于 2017-6-7 16:16
我是想说,我用AT89C51的P2端口,实现高四位进行对1602显示屏的RS,RW,EN的控制,然后低四位进行 ...

这有什么难的 管它P几口呢 分别定义每个端口不就行了 你们是学习要求必须用整个位去操作么 谁这么变态啊
作者: 人生闲    时间: 2017-6-7 23:01
zl2168 发表于 2017-6-7 21:15
有2种操作方法:一种按bit操作;另一种按byte操作。按byte操作时,需用“与”、“或”组合。具体操作方法 ...

谢谢

作者: sstalker    时间: 2017-6-7 23:08
那就按照普通IO来配置就好了啊
作者: yzwzfyz    时间: 2017-6-9 09:11
读P2高位,结果=0-15,存于A的低位:
MOV     A, P2        ;读入全部
SWAP   A             ;高低互换位置
ANL      A, #0FH   ;去除高位(原P2低位)
将A(=0-15)写P2高位:
ANL      A, #0FH      ;去除高位的干扰
SWAP   A                ;高低互换位置准输入至P2高位
MOV     B, A            ;暂存一下备用,此时低位是0
MOV     A, P2          ;读入P2全部
ANL     A, #0FH       ;保留P2低位,清除P2高位
ORL     A, B            ;与需要写入的全成新的P2
MOV    P2, A          ;写入(P2高位是新的,低位不变)
作者: 布拉格    时间: 2017-6-9 17:46
不用分开,直接用就行




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