永发信息网

传统上公认端口地址定义在哪一个地址范围

答案:1  悬赏:70  手机版
解决时间 2021-03-09 05:33
  • 提问者网友:难遇难求
  • 2021-03-08 08:59
传统上公认端口地址定义在哪一个地址范围
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-03-08 10:02
一般来说,与其他芯片的数据传递,都会涉及到时序图的。
时序图简单来说的话。就是芯片特定引脚不同时间被拉低起不同的作用。
比如说某些芯片会有 一个使能引脚 CE, 读操作寄存器引脚 RD ,写操作寄存器引脚 WD
数据或指令并行传递 A0-A7;
那麽单片机在操作这类芯片的时候。一般是这样做的
sbit CE=P3^2;
sbit RD=P3^3;
sbit WD=P3^1;
#define DATAIO P0
这类芯片都有操作时序图。一般从时序图中会看出,要操作芯片,先要使能CE。一般是低电平使能。 使能芯片的意思就是说,我要用你了,你给我做好准备。
使能完,就先写要操作的寄存器的地址。那要写的话,一般就需要先把WD引脚给拉低。
然后传过去的第一个字节一般为 寄存器地址,第二个字节为 要写入的数据。具体芯片看具体的时序操作手册。(datasheet)
综上所述,代码应该是这样。
CE=0;
WD=0;
DATAIO= 0x03; //写寄存器地址 0x03;
DATAIO= 0xf8; //向寄存器0x03中写入0xf8这个数据。一般第二个为数据。第一个为地址。

如果是读某寄存器的话,原理跟上面差不多。大致代码如下。
unsigned char MyDATA; //存放读出来的数据。
CE=0;
WD=0;
DATAIO = 0x03; //先写要读的寄存器地址。
WD=1; //接下来是读,所以不用使能写 引脚
RD=0;
MyDATA= DATAIO; //然后就将数据读出来啦。

所有的芯片时序都是大同小异,当然我只列出了并行读写芯片的。有些是需要串行的,如IIC时序。
有些芯片还有指令使能引脚。意思就是说,当使能了该引脚,那我接下来的数据就是指令操作,而不是数据。
具体还是得多用些芯片,多看些时序才能完全掌握。

希望我的回答能帮助到你,有什么问题欢迎一起探讨。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯