完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
但在寻址时务必要避开涉及该IO的地址段,否则该IO会有被改写的可能,要特别注意,不建议初学者用这招,除非你的逻辑思维能力足够清晰、完整。
|
|
|
|
|
|
|
|
现在正在调试,我是用8255扩展的IO口,不过只是用了P0口,用的PBYTE定义端口地址.PBYTE只用P0口,所以不影响P2口.
不过好像现在还是有点问题,先调下去再说吧 |
|
|
|
任何地址段IO都可以对应一个或几个特定的地址段,利用寄存器保存现场并映射到地址空间中即可实现地址IO做普通IO用,寻址时要注意避开,跟是否普通的51没关系,只是注意其高位地址尽量不要用,否则地址映射的计算会非常麻烦。这种方法初学者会比较难理解,建议画画图,要仔细思考。当然,这属于“花活”,极特殊的场合才有意义,切记不要卖弄,做产品可靠性第一。
|
|
|
|
首先,只能是扩展RAM,指用MOVX指令访问,剩余的P2口可以使用用
以你的情况为例, 1)P2.5完全可以作为输入口,唯一需要注意的就是,始终保持P2.5为高电平,这可以通过定义6264的地址位于XX10 0000 0000 0000B 到 XX11 1111 1111 1111 B,即地址位13是1的地址段内。 2)P2.5可以输出不太重要的数据, 比如驱动LED用于显示一类功能,由于P2口有锁存功能,在访问RAM时P2.5会有可能“闪烁”!,但访问完RAM后恢复数据,显示数据不会丢失 3)P2.5完全可以当做普通IO使用,但RAM访问则需要受到一些限制,把6264分成多个256字节的页,使用MOVX @R0指令访问,访问之前在P2口输出“页选”信号,即整个P2口作为普通IO口使用 当然,如果扩展ROM(用MOVC指令访问),也可以通过一定的技巧来实现空余的IO作输出,但是有点太过技巧性了,不建议使用!! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:00 , Processed in 0.839556 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号