51单片机编程 用C语言能访问R0~R7的寄存器吗

 我来答
做而论道
高能答主

2011-10-22 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
高级语言是脱离硬件的,这本来是高级语言的长处。
楼主提出这个要求,是想要看高级语言的难堪的。
幸亏KEIL软件的研发者,想到了这一点,知道将来会有人来添乱。
在KEIL中,可以为变量指定存放地址,如ROM、RAM、片内RAM等等。
这样,楼主不仅可以访问四个R0~R7的寄存器组,还可以访问“位寻址区”......。
只是这样一来,楼主的代码,将会长一些,运行时,随机可用的空间少一些,系统的运行速度,会降低一些......。
百度网友dad56c6f5
2011-10-22 · TA获得超过223个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:161万
展开全部
好像没有专门访问R0~R7的,KEIL C编译C语言的时候是随机分配变量地址的,不过中断里好像可以固定访问R0~R7,比如void Timer1(void) interrupt 3 using 1
using 1 就表示中断用的变量都在R1里,不过一般不建议这么用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友60ec517
2011-10-22 · TA获得超过705个赞
知道小有建树答主
回答量:406
采纳率:100%
帮助的人:280万
展开全部
能,可以用纯汇编的东西,在kei l c 语言环境中,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活如歌_
2011-10-21 · TA获得超过1.5万个赞
知道大有可为答主
回答量:7398
采纳率:78%
帮助的人:2195万
展开全部
头文件里没有对通用寄存器的定义,本身51单片机里R0-R7是片内RAM一部分,R0-R7是配合汇编寻址用的,在C编译时会进行处理的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-07-22
展开全部
指针,楼上说用汇编的也行。C就要灵活使用指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式