为什么要对单片机系统进行存储器扩展

为什么要对单片机系统进行存储器扩展,第1张

如果单片机系统原有的资源不够充足、不能满足应用所需的要求,那么就需要进行存储器的扩展。

可能需要扩展片外的程序存储器,也可能需要扩展片外的数据存储器,某些情况下还需要结合软件进行更复杂的存储器接口扩展(例如大容量的SPI Flash或者走SPI子协议的SD卡等等)。

简述单片机扩展外部中断源的方法:

采用硬件请求和软件查询的方法:

这种方法是:把各个中断源通过硬件“或非(高有效,如CD4002)”(与,低有效)门引入到单片机外部中断源输入

端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这

样当外部中断时,通过“或非”(与)门引起单片机中断,在中断服务程序中再通

过软件查询,进而转相应的中断服务程序。显然,这种方法的中断优先级取决于

软件查询的次序。其硬件连接和软件编程如下:

Void zhongduan (void) interrupt 0 using 3 //中断函数

{

EX0=0;//关中断

If(P0_0=1) { }//中断查询

If(P0_1=1) { }//中断查询

If(P0_2=1) { }//中断查询

EX0=1;开中断

}

用定时器/计数器作外部中断

单片机的定时器/计数器是一个加一计数器,每当计数输入端有一个“1—0”的负

跳变时,计数器加一,当加一计数器溢出时,就向CPU发出中断,利用这个特性

来扩展中断的方法是:首先把定时器/计数器设置成计数方式,并预置满值,把

外部中断源输入到P3口第4引脚或第5引脚(计数器输入端),这样就可以利用

定时器/计数器作为单片机外部中断了。注意这种方法的中断服务的入口地址应

在000BH或001BH。

片内是8k的flash。然后片外最大可以地址为0000H-FFFFH,64k

AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。

EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,反之访问外部程序存储器,

与之相关的三根引脚psen,rd,wr你都很清楚了,就不多说了,

使用外部存储器,需要使用编程器将你的程序写到外部rom中。

psen是rom的选通线,因此,外部rom及外部ram是不会干扰的,你根本不用考虑这个问题,按教材连线就可以了,当然,stc的单片机需要注意,它内部有扩展ram,在使用外部ram时需要屏蔽内部ram。

总之,内部还是外部,你的代码完全一样,只是EA/VPP脚接高低电平不同。

望采纳!谢谢

以上就是关于为什么要对单片机系统进行存储器扩展全部的内容,包括:为什么要对单片机系统进行存储器扩展、简述单片机扩展外部中断源的方法、AT89S52单片机的程序存储区,片内是多大片外最多扩展多大等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/9430175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存