My application requires 8051 with external RAM 32K(62256) I plan to use one chip(62256) to address 32k, and I want to use the other 32K to access GPIO like higher 32k goes to RAM & lower 32k to keypad and other GPIO peripherals is this possible to do so?
8051 external ram(62256) and also using address & data lines as GPIO
208 Views Asked by varun_koganti At
1
There are 1 best solutions below
Related Questions in C++
- C++ using std::vector across boundaries
- Linked list without struct
- Connecting Signal QML to C++ (Qt5)
- how to get the reference of struct soap inherited in C++ Proxy/Service class
- Why we can't assign value to pointer
- Conversion of objects in c++
- shared_ptr: "is not a type" error
- C++ template using pointer and non pointer arguments in a QVector
- C++ SFML 2.2 vectors
- Lifetime of temporary objects
- I want to be able to use 4 different variables in a select statement in c ++
- segmentation fault: 11, extracting data in vector
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- How can I print all the values in this linked list inside a hash table?
- Configured TTL for A record(s) backing CNAME records
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in RAM
- C# console application - Unhandled exception while finding the Available and free Ram space.Getting exact answer in windows forms application
- Do pictures ever get stored in RAM?
- Find Ram/Memory manufacturer in Linux?
- Android Studio randomly disappears/crashes with 7GB Ram
- Search for file in archive and load it into memory
- Upgrading RAM on a 32-bit system to boost up android studio?
- sort runs out of memory
- Android RAM usage error with broadcast receiver in service
- System.Management, Management Object Searcher, and RAM
- How to calculate RAM usage of a image when decoded
- JavaFX high memory usage
- Could AWE or anything else could help to use more SQL memory
- Whole Oracle database in memory
- Is it possible to sort 3 GB of java on 32 bit system using JAVA
- Get Ram Information OSX
Related Questions in 8051
- Embedded, Is it not possible to compile PIC controller using AVR/8051 compiler
- Which is better? int8_t vs int32_t in 32 bits MCU
- Incrementing an int in a C code for microcontroller only moves the LSB
- Installation of a specific version from svn repository
- What do the sequence of instructions in 8051 assembler do?
- How to end external Interrupt Service Routine (ISR) in 8051
- MCS-51 code to fit custom LCD hardware
- Different pointer types for the same address
- syntax error, expecting declaration seen while compiling C code for 8051 microcontroller
- Serial DC motor control using 8051
- Matrix keypad of 8051 MCU not working
- Init data segment on 8051
- C8051f312 microcontroller
- Reliable serial data buffering in 8051
- how to select row and column in LCD display
Related Questions in C51
- 8051 external ram(62256) and also using address & data lines as GPIO
- Execute elite el exe failed
- printf() results in gibberish
- Wrong output sprintf C51 8051 MCU embedded system
- Purpose of const argument other than avoiding mistake
- Handling Keil C51 keywords in the Eclipse indexer
- Move value to destination address (C51 family)
- C51 C compiler inline assembly to SDCC inline assembly
- SDCC/C51: Redefine SDCC symbols
- If you declare severable variables in order, will they have incrementing addresses
- Can u please tell me whats the error mentioned here? I cant solve it further. Keil uvision5 IDE
- Adapting sbit for GCC
- Why does using data instead of xdata significantly reduce code space
- I want to print a multidimensional char array on an lcd in c51 (Keil)
- How to reference a pointer to pdata or idata without using generic pointer?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, it's possible. In this particular case, it's even pretty simple/easy.
You're splitting the address space in half. When you address the lower half of the address space, A15 will be low. When you address the upper half, A15 will be high.
The 62256 has an active low chip-enable pin (CE#), meaning the chip is enabled only when CE# is low. You want to enable the 62256 only when A15 is high, so you'll connect A15 on the 8051 to an inverter, and from there to CE# on the 62256.
Although you haven't described the other chips in any real detail, the same basic idea applies with them--you wire up logic that enables each chip if and only if the address is in the correct range. For example, let's say you have some peripheral that looks to the processor like 256 bytes of memory. To keep things really simple, let's assume this peripheral has an AD0 through AD7 that it uses for addresses and data, and uses the same bus cycles as an 8051.
Since you want the CPU to see that chip in the first 256 bytes of the address space, that means it should be active only when all the higher address lines (A8 through A15) are low. So, we feed them into an 8-input OR gate, so its output is high if any of its inputs are high.
So, as a starting point, your decoding circuitry would look vaguely like this:
This is just a sketch though. Just for example, you'll also need circuitry for the OE# pin on the 62256, which will be activated by the WR# pin on the 8051, and unless the bus cycles for the other chips happen to match perfectly with those for the 8051, you'll end up with (for example) some buffers to hold data coming from one until it's time to send it to the other.