打印

访问外部器件只8位地址,P2口也输出0吗??

[复制链接]
2379|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
agua4auto|  楼主 | 2007-6-2 08:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
conwh| | 2007-6-2 10:48 | 只看该作者

如果使用第二功能的,P2会相应变化

怎么只扩充8位地址?那你扩充它干什么?如果是扩充IO,就不如再加个锁存器了

使用特权

评论回复
板凳
gyt| | 2007-6-2 12:02 | 只看该作者

不要这样用

已经做地址用了,再做IO口用,不好不好。

使用特权

评论回复
地板
agua4auto|  楼主 | 2007-6-2 12:14 | 只看该作者

恩,扩充IO口

上个图
https://bbs.21ic.com/upfiles/img/20076/20076212857771.jpg

PA,PB,PC3个扩展口正好一路控制8个功率管,一路控制继电器实现相应功能,另外一路输出给一个DAC.

所以只有把扫描接在P2上面,我想知道访问8255时,P2是不是要输出地址??

虽然影响很小,就算有输出,也对扫描没影响,毕竟最多1个us,用12m的晶振.

使用特权

评论回复
5
agua4auto|  楼主 | 2007-6-2 12:15 | 只看该作者

额,连CS都没接,见笑见笑

使用特权

评论回复
6
conwh| | 2007-6-2 14:35 | 只看该作者

如果这样扩充的话,就不要使用第二功能的。直接当IO操作就

使用特权

评论回复
7
agua4auto|  楼主 | 2007-6-2 15:55 | 只看该作者

To: conwh

有点疑惑,我确实不需要P2口的第二功能,可是P2口的第二功能是输出高8位地址,而我又要访问8255,肯定要movx的,额,等等,翻了一下movx的说明::

movx使用RO或R1,仅输出8位地址到p0口,不影响p2.

但是我用c写,怎么确定编译后是用R0/R1,而不是DPTR呢???

使用特权

评论回复
8
conwh| | 2007-6-2 16:41 | 只看该作者

不要使用MOVX指令,用MOV P0,#XX,CLR Px.x做片选

软件上多费点事,要不你的扫描(显示)也扩充出来。

使用特权

评论回复
9
agua4auto|  楼主 | 2007-6-2 17:11 | 只看该作者

可是我想用movx

用movx,一个周期就能把数据写入8255.
如果用clr Px.x做片选,选完之后还要Px.x =1,这样就至少3个周期了.太浪费啦.

扫描显示可以用8279扩充,可是那样单片机P2,P1口就都闲置了,而且8279要10块钱一片,也浪费了.

所以,还是用确定地址是写入R0/R1的,反正movx @R0/R1,A是不影响P2的.但是问题就是我用C写,怎么确定它将地址放入R0/R1后输出,而不是DPTR.

除了插入汇编,还有其他确定的方法吗??

使用特权

评论回复
10
conwh| | 2007-6-2 17:13 | 只看该作者

你这样做还不如使用2片MCU呢

使用特权

评论回复
11
gyt| | 2007-6-2 17:15 | 只看该作者

conwh说的很是

使用特权

评论回复
12
agua4auto|  楼主 | 2007-6-2 22:26 | 只看该作者

?我2片MCU??

可是我认为这1片就足够解决问题了啊,恩,我会找出来怎么用C搞定的,一定能,因为肯定了不用DPTR时P2时没有影响的啊

使用特权

评论回复
13
conwh| | 2007-6-3 04:21 | 只看该作者

真有犟的,I服了U。你可以用MOVX @Ri,A或MOVX A,@Ri

使用特权

评论回复
14
古道热肠| | 2007-6-3 10:10 | 只看该作者

楼主有股子冲劲,赞!

  能否将地址定义为PData,再运用相关语法如指针,绝对地址方式将数据输出,这个办法没试过,但P0口既作总线又作输出口我用过。
  
sbit c_OutLatchClk = P3^2;
#define c_DataOutPort P0
void WriteDataToOutPort(uchar ucWriteData)
{
    c_OutLatchClk = 0x01;    
    c_DataOutPort = ucWriteData;
    c_OutLatchClk = 0x00;
}

使用特权

评论回复
15
gyt| | 2007-6-3 11:08 | 只看该作者

厉害

有一股牛气:)

使用特权

评论回复
16
Airwill| | 2007-6-3 21:56 | 只看该作者

8255 CS 怎么处理的呀

使用特权

评论回复
17
agua4auto|  楼主 | 2007-6-4 08:57 | 只看该作者

CS连P1口的某一位,看我当天感觉吧

谢谢各位,书上确实写了,pdata是分页寻址片外,由movx @R0访问,这样的话,就不会有问题了,谢谢大家.全力把程序写完..............

使用特权

评论回复
18
gyt| | 2007-6-4 09:40 | 只看该作者

汇编一下

看看程序不就知道了?

使用特权

评论回复
19
古道热肠| | 2007-6-4 09:47 | 只看该作者

对呀,快用软仿真试试吗

  软仿真能看到汇编码的!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

86

帖子

0

粉丝