打印

请教8051f040 相关问题

[复制链接]
2259|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wang668|  楼主 | 2010-10-29 19:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
原野之狼| | 2010-10-30 00:50 | 只看该作者
就是替换而已嘛
把ADC0START 替换成后面的所有语句

使用特权

评论回复
板凳
ayb_ice| | 2010-10-30 08:19 | 只看该作者
C基础

使用特权

评论回复
地板
shell.albert| | 2010-10-30 08:20 | 只看该作者
C8051F系列是增强型的51单片机,寄存器比较多,但为了保证最大性的与传统51单片机相兼容,所以采用了分页的形式,寄存器名字是一样的,但是处于不同的页中,所以在实际编写程序时就要先切换到具体的页中,然后再对寄存器进行操作。

#define ADC0START temppage=SFRPAGE;SFRPAGE=0X00;AD0BUSY=1; SFRPAGE=temppage

这一句宏定义实际上就是用于启动ADC0转换。
相当于以下的C语句:
UCHAR8 temppage=SFRPAGE;
SFRPAGE=0x00;
AD0BUSY=1;
SFRPAGE=temppage;
因为ADC0有四种启动方式,其中一种就是向AD0BUSY置1启动,这里采用了这种方式。
同时在进入时保存了先前的页寄存器,出来了还原了。

使用特权

评论回复
5
wang668|  楼主 | 2010-10-30 10:21 | 只看该作者
嗯 明白了 谢谢各位

使用特权

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

本版积分规则

1

主题

56

帖子

0

粉丝