Keil C51's tenth keyword extension of C language: pdata

Publisher:火箭飞人Latest update time:2018-06-21 Source: eefocusKeywords:Keil  C51  pdata Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

External RAM is accessed indirectly through an address pointer register, and its read and write efficiency is lower than that of internal RAM.

The maximum external RAM capacity is 64KB.

Keil C51 provides two external data storage methods, pdata and xdata.

1) xdata storage type, indicating that the variable can be stored anywhere in the 64KB address range of the external RAM. In the large memory model, variables are of this default storage type.

2) pdata storage type, indicating that the variable can be stored anywhere within the 256-byte page range of external RAM. In the compact memory model, variables are of this storage type.

External RAM is accessed via the movx instruction.


Keywords:Keil  C51  pdata Reference address:Keil C51's tenth keyword extension of C language: pdata

Previous article:Keil C51's 11th keyword extension of C language: xdata
Next article:Keil C51's ninth keyword extension of C language: idata

Recommended ReadingLatest update time:2024-11-15 16:37

An example of how to call an assembly function in KEIL C51 (v6.21)
There are many posts about how to call assembly in C51, but they usually only talk about the key points, and rarely describe the whole process in detail, which is not enough for beginners. Here, I will describe the process through a simple example, hoping to help beginners. Over the past few years, I have received gui
[Microcontroller]
Independent key C language code, C51 independent key recognition sample program
Each time the S2 key on the independent keyboard is pressed, a light emitting diode connected to the P1 port moves down one position. #include sbit BY1=P3^4; //Define the input terminal S2 key unsigned char count; //Key count, each press increases count by 1 unsigned char temp; unsigned char a,b; void delay10ms(void)
[Microcontroller]
Based on AT89C51 single chip microcomputer, the digital tube lights up 0 to 9 in a cycle (Keil+Proteus+C language)
Requirement Description: Use AT89C51 single chip microcomputer, green 7-segment common cathode digital tube, and use C language to implement Simulation diagram Code #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE = {   0x3f,0x06,0x5b,0x4f, 0x66,0x6d,
[Microcontroller]
Based on AT89C51 single chip microcomputer, the digital tube lights up 0 to 9 in a cycle (Keil+Proteus+C language)
C51 UART serial communication
SBUF register: It is two physically independent receiving and transmitting buffers, which can send and receive data at the same time. The operation on the receiving buffer or the transmitting buffer can be distinguished by reading and writing instructions on SBUF. Thus, two independent external receiving and transmit
[Microcontroller]
C51 UART serial communication
[C51 self-study notes] ULN2003 + buzzer + relay + stepper motor
ULN2003: ULN2003 is a high voltage, high current Darlington array, consisting of seven silicon NPN Darlington tubes. High current drive array, mostly used in control circuits such as single chip microcomputers, intelligent instruments, PLCs, digital output cards, etc. It can directly drive loads such as relays. Co
[Microcontroller]
[C51 self-study notes] ULN2003 + buzzer + relay + stepper motor
CS5532 C51 Driver
//The program for CS5532-ASZ //This is a 24bit ADC and PGIA //Made by OurWay and 2006/03/21 //#include reg51.h //#include intrins.h //Define according to actual situation //sbit SDI5532 = P2^1; //sbit SDO5532 = P2^2; //sbit CLK5532 = P2^3; //sbit CS5532 = P2^0; //sbit ACC7 =
[Microcontroller]
Porting s3c2440 ads program to keil (Part 3) Preliminary completion
What if I change the parameter configuration? Then compile again to package errors As follows In fact, we are close to here. In the article "Transplanting s3c2440 ads program to keil (Part 2)", we saw this netizen who provided a method and several file download addresses. http://download.csdn.net/detail/googl
[Microcontroller]
Porting s3c2440 ads program to keil (Part 3) Preliminary completion
Modular Design Method of C51
A large MCU program often contains many modules. I organize them like this: 1. Each C source file must create an H file (header file) with the same name, which only includes the function declarations of the C file and nothing else, such as variable definitions, etc. 2. Create a header file that all files will use toge
[Microcontroller]
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号