单片机知识,请高手不吝赐教!!!

2019-03-24 17:49发布

小弟正在学习AT89S52单片机,遇到#define PA XBYTE[0DCFF]//1101 1100 A0-P2.0,A1-P2.1,CS-P2.5,WR-P3.6,RD-P3.7#define PB XBYTE[0XDDFF]//1101 1101#define contr  XBYTE[0X8FFF]对于单片机P0口、P2口扩展外部存储器和8255如何像单片机那样一一对应对各个口进行操作,很是迷茫,请高手指点迷津,或是介绍一些书籍让小弟自学,小弟拜谢中!!!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
jishuaihu
1楼-- · 2019-03-25 02:59
#define PA  XBYTE[0DCFF] 就是把外部地址映射到自己定义的PA口,也就是在程序里用PA代表8255的A口。这个地址是怎么算出来的呢?就是这个了。//1101 1100 A0-P2.0,A1-P2.1,CS-P2.5,WR-P3.6,RD-P3.7。需要看8255外面的接线。
再一个,现在这个时代就别学AT89S52了。编程又不方便,又贵。如果想学51就用STC的吧。8255也早就是退出历史舞台的东西了。如果用这个芯片来加强对单片机核心的理解的话可以试试。但是实际用的话,一点儿必要也没有了。
lajirenzzz
2楼-- · 2019-03-25 06:04
jishuaihu 发表于 2015-10-22 12:24
#define PA  XBYTE[0DCFF] 就是把外部地址映射到自己定义的PA口,也就是在程序里用PA代表8255的A口。这个地 ...

首先感谢您的解答。

#define PA  XBYTE[0DCFF] 就是把外部地址映射到自己定义的PA口,也就是在程序里用PA代表8255的A口。这个地址是怎么算出来的呢?就是这个了。//1101 1100 A0-P2.0,A1-P2.1,CS-P2.5,WR-P3.6,RD-P3.7——————这个我现在能理解。
我现在就是不懂,对8255的PA、PB、PC定义了外部存储地址后,各个口不知道怎么调用。比如:8255数据口接P0,A0-P2.0,A1-P2.1,CS-P2.5,WR-P3.6,RD-P3.7,我想用PA1、PB2、或是PC5,3个口共24个端,任意一个不知道怎么用,书上介绍8255分三种工作模式,还是看不懂
Li_Lei
3楼-- · 2019-03-25 07:06
 精彩回答 2  元偷偷看……
ywlzh
4楼-- · 2019-03-25 12:50
就像汇编里的MOVX 对外扩展的访问
吴下阿蒙
5楼-- · 2019-03-25 18:10
教材让人发晕,弱弱地问一下,有必要让初学者学这些高大上的东西吗?
刘W杰
6楼-- · 2019-03-25 19:17
 精彩回答 2  元偷偷看……

一周热门 更多>