System Expansion of Large Capacity Data Storage in Single Chip Microcomputer System

Publisher:RadiantBlossomLatest update time:2013-11-07 Source: dzsc Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1 Introduction

When the MCS-51 single-chip microcomputer system is expanded, the P0 port is generally used as the lower 8 bits of the address (time-sharing with the data port), and the P2 port is used as the higher 8 bits of the address. It has a total of 16 address buses and an addressing space of 64KB. However, in actual applications, there are some special occasions, such as the collection of voice signals, the storage of program-controlled exchange call records, the collection of topographic map signals, etc., which require a data storage device larger than 64KB. Based on the application system actually used by the author, this article introduces an expansion system for large-capacity data storage. The system host uses 8031 ​​and expands three 62256 chips, with a total of 96KB of dynamic data storage. The above introduces its hardware composition and software processing method.

2 Hardware composition of the system

62256 is a 32K×8-bit data storage device with a total of 15 address lines. The hardware connection principle of the expanded 96KB data storage device is shown in Figure 1: In order to expand other peripherals for the system, 14 address lines of the system are occupied. The 15th address lines of the three 62256s are all connected to the I/O port P1.0 of the 8031, while the chip select of 62256 (1) is connected to P1.1, the chip select of 62256 (2) is connected to P1.2, and the chip select of 62256 (2) is connected to P1.3. This connection method divides the 96KB storage space into 6 pages, and each 62256 occupies 2 pages of storage space. The address allocation of each chip is as follows:

3 Software Processing Method

When accessing the data memory, the page search method is used. First, find the page number to be accessed, then open the page, and search for a unit in the page. The software has pre-programmed subroutines to open a page. To access 96KB of storage space, that is, the address range is 00000H-17FFFH, it is obvious that the 16-bit address register DPTR cannot store it. Here, the address is loaded into the first three consecutive units of PAM, that is, the content of the first three units of 62256 (1) (that is, the address of a unit to be accessed), and the data is divided by 4000H. The quotient is the page number of the unit, and the remainder is the address in the page. Then, the scatter instruction in the MCS-51 instruction is used to open the page and access the unit in the page. The specific software implementation is shown in the program list below.

4 Conclusion

In an industrial television image monitoring system designed by the author, since it is necessary to use the main keyboard programmable menu and collect various information on site, such as alarms, decoding box status, etc., the required PAM far exceeds the capacity of 64KB. Therefore, the above hardware design method and software processing method are adopted, which is very convenient to use. According to the above processing method, a larger PAM can be expanded

Reference address:System Expansion of Large Capacity Data Storage in Single Chip Microcomputer System

Previous article:Common methods and countermeasures for cracking single-chip microcomputers
Next article:High-sensitivity control system of stepping motor based on 87C196KC single-chip microcomputer

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号