Ⅰ 单片机要是用了外部存储器,单片机这块芯片是不是一个“空壳”了呢
首先你要知道单片机工作的顺序,单片机开始运行时候是从单片机内部(8031除外)ROM开始寻址,如果你的内部ROM是空的,那么单片机确实是空壳,外部存储器也毫无用处,所以如果想用外部ROM的话,首先要在单片机ROM内写入调用外部存储器功能的程序,这样完成调用后,单片机才能正常工作,否则就是看着旁边一块肉,但是拿不到嘴边,还是白搭!
Ⅱ 试用C51编写程序,把MCS—51单片机的外部存储器2000H—20FFH RAM空间清零
用 C 就费事了。
Ⅲ 单片机扩展外部RAM
如果是需要烧写的软件代码较长,片内程序存储器空间有限,应该扩展外部ROM(程序存储器),最大可扩展到64k 字节,常用的芯片有2764,27128,27256,27512等,它们的存储空间分别为8k,16k,32k,64k 字节。 如果是你所编写的应用软件运行期间的中间变量(需要占用寄存器)数量较大,片内数据存储器空间有限,才应该扩展外部RAM(数据存储器),最大可扩展到64k 字节,常用的芯片有6116,6164,61128,61256等,它们的存储空间分别为2k,8k,16k,32k 字节。 注意:由于扩展的外部RAM与外部I/O接口芯片是统一编址的,为了留有一定的I/O扩展空间,一般我们把外部RAM最大扩展到32k 字节,剩余的32K字节地址用于外部I/O扩展。
Ⅳ 单片机程序问题
用上电复位的时候有时候不完全复位,有时候要放掉电容的电才可以复位成功。
用C语言写的程序每次复位都会运行一个隐藏的清理RAM的程序
清0了低128字节RAM
所以每次复位成功RAM跟工作寄存器都是0
如果这个时候出现不能及时赋值的现象,还是好好检查一下程序。要么就是没成功复位。
STC常有的事情。断电再上电还是不能进入ISP模式。
Ⅳ 单片机程序:外部RAM与内部RAM数据传送程序(汇编、和C语言)
#include<at89x51.h>
#include<absacc.h>
void main(void) //C
{
unsigned char var;
var=XBYTE[0x2000];
XBYTE[0x2000]=var;
while(1);
}
org 00h ;汇编
sjmp main
org 40h
main:mov dptr,#2000h
movx a,@dptr
movx @dptr,a
sjmp $
end
我写的两个都是用在51上的
51加#include<at89x51.h>
52加#include<at89x52.h>
汇编不变。
Ⅵ stm32单片机程序运行方式51单片机不用把程序载入RAM中,直接从rom取指令执行,stm32
STM32和51不太一样,程序可以在闪存、系统存储区、SRAM区运行。
Ⅶ 51单片机读片外RAm的时候为什么不用先置1,不是要先置1才能读吗
单片机的P0口本就是标准的双向数据线,就是用来读写外部存储器的,包括程序存储器和数据存储器,就直接读,不需置1。而P0口当作I/O口使用时,作输出口时需要加上拉电阻,作输入口时应先置1。
Ⅷ 怎么让单片机实现记忆功能
方法很多 1、给RAM用电池供电 可以实现记忆
2、用单片机自身带的EEPROM,
3、用外扩的EEPROM,
4、用外扩的FLASH,
5、很多I2C总线和SPI总线的时钟芯片都有EEPROM。
Ⅸ 如图单片机课本的编程例题 为什么不用说明哪个是外部RAM的R1 哪个是内部RAM的R1
MOVX,这是片外数据传送指令。
另外,图中程序有错。
MOVR1,#20H--图中,少写了 #。
MOVR1,#20H--图中,少写了 #。
MOVR1,#20H--图中,少写了 #。
MOVXA,@R1--片外RAM传送
XCHA,@R1--片内交换
MOVX@R1,A--片外RAM传送
别忘了采纳。
Ⅹ 51单片机内部ram,外部ram的区别
单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此形成51单片机内部ram和外部ram的区别。
一、从使用字节区别。标准 51单片机的片内 RAM 地址从 0x00H~0x7F 共 128 个字节。而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。而片外 RAM 最大可以扩展到 0x0000~0xFFFF 共 64K 字节。
二、从连接地址区别。片内 RAM 和片外 RAM 的地址不是连起来的,片内是从 0x00 开始,片外也是从 0x0000 开始的,分别形成data,即片内 RAM 从 0x00~0x7F;idata,即片内 RAM 从 0x00~0xFF;pdata,即片外 RAM 从 0x00~0xFF;xdata,即片外 RAM 从 0x0000~0xFFFF。
一般情况下,使用 data 区域,data 不够用了,就用 xdata,如果希望程序执行效率尽量高一点,就使用 pdata 关键字来定义。其它型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必须得用 xdata 来访问了。
(10)不用外部RAM记忆程序的单片机扩展阅读:
51单片机对所有兼容Intel 8031指令系统的统称,8004单片机成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机属于基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
51单片机的RAM用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据,ROM用以存放程序、一些原始数据和表格。四个8位并行I/O口,既可用作输入,也可用作输出。T/C包括两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式。