中易网

单片机外部存储器怎么访问

答案:5  悬赏:40  
解决时间 2021-10-20 17:16
单片机外部存储器怎么访问
最佳答案
如果访问的是外部程序存储器中存储的数据的话,用的是MOVC指令;
如果访问的是外部程序存储器中的指令的话,这个好像不需要我们写代码,单片机会自己去读取指令
全部回答
就是把内存卡。连接电脑上!
存储器一般都有WR,RD,CS线以及地址端口、数据端口,有些数据地址端口复用,有些分开。看这些存储器的datasheet就会明白如何访问他们内部的数据。例如读出外部ram地址为0x0001里的数据(假设有这个地址),那么就WR置高,CS置低,地址线上输出0x0001,那么CPU的数据线就可以等到需要的数据了,这种情况下CPU的I/O只是做普通的I/O口。但是一般单片机和ARM都能够把I/O选择作为外部存储器的访问口,这时只要根据datasheet里的说明,把相应的线连上,CPU就能够根据你的指令自动在时序上配合,使得访问外部设备就像访问内部ram一样,这样做的好处就是节省CPU时间。 把地址0x0001置为0x55的C语言指令为 (*(unsigned   char*)0x0001)=0x55;         //(这里假设数据宽度为8bit) 假如I/O口选择的功能是外部数据地址总线,并且硬件上接好,那么这条指令也就是对外部存储器相应地址的读写。 值得一提的是,各种类型的存储器件的访问速度都不一样,因此如果把程序放在外部器件里执行,执行时间就会有比较大的差别,例如一个for循环放在外部ram和外部flash中执行速度可能会差到3倍。    第一,单片机采用三总线结构传递数据。地址总线、数据总线、控制总线。传递数据的过程是先寻址,再传递数据。即先送一个地址信息(由微处理器向总线写一个地址信息),由寄存器(也可能是程序存储器,也可能是数据存储器)根据这个地址,把微处理器要读取的数据写到总线上,微处理器再读取这个数据。整个过程由控制总线控制。所以每次读的数据是针对那个地址对应的寄存器操作的,不会发生混乱。写数据时一样,先寻址,再写数据,数据就写入刚才寻址时的地址对应的那个寄存器里去了。 第二、程序存储器、数据存储器有不同的选通信号,在一个指令周期里,是不同的时间选通的,所以不会混乱。 第三、选通的引脚不同。拿片外数据存储器来说,是P3的第6和第7引脚做选通信号,程序存储器是PSEN做选通信号,他们接在各自器件的选通引脚上,所以不会混乱。    第四,指令不同。拿汇编指令来说。MOV是程序存储器传递数据用,MOVX是数据存储器传递数据用(对片外而言)。 总之,记住三总线传递的方式,先寻址,再传数,由控制总线控制,这个模式,你就容易理解这个了。 单片机的p2和p0分别传递地址的高八位和低八位。同时p0还传递数据。在时序信号的ALE高电平期间,锁定地址信息。/PSEN是选通程序存储器的。在/PSEN低电平期间是向程序存储器传递程序代码,/WR和/RD是选通数据存储器的,即在/WR和/RD低电平期间把数据传递给数据寄存器。而/PSEN和/WR及/RD是在不同时间变为低电平的,没有重叠的部分。也就是说,当/WR及/RD变成低电平时,/PSEN已经恢复高电平了,由P0口传出的数据信息当然只会传到数据存储器里,因为程序存储器已经不再处于选通状态了!从表面看,都是从p0口传出的,但因为选通器件的时间不同而不会发生混乱。当然我说的是片外程序存储器和数据存储器的的情况,其实对片内也一样,还是三总线的这种控制方式,使它们在不同的时间被选通,而不至于发生冲突。 看看单片机的一个电路图。你会发现p0既跟74LS373连,又跟8155或8255或键盘或数模转换器等连接。而8155或8255或键盘或数模转换器等对单片机而言是当做数据存储器处理的。74LS373连的多半是程序存储器。那么p0送出的信号不是两者都接受了吗?注意看ALE接74LS373的G接口,锁存地址用,PSEN有
如果访问的是外部程序存储器中存储的数据的话,用的是MOVC指令;如果访问的是外部程序存储器中的指令的话,这个好像不需要我们写代码,单片机会自己去读取指令;
aa   =   0x100;    *aa   =   0xAA;   //这里多了一个*,,表示往地址里面写数据.    当然如果你要读0x100的数据    那就    char   da;    da   =   *aa;去回来就行了.    这种句子.翻译成汇编就是movx   dptr   ,   @a这种的句子    因为51访问外部ram用的就是movx   指令,,非前256字节    只能通过dptr访问    用movx指令.单片机会自动产生.你上面写的操作P0上次的动作,    所以如果要这样访问,必须P0有锁存器,,否则不可能完成任务
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
腾翔电脑地址在什么地方,我要处理点事!
武隆仙女山的门票多少
阿拉伯野燕麦有没有副作用呀?
2013武汉草莓音乐节都有哪些明星来?什么阵容
4000高性价比笔记本电脑推荐一下都有哪些款式
我在眉山市仁寿县汪洋镇火电厂买了一套86个平
南昌哪里割双眼皮好?亲身体验割过的MM进,拒
恒业广告信息网电话
西安三桥车城到辛家庙水果批发市场开车怎么走
南昌人喜欢吃臭豆腐吗,如果开个臭豆腐店会不
盛达电脑地址在哪,我要去那里办事,
首钢镀锌钢板多少钱?
科目二可以不用带档案去考试
诺嘉甜品怎么样
菜鸟驿站(全家延吉中路三店)地址在哪,我要去
推荐资讯
新妈咪产后怕冷该怎么调理
温特实验中胚芽鞘尖端的生长素到琼脂块中是通
谁参加过江苏南京的航天信息的增值税防伪税控
跪求安徽大昌矿业集团富昌矿业有限公司 电话
多读书有什么好处啊?
小三阳严不严重呐?
给狗打狂犬疫苗价格是多少啊?一共打几针?
广州那里有服装招代理的? 我想开网店
康保肉石产地是哪里
怎样鉴别山棕手工床垫有没有胶?
大连学京剧的地方有那些?不要学校 我只是对京
6系铝合金价格是多少
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?