打印

c8051 中的问题,请教

[复制链接]
3644|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taokan1991|  楼主 | 2012-10-17 19:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 2012-10-17 20:24 | 只看该作者
不同的单片要会有不同的,STC8051是没有的这样做的

使用特权

评论回复
板凳
taokan1991|  楼主 | 2012-10-17 20:35 | 只看该作者
2# 阿南 呵呵 我们还一起下过象棋了

使用特权

评论回复
地板
lhkjg| | 2012-10-18 07:40 | 只看该作者
现在C语言这么普及的情况下好像深入研究寄存器底层物理工作原理的不多了哇

使用特权

评论回复
5
supermanbar| | 2012-10-18 07:58 | 只看该作者
taokan1991兄弟你好, 正好我也在学习C8051单片机。你提问的内容我正好前几天学过了。具体是这样的因为C8051F系列单片机的资源太多,有很多很多个寄存器。我学的是C805F120,在这个单片机中,把SFR页分为0 1 2 3 F 这4个页面。需要对那部分寄存器操作 就切换到哪个页面

使用特权

评论回复
6
supermanbar| | 2012-10-18 08:04 | 只看该作者
在C8051F120的手册的第121页开始 就是寄存器表格,详细的说了那些寄存器在哪个页面。例如ADC2LT 这个寄存器 就在页面2上 你在对寄存器ADC2LT进行操作前,就必须先把页面切换到2号页面 也就是先写如下语句:
SFRPAGE=0X02 ;

例如下面 就是我前几天写的实验程序,学习DA的:
你可以了解下
main()
{
  Init_Device();   //启动引导程序,由配置软件生成,内容包括看门口 交叉IO 晶振 及你所需要的设置
  SFRPAGE =0x00;
  DAC0L=0xf0;
  DAC0H=0xff;

}

使用特权

评论回复
7
supermanbar| | 2012-10-18 08:06 | 只看该作者
最后说一下  我在这个群里学习C8051单片机 89387155 目前人很少 但是有一位热心高手 火蒂树兄弟在坐镇指导,想来就来吧

使用特权

评论回复
8
ayb_ice| | 2012-10-18 08:06 | 只看该作者
标准的51 SFR空间只有128个字节,对有些复杂点的51显然是不够的,为了最大程序的兼容标准51,就搞了页的概念,相当于A栋203,B栋的203...
有些51直接将扩展的SFR置于XARM空间。。。

使用特权

评论回复
9
阿南| | 2012-10-18 09:25 | 只看该作者
re 4楼,要想成高手,那是必须要研究寄存器的。

使用特权

评论回复
10
dragonchenhong| | 2012-10-18 11:24 | 只看该作者
要看看stc的datasheet,不一样

使用特权

评论回复
11
taokan1991|  楼主 | 2012-10-18 12:59 | 只看该作者
5# supermanbar 谢谢你 还要多交流啊

使用特权

评论回复
12
cym_anhui| | 2012-10-18 13:21 | 只看该作者
每种单片机不同啊

使用特权

评论回复
13
qjp1988113| | 2013-12-26 13:35 | 只看该作者
我也在学C8051F120,那个分页查找寄存器是他们单片机的特色。

使用特权

评论回复
14
renqinglei| | 2013-12-26 14:58 | 只看该作者
以前用过,好像没有去管他的分页配置

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

120

帖子

0

粉丝