最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C語言訪問51單片機(jī)中存儲(chǔ)器的核心代碼

 更新時(shí)間:2022年01月16日 13:01:16   作者:卻話夜雨  
這篇文章主要介紹了使用C語言訪問51單片機(jī)中存儲(chǔ)器的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

使用C語言訪問51單片機(jī)中存儲(chǔ)器

1.頭文件

在Keil C51工程中 #include <absacc.h> ,可以直接使用CBYTE, XBYTE, DBYTE, PBYTE

absacc.h 的部分內(nèi)容如下:

#ifndef __ABSACC_H__
#define __ABSACC_H__

#define CBYTE ((unsigned char volatile code  *) 0)
#define DBYTE ((unsigned char volatile data  *) 0)
#if !defined (__CX2__)
#define PBYTE ((unsigned char volatile pdata *) 0)
#endif
#define XBYTE ((unsigned char volatile xdata *) 0)

#define CWORD ((unsigned int volatile code  *) 0)
#define DWORD ((unsigned int volatile data  *) 0)
#if !defined (__CX2__)
#define PWORD ((unsigned int volatile pdata *) 0)
#endif
#define XWORD ((unsigned int volatile xdata *) 0)

code data pdata xdata 均為存儲(chǔ)器類型,下節(jié)將詳敘,此處用T替代:

unsigned char volatile T * 為指向存儲(chǔ)器T中無符號(hào)整型數(shù)的指針類型
((unsigned char volatile T * ) 0) 對(duì)0做強(qiáng)制類型轉(zhuǎn)換

2.code data pdata xdata

code data pdata xdata均為存儲(chǔ)器類型

  • code:用于存儲(chǔ)常數(shù)和函數(shù),使用16位地址訪問,可位于片內(nèi)或片外
  • ROMdata:用于存儲(chǔ)變量,使用8位地址,位于片內(nèi)RAMp
  • data:用于存儲(chǔ)變量,使用8位地址,位于片外RAMx
  • data:用于存儲(chǔ)變量,使用16位地址,位于片外RAM

3.CBYTE、DBYTE、PBYTE和XBYTE的區(qū)別

注意:以下存儲(chǔ)地址范圍均指理論上可訪問的最大范圍,具體操作時(shí)需根據(jù)存儲(chǔ)器大小調(diào)整
從存儲(chǔ)器類型的區(qū)別中可以得出本節(jié)四者的區(qū)別:

CBYTE

CBYTE 是用于訪問代碼存儲(chǔ)器的,即ROM部分。

rval = CBYTE[adress];    //訪問到代碼存儲(chǔ)器中的內(nèi)容

其中代碼存儲(chǔ)器地址(adress)范圍是 0X0000--0xFFFF ,大小為16K。

DBYTE

DBYTE 是用于訪問片內(nèi)數(shù)據(jù)存儲(chǔ)器的,即片內(nèi)RAM部分,

DBYTE[adress] = 0XFB;   //寫數(shù)據(jù)
rval = DBYTE[adress];   //讀數(shù)據(jù)

其中片內(nèi)存儲(chǔ)器地址(adress)范圍是 0x00--0xFF ,大小為256byte。

XBYTE

XBYTE 是用于訪問片外數(shù)據(jù)存儲(chǔ)器的,即片外RAM部分,但是XBYTE只能讀數(shù)據(jù)不能寫數(shù)據(jù)到片外RAM。

rval =XBYTE[adress]; //讀數(shù)據(jù)

片外數(shù)據(jù)存儲(chǔ)器的寫可以使用下面這條語句:

char  xdata  x1  _at_ 0x30 ;  //x1為char型全局變量,地址位于xdata區(qū)地址0x30 
x1  =  0x01; //給片外存儲(chǔ)器地址賦值

地址范圍為 0x0000--0xFFFF,大小為16K。

PBYTE

PBYTE也用來訪問擴(kuò)展ram,但只能訪問開始的256字節(jié)。

4.CWORD、XWORD、DWORD和PWORD

上節(jié)所述四者為單字節(jié)訪問,對(duì)應(yīng)雙字節(jié)訪問使用CWORD、DWORD、XWORD和PWORD。

5.參考

https://wenku.baidu.com/view/fe5a4b09f61fb7360a4c659c.html

到此這篇關(guān)于使用C語言訪問51單片機(jī)中存儲(chǔ)器的文章就介紹到這了,更多相關(guān)C語言51單片機(jī)存儲(chǔ)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • opencv2基于SURF特征提取實(shí)現(xiàn)兩張圖像拼接融合

    opencv2基于SURF特征提取實(shí)現(xiàn)兩張圖像拼接融合

    這篇文章主要為大家詳細(xì)介紹了opencv2基于SURF特征提取實(shí)現(xiàn)兩張圖像拼接融合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++實(shí)現(xiàn)停車場管理系統(tǒng)

    C++實(shí)現(xiàn)停車場管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)停車場管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Qt編寫地圖之實(shí)現(xiàn)跨平臺(tái)功能

    Qt編寫地圖之實(shí)現(xiàn)跨平臺(tái)功能

    這篇文章主要介紹了如何利用Qt編寫地圖應(yīng)用時(shí)實(shí)現(xiàn)跨平臺(tái)功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-02-02
  • 詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法

    詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法

    這篇文章主要介紹了詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C語言常見的文件操作函數(shù)

    C語言常見的文件操作函數(shù)

    這篇文章主要為大家介紹了C語言文件操作函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C/C++解析文件名和目錄路徑的方法

    C/C++解析文件名和目錄路徑的方法

    #include <libgen.h> 是一個(gè) C/C++ 語言的頭文件,主要用于字符串處理,特別是在處理文件路徑時(shí),它提供了一些函數(shù)來幫助你解析文件名和目錄路徑,本文就給大家介紹一下C/C++解析文件名和目錄路徑的方法,需要的朋友可以參考下
    2024-10-10
  • OpenCV實(shí)現(xiàn)簡易標(biāo)定板

    OpenCV實(shí)現(xiàn)簡易標(biāo)定板

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)簡易標(biāo)定板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 利用Qt繪制雷達(dá)掃描效果

    利用Qt繪制雷達(dá)掃描效果

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt繪制簡單的雷達(dá)掃描效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-04-04
  • 基于VC 6.0使用C語言實(shí)現(xiàn)俄羅斯方塊

    基于VC 6.0使用C語言實(shí)現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了基于VC 6.0使用C語言實(shí)現(xiàn)俄羅斯方塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Qt讀取Json文件的方法詳解(含源碼+注釋)

    Qt讀取Json文件的方法詳解(含源碼+注釋)

    QT本身就有讀取json的接口,簡單又方便,下面這篇文章主要給大家介紹了關(guān)于Qt讀取Json文件(含源碼+注釋)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10

最新評(píng)論

客服| 霍城县| 昌宁县| 聂荣县| 山阴县| 永和县| 邵武市| 洪江市| 双鸭山市| 临颍县| 绿春县| 闵行区| 和顺县| 绿春县| 济阳县| 玉环县| 安乡县| 乌拉特前旗| 光山县| 平和县| 蓝山县| 洛宁县| 花莲市| 宁国市| 禹城市| 子长县| 桐城市| 阳高县| 棋牌| 台湾省| 福海县| 惠州市| 衡东县| 缙云县| 乌拉特中旗| 即墨市| 浮山县| 罗定市| 山西省| 达日县| 屏山县|