怎样治疗龟头炎效果好:基于单片机P0口的片外数据存储器扩展2

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 04:51:03

分析对数据存储器扩展软件设计可知,单片机通过P1口读、写片外数据存储单元时,软件设计具有重要作用。下面通过一实例介绍单片机访问片外数据存储单元的过程。

以下程序段首先是将片外存储器000000H单元中的内容读到片内存储器30H单元中,然后再将片内存储器30H单元中的内容写到片外存储器077FFFH单元中。在程序中,首先将片内存储单元20H、21H和22H定义为地址信息存储单元,20H是高8位地址信息存储单元,仅低3位有效;21H是中8位地址信息存储单元,低7位有效;22H是低8位地址信息存储单元,8位全有效。所以,其寻址空间为000000H~007FFFH、010000H~017FFFH、020000H~027FFFH、030000H~037FFFH、040000H~047FFFH、050000H~057FFFH、060OOOH~067FFFH和070000H~077FFFH,共256 KB。MOVR和MOVW分别读、写子程序。


从程序中分析可知,能够仅用P0口及其他几个很少的控制端口便可实现片外大容量数据存储器的扩展,主要是因为PO口具备地址线、数据线及片选择控制线的功能,而这一功能是通过软件方式实现的,即分时传送地址信息,数据信息和控制信息。从MOVR和MOVW 2个子程序可以看出数据的具体传送过程。此外,在编程过程中,每次读、写外部存储器内容时,只要将地址信息写到DPHH、DPTRH和DPTRL3个单元中,然后调用子程序MOVR和MOVW便可实现对片外数据存储器的读、写操作。

4 结论

介绍MCS-8051单片机片外256 KB数据存储器的扩展方法,其特点主要是扩展的存储空间大,占用的端口少,数据传送采用并行传送方式。在外围设备较多的情况下,有限的端口无法满足要求,或是存储空间难以满足要求时,完全可采用该扩展方法。此外,如果将单片机与数据存储器件的硬件连接部分稍作改动,便可直接访问片外256 KB,2种访问方式可完全独立。如果256 KB的存储空间还不能满足实际需求,不妨将高位地址存储单元的8位全部进行译码。可得到256个片选择控制端口,那么原来的8片数据存储器便可增加到256片。这样,片外存储空间就可以达到8 MB。完全满足需求。而且,按此原理,还可以将原来的3个地址存储单元改为4个地址存储单元或更多,以增加其存储空间。但这样其读、写周期也将更长。因此需根据实际情况,综合考虑,最终使单片机的硬件与软件达到最优化。

请教一个单片机P0口的问题 外部数据从单片机的P0脚输入到单片机里是不是要在指令前加上一个"MOV P0,#FFH"? 基于单片机的数据采集系统的设计 外部数据从8051单片机的P0(或P1~P3)脚输入到单片机里是不是要在指令前加上一个"MOV P0(或P1~P3),#FFH"? 单片机的P0~~P3这32个口,能不能全部用来做输入与输出? 单片机 P2 P0 存储器的扩展方式分类 存储器的扩展怎么实现? 8051单片机的内部数据存储器最多能存储多少位的二进制数? 8051单片机的内部数据存储器最多能存储多少位的二进制数?? 数据存储器的结构 单片机怎样扩展两片8255? 基于单片机的视频转换 基于单片机的锅炉控制系统 谁能帮帮我?~~基于dsp和单片机的数据采集与处理系统设计?? 什么型号的单片机具有8051的指令系统,但是它的输入输出(8051的P0~~P3)只有一组(P0)? 什么型号的单片机具有8051的指令系统,但是它的输入输出(8051的P0~~P3)只有一组(P0)?? INTEL什么型号的单片机具有8051的指令系统,但是它的输入输出(8051的P0~~P3)只有一组(P0)?? INTEL什么型号的单片机具有8051的指令系统,但是它的输入输出(8051的P0~~P3)只有一组(P0)? MCS-8051单片机有没有"CLR P0(或者P1.P2.P3)";(P0.0~P0.7位全部清零)的指令? 基于单片机的数字式方向继电器设计 单片机I/O口扩展的各种方法 片内数据程序存储器有多少个字节 8051单片机存储器结构图