打印

小问题

[复制链接]
1648|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
HWM| | 2010-1-9 15:55 | 只看该作者
如果ADC是MCU内的内置部件,则其IO寄存器组内会有相应的寄存器(若你所说的缓冲器)存在。如此情况下,通常在相关头文件内有定义,直接使用就是了。

如果ADC是外扩的部件,则通常会在MCU的存储器空间中有一个映射地址存在。可以采用宏定义将其定义为一个名字即可

第三种情况就是你所说的,将ADC接口直接和IO端口相连,此类情况就如同直接访问IO口就是了。

使用特权

评论回复
板凳
chunyang| | 2010-1-9 15:59 | 只看该作者
无法实现,如果缓存是利用片内寄存器或RAM实现的,IO口无法去读内部资源,只能将内部数据输出至IO,而如果ADC为外置同时利用外部缓存如锁存时则无需什么“定义”,用P1以外的IO去控制外部资源进行缓存操作,然后直接用P1口去读即可,这时的操作地址就是P1口的IO地址。

使用特权

评论回复
地板
HWM| | 2010-1-9 16:35 | 只看该作者
LZ意思可能是指如何将ADC的输出数据寄存器用C中的变量来对应,不同的情况有不同的实现方式。但有一点要补充的是,除了数据寄存器外,还有控制和状态方面的信息要连接。类似二楼所说的,还存在有1)头文件中的命令和状态寄存器,2)存储器空间所映射的命令和状态空间地址,3)连接在数据IO口(P1)以外的附加命令和状态IO口。

使用特权

评论回复
5
zxser09|  楼主 | 2010-1-9 17:35 | 只看该作者
thanks, 您说的:如果ADC是外扩的部件,则通常会在MCU的存储器空间中有一个映射地址存在。可以采用宏定义将其定义为一个名字即可。
    能否举个例子。

使用特权

评论回复
6
HWM| | 2010-1-9 17:42 | 只看该作者
#define  var_name  (var_type)(*io_address)

使用特权

评论回复
7
zxser09|  楼主 | 2010-1-9 17:58 | 只看该作者
我QQ326826821  可否加下~· 有些问题请教·

使用特权

评论回复
8
zxser09|  楼主 | 2010-1-9 18:03 | 只看该作者


就是这个图  如何通过OUT  来控制占空比吗

使用特权

评论回复
9
HWM| | 2010-1-9 19:22 | 只看该作者
不明白何来占空比,也许是做PWM-DAC。

建议从最基本的概念学起,一步步的来。虽然动手是件好事,但必须有基础支撑。关于ADC0808以及和MCU的连接,建议先仔细看一遍它的数据手册,内有详细的内容。至于在C中的问题,前面已有解说。

使用特权

评论回复
10
zxser09|  楼主 | 2010-1-9 19:26 | 只看该作者

使用特权

评论回复
11
zxser09|  楼主 | 2010-1-9 19:26 | 只看该作者
就是这个  解释下:handshake

使用特权

评论回复
12
zxser09|  楼主 | 2010-1-9 22:32 | 只看该作者
:call:

使用特权

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

本版积分规则

81

主题

208

帖子

0

粉丝