【摘要】:例4-15将外部RAM 1000H单元的内容存入内部RAM 30H单元。为了能在C51程序中直接对任意指定的存储器地址进行操作,可以采用指针变量实现,也可用absacc.h头文件中的函数实现。程序一用指针变量实现:程序二用absacc.h头文件中的函数实现:例4-16片内RAM 20H单元存放着一个0~5的数,利用查表法求出该数的平方值,并放入内部RAM 21H单元。例4-17片内RAM的20H单元存放一个有符号数x,函数y与x有如下关系:将y的值存入21H单元。
例4-15 将外部RAM 1000H单元的内容存入内部RAM 30H单元。
说明:在进行51系列单片机应用系统程序设计时,有时需要直接操作系统的各个存储器的地址空间。为了能在C51程序中直接对任意指定的存储器地址进行操作,可以采用指针变量实现,也可用absacc.h头文件中的函数实现。
absacc.h头文件中的函数有如下几种
CBYTE:访问code区char型数据。
DBYTE:访问data区char型数据。
PBYTE:访问pdata区或I/O区char型数据。
XBYTE:访问xdata区或I/O区char型数据。
CWORD:访问code区int型数据。
DWORD:访问data区int型数据。
PWORD:访问pdata区或I/O区int型数据。(www.xing528.com)
XWORD:访问xdata区或I/O区int型数据。
程序一 用指针变量实现:
程序二 用absacc.h头文件中的函数实现:
例4-16 片内RAM 20H单元存放着一个0~5的数,利用查表法求出该数的平方值,并放入内部RAM 21H单元。
例4-17 片内RAM的20H单元存放一个有符号数x,函数y与x有如下关系:
将y的值存入21H单元。
例4-18 求1~100的累加,并将结果存入sum中。
程序一 用do…while实现:
程序二 用for实现:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。