① 当。单片机外部扩展RAM和ROM时,P0口和P2口个起什么作用
当单片机外部扩展RAM和ROM时,P0口做数据总线及地址总线的低八位。P2作地址总线的高八位。
② 当单片机外部扩展RAM和ROM是时,P0口,P1口,P2口,P3口各起什么作用
不知道你说的是哪种单片机,如果是常用的51单片机的话,其P1口仅作为I/O,无第二功能;P3口作为I/O的同时,其第二功能是一些特殊功能,非扩展存储.P0口用于外部扩展存储时,用作地址总线或数据总线;P2口作为扩展存储时,作为地址总线.
③ 简述8031单片机外部扩展ROM与扩展RAM在硬件连线和软件访问方式上有何不同
硬件不同:
ROM 芯片,必须连接到 8031 的 /PSEN 引脚。
RAM 芯片,必须连接到 8031 的 /RD、/WR 引脚。
软件不同:
针对 ROM (不分片内片外),只有两条指令:
MOVCA,@A + DPTR;引脚 /PSEN = 0
MOVCA,@A + PC。 /PSEN = 0
针对片外 RAM,只有四条指令:
MOVXA,@DPTR;引脚 /RD = 0
MOVXA,@Ri; /RD = 0
MOVX@DPTR,A;/WR = 0
MOVX@Ri,A。 /WR = 0
④ 单片机片内RAM和片外扩展RAM的存储空间有什么关系
典型的51单片机内部RAM是256B,8根地址线(8位),这256B共分为高128位和低128位,用户使用的区域是低128位(即00H~7FH),通过程序计数器PC寻址。
51单片机的外部RAM可扩展到64KB,16根地址线(16位),使用DPTR作为外部RAM的寻址指针。
程序存储器:也就是ROM,是存放用户程序(如汇编程序或C程序)的地方,典型的51单片机内部ROM为4KB,若是使用外部ROM可以扩展到64KB。
数据存储器:是存放用户程序运行过程中的中间结果或者运算结果,也就是内部RAM或外部RAM。
MOV: 单片机内部RAM的数据传送指令。
MOVX: 单片机外部RAM的数据传送指令。
⑤ 当单片机外部扩展RAM和ROM是时,P0口,P1口,P2口,P3口各起什么作用
P0口和P2口组成16位地址线,P0口同时复用为8位数据线,通过373来锁存地址值,ALE来控制373锁存。
P3口中的
WE
和
RD
用作读写的使能选择控制线。
PSEN
用来作RAM和ROM的选择线。
P1口和P3口除P37
P36外的6个口在读写时是无用的(地址只有64K的话)
⑥ 关于51单片机外扩RAM的问题。请大侠们帮忙解答,先谢过。
现在的rom和ram都很丰富,rom有好几k的,你写程序肯定够了,除非你要用大量的数据,才会使用大量的程序空间,比如几十k,才会考虑去扩充。
扩充是用p0口和p2口扩充,p0口是数据,p2口是地址,用373锁存就可以扩展了。地址如果不是很大,可以用138译码,这样可以扩展多片芯片,如果很大,就采用线选咯。
⑦ 如何用单片机(89C51)C语言访问片外ROM当ram和rom同时外扩时该如何区别
EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,反之访问外部程序存储器,
与之相关的三根引脚psen,rd,wr你都很清楚了,就不多说了,
使用外部存储器,需要使用编程器将你的程序写到外部rom中。
psen是rom的选通线,因此,外部rom及外部ram是不会干扰的,你根本不用考虑这个问题,按教材连线就可以了,当然,stc的单片机需要注意,它内部有扩展ram,在使用外部ram时需要屏蔽内部ram。
总之,内部还是外部,你的代码完全一样,只是EA/VPP脚接高低电平不同。
望采纳!谢谢.